{"version":3,"sources":["redux/actions/registerUsersActions.js","assets/images/horizontal-card.svg","assets/images/front-card.svg","assets/images/back-card.svg","assets/images/header-card.svg","assets/styles/styles.js","utils/utilsFunctions.js","components/Notification/BadgeNotification.jsx","controls/Button/CustomButton.jsx","redux/actions/stepAppointmentsActions.js","hooks/useResizeScreen.js","components/Appointments/Cards/AppointmentsCard.jsx","components/CardPhoto/openModal.jsx","components/CardPhoto/CardPhoto.jsx","assets/images/logo.png","components/Appointments/Cards/NextAppointmentCard.jsx","redux/actions/telemedicineAppointmentsActions.js","redux/actions/appointmentsActions.js","components/Menu/CardNotification.jsx","redux/actions/configurationAction.js","components/MapContainer/MapContainer.jsx","hooks/useCurrentPosition.js","controls/InputCustom/CustomizedInputs.jsx","redux/actions/personPlayerActions.js","components/ContainerBox/ContainerBox.jsx","components/Menu/ModalLogOut.jsx","assets/styles/bootstrapInput.js","components/MedicalRecord/Card/MedicalCard.jsx","utils/AppInsights.jsx","utils/AppInsightsContext.js","components/HomeLogged/NotAccessModal.jsx","components/Card/CredentialCard.jsx","components/HomeLogged/EmergencyModal.jsx","redux/actions/emergencyActions.js","components/HomeLogged/NotFound.jsx","components/HomeLogged/HomeBox.jsx","components/Menu/DropdownNotification.jsx","components/DialogRegisterProfile/ModalRegisterProfileAfiliado.jsx","components/Menu/ModalProfile.jsx","components/Menu/Menu.jsx","redux/actions/cardActions.js","components/GenericModal/GenericModal.jsx","redux/actions/credentialActions.js","components/Tabs/ItemTab.jsx","components/DialogActivities/ModalActivities.jsx","redux/consts/actionTypes.js","utils/useTrackPageView.js","redux/actions/personalDataActions.js","redux/actions/procedureActions.js","registerServiceWorker.js","auth/callback.jsx","auth/silentRenew.jsx","auth/logout.jsx","auth/login.jsx","components/ButtonPhones/ButtonPhones.jsx","components/GenericHeader/Header.jsx","pages/UsefulPhones/index.js","redux/actions/phonesUtilsActions.js","components/Banner/Banner.jsx","redux/actions/coverageActions.js","pages/CoveragePlans/index.js","redux/actions/activitiesActions.js","pages/Activities/index.js","hooks/useFilters.js","redux/actions/medicalRecords.js","controls/Autocomplete/Autocomplete.js","components/MedicalFilters/MedicalForm.jsx","components/MedicalFilters/MedicalFilters.jsx","components/PersonalData/FormHeader.jsx","components/PersonalData/SaveModal.jsx","components/PersonalData/ConfirmModal.jsx","controls/Select/CustomSelect.jsx","hooks/useMessageModal.jsx","redux/actions/medicalDataAction.js","components/MedicalData/ChronicDiseases/ChronicDiseasesForm.jsx","components/MedicalData/ChronicDiseases/ChronicDiseases.jsx","components/MedicalData/FactorGroup/FactorGroupForm.jsx","components/LoadingPage/SpinnerLoading.jsx","components/MedicalData/FactorGroup/FactorGroup.jsx","hooks/useFormHeaderText.js","components/MedicalData/Allergies/Utils/utilsFuncions.js","components/MedicalData/Allergies/AllergiesForm.jsx","components/MedicalData/Allergies/Allergies.jsx","controls/DateTimerPicker/CustomizedDateTimerPicker.jsx","components/MedicalData/WeightAndHeight/FormWeight.jsx","components/Billing/Movements/MovementsCard.jsx","components/MedicalData/WeightAndHeight/WeightAndHeight.jsx","components/MedicalData/WeightAndHeight/HomeWeight.jsx","components/MedicalData/ChronicMedication/ChronicMedicationForm.jsx","components/MedicalData/ChronicMedication/ChronicMedication.jsx","controls/InputCustom/PhonesInput.jsx","components/MedicalData/Phones/Utils/phonesUtilsFunctions.js","components/MedicalData/Phones/PhonesForm.jsx","components/MedicalData/Phones/Phones.jsx","controls/GMapsAutocomplete/GMapsAutocomplete.jsx","components/PersonalData/Address/Form.jsx","components/PersonalData/Address/AddressForm.jsx","components/PersonalData/AutomaticMembership/AutomaticMembershipForm.jsx","components/PersonalData/AutomaticMembership/AutomaticMembership.jsx","components/PersonalData/FormContactData.jsx","controls/DatePicker/CustomizedDatePicker.jsx","components/Authorizations/FrequentQuestionsButtons.jsx","components/PersonalData/FormPersonalData.jsx","components/PersonalData/FormRefund.jsx","components/PersonalData/Sports&Hobbies/SportsHobbiesForm.jsx","components/PersonalData/Sports&Hobbies/SportsHobbies.jsx","components/LoadingPage/Loading.jsx","components/MedicalData/VitalParameters/FormVitalParameters.jsx","components/MedicalData/VitalParameters/VitalParameters.jsx","components/MedicalData/VitalParameters/HomeVitalParameters.jsx","controls/Accordion/Accordion.jsx","components/MedicalData/Programs/Programs.jsx","components/MedicalData/Vaccine/Vaccine.jsx","components/PdfReader/PdfReader.jsx","components/MedicalData/Programs/RequirementsAndForms.jsx","redux/actions/programRequirementAndFormActions.js","components/MedicalData/LaboratoryStudies/LaboratoryStudies.jsx","components/MyCoverage/TravelCoverage/MyCoveragePDF.jsx","assets/files/Cobertura incluida en tu Plan_asistencia_viajero_P_NOVO.pdf","assets/files/Condiciones generales.pdf","assets/files/asistencia_viajero-preguntas_frecuentes.pdf","redux/actions/planPdfActions.js","pages/RedirectToCapsAndCopay/index.js","redux/actions/capsAndCopayLinksActions.js","components/MyCoverage/Refunds/Refunds.jsx","controls/UploadModal/UploadModal.jsx","controls/InputCustom/LineBreakInput.jsx","components/Billing/BillingAndCollection.jsx","components/PersonalData/Affiliations/GeneralProcedure.jsx","components/PersonalData/Affiliations/UnsubscribeMember.jsx","components/PersonalData/Affiliations/functionShared.jsx","components/PersonalData/Affiliations/Unsubscribe.jsx","components/PersonalData/Affiliations/ChangePlanHeadline.jsx","components/PersonalData/Affiliations/ChangePlan.jsx","components/PersonalData/Affiliations/FormAffiliations.jsx","components/PersonalData/Affiliations/Affiliations.jsx","redux/actions/billingActions.js","components/Billing/Movements/Movements.jsx","components/Billing/WayToPay/WayToPay.jsx","components/Billing/DirectDebit/AdherenceForm.jsx","components/Billing/DirectDebit/UnsuscribeForm.jsx","components/Billing/DirectDebit/DirectDebit.jsx","components/AskTurn/AskTurnDrawer.jsx","components/AskTurn/MedicalCenterDrawer.jsx","components/AskTurn/FooterDrawer.jsx","components/AskTurn/PhoneShiftsDrawer.jsx","components/AskTurn/Utils/ValidateSteps.js","controls/Select/PointSelect.jsx","components/AskTurn/SelectDoctorAccordion.jsx","components/AskTurn/DoctorDetails.jsx","components/AskTurn/SpecialtyListDrawer.jsx","components/AskTurn/Modals/ModalObservations.jsx","components/AskTurn/NextAppointmentDrawer.jsx","components/Appointments/Cards/HistoryAppointmentCard.jsx","components/Calendar/CardDetail.jsx","components/AskTurn/SelectDateDrawer/SelectHour.jsx","components/Calendar/Calendar.jsx","components/AskTurn/SelectDateDrawer/DoesntFreeAppointmentModal.jsx","components/AskTurn/SelectDateDrawer/SelectDateDrawer.jsx","components/AskTurn/Modals/ModalConfirm.jsx","components/AskTurn/Web/Buttons/TopButtons.jsx","components/AskTurn/WizardLine.jsx","components/AskTurn/ConfirmAppointmentDrawer.jsx","components/AskTurn/Utils/CheckAppointmentVisualization.js","components/AskTurn/Web/Step3.jsx","components/AskTurn/AppointmentsList.jsx","components/AskTurn/FlowSpecialtYListDrawer.jsx","components/AskTurn/DrawerAppointmentsSteps.jsx","components/AskTurn/AskNewAppointment.jsx","components/MedicalRecord/Container/MedicalRecordContainer.jsx","redux/actions/authorizationsActions.js","components/Authorizations/NewRequest/Steps/MobileAuthorizationsButtons.jsx","components/Authorizations/NewRequest/Steps/Step2.jsx","components/Authorizations/NewRequest/Steps/Step1.jsx","redux/actions/practicasActions.js","components/Authorizations/NewRequest/Steps/Step3.jsx","redux/actions/errorActions.js","components/Authorizations/NewRequest/DrawerRequestSteps.jsx","components/Authorizations/NewRequest/RequestAuthorization.jsx","redux/actions/refundsActions.js","components/Refunds/RefundsRequest/CustomSteps/AddRefundStep1.jsx","controls/InputCustom/InputNumber.jsx","components/Refunds/RefundsRequest/CustomSteps/AddRefundStep2.jsx","components/Refunds/RefundsRequest/CustomSteps/AddRefundStep3.jsx","components/Refunds/RefundsRequest/CustomSteps/AddRefundStep4.jsx","components/Refunds/RefundsRequest/CustomSteps/AddRefundStep5.jsx","components/Refunds/RefundsRequest/DrawerRefundsSteps.jsx","components/Refunds/RefundsRequest/RefundsRequest.jsx","components/Billing/BillingFrequentQuestions.jsx","components/PersonalData/PersonalDataFrequentQuestions.jsx","pages/RedirectToActivities/index.js","components/MedicalData/PrescriptionPage/PrescriptionPage.jsx","components/DialogCommunication/ModalCommunication.jsx","components/Menu/CardCommunication.jsx","components/Menu/DropdownCommunication.jsx","components/DialogRegisterProfile/ModalRegisterProfileMedico.jsx","components/Menu/ModalProfileMedico.jsx","components/Menu/MenuProfile.jsx","redux/actions/communicatedAction.js","components/Billing/Movements/HomeCardDetailPatient.jsx","components/MedicalProfile/MedicalProfile.jsx","components/PersonalData/SelectTypeOfComponent.jsx","pages/MedicalRecord/index.js","redux/actions/sedesActions.js","components/Headquarters/HeadquartersFrequentQuestions.jsx","components/Headquarters/Headquarters.jsx","controls/Drawer/Drawer.jsx","components/AskTurn/AskTurn.jsx","components/Appointments/Cards/FavoriteCard.jsx","pages/Turn/index.js","privateRoute.jsx","pages/RedirectPageContactAdvisor/index.js","pages/PersonalData/index.js","assets/images/whiteLogo.png","components/Card/CredentialHeader.jsx","components/Card/BackCredential.jsx","components/Credentials/Credentials.jsx","pages/Credentials/index.js","components/LoadingPage/LoadingPage.jsx","pages/MedicalData/index.js","pages/MedicalData/PersonalMedicalData.js","pages/MedicalData/ProgramsHome.js","components/VirtualDoctorCaller/VirtualDoctorCaller.jsx","redux/actions/virtualDoctorActions.js","pages/VirtualDoctor/index.js","pages/Coverage/index.js","pages/Coverage/TravelCoverage.js","components/Notification/AllNotification.jsx","components/Communication/AllCommunication.jsx","assets/images/img-register.png","auth/UtilsFunctions.js","auth/Register.jsx","components/ContactUs/ContactUs.jsx","redux/actions/contactUsActions.js","pages/ContactUs/index.js","components/Notification/NotificationDetail.jsx","components/Communication/CommunicationDetail.jsx","pages/Communication/index.js","pages/Notification/index.js","pages/Billing/index.js","components/MedicalData/Prevention/Prevention.jsx","redux/actions/preventionActions.js","components/Authorizations/AuthorizationsIndex.jsx","components/Authorizations/NewRequest/NewRequest.jsx","pages/Authorizations/index.js","controls/TabPanel/TabPanel.jsx","components/Authorizations/AuthorizationsTabPanel/Details.jsx","components/Authorizations/AuthorizationsTabPanel/Comments.jsx","components/Authorizations/AuthorizationsDetails.jsx","pages/AppointmentRecord/index.js","hooks/useTodayAppointment.js","pages/AppointmentNext/index.js","pages/AppointmentFavorite/index.js","pages/Turn/Question/index.js","components/Refunds/RefundsIndex.jsx","pages/Refunds/index.js","pages/FrequentQuestions/index.js","components/Authorizations/AuthorizationsFrequentQuestions.jsx","components/Refunds/RefundsFrequentQuestions.jsx","components/Refunds/RefundsTabPanel/Details.jsx","components/Refunds/RefundsTabPanel/Comments.jsx","components/Refunds/RefundsDetails.jsx","components/MedicalProfile/PatientAgenda.jsx","components/Calendar/CalendarProfileMedical.jsx","components/MedicalProfile/CalendarMedical.jsx","Routes.jsx","auth/logoutCallback.jsx","App.js","redux/reducers/cartillaReducer.js","redux/reducers/appointmentsReducer.js","redux/reducers/medicalCenterReducer.js","redux/reducers/stepAppointmentReducer.js","redux/reducers/emergencyReducer.js","redux/reducers/notificationReducer.js","redux/reducers/phonesReducer.js","redux/reducers/personalDataReducer.js","redux/reducers/errorReducer.js","redux/reducers/medicalDataReducer.js","redux/reducers/registerUsersReducer.js","redux/reducers/coverageReducer.js","redux/reducers/virtualDoctorReducer.js","redux/reducers/contactUsReducer.js","redux/reducers/credentialReducer.js","redux/reducers/activitiesReducer.js","redux/reducers/procedureReducer.js","redux/reducers/preventionReducer.js","redux/reducers/personPlayerReducer.js","redux/reducers/billingReducer.js","redux/reducers/authorizationsReducer.js","redux/reducers/refundsReducer.js","redux/reducers/surveyReducer.js","redux/reducers/newsReducer.js","redux/reducers/sedesReducer.js","redux/reducers/configurationReducer.js","redux/reducers/cardReducer.js","redux/reducers/planPdfReducer.js","redux/reducers/practicasReducer.js","redux/reducers/telemedicineAppointmentsReducer.js","redux/reducers/capsAndCopayLinksReducer.js","redux/reducers/programRequirementAndFormReducer.js","redux/reducers/limitPlanReducer.js","redux/reducers/campaignReducer.js","redux/reducers/communicatedReducer.js","redux/reducers/index.js","redux/reducers/demoReducer.js","redux/api/index.js","redux/sagas/medicalFiltersSaga.js","redux/sagas/appointmentsSaga.js","redux/sagas/phonesSaga.js","redux/sagas/emergencySaga.js","redux/sagas/personalDataSaga.js","redux/sagas/medicalDataSaga.js","redux/sagas/registerUsersSaga.js","redux/sagas/coverageSaga.js","redux/sagas/contactUsSaga.js","redux/sagas/virtualDoctorSaga.js","redux/sagas/notificationsSaga.js","redux/sagas/credentialSaga.js","redux/sagas/activitiesSaga.js","redux/sagas/procedureSaga.js","redux/sagas/preventionSaga.js","redux/sagas/personPlayerSaga.js","redux/sagas/billingSaga.js","redux/sagas/authorizationsSaga.js","redux/sagas/refundsSaga.js","redux/sagas/surveySaga.js","redux/sagas/newsSaga.js","redux/sagas/sedesSaga.js","redux/sagas/configurationSaga.js","redux/sagas/cardSaga.js","redux/sagas/planPdfSaga.js","redux/sagas/practicasSaga.js","redux/sagas/telemedicineAppointmentsSaga.js","redux/sagas/capsAndCopayLinksSaga.js","redux/sagas/programRequirementAndFormSaga.js","redux/sagas/limitPlanSaga.js","redux/sagas/campaignSaga.js","redux/sagas/communicationSaga.js","redux/sagas/index.js","redux/store/index.js","index.js","redux/actions/notificationsActions.js","redux/actions/limitPlansAction.js","components/Menu/ItemMenu.jsx","components/DialogProfile/Modal.jsx","utils/authConst.jsx","auth/services/authService.jsx","auth/providers/authProvider.jsx","components/Billing/Movements/HeaderCard.jsx","components/HomeLogged/QuickAccess.jsx","components/HomeLogged/QuickAccessBox.jsx"],"names":["getDataRegisterUser","param","type","actionTypes","payload","registerUser","params","verifyRegister","verifyRegisterMedical","verifyTypeOfUser","$lightblue","$blue","$darkblue","$darkgray","$lightgray","$tolightgray","$mediumgray","$bottomBoxShadow","concat","$boxShadowButtons","$boxShadowCards","$lightBoxShadow","$upBoxShadow","$lateralMenuBoxShadow","$headerBoxShadow","$containerBoxShadow","$lightLinearGradient","$darkLinearGradient","$lightLinearGradientReverse","$darkLinearGradientReverse","$twoHundredEightyPx","$arialRegular","$fontSize14","$fontBold","$colorWhite","$tenPx","$centerImportant","$zeroPx","$eightPx","$fivePx","$fiftyHundredPx","$sixtyPx","$thirtyPx","$fiftyFivePx","$initialImportant","$elevenPx","$twelve","$spaceBetween","$twentyFivePx","$arialSansSerif","$fortyPx","$flexImportant","$autoImportant","$absoluteImportant","$fitContent","$twentyThreePerCent","$ninetyFivePerCent","$hiddenImportant","$eighteenPx","$boxxShadow","$fourHundredPx","$threeHundredPx","$threeHundredTenPx","$sixHundredWeight","$templateColumnsFour","$templateColumnsThree","$fivePercent","$seventyPx","$eightyPercent","$twoPointFivePercent","$zeroZeroOneHundred","$oneHundredThirtyPx","$twoHundredFiftyPx","$oneHundredFortyPx","$oneHundredPercent","$oneHundredPercentImportant","$oneOneOneHundredPercent","$whiteColor","$colorTransparent","$fiftyPx","$zeroImportant","$centerCenter","$threeHundredThirtyPx","$FourHundredEightyPx","makeStyles","theme","_errorText","_infoText","_boxHeaderBtn","_boxHeaderBtnMedicalP","_customHeaderBtnFix","_homeIconWOutLog","_divHeaderLogo","_divQuickAccess","_divIconHome","_quickAccessIcon","_txtQuickAccess","_divItemQuickAccess","_rightSectionMenu","_drawerPaperMenu","_customHeaderBtn","_divFilterBtn","_li","_gridList","_headingBPhones","_textBPhones","_accordionItem","_boxUsefulPhones","_titleUsefulPhones","_paragraphUsefulPhone","_accordionButton","_buttonZoneContainerC","_card","_imageListChildren","_li2","_imageListCard","_imageListCardTurn","_txtCardDescriptionHo3","_drawerPaperTurn","_divBoxFirstTurn","_drawerContainerTurn","_MuiOutlinedInput","_afilliateSelectTurn","_deploymentSelectTurn","_titleHomeMedicalProf","_titleHomeMedicalProf2","_colorsLegends","_accordionMedicalCent","_divHomeBox","_divHomeBoxMedicalPro","_homeBoxTitleMedicalP","_greetingHome","_greetingHomeMedical","_homeBox","_boxCard","_credentialLogoPlan","_personalDataIcon","_addressForm","_formControlAddress","_formControlCustomSel","_formControlDatePicke","_inputLabelSelectForm","_divFormContactData","_MuiFormControlRo","_formControlContactDa","_inputContactDataBefo","_inputContactDataBefo2","_MuiFormControlRo2","_MuiInputBaseRoot4","_MuiFormControlRo3","_boxCardCredentials","_theme$breakpoints$do","_subTitleMedicalPesoy","_spaceBetweenInputs","_formControl2","_centerWeigthForm","_formWeigth","_formSelectVitalParam","_formControlWeight","_divEmergencyPhonesFo","_divFlexPhones","_formControlTelefonoO","_formControlChronicMe","_divAccordionPrograms","_divCoverageMenu","_logoPageLogin","_div2","_divLabel2","_inputLogin","_datePickerLogin","_btnLogin","_flexRowBtnLogin","_txtLogin","_btnLoginExternal","_divTravelCoverageMen","_contactFormControl","_formAffiliations","_MuiFormControlRo4","_formControlsAffiliat","_formControlsAffiliat2","_textChangePlan","_left","_txtLabelTramites","_div5","_QueryProcedure","_formControlsDateAfil","_archivoAdjuntoDiv","_firstIcon","_midIcon","_appointmentCards","_movementsCards","_divCardContent","_divCardContentCustom","_amountMovements","_amountTitle","_subTitleMovements","_wayToPayDiv","_wayToPayItemDiv","_MuiFormControlRo5","_formControlsDirectDe","_sectionButtons","_deploymentSelect","_divAffilliate","_deploymentSelectMyHi","_homeSection","_personalDataItemHome","_labelSelectAfilliati","_nuevosFormGrid","_commentGrid","_itemGridAdjuntarArch","_gridBtnEnviar","_gridContainerCartill","_btnZoneAppointmentCa","_step3Div","_a2","_selectAuthorizations","_btnStartRequest","_titleRefunds","_deploymentSelectRefu","_formControlDatePicke3","_formBillingAndCollec","_formChronicMedicatio","_fontMobileCredential","_credentialFooter","_imgMobileCredential","_registerTitle","_registerErrorText","_registerHelperText","_registerImg","_datePickerPersonalDa","_minCredBody","_minCredName","_minCredIcon","_MuiFormControlRo6","_formControlRefunds","_agendaMuiCardStyles","_detailCardMuiPatient","_divCardContentView","_div8","_divLabel3","_inputLoginProfile","customScroll","borderRadius","height","width","background","boxShadow","divLoading","backgroundColor","display","justifyContent","alignItems","position","top","txtLogIn","fontSize","textTransform","fontWeight","maxWidth","mainTitle","_defineProperty","color","fontFamily","breakpoints","only","txtSubtitle","txtEllipsis","textOverflow","whiteSpace","textDecoration","overflow","txtRegular","txtObservaciones","txtDescription","WebkitLineClamp","WebkitBoxOrient","lineHeight","maxHeight","txtDescriptionTruncate","txtDescriptionWhite","txtLinksInCard","txtDarkBlue","txtLightBlue","txtBold500","upBoxShadow","bottomBoxShadow","lightBoxShadow","noneBoxShadow","ShowMoreArrowIcon","RemoveArrowIcon","lightLinearGradient","darkLinearGradient","darkLinearGradientImportant","lightLinearGradientReverse","darkLinearGradientReverse","errorText","up","marginLeft","marginBottom","down","infoText","errorTextFormMobile","backgroundError","borderWhite","border","blueTxt","grayTxt","darkgrayTxt","fontBold","darkgray","backgroundBlue","centeredBox","marginTop","backgroundToLightGray","backgroundDarkBlue","circularProgress","margin1PX","between","margin","minWidth","calendarContainer","padding","boxSizing","header","paddingTop","flexWrap","headerWeb","headerFix","boxHeaderBtn","boxHeaderBtnMedicalProfileHome","customHeaderBtnFix","boxImageHeader","homeIconWOutLog","flex","marginRight","homeWOutLogDivIcons","homeWOutLogIcon","homeTxtIcons","boxHeaderMobile","boxHeaderFiltersMobile","divFiltersMobile","paddingBottom","divHeaderLogo","divQuickAccess","divIconHome","correctionBlockIcon","correctionSentence","letterSpacing","quickAccessIcon","txtQuickAccess","quickAccess","divItemQuickAccess","appBar","zIndex","paddingLeft","paddingRight","toolbar","rightSectionMenu","menuButton","spacing","drawerMenu","flexShrink","drawerPaperMenu","menuButtonRight","menuList","icon","listItemsStyles","activeItemMenu","paddingHeightMD","paddingHeightSM","paddingHeightXS","divider","multiline","customButton","cursor","customHeaderBtn","alignSelf","whiteAndBlueBtn","btnDownload","textDecorator","anchorDownload","flexDirection","customCarouselBtn","customCarouselBtnMobile","btnFilter","buttonsHeadersFilter","textBtnFilter","textAlign","transform","left","sendButton","divFilterBtn","disableTextField","pointerEvents","opacity","enableTextField","paddingCarousel","carousel","carouselMobile","carouselText","carouselTextMobile","carouselItem","backgroundSize","backgroundRepeat","backgroundPosition","objectFit","carouselItemMobile","carouselContainer","carouselContainerMobile","displayFlex","divSecndBtn","txtBtnShowMore","noContent","newsTabs","flexGrow","right","tabsHomeWeb","selected","colorTab","navTabs","tabMobile","minHeight","paddingTopNews","itemTab","gridNewsItems","homeCardPhoto","newsRoot","gridList","flexBasis","titleBar","gridLg3","newCard","media","cardContent","cardAction","cardActionTitle","mediaPair","headingBPhones","headingTextBPhone","telBPhone","textBPhones","accordionItem","contentRegister","boxUsefulPhones","imgUsefulPhones","boxUsefulPhones2","gridButtons","opacityImg","titleUsefulPhones","titlePhoneFix","paragraphUsefulPhones","accordionButton","buttonZoneSection","buttonZoneContainer","buttonZoneContainerCalendarProfileMedical","butonDownloading","LocationCityIcon","float","LocationCityIconMedical","LocationCityIconDetailPatient","IconTimeOutPatientAgenda","txtIconTimeOutPatientAgenda","card","iconsCards","addListCardMobile","addListCard","imageListChildren","gridTemplateColumns","closeModal","closeButton","contentDialogTitle","contentDialogModalRegisterProfile","titleDialogTitle","subTitleDialogTitle","subParagraphDialog","paragraphDialog","linkDialog","titleDialogContent","paddingContent","infoButtonModal","imageBanner","titleBanner","imageListCard","borderBottomLeftRadius","borderBottomRightRadius","objectPosition","titleImageListCard","btnTextCardPhoto","titleDialogActivities","openDialogActivities","paragraphActivities","cardMobile","bottom","homeNewsAndActivitiesCard","closeActivitiesButton","customBtnMaps","marginButton","PhoneIcon","LocationCity","txtTitlebranchOffice","cardStyle","paddingCard","paddingCardMobile","custombtn","containerOpenAskTurn","headerOpenAskTurn","headerFixTurn","paddingTurnMobile","cardAppointment","headerSecundary","txtSubtitleCalendar","txtFilter","txtNumberCalendar","txtCalendar","FavoriteIcon","iconPositionFavorite","txtTitleAppointment","buttonConfirmModal","buttonNotConfirmModal","imageListCardTurn","txtHomeAgendaMedica","txtTitleMedicalAgenda","txtCalendarMedicalAgenda","marginBotton","txtCardDescriptionMedicalCenter","txtCardDescriptionMedicalAgenda","txtCardDescriptionHourTurn","txtCardDescriptionHourTurnBox","txtCardDescriptionHourTurnDetailPatient","txtCardDescriptionMedicalSpecialty","txtCardDescriptionFirstShift","txtCardDescriptionBox","txtCardDescriptionBoxFirstTurnOfDay","txtCardDescriptionBoxGetFilteredAppointments","txtCardIconView","txtCardDescription","boxHomeMedicalProfileAgenda","txtCardDescriptionHomeMedicineShiftsTotals","txtCardDescriptionHomeMedicalschedule","txtCardDescriptionHomeMedicalDescription","txtCardDescriptionHomeMedical","txtCardQuestionDesc","txtTitleQuestion","FavoriteIconRound","RecordIconRound","QuestionIconRound","NextAppointmentIconRound","relative","dropdown","palette","paper","dividerFilter","btnFilterAppointment","Size","iconFilter","formSwitch","calendarDetail","drawerTurn","drawerPaperTurn","fixAskTurn","containerNewAppointment","divBoxFirstTurn","colorIconStepper","modalityTurn","drawerContainerTurn","wizardLine","borderColor","borderTopWidth","wizardLineActive","firstStepperTurn","stepperTurn","inputAffiliate","afilliateSelectTurn","deploymentSelectTurn","switchColor","txtSwitchActive","listItemTurn","titleAuthorization","titleTurn","titleHomeMedicalProfileBox","titleHomeMedicalProfileBox2","subtitleTurn","btnAskTurn","buttonsAskTurn","dividerMedicalCenter","locationIcon","ubicationText","accordionDrawer","boxPointsDrawer","box15x15","boxPointsDrawer_AgendaSusp","boxPointsDrawer_TurnoTelef","boxPointsDrawer_DemandaEspon","boxPointsDrawer_Seleccionado","boxPointsDrawer_Disponible","boxPointsDrawer_SinTurno","boxPointsDrawer_SinTurnoAgenda","boxPointsDrawer_Licencia","colorsLegends","cancelBtn","accordionMedicalCenter","btnNextAppointment","btnHoverNextAppointment","divDate","alignContent","dateNext","descripNext","divHour","hourNext","hourBtn","hourSelected","divHomeBox","divHomeBoxMedicalProfile","homeBoxTitle","homeBoxTitleMedicalProfile","titleBox","greetingHome","greetingHomeMedical","homeBox","boxCard","boxCredential","cardNextAppointmentHome","credentialCard","credentialLogoPlan","paddingInlineStart","paddingInlineEnd","marginInlineStart","credentialPlan","txtBoxCredential","txtBoxCredentialBottom","txtBoxCredentialName","divTxtBoxCredential","divTxtCredentialFooter","txtCredential","emergencyNumbersTitle","emergencyModalIcons","txtPhoneModalEmergencies","Redirect","iframe","overflowY","textConfirmTurn","turnConfirm","iconConfirmTurn","accordionConfirmTurn","personalDataItem","personalDataDivIcons","wayToPay","personalDataIcon","personalDataTxtIcon","personalDataBtnEdit","downloadVaccinesBtn","downloadTermsAndConditionsBtn","titlePersonalDataForm","addressForm","divSubtitleAddresForm","subtitleAddressForm","divSubtitleEditBtn","labelSelectMobile","transformOrigin","labelSelectWeb","divEditBtn","divButtonsAttachment","divAttachment","spanError","txtError","customSelectWeb","customSelectMobile","formControlAddress","formBiggerSelect","formControlCustomSelect","formControlDatePicker","formDivider","divBtnsAddressForm","legendSubtitleForm","fontStyle","margin0","marginn0","formControl","customizedVitalParameterForm","inputLabelForms","inputLabelSelectForms","customInput","contactDataForm","divFormContactData","formControlContactData","inputContactDataBefore","inputContactDataBeforeCountryCode","inputContactData","legendSubtitleCel","dividerVertical","refundForm","mailFormRefund","divSportsHobbies","formControlSportsHobbies","divCustomSelectHobbies","boxCardCredentials","modalCredentials","qrCode","qrCodeCredential","divCredentialsMobile","borderTopLeftRadius","borderTopRightRadius","btnCredentialsMobile","modalLandscapeMobile","modalLandscapeMobileBottom","notRotateIcon","subTitleMedicalData","subTitleMedicalPesoyTalla","width25","width50","width100","txtSubtitleGray","txtSubtitleBlue","headerFiltro","container","textField","fontSize15","flexRow","spaceBetweenInputs","AccordionWeightWeb","flexBasic","AccordionWeightMobile","datePicker","borderTop","borderRight","borderLeft","borderBottom","txtLabelAddWeight","formControl100","centerWeigthForm","customMarginForm","formWeigth","weigthDateTimePicker","formSelectVitalParameter","formSelectLabelVitalParameter","formSelectInputVitalParameter","formControlWeight50","BtnMobileWeight","BtnMobileAddWeight","btnNewWeigth","flexRowAcordion","displayNone","padding0","heightDivRegisters","listCommunicationsMedicalProfile","selectDniLogin","inputDocument","subtitleBox","titleEmergency","emergencyFormsIcons","divEmergencyPhonesForm","divInputEmergencyPhones","divInputPhone","divFlexPhones","phoneIcon","quarterCol","divFormControlsEmergency","formControlsEmergency","formControlTelefonoObsevacion","formControlSelect","divAllergiesForm","formControlSwitchAllergies","dateTimerPicker","labelDateTimerPicker","top22","chronicDiseaseform","formChronicDisease","accordionMedicationMobile","titleAccordionChronic","detailsAccordionChronic","menuItemSelected","formControlVirtualDoctor","formControlChronicMedicationForm","formContactUs","divAccordionPrograms","accordionListVaccine","accordionVaccine","titleVaccine","formControlVaccine","programsDataItem","spanVirtualDoctor","card50","card100","AllNotifications","dropdownNotification","notificationIcon","customButtomNotification","boxshadow","iconReader","iconDestacate","AllNotIcon","coverageMenuItem","divCoverageMenu","logoPageLogin","inputLogin","datePickerLogin","btnLogin","flexRowBtnLogin","decoredText","txtLogin","btnLoginExternal","darkGrayBtn","divTravelCoverageMenu","titleTravelCoverage","sectionFlexRefunds","divRefunds","divAccordionRefunds","contactForm","contactFormControl","pdfCoverage","formAffiliations","formControlsAffiliations","formControlsAffiliationsObservations","textChangePlan","titleChangePlan","contentTextChangePlan","billingAndCollectionsDiv","left10","txtLabelTramites","QueryProcedure","gridRow","gridcolumn","marginRigth","formControlsDateAfiliations","archivoAdjuntoDiv","preventionRow","paragraphPrevention","firstIcon","midIcon","billingTxtIcon","appointmentCards","movementsCards","divCardContent","divCardContentCustomCalendarMedicalProfile","cardContentMuiCard","cardContentMuiCardDetailPatient","divSectionMovements","gap","divSectionCalendarMedica","divSectionMovementsDetailPatientMedicalAgenda","headerIconCard","amountMovements","amountTitle","subTitleMovements","actionsIcons","subtitleSelectWayToPay","wayToPayDiv","wayToPayItemDiv","wayToPayMercadoPago","buttonImgWayToPay","wayToPayButtonImage","wayToPayTitle","wayToPaySubtitle","directDebitDiv","formControlsCardNumber","formControlsDirectDebit","sectionButtons","btnAuthorizationCard","authorizationNotifications","descriptionCard","menuSubscription","authorizationTabs","authorizationHeader","stepLabelTab","boxSteps","txtMobile","txtBoxComments","txtFormComments","txtLabelComments","txtObservations","txtBoxObservation","txtTitleObservation","afilliateSelect","borderWidth","deploymentSelect","divAffilliate","textTitleTurn","orderBtnNewTurn","divMyHistoryTurn","divMyHistoryRecipe","listCardMyHistory","deploymentSelectMyHistory","dropDownMyHistory","contentNotFound","divAffilliateMyHistory","containerBoxWeb","cardHomeWeb","boxDivider","headerSection","boxCardWeb","homeSection","ubicationTextHome","personalDataItemHome","divItemsHome","personalDataTxtIconHome","personalDataDivIconsHome","appointmentCardHomeWeb","notAppointment","labelSelectAfilliations","labelSelectAfilliationsCobranza","inline50","nuevosFormGrid","commentGrid","gridColumn","itemGridAdjuntarArchivos","itemGridSpan2","gridBtnEnviar","justifySelf","itemGridSpan1","gridContainerCartilla","cartillaCards","divTitleCardCartilla","sectionHeaderCartilla","divBtnHeaderCartilla","questionQFMargin","sectionHeaderCard","sectionHeaderCardPatientDetail","btnZoneAppointmentCard","btnDivCards","dividerAppointment","disableButton","txtTitleBlue","divConfirmTurn","step3Div","boxMedicalDataMobile","formControlCustomSelectWBtn","authorizationsAccordion","widthMobile","selectAuthorizations","btnAttached","divConfirmAuthorization","divConfirmRefund","placeItems","titleConfirmAuthorization","subtitleConfirmAuthorization","titleSecondary","formConfirmAuthorization","width70","btnStartRequest","titleRefunds","deploymentSelectRefunds","footerAuthRequest","divIndexRefunds","btnFinally","formControlStep2Refunds","formControlCustomSelectRefunds","formControlDatePickerRefunds","divStep2Refunds","formControlCustomSelectAuthorizations","formControlDatePickerAuthorizations","formControlStep2Authorizations","flexStartJustifyContent","fixFormControlSelect","fixInputLabel","formBillingAndCollection","formControlEmail","emailCheck","buttonBlankClaims","datePickerAuthorizations","formChronicMedication","ChronicMedicationDetails","btnCancelarPersonalData","btnCancelarPersonalDataHeader","btnCancelarSportsHobbies","btnCancelaHobbies","btnGuardarPersonalData","btnCancelarAddress","centerFactorGroupFormMobile","saveButonFactorGroupForm","cancelButonFormWeight","fontMobileCredentials","fontMobileCredentialsPlan","credentialFooter","imgMobileCredential","dropdownAuthorizations","dropdownAuthorizationsHistorial","formControlContactDataParticularPhone","popUpNewTurn","registerTitle","registerErrorText","registerHelperText","registerImg","filter","homeRegisterButton","frequentQuestionsButton","iconFrequentQuestionsButton","datePickerPersonalData","credImage","backgroundImage","credentialSVG","credBody","credText","credTextName","credBold","credDivText","credQR","credFooter","credFooterText","credLastUpdate","backCredImage","backCredentialSVG","backCredDivText","backCredText","backCredFooter","headerCredLogo","headerCredImage","headerCredentialSVG","headerCredPlan","headerCredContainerHeader","minCredBody","minimalCredentialSVG","minCredName","minCredIcon","minCredIconText","formControlRefunds","contactDataTitles","cartillaMedicalCenterSection","medicalCenterIconDetailPatient","cartillaClasificacionPrestadorStyles","cartillaPhonesSection","cartillaAddIconStyles","cartillaAddressStyles","cartillaRoomIconStyles","cartillaMuiCardStyles","agendaMuiCardStyles","cartillaPrestadorRazonSocialStyles","cartillaButtonContainerStyles","cartillaPrestadorDomicilioContainer","cartillaObservacionStyles","communicationTitleStyles","communicationDescriptionStyle","wordBreak","overflowWrap","whiteCircularProgress","appointmentsAutocompleteContainer","appointmentsAutocompleteLabels","maintenanceDialogContentContainer","maintenanceMessageContentContainer","maintenanceButton","phoneLabelOnConfirmation","updatePhoneBtn","titleMedicalCards","titleAgenda","titleConstruction","detailAgendaMedical","detailCardAgendaMedical","detailCardMuiAgendaMedical","detailCardMuiPatientAgendaMedical","calendarAgendaMedical","detailCardCenterAgendaMedical","detailCardHour","divCardContentView","divCardIconView","detailPatient","detailPatientCenterSpecialty","detailPatientTotalTurno","detailPatientTurnoAssigned","detailPatientOpeningHours","detailPatientOpeningHoursClose","detailPatientName","detailPatientInfoTurno","detailPatientInfoSection","inputLoginProfile","iconArrowHomeProfileMedical","viewCalendarMedical","calendarSelectedDays","iconControlPointOutlinedIcon","headerPatientAgenda","txtHorariosUnicosPatientAgenda","medicalAgendaDivision","txtIconGiftsCampaignWoman","iconGiftsCampaignWoman","index","MONTHS","handleChangeMail","setMail","setMailError","setError","error","setShowPermanente","mail","e","_e$target","target","name","value","regex","test","validate","responseToReturn","item","state","action","res","_objectSpread","response","data","message","msgError","validatorForms","schemaValidation","model","valid","auxErrors","map","_ref","subType","required","validCuitCuil","_ref2","_model$name","_model$name2","exactLength","maxLength","maxDecimals","parseInt","Date","parse","length","lengthDecimals","isNaN","nVerif","_value$split$","decimalsSum","includes","split","formatPhoneNumber","number","medicalRecords","_phone","_phone2","_phone7","_phone13","_phone14","phone","replace","phoneWithoutCode","init","middle","end","hasSpecialCode","substring","substr","_phone3","_phone4","_phone5","_phone6","_phone8","_phone9","isCellPhoneNumber","_phone10","_phone11","_phone12","_phone15","_phone16","_phone17","_phone18","_phone19","_phone20","includeCharacteristic","returnPhoneWithCharacteristic","indexOf","num","phoneCharacteristic","nameElement","val","deleteFile","fileButtons","setFileButtons","setFiles","files","attachmentName","fileName","preventDefault","auxFiles","archivoNombre","isDisabled","typeName","handleSave","props","setModalTitle","setModalDescription","setModalIcon","setErrorClass","setOpenSendSuccess","classes","dispatch","validateData","setSaveModal","prevState","postProcedures","_jsx","style","children","CircularProgress","Object","values","every","validateFiles","listOfAttachmentButtons","adjuntoObligatorio","push","adjuntoDescripcion","_Object$values","aux","forEach","some","x","btnNombre","validateDate","date","dateLow","today","getFullYear","getMonth","setHours","getTime","isAuthenticated","oidcStorage","JSON","localStorage","getItem","window","env","API_IDENTITY","CLIENT_ID_MOBILE","access_token","setModelAppointmentToRepeatOrModify","element","userCode","modelNextAppointment","history","_element$pacienteNomb","_window$localStorage$","_element$pacienteNume","setModelToSaveAppointment","modelAppointment","especialidadCodigo","especialidadDescripcion","medicoCodigo","medicoDescripcion","afiliadoDescripcion","pacienteNombreApellido","afiliadoCodigo","pacienteNumero","centroMedico","tipoAtencion","sucursalCodigo","nombreCentroMedico","sucursalDescripcion","modalidadTurno","preference","turnoAnterior","turnoNumero","isNextAppointment","turnoFechHora","now","setModifyAppointment","specialtiesList","numeroPersona","parametroLlamado","getSpecialties","setActualStep","returnHomeAppointmentHome","handleExpandAccordion","title","isExpanded","setExpanded","messageModalFunction","postChangeReducer","confirmacion","CheckCircleOutlineIcon","className","undefined","_postChangeReducer$me","_postChangeReducer$me2","mensajes","mensaje","CancelIcon","showBtn","listOfAttachment","file","err","motive","valor","obligatoryFiles","attachment","validateFilesForButttonEnviar","enableEnviarBtn","plan","handleChangeEmail","isValid","validateEmail","redirectHrefTo","path","open","handleGoToPersonalMedicalData","location","href","handleGoToPersonalData","handleGoToMedicalData","handleGoToBilling","email","notAccessToThisModule","verifyPermission","limitReducer","moduleName","setPermission","_filterByPlan$","_filterByPlan$$module","_access$","_access$2","_access$3","allModules","access","modulesAndStatus","y","handleGoToProgramsHome","showErrorMessageModal","errorMessage","openError","setOpenError","classNameOne","classNameTwo","ModalProfile","observation","_Fragment","_jsxs","onClose","showMessageModal","classNameThree","handleClick","Dialog","disableEscapeKeyDown","onBackdropClick","id","Box","DialogContent","CustomButton","onClick","BadgeNotification","countNotification","childrenItem","customClass","customWidth","_useState","useState","_useState2","_slicedToArray","defaultProps","setDefaultProps","useEffect","Badge","badgeContent","React","memo","useStyles","typeButton","customStyles","other","_objectWithoutProperties","_excluded","Button","getStepCount","actualStep","setNextStep","step","setPrevStep","useResizeScreen","sWidth","innerWidth","sHeight","innerHeight","screen","updateScreen","handleResize","useCallback","addEventListener","passive","removeEventListener","AppointmentsCard","headerIcon","description","buttonZone","count","customHeaderColor","buttonsInHeader","headerButtons","_ref$blueBox","blueBox","Fragment","MuiCard","CardContent","OpenModal","screenSize","modal","descriptionRef","useRef","current","scrollIntoView","behavior","Card","Typography","ref","info","ModalActivities","customBackgroundDialogContent","customBackgroundDialog","setOpen","crossDarkColor","CardPhoto","_props$listCard","_useState3","_useState4","indexItem","setTndexItem","handleShow","i","openViewModal","showDetail","hasDetail","isNotPlan","Grid","noopener","noreferrer","hours","urlMapa","URL","conditionIsNotPlan","size","cssClasses","css","buttonIconMobile","IconButton","ExpandMoreIcon","ImageList","cols","listCard","slice","countCard","ImageListItem","src","img","alt","ImageListItemBar","alternateColor","subtitle","hasButton","NextAppointmentCard","_item$fechaFormateada","_item$fechaFormateada2","_item$turnoFechHora","_item$turnoFechHora2","_item$turnoFechHora3","_item$sucursalDescrip","_item$pacienteNombreA","_item$especialidadDes","_item$medicoDescripci","handleClickOpenRepeatModal","setCancelItem","setOpenModal","useDispatch","telemedicineAppointmentLink","useSelector","_state$telemedicineAp","_state$telemedicineAp2","telemedicineAppointmentsReducer","telemedicine","link","click","setClick","handleClickIngresar","itemNext","turnDate","nextFifteenMinutes","previuosFifteenMinutes","setMinutes","getMinutes","affiliated","obj","proximoCercano","showIngresarBtn","itemA","condition","dateItem","next15","dateToday","disabled","CreateIcon","HeaderCard","day","fechaFormateada","nombreDia","numberDay","dia","month","year","LocalPhoneIcon","ApartmentIcon","trim","itemCancel","numeroTurno","enviarMail","nextState","getAfilliatedAppointments","afilliated","getAfilliatedAppointmentsNext","getAfilliatedAppointmentsRecord","getAppointmentFavorite","getAnswerQuestion","getDataGroupFamily","getDataFilterAppointment","AppointmentCanceled","ABAppointmentFavorite","getMedicalCenters","getNextAvailableAppointments","getNextAvailableAppointmentsDoctor","getModelToSaveAppointment","AppointmentConfirm","getFullGroupFamilyAppointment","clearModelAppointment","clearAffilliate","clearMsgError","getSpecialtiesList","getDoctorsList","getFreeDoctorAppointmentsList","getMedicalAgenda","CardNotification","_props$notification3","_props$notification3$","_props$notification4","_props$notification4$","_Date","_props$notification5","_props$notification5$","useHistory","notificacionReducer","notificationReducer","notifications","Accordion","expanded","AccordionDetails","_props$notification","_props$notification2","NotificationsIcon","notification","favourite","StarIcon","viewed","AddIcon","module","createDate","toLocaleDateString","_notificacionReducer$","newNotifications","notificationSelected","selectNotification","modifyNotification","updateAllNotifications","viewDetalle","getConfigurations","getConfigurationLowServiceById","getConfigurationReclamoById","googleApiKey","GOOGLE_API_KEY","MapContainer","father","heightMap","viewList","medicalCenterUbication","profileSelected","widthMap","minHeightMap","_props$elevation","elevation","setSelected","openModal","currentPosition","useCurrentPosition","medicalRecord","cartillaReducer","cartilla","mapStyles","handleClose","document","getElementsByClassName","setAttribute","onSelect","auxItem","seleccionado","ModalClick","_props$profileSelecte","PrestadorNumero","_medicalRecord$cartil","newSelected","prestadorNumero","navigator","onLine","LoadScript","googleMapsApiKey","GoogleMap","mapContainerStyle","center","defaultCenter","zoom","_medicalRecord$cartil2","Marker","lat","Number","parseFloat","lng","prestadorLatitud","prestadorLongitud","setMarker","InfoWindow","clickable","options","gmStyle","_selected$telefono","_selected$telefono2","_selected$mail$","_selected$mail$2","prestadorRazonSocial","prestadorEspecialidad","paragraph","telefono","telefonoNumero","prestadorDomicilio","prestadorLocalidad","prestadorBarrio","mailDireccion","observacion","specialties","AddModalProfile","_el$","_el2$","_el3$","MedicalCard","mapContainer","AddCardMaps","setCurrentPosition","success","coords","latitude","longitude","geolocation","getCurrentPosition","CustomizedInputs","assign","FormControl","formControlClass","variant","InputLabel","inputLabelClass","shrink","htmlFor","label","customRequired","BootstrapInput","updateTag","ContainerBox","component","Link","to","ArrowForwardIosIcon","Divider","ModalLogOut","isOpen","modalconfirm","modalLogout","styled","InputBase","mode","transition","transitions","create","join","alpha","primary","main","_item$telefono$","_item$telefono$2","_item$telefono$2$tele","_item$telefono","_item$mail$","_item$mail$$mailDirec","_item$mail$2","_item$mail$3","_item$mail$3$mailDire","showMaps","clasificacionPrestador","FaceIcon","ChevronRightIcon","prestadorProvincia","RoomIcon","trimEnd","reactPlugin","ReactPlugin","ApplicationInsights","config","instrumentationKey","APPINSIGHTS_INSTRUMENTATION_KEY","extensions","loadAppInsights","AppInsightsContextProvider","AppInsightsContext","Provider","NotAccessModal","modalRegister","items","CredentialCard","_affilliated$credenti","_affilliated$credenti2","_affilliated$credenti3","_affilliated$credenti4","_affilliated$credenti5","_affilliated$credenti6","_affilliated$credenti7","_affilliated$credenti8","affilliated","hour","lastUpdate","setLastUpdate","dateUpdated","format","hourUpdated","getHours","String","padStart","credentials","numeroAfiliado","apellidoNombre","documento","condicionIVA","planDescripcion","pmi","fechaVigencia","marcaCopago","QRCode","aff","_aff$credentials","_aff$credentials2","_aff$credentials2$num","URL_SERVICE","replaceAll","qrText","EmergencyModal","loadingPermission","limitPlanReducer","requestInProgress","hasPermission","setHasPermission","allLimitPlanData","affiliatePlan","_state$personalDataRe","_state$personalDataRe2","_state$personalDataRe3","personalDataReducer","fullData","afiliado","emergencyNumbers","emergencyReducer","getLimitPlan","loading","permission","_emergencyNumbers$eme","emergency","_emergency$numbers","numbers","indexNumber","_number$value","showEmergencyModal","NotFound","fullItem","wsItem","_ref$customMsg","customMsg","notFound","setNotFound","notFoundRes","HomeBox","DropdownNotification","_notificacionReducer$3","openNotification","setOpenNotification","counterNotification","modifyNotificationsReducer","modifyNotifications","allNotificationsViewed","setNotification","prev","BroadcastChannel","onmessage","event","setTimeout","getAllNotifications","_notificacionReducer$2","notReview","setCount","removeModifyNotification","ClickAwayListener","mouseEvent","touchEvent","onClickAway","edge","ModalRegisterProfileAfiliado","_userTypeValidation$p","_userTypeValidation$p2","_personalDataReducer$13","_personalDataReducer$14","_registerReduxState$r2","functionConfirm","itemConfirm","buttonType","empty","enrollment","setEnrollment","credential","_useState5","_useState6","setType","_useState7","_useState8","birthDate","setbirthDate","_useState9","_useState10","dni","setDni","userTypeValidation","registerUsersReducer","campoObligatorio","_useState11","_useState12","errorMessageModal","setErrorMessageModal","registerReduxState","_useState13","perfil","_useState14","aditionalDataErrors","setAditionalDataErrors","_personalDataReducer$","_personalDataReducer$2","_personalDataReducer$3","_personalDataReducer$4","_personalDataReducer$5","_personalDataReducer$6","_personalDataReducer$7","_personalDataReducer$8","_personalDataReducer$9","_personalDataReducer$10","_personalDataReducer$11","_personalDataReducer$12","documentos","documentoTipoCodigo","documentoNumero","fechaNacimiento","_registerReduxState$r","isAditionalDataValidForm","loguinEnrollment","request","tipoRegistracion","tipoDocumento","nroDocumento","nroCredencial","matricula","handleChangeEnrollment","handleOnBlurEnrollment","credentialNumber","match","confirm","modalLogoutFunction","jsxBtn","CloseIcon","DialogTitle","DEFAULT","BODY","onChange","onBlur","bodyModal","Menu","configurationReduxState","_state$configurationR","_state$configurationR2","configurationReducer","allConfigurations","configurations","maintenanceModal","setMaintenanceModal","maintenanceMessage","setMaintenanceMessage","openLogout","setOpenLogout","notificacions","openModalEmergency","setOpenModalEmergency","drawerOpenerRef","openNotAccessModal","setOpenNotAccessModal","affiliatePlanDescription","_useState15","_useState16","_useState17","_useState18","_useState19","_useState20","openProfile","setOpenProfile","checkMaintenanceMode","handleLogout","handleProfile","registerMedicalValidation","estado","_maintenanceMode$","_maintenanceMessage$","maintenanceMode","configuration","_useState21","_useState22","DrawerOpen","listItems","List","AuthConsumer","ItemMenu","Titulo","Icon","HomeOutlinedIcon","root","PhoneInTalkOutlinedIcon","AddBoxOutlinedIcon","DescriptionOutlinedIcon","MonetizationOnOutlinedIcon","notAccess","DevicesOutlinedIcon","ContactMailOutlinedIcon","FilterNoneOutlinedIcon","AccountCircleOutlinedIcon","ArticleOutlinedIcon","SupportAgentOutlinedIcon","EventAvailableIcon","ViewListIcon","_ref3","_configurationReduxSt","CreditScoreOutlinedIcon","rel","startIcon","WarningAmberOutlinedIcon","ContactPhoneOutlinedIcon","QuestionAnswerOutlinedIcon","PhoneIphoneIcon","CheckIcon","ClearIcon","Ref","URL_LowService","PeopleAltOutlinedIcon","handleClickLogOut","getElementById","_document$getElementB","remove","numberPerson","getFullData","BuildCircleIcon","CssBaseline","AppBar","clsx","appBarShift","Toolbar","NotesIcon","_ref4","_personalDataReducer$15","_personalDataReducer$16","_personalDataReducer$17","_configurationReduxSt2","_configurationReduxSt3","logo","PersonIcon","LogoutIcon","boxHeaderBtnFix","sx","Drawer","anchor","GenericModal","setClose","customId","getAllCredentialsAction","ItemTab","Tab","removePlayerAndLogout","playerId","user","clear","sessionStorage","SET_SELECTED_FILTERS_VALUES","SET_MODEL_FILTERS_VALUES","SUCCESS_GET_FILTERS_VALUES","FAILURE_GET_FILTERS_VALUES","GET_FILTERS_VALUES","GET_LOCALIDADES_BARRIOS","SUCCESS_GET_LOCALIDADES_BARRIOS","FAILURE_GET_LOCALIDADES_BARRIOS","GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS","SUCCESS_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS","FAILURE_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS","SUCCESS_GET_PRESTADORES_RESULT","GET_PRESTADORES_CARTILLA","FAILURE_GET_PRESTADORES_RESULT","GET_PERFIL_COMPLETO","SUCCESS_GET_PERFIL_COMPLETO","FAILURE_GET_PERFIL_COMPLETO","CLEAN_MODEL_MEDICAL_RECORDS","SET_LOADING_MEDICAL_RECORDS","CLEAN_PERFIL_COMPLETO","GET_AFILLIATED_APPOINTMENTS","SUCCESS_GET_AFILLIATED_APPOINTMENTS","FAILURE_GET_AFILLIATED_APPOINTMENTS","GET_AFILLIATED_APPOINTMENTS_NEXT","SUCCESS_GET_AFILLIATED_APPOINTMENTS_NEXT","FAILURE_GET_AFILLIATED_APPOINTMENTS_NEXT","GET_AFILLIATED_APPOINTMENTS_RECORD","SUCCESS_GET_AFILLIATED_APPOINTMENTS_RECORD","FAILURE_GET_AFILLIATED_APPOINTMENTS_RECORD","GET_APPOINTMENTS_FAVORITE","SUCCES_GET_APPOINTMENTS_FAVORITE","FAILURE_GET_APPOINTMENTS_FAVORITE","GET_DATA_GROUP_FAMILY","SUCCES_GET_DATA_GROUP_FAMILY","FAILURE_GET_DATA_GROUP_FAMILY","GET_DATA_FILTER_APPOINTMENT","SUCCES_GET_DATA_FILTER_APPOINTMENT","FAILURE_GET_DATA_FILTER_APPOINTMENT","GET_APPOINTMENTS_CANCELED","SUCCES_GET_APPOINTMENTS_CANCELED","FAILURE_GET_APPOINTMENTS_CANCELED","GET_APPOINTMENTS_AB","SUCCES_GET_APPOINTMENTS_AB","FAILURE_GET_APPOINTMENTS_AB","GET_ANSWER_QUESTION","SUCCES_ANSWER_QUESTION","FAILURE_ANSWER_QUESTION","GET_SPECIALTY_LIST","SUCCESS_GET_SPECIALTY_LIST","FAILURE_GET_SPECIALTY_LIST","GET_MEDICAL_CENTERS","SUCCESS_GET_MEDICAL_CENTERS","FAILURE_GET_MEDICAL_CENTERS","GET_NEXT_AVAILABLE_APPOINTMENTS","SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS","FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS","GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR","SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR","FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR","GET_STEPS","NEXT_STEP","PREV_STEP","SET_ACTUAL_STEP","SET_MODEL_TO_SAVE_APPOINTMENT","GET_MODEL_TO_SAVE_APPOINTMENT","SAVE_APPOINTMENT","GET_EMERGENCY_NUMBERS","SUCCESS_GET_EMERGENCY_NUMBERS","FAILURE_GET_EMERGENCY_NUMBERS","GET_APPOINTMENTS_CONFIRMED","SUCCESS_GET_APPOINTMENTS_CONFIRMED","FAILURE_GET_APPOINTMENTS_CONFIRMED","GET_FULL_GROUP_FAMILY_APPOINTMENT","SUCCESS_GET_FULL_GROUP_FAMILY_APPOINTMENT","FAILURE_GET_FULL_GROUP_FAMILY_APPOINTMENT","CLEAR_MODEL_APPOINTMENT","CLEAR_AFFILLIATE","SET_MODIFY_APPOINTMENT","CLEAR_APPOINTMENT_MSG_ERROR","GET_SPECIALTIES_LIST","SUCCESS_GET_SPECIALTIES_LIST","FAILURE_GET_SPECIALTIES_LIST","GET_DOCTORS_LIST","SUCCESS_GET_DOCTORS_LIST","FAILURE_GET_DOCTORS_LIST","GET_FREE_DOCTOR_APPOINTMENTS_LIST","SUCCESS_GET_FREE_DOCTOR_APPOINTMENTS_LIST","FAILURE_GET_FREE_DOCTOR_APPOINTMENTS_LIST","GET_MEDICAL_AGENDA","SUCCESS_GET_MEDICAL_AGENDA","FAILURE_GET_MEDICAL_AGENDA","GET_TYPE_OF_CONTACT","SUCCESS_GET_TYPE_OF_CONTACT","FAILURE_GET_TYPE_OF_CONTACT","GET_TYPE_OF_CONTACT_PHONE","SUCCESS_GET_TYPE_OF_CONTACT_PHONE","FAILURE_GET_TYPE_OF_CONTACT_PHONE","GET_TYPE_OF_CONTACT_MAIL","SUCCESS_GET_TYPE_OF_CONTACT_MAIL","FAILURE_GET_TYPE_OF_CONTACT_MAIL","GET_CONTACTDATA_OF_AFFILIATED","SUCCESS_GET_CONTACTDATA_OF_AFFILIATED","FAILURE_GET_CONTACTDATA_OF_AFFILIATED","GET_TYPES_DOCUMENTS","SUCCESS_GET_TYPES_DOCUMENTS","FAILURE_GET_TYPES_DOCUMENTS","GET_CIVIL_STATUS","SUCCESS_GET_CIVIL_STATUS","FAILURE_GET_CIVIL_STATUS","GET_NATIONALITY","SUCCESS_GET_NATIONALITY","FAILURE_GET_NATIONALITY","GET_FULL_DATA","SUCCESS_GET_FULL_DATA","FAILURE_GET_FULL_DATA","ABM_FULL_DATA","SUCCESS_ABM_FULL_DATA","FAILURE_ABM_FULL_DATA","GET_CREDENTIALS","SUCCESS_GET_CREDENTIALS","FAILURE_GET_CREDENTIALS","GET_HOBBIES","SUCCESS_GET_HOBBIES","FAILURE_GET_HOBBIES","GET_DEPORTES","SUCCESS_GET_DEPORTES","FAILURE_GET_DEPORTES","SEND_REQUEST_SUCCESS","SEND_REQUEST_FAILURE","RESET_SEND_REQUEST_FAILURE","GET_DEMO_REQUEST","GET_DEMO_SUCCESS","GET_PHONES","GET_SHIFT_PHONES","SUCCES_SHIFT_PHONES","FAILURE_SHIFT_PHONES","SUCCES_PHONES","FAILURE_PHONES","GET_DATA_WHEIGHT_HEIGHT","SUCCESS_GET_DATA_WHEIGHT_HEIGHT","FAILURE_GET_DATA_WHEIGHT_HEIGHT","AB_DATA_WHEIGHT_HEIGHT","SUCCESS_AB_WHEIGHT_HEIGHT","FAILURE_AB_WHEIGHT_HEIGHT","GET_VITAL_PARAMETERS","SUCCESS_GET_VITAL_PARAMETERS","FAILURE_GET_VITAL_PARAMETERS","AB_VITAL_PARAMETERS","SUCCESS_AB_VITAL_PARAMETERS","FAILURE_AB_VITAL_PARAMETERS","GET_PROGRAMS","SUCCESS_GET_PROGRAMS","FAILURE_GET_PROGRAMS","GET_ALLERGIES_PARAMS","SUCCESS_GET_ALLERGIES_PARAMS","FAILURE_GET_ALLERGIES_PARAMS","GET_AFFILIATED_ALLERGIES","SUCCESS_GET_AFFILIATED_ALLERGIES","FAILURE_GET_AFFILIATED_ALLERGIES","ABM_ALLERGIES","SUCCESS_ABM_ALLERGIES","FAILURE_ABM_ALLERGIES","GET_AFFILIATED_PHONES","SUCCESS_GET_AFFILIATED_PHONES","FAILURE_GET_AFFILIATED_PHONES","ABM_MD_PHONES","SUCCESS_ABM_MD_PHONES","FAILURE_ABM_MD_PHONES","ABM_FACTOR_GROUP","SUCCESS_ABM_FACTOR_GROUP","FAILURE_ABM_FACTOR_GROUP","GET_FACTOR_GROUP","SUCCESS_GET_FACTOR_GROUP","FAILURE_GET_FACTOR_GROUP","GET_FACTOR_GROUP_PARAMS","SUCCESS_GET_FACTOR_GROUP_PARAMS","FAILURE_GET_FACTOR_GROUP_PARAMS","ABM_CHRONIC_DISEASES","SUCCESS_ABM_CHRONIC_DISEASES","FAILURE_ABM_CHRONIC_DISEASES","GET_CHRONIC_DISEASES","SUCCESS_GET_CHRONIC_DISEASES","FAILURE_GET_CHRONIC_DISEASES","GET_CHRONIC_DISEASES_PARAMS","SUCCESS_GET_CHRONIC_DISEASES_PARAMS","FAILURE_GET_CHRONIC_DISEASES_PARAMS","ABM_CHRONIC_MEDICATION","SUCCESS_ABM_CHRONIC_MEDICATION","FAILURE_ABM_CHRONIC_MEDICATION","GET_CHRONIC_MEDICATION","SUCCESS_GET_CHRONIC_MEDICATION","FAILURE_GET_CHRONIC_MEDICATION","GET_VACCINE","SUCCESS_GET_VACCINE","FAILURE_GET_VACCINE","GET_RECIPE","SUCCESS_GET_RECIPE","FAILURE_GET_RECIPE","GET_RECIPE_FILES","SUCCESS_GET_RECIPE_FILES","FAILURE_GET_RECIPE_FILES","GET_LABORATORY_STUDIES","SUCCESS_GET_LABORATORY_STUDIES","FAILURE_GET_LABORATORY_STUDIES","GET_DETAIL_LABORATORY_STUDIES","SUCCESS_GET_DETAIL_LABORATORY","FAILURE_GET_DETAIL_LABORATORY","GET_DATA_REGISTER_USER","SUCCESS_GET_DATA_REGISTER_USER","FAILURE_GET_DATA_REGISTER_USER","ADD_DATA_REGISTER_USER","SUCCESS_ADD_DATA_REGISTER_USER","FAILURE_ADD_DATA_REGISTER_USER","DELETE_DATA_REGISTER_USER","SUCCESS_DELETE_DATA_REGISTER_USER","FAILURE_DELETE_DATA_REGISTER_USER","MODIFY_DATA_REGISTER_USER","SUCCESS_MODIFY_DATA_REGISTER_USER","FAILURE_MODIFY_DATA_REGISTER_USER","REGISTER_USER","SUCCESS_REGISTER_USER","FAILURE_REGISTER_USER","VERIFY_REGISTER","SUCCESS_VERIFY_REGISTER","FAILURE_VERIFY_REGISTER","VERIFY_REGISTER_MEDICAL","SUCCESS_VERIFY_REGISTER_MEDICAL","FAILURE_VERIFY_REGISTER_MEDICAL","VALIDATE_TYPE_OF_USER","SUCCESS_VALIDATE_TYPE_OF_USER","FAILURE_VALIDATE_TYPE_OF_USER","GET_TYPE_COVERAGE_PARAMETERS","SUCCESS_GET_TYPE_COVERAGE_PARAMETERS","FAILURE_GET_TYPE_COVERAGE_PARAMETERS","GET_AREA_PARAMETERS","SUCCESS_GET_AREA_PARAMETERS","FAILURE_GET_AREA_PARAMETERS","POST_REFUND_COVERAGE","SUCCESS_POST_REFUND_COVERAGE","FAILURE_POST_REFUND_COVERAGE","GET_ALL_COVERAGE_PLANS","SUCCESS_GET_ALL_COVERAGE_PLANS","FAILURE_GET_ALL_COVERAGE_PLANS","POST_CALL_DOCTOR","SUCCESS_POST_CALL_DOCTOR","FAILURE_POST_CALL_DOCTOR","POST_CONTACT_US","SUCCESS_POST_CONTACT_US","FAILURE_POST_CONTACT_US","GET_ALL_NOTIFICATION","SUCCESS_ALL_GET_NOTIFICATION","FAILURE_ALL_GET_NOTIFICATION","GET_UPDATE_ALL_NOTIFICATION","SUCCESS_UPDATE_ALL_GET_NOTIFICATION","FAILURE_UPDATE_ALL_GET_NOTIFICATION","GET_NOTIFICATION","SUCCESS_GET_NOTIFICATION","FAILURE_GET_NOTIFICATION","MODIFY_NOTIFICATION","SUCCESS_MODIFY_NOTIFICATION","FAILURE_MODIFY_NOTIFICATION","RESET_MODIFY_NOTIFICATION","GET_NOTIFICATIONS","SET_NOTIFICATIONS","SELECT_NOTIFICATION","SUCCESS_SELECT_NOTIFICATION","FAILURE_SELECT_NOTIFICATION","SET_COUNT_NOTIFICATION","SUCCESS_SET_COUNT_NOTIFICATION","FAILURE_SET_COUNT_NOTIFICATION","HASH_NOTIFICATION","SUCCESS_HASH_NOTIFICATION","FAILURE_HASH_NOTIFICATION","GET_ALL_ACTIVITIES","SUCCESS_GET_ALL_ACTIVITIES","FAILURE_GET_ALL_FAILURE","GET_ALL_CREDENTIALS","SUCCESS_GET_ALL_CREDENTIALS","FAILURE_GET_ALL_CREDENTIALS","GET_PROCEDURES","SUCCESS_GET_PROCEDURES","FAILURE_GET_PROCEDURES","POST_PROCEDURE","SUCCESS_POST_PROCEDURE","FAILURE_POST_PROCEDURE","GET_SOLICITUD_BAJA","SUCCESS_GET_SOLICITUD_BAJA","FAILURE_GET_SOLICITUD_BAJA","GET_DATOS_RECUPERA","SUCCESS_GET_DATOS_RECUPERA","FAILURE_GET_DATOS_RECUPERA","GET_MOTIVOS_BAJA","SUCCESS_GET_MOTIVOS_BAJA","FAILURE_GET_MOTIVOS_BAJA","POST_REQUEST_LOW","SUCCESS_POST_REQUEST_LOW","FAILURE_POST_REQUEST_LOW","GET_FILE","SUCCESS_GET_FILE","FAILURE_GET_FILE","GET_CHANGE_PLAN","SUCCESS_GET_CHANGE_PLAN","FAILURE_GET_CHANGE_PLAN","GET_MOTIVOS_BAJA_PLAN","SUCCESS_GET_MOTIVOS_BAJA_PLAN","FAILURE_GET_MOTIVOS_BAJA_PLAN","GET_PLAN","SUCCESS_GET_PLAN","FAILURE_GET_PLAN","POST_CHANGE_PLAN","SUCCESS_POST_CHANGE_PLAN","FAILURE_POST_CHANGE_PLAN","PERMISSION_LOW","SUCCESS_PERMISSION_LOW","FAILURE_PERMISSION_LOW","CLEAN_POST_PROCEDURE_SELECTOR","POST_PREVENTIONS","SUCCESS_POST_PREVENTIONS","FAILURE_POST_PREVENTIONS","DELETE_PERSON_PLAYER","SUCCESS_DELETE_PERSON_PLAYER","FAILURE_DELETE_PERSON_PLAYER","GET_WAYTOPAY","SUCCESS_GET_WAYTOPAY","FAILURE_GET_WAYTOPAY","SET_AUTHORIZATION_DETAILS","GET_AUTHORIZATION_DETAILS","GET_AUTHORIZATIONS_TYPEATTACHED","SUCCESS_GET_AUTHORIZATIONS_TYPEATTACHED","FAILURE_GET_AUTHORIZATIONS_TYPEATTACHED","GET_AUTHORIZATIONS_ATTACHED","SUCCESS_GET_AUTHORIZATIONS_ATTACHED","FAILURE_GET_AUTHORIZATIONS_ATTACHED","POST_AUTHORIZATIONS_ATTACHED","SUCCESS_POST_AUTHORIZATIONS_ATTACHED","FAILURE_POST_AUTHORIZATIONS_ATTACHED","GET_AUTHORIZATIONS_AFFILIATE","SUCCESS_GET_AUTHORIZATIONS_AFFILIATE","FAILURE_GET_AUTHORIZATIONS_AFFILIATE","DOWNLOAD_ATTACHMENTS","SUCCESS_DOWNLOAD_ATTACHMENTS","FAILURE_DOWNLOAD_ATTACHMENTS","DOWNLOAD_AUTHORIZATION","SUCCESS_DOWNLOAD_AUTHORIZATION","FAILURE_DOWNLOAD_AUTHORIZATION","CANCEL_AUTHORIZATION","SUCCESS_CANCEL_AUTHORIZATION","FAILURE_CANCEL_AUTHORIZATION","GET_COMMENTS","SUCCESS_GET_COMMENTS","FAILURE_GET_COMMENTS","PUSH_COMMENTS","SUCCESS_PUSH_COMMENTS","FAILURE_PUSH_COMMENTS","GET_READ_COMMENTS","SUCCESS_GET_READ_COMMENTS","FAILURE_GET_READ_COMMENTS","GET_AUTHORIZATIONS_DETAILS","SUCCESS_GET_AUTHORIZATIONS_DETAILS","FAILURE_GET_AUTHORIZATIONS_DETAILS","GET_AUTHORIZATION_DETAIL","SUCCESS_GET_AUTHORIZATION_DETAIL","FAILURE_GET_AUTHORIZATION_DETAIL","GET_ENABLED_DIRECTDEBIT","SUCCESS_GET_ENABLED_DIRECTDEBIT","FAILURE_GET_ENABLED_DIRECTDEBIT","GET_DIRECTDEBIT","SUCCESS_GET_DIRECTDEBIT","FAILURE_GET_DIRECTDEBIT","AB_DIRECTDEBIT","SUCCESS_AB_DIRECTDEBIT","FAILURE_AB_DIRECTDEBIT","SET_AB_DIRECTDEBIT","SUCCESS_UPDATE_TAG","FAILURE_UPDATE_TAG","UPDATE_TAG","GET_BILLINGS","SUCCESS_GET_BILLINGS","FAILURE_GET_BILLINGS","GET_BILLINGS_FILES","SUCCESS_GET_BILLINGS_FILES","FAILURE_GET_BILLINGS_FILES","SET_MODEL_AUTH_REQUEST","CLEAR_MODEL_REQUEST","GET_STEPS_AUTH_REQUEST","SET_ACTUAL_STEP_AUTH_REQUEST","NEXT_STEP_AUTH_REQUEST","PREV_STEP_AUTH_REQUEST","CLEAR_MODEL_DETAILS_AUTH","GET_PARAMS_AUTH_REQUEST","SUCCESS_GET_PARAMS_AUTH_REQUEST","FAILURE_GET_PARAMS_AUTH_REQUEST","POST_AUTHORIZATIONS_REQUEST","SUCCESS_POST_AUTHORIZATIONS_REQUEST","FAILURE_POST_AUTHORIZATIONS_REQUEST","CLEAR_HISTORIAL_REQUEST","GET_REFUNDS","SUCCESS_GET_REFUNDS","FAILURE_GET_REFUNDS","GET_REFUND_DETAILS","SUCCESS_GET_REFUND_DETAILS","FAILURE_GET_REFUND_DETAILS","GET_REFUND_ATTACHMENTS","SUCCESS_GET_REFUND_ATTACHMENTS","FAILURE_GET_REFUND_ATTACHMENTS","GET_REFUND_COMMENTS","SUCCESS_GET_REFUND_COMMENTS","FAILURE_GET_REFUND_COMMENTS","GET_DETAILS_ATTACHMENTS","SUCCESS_GET_DETAILS_ATTACHMENTS","FAILURE_GET_DETAILS_ATTACHMENTS","GET_REFUND_TYPE_ATTACHED","SUCCESS_GET_REFUND_TYPE_ATTACHED","FAILURE_GET_REFUND_TYPE_ATTACHED","PUSH_REFUND_COMMENTS","SUCCESS_PUSH_REFUND_COMMENTS","FAILURE_PUSH_REFUND_COMMENTS","POST_REFUND_ATTACHED","SUCCESS_POST_REFUND_ATTACHED","FAILURE_POST_REFUND_ATTACHED","GET_COUNTER_SURVEY","SUCCESS_GET_COUNTER_SURVEY","FAILURE_GET_COUNTER_SURVEY","SEND_SURVEY","SUCCESS_SEND_SURVEY","FAILURE_SEND_SURVEY","CLEAR_COUNTER_SURVEY","GET_CAMPAIGN","SUCCESS_GET_CAMPAIGN","FAILURE_GET_CAMPAIGN","GET_COMMUNICATION","SUCCESS_GET_COMMUNICATION","FAILURE_GET_COMMUNICATION","GET_ALL_NEWS","SUCCESS_GET_ALL_NEWS","FAILURE_GET_ALL_NEWS","AB_ACCOUNT_REFUND","SUCCESS_AB_ACCOUNT_REFUND","FAILURE_AB_ACCOUNT_REFUND","GET_ACCOUNT_REFUNDS","SUCCESS_GET_ACCOUNT_REFUNDS","FAILURE_GET_ACCOUNT_REFUNDS","GET_PARAMETERS_REFUNDS","SUCCESS_GET_PARAMETERS_REFUNDS","FAILURE_GET_PARAMETERS_REFUNDS","SET_MODEL_REFUNDS","CLEAR_MODEL_REFUNDS","CLEAR_STATE_REFUNDS","CLEAR_POST_REFUNDS","CLEAR_MSG_ERROR","POST_REFUNDS","SUCCESS_POST_REFUNDS","FAILURE_POST_REFUNDS","CANCEL_REFUND","SUCCESS_CANCEL_REFUND","FAILURE_CANCEL_REFUND","POST_READ_REFUNDS_COMMENTS","SUCCESS_POST_READ_REFUNDS_COMMENTS","FAILURE_POST_READ_REFUNDS_COMMENTS","SET_REFUNDS_FILTERS","CLEAR_REFUNDS_FILTERS","GET_ALL_HEADQUATERS","SUCCESS_GET_ALL_HEADQUATERS","FAILURE_GET_ALL_HEADQUATERS","DOWNLOAD_REFUND","SUCCESS_DOWNLOAD_REFUND","FAILURE_DOWNLOAD_REFUND","GET_CONFIGURATIONS","SUCCESS_GET_CONFIGURATIONS","FAILURE_GET_CONFIGURATIONS","GET_CONFIGURATION_BY_ID","SUCCESS_GET_CONFIGURATION_BY_ID","FAILURE_GET_CONFIGURATION_BY_ID","GET_CONFIGURATION_LOW_SERVICE_BY_ID","SUCCESS_GET_CONFIGURATION_LOW_SERVICE_BY_ID","FAILURE_GET_CONFIGURATION_LOW_SERVICE_BY_ID","GET_CONFIGURATION_RECLAMO_BY_ID","SUCCESS_GET_CONFIGURATION_RECLAMO_BY_ID","FAILURE_GET_CONFIGURATION_RECLAMO_BY_ID","GET_CARDS","SUCCESS_GET_CARDS","FAILURE_GET_CARDS","CLEAR_ABM_MODEL","CLEAN_VIRTUAL_DOCTOR_MODEL","GET_PHARMACEUTICAL_FORM","SUCCESS_GET_PHARMACEUTICAL_FORM","FAILURE_GET_PHARMACEUTICAL_FORM","GET_PLANPDF_BY_PLANCODE","SUCCESS_GET_PLANPDF_BY_PLANCODE","FAILURE_GET_PLANPDF_BY_PLANCODE","GET_PRACTICAS","SUCCESS_GET_PRACTICAS","FAILURE_GET_PRACTICAS","GET_TELEMEDICINE","SUCCESS_GET_TELEMEDICINE","FAILURE_GET_TELEMEDICINE","SET_TELEMEDICINE_PARAMS","GET_TELEMEDICINE_PARAMS","CLEAR_STATE","GET_CAPANDCOPAYLINK_BY_PLANCODE","SUCCESS_GET_CAPANDCOPAYLINK_BY_PLANCODE","FAILURE_GET_CAPANDCOPAYLINK_BY_PLANCODE","GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM","SUCCESS_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM","FAILURE_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM","GET_MEDICAL_PROGRAMS","SUCCESS_GET_MEDICAL_PROGRAMS","FAILURE_GET_MEDICAL_PROGRAMS","FAILURE_GET_LIMIT_PLAN","SUCCESS_GET_LIMIT_PLAN","GET_LIMIT_PLAN","FAILURE_POST_LIMIT_PLAN","SUCCESS_POST_LIMIT_PLAN","POST_LIMIT_PLAN","FAILURE_PUT_LIMIT_PLAN","SUCCESS_PUT_LIMIT_PLAN","PUT_LIMIT_PLAN","FAILURE_DELETE_LIMIT_PLAN","SUCCESS_DELETE_LIMIT_PLAN","DELETE_LIMIT_PLAN","useTrackPageView","pageName","useAppInsightsContext","uri","pathname","properties","trackPageView","getTypesOfContact","getTypesOfContactPhone","getTypesOfContactMail","getTypesDocuments","getCivilStatus","getNationalities","abmFullData","getCredentials","getHobbies","getDeportes","getProcedures","getDataAffiliatesBaja","getMotivosBaja","getSolicitudBaja","getFile","postRequestLow","getChangePlan","getMotiveLowPlan","getPlans","postChangePlan","getPermisionLow","cleanPostProcedureSelector","url","idOneSignal","AppId","isLocalhost","Boolean","hostname","registerValidSW","swUrl","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","controller","console","log","catch","self","pushData","json","waitUntil","showNotification","body","clients","matchAll","clientList","client","Promise","resolve","reject","channel","MessageChannel","port1","postMessage","stringify","port2","Callback","signinRedirectCallback","SilentRenew","signinSilentCallback","Logout","logout","Login","signinRedirect","ButtonPhones","_props$listItems","lastItemNumber","list","AccordionSummary","_formatPhoneNumber","Header","colorTitle","textError","heightTitle","zIndexTitle","positionTitle","resizeScreen","Responsive","UsefulPhones","phonesReducer","setLoading","phoneList","Banner","_props$items","_props$items$","getRefundParameters","getAreaParameters","getAllCoveragePlans","arguments","CoveragePlans","coveragePlansReduxState","coverageReducer","getCoveragePlans","bannerItem","setBannerItem","setItem","_coveragePlansReduxSt","_coveragePlansReduxSt2","auxBanner","coveragePlan","_x$coverage","coverage","itemBanner","_itemBanner$coverage","_itemBanner$coverage2","_itemBanner$coverage3","image64","planCode","_x$coverage2","itemFiltered","_itemFiltered$coverag","_itemFiltered$coverag2","_itemFiltered$coverag3","getActivities","Activities","showMore","setShowMore","activities","_state$activitiesRedu","_state$activitiesRedu2","activitiesReducer","activity","setCard","banner","setBanner","imgBanner","find","panelPosition","imgResponse","image","addShowMore","useFilters","initialValues","setValues","errors","setErrors","handleChange","setSelectedFiltersCartilla","selectedFilters","setModelFiltersCartilla","modelSelected","getPerfilCompleto","providerCode","cleanPerfilCompleto","Autocomplete","option","autocompleteProp","MuiAutocomplete","clearOnEscape","getOptionLabel","optionVal","itemDescripcion","autoComplete","itemCodigo","buttonsHeadersFilters","renderInput","inputProps","TextField","fun","FormHelperText","MedicalForm","_selectedValues$provi","_selectedValues$depar","providerValue","zoneValue","handleSubmit","setOptionsCartilla","planes","zonas","tipoPrestador","userPlan","filtersCartilla","handleCleanSearch","modelCartilla","selectedValues","setModelCartilla","disableAlphabeticSearch","setSelectedValues","disableZone","disableCity","disableProvider","disable","btnDisabled","resetLocaltiesSelection","setResetLocaltiesSelection","disableFunction","propDisabled","zone","onSubmit","xl","md","xs","sm","newValue","FiltroZona","city","disableCloseOnSelect","filtersCartillaValues","_filtersCartillaValue","_filtersCartillaValue2","localidadesBarrios","localidadBarrio","sort","a","b","setOptionsCity","multiple","provider","FiltroTipoPrestador","filtersCartillaEstudiosValues","_filtersCartillaEstud","_filtersCartillaEstud2","especialidadesEstudios","setOptionsEspecialidadesEstudios","department","FiltroEspecialidad","alphabeticalSearch","FiltroRazonSocial","modelFiltersCartilla","Titular","Miembro","FiltroEstudioComplementario","FiltroPlan","FiltroLocalidad","Count","Skip","filtersSelected","MedicalFilters","isMobile","loadingSearch","setLoadingSearch","_useFilters","filters","setBtnDisabled","setDisable","setDisableCity","setUserPlan","setDisableZone","setDisableProvider","setDisableAlphabeticSearch","_useState23","_useState24","setPlanes","_useState25","_useState26","setZonas","_useState27","_useState28","setTipoPrestador","resetLocalidadBarrio","nameModel","newValueItem","typeValue","_newValueItem$map","pop","changeLocalties","codigo","changeIntInputs","changeStringInputs","resetEstudiosEspecialidadValues","_objectSpread11","_objectSpread12","_objectSpread13","_objectSpread17","_objectSpread18","_objectSpread19","resetValues","removeItem","setValueFunction","auxSelected","auxModelCartilla","validateLocalStorage","setNotFoundFunction","setLoadingFunction","validateLocalStorageBool","_values$city","validatePharmacyAndOptics","userPlanAux","planCodigo","toString","_filtersCartilla$filt","_filtersCartilla$filt2","planVisibleSinLogueo","aux2","zona","zonaCodigo","zonaDescripcion","aux3","prestador","tipoPrestadorCodigo","tipoPrestadorDescripcion","temp","filterValues","validateValues","getPrestadoresCartilla","validateSubmit","FormHeader","handleGoTo","cssClass","setBackgroundMobile","ArrowBackIcon","SaveModal","titleModal","descriptionModal","escapeKeyDown","backdropClick","ConfirmModal","errorClass","CustomSelect","_props$list","_props$list2","customClassList","btn","handleClickLabel","isBtn","m","Select","placeholder","displayEmpty","MenuProps","MenuItem","useMessageModal","defaultModal","setMessageModal","errorMessageRedux","modalTitle","defaultModalTitle","modalDescription","defaultModalDescription","modalIcon","defaultModalIcon","modalErrorClass","defaultModalErrorClass","setModalErrorClass","abmAllergies","allergy","getMDPhones","abmMDPhones","getFactorGroup","getGroupFactorParams","abmChronicDiseases","getChronicDiseases","getChronicDiseasesParams","abmChronicMedication","getChronicMedication","getRecipe","ChronicDiseasesForm","disease","setDisease","setDisabled","openConfirmModal","setOpenConfirmModal","errorMessageDisease","_state$medicalDataRed","medicalDataReducer","_useMessageModal","enfermedadDescripcion","auxDisease","setAuxDisease","auxSpecify","setAuxSpecify","setMode","removeDisease","setRemoveDisease","listEnfermedades","setEnfermedades","chronicDiseaseParams","_state$medicalDataRed2","chronicDiseasesParams","abmChronicDiseasesSelector","addDisease","validateForm","dis","spec","tempDisease","tempSpecify","validation","Obj","addABMModel","_chronicDiseaseParams","listParameters","enfermedades","enfermedad","modo","cleanInput","enfermedadDesc","diseaseInput","errorOther","handleNew","diseaseItem","DeleteOutlineIcon","ControlPointIcon","skip","ChronicDiseases","_chronicDisease$enfer","abmReduxState","chronicDisease","chronicDiseases","_state$medicalDataRed3","formHeader","FactorGroupForm","openConfirm","setOpenConfirm","factor","factorGroup","factorParams","factorGroupParams","postGroupFactor","abmFactorGroup","listGroup","setListGroup","groupSelected","setGroupSelected","listFactor","setListFactor","factorSelected","setFactorSelected","modelABM","setModelABM","handleClickModal","_modelGroup$","_modelFactor$","modelGroup","modelFactor","grupo","_modelGroup$2","_modelFactor$2","object","_factorParams$grupoFa","group","grupoFactor","grupoDescripcion","_auxGroup$","auxGroup","_factor$grupoFactor$","_factorParams$grupoFa2","factorAux","_aux$","_factorAux$","_factorAux$$factor","factores","factorDescripcion","_auxGroup$2","_factor$grupoFactor$2","_auxFactor$","auxFactor","_factor$grupoFactor$3","formFactorGroup","SpinnerLoading","FactorGroup","setFactorGroup","isLoading","setIsLoading","formHeaderText","titleHeader","subtitleHeader","useLayoutEffect","handleEdit","customsIcons","EditIcon","useFormHeaderText","titleDesktop","subtitleDesktop","titleMobile","subtitleMobile","inputAllergy","selectAllergy","flag","allergyObj","alergiaCodigo","alergiaDescripcion","alergiaDetalle","input","_input$alergiaDetalle","validateInput","addAllergy","addSelect","addInput","allergies","_addInput$","responseAllergy","_toConsumableArray","addABMItem","_addInput$2","cleanSelect","setAddSelect","setAddInput","allergySelected","AllergiesForm","_addSelect$","_error$","_addSelect$2","_error$2","setAllergy","addItemScreen","setAddItemScreen","allergiesAffiliates","affiliatedAllergies","allergiesParams","abmAllergiesSelector","typeOfAllergies","setTypeOfAllergies","switchState","setSwitchState","setFlag","setRemove","swStatus","setSwState","_allergiesParams$aler","alergia","shockAnafilactico","allergyItem","allergyWOItem","_allergiesParams$aler2","listToFilter","AddCircleOutlinedIcon","FormGroup","FormControlLabel","labelPlacement","control","Switch","switchStatus","checked","reload","Allergies","_useFormHeaderText","alergias","CustomizedDateTimerPicker","LocalizationProvider","locale","es","dateAdapter","AdapterDateFns","DateTimePicker","toolbarPlaceholder","setValue","FormWeight","weight","setWeight","meters","setMeters","centimeters","setCentimeters","dateRegister","setDateRegister","inicializeErrors","handleCancel","setAdd","handleSaveForm","peso","tallaMetros","tallaCentimetros","registracionFechaHora","toLocaleTimeString","setForm","setAction","onInput","Math","max","StyledEngineProvider","injectFirst","MovementsCard","WeightAndHeigth","setMonth","dateStart","setDateStart","dateEnd","setDateEnd","listRegister","setListRegister","lastRecord","setLastRecord","setSkip","initial","setInitial","medicalData","_medicalData$weightHe","_medicalData$weightHe2","_medicalData$weightHe3","weightHeight","pesoTalla","newRegisters","callToServices","filterDate","addAccordion","_item$registracionFec","_item$fechaFormateada3","_item$fechaFormateada4","_item$registracionFec2","_item$registracionFec3","_item$registracionFec4","expandIcon","innerText","mes","handleDelete","imc","handleClickAway","tipoFecha","first","auxSkip","paramGet","fechaDesde","fechaHasta","showLastRecord","_lastRecord$fechaForm","_lastRecord$fechaForm2","_lastRecord$registrac","_lastRecord$registrac2","_lastRecord$registrac3","_lastRecord$registrac4","lastRecordCard","btnVerMas","TuneIcon","Zoom","in","MobileDatePicker","cancelText","toolbarTitle","CalendarTodayIcon","widthClass","onScroll","scrollHeight","scrollTop","clientHeight","handleScroll","classAccordion","showAccordion","swidth","HomeWeight","add","openSendSuccess","form","abweight","setterModalTitle","setterModalDescription","setterModalIcon","setterErrorClass","sendForm","frecuencia","ChronicMedicationForm","medicamentoDescripcion","medicamentoDosis","medicamentoFormaFarmaceutica","medicamentoCantidad","medicamentoFrecuencia","medicamentoObservacion","auxMedication","setAuxMedication","medication","setMedication","errorMessageMedication","removeMedication","setRemoveMedication","chronicMedication","pharmaceuticalForm","pharmFormList","setPharmFormList","medicationItem","medicationWOItem","handleChangeInput","pharmFormType","_pharmFormList$value","medicamentos","auxList","entries","formasFarmaceuticas","key","_key$1$formaFarmaceut","formaFarmaceutica","_auxMedication$medica","_auxMedication$medica2","_auxMedication$medica3","_auxMedication$medica4","_removeMedication$med","_removeMedication$med2","_removeMedication$med3","_auxMedication$medica5","validateFormMedication","toFixed","addForm","_Number$parseFloat","_e$target$value","_e$target$value$toStr","inputMode","_error$i","defaultValue","rows","ChronicMedication","_chronicMedication$me","Input","PhonesInput","validates","phones","phoneObj","telefonoPaisCodigo","telefonoAreaCodigo","telefonoObservacion","isAdd","phoneItem","setErrorFunction","setFlagFunction","validateItem","handleAddItem","setPhone","itemsOfPhone","changeInput","WS_PARAMETERS_LENGTH","PhonesForm","_affiliatedPhones$tel","_affiliatedPhones$tel2","phoneType","postAffiliatedPhones","affiliatedPhones","handleRemoveItem","tipo","_phoneItem$telefonoOb","phonesWOItem","telefonoTipo","telefonoInterno","telefonoCodigo","modifyPhones","_phone$telefonoObserv","submitObject","_addInput$3","_addInput$4","_addInput$4$telefonoO","submit","_postAffiliatedPhones","_postAffiliatedPhones2","abmAffiliatedPhones","marginInlineLeft","telefonos","_error$i2","_error$i3","_error$i4","Phones","_affiliatedPhones$tel3","setTitle","setPhoneType","emergencia","contacto","CustomTextFieldInput","GMapsAutocomplete","handlePlaceSelected","useStyle","materialRef","usePlacesWidget","apiKey","onPlaceSelected","inputAutocompleteValue","types","componentRestrictions","language","inputRef","Form","_affiliateAddress$dom2","affiliateAddress","setAffiliateAddress","typeOfAddress","editMode","setEditMode","fullAddressDisabled","setFullAddressDisabled","calleDescripcion","calleNumero","provinciaDescripcion","localidadDescripcion","codigoPostal","barrioDescripcion","domicilios","mails","deportes","hobbies","domicilioTipoDescripcion","provinciaCodigo","localidadCodigo","barrioCodigo","calleCodigo","cuentasReintegro","modelToSend","informacion","handleEditFullAddress","_item$domicilioTipoDe","_item$domicilioTipoDe2","_item$domicilioTipoDe4","_item$domicilioTipoDe5","_item$domicilioTipoDe6","_item$domicilioTipoDe7","_error$i5","_item$domicilioTipoDe8","_error$i6","_item$domicilioTipoDe9","_item$domicilioTipoDe10","_item$domicilioTipoDe11","_item$callePiso","_item$calleDepartamen","_item$domicilioTipoDe12","columns","lg","_item$domicilioTipoDe3","_selected$address_com","_selected$geometry","_selected$geometry$lo","_selected$geometry2","_selected$geometry2$l","_affiliateAddress$dom4","_affiliateAddress$dom5","_data$route","_data","_data$street_number","_data$administrative_","_data$administrative_2","_data$locality","_data$postal_code","street_number","address_components","long_name","auxLat","geometry","auxLng","auxAddress","domicilioTipoCodigo","addressWithOutType","route","administrative_area_level_1","administrative_area_level_2","locality","postal_code","linkGeoreferencia","f","require","callePiso","calleDepartamento","_affiliateAddress$dom3","codeType","tipoContactoCodigo","tipoContactoDescripcion","_affiliateAddress$dom","addressToAdd","domicilioModo","address","addressObj","AddressForm","_fullPersonalData$ful2","_typeOfAddress$addres3","fullPersonalData","setDataOfWS","_fullPersonalData$ful","_aux$domicilios","_typeOfAddress$addres","_typeOfAddress$addres2","tipoContacto","_item$tipoContactoDes","AutomaticMembershipForm","_data$afiliado","_data$afiliado$debito","_data$afiliado2","debit","membershipData","setMembershipData","handleBack","tarjetaCreditoTipoDescripcion","debitoBancoDescripcion","tarjetaCreditoVencimientoAnio","tarjetaCreditoVencimientoMes","debitoTipoCodigo","debitoNumeroCuenta","debitoCBU","tipos","newArray","validateTarjetaVencimiento","validateDebit","tarjetaCreditoTipoCodigo","_e$target2","codeName","descriptionName","_objectSpread2","creditCardComponent","_error$i7","_error$i8","_error$i9","debitoTipoDescripcion","debitAccountComponent","debitosAutomaticos","membership","membershipObj","propName","propValue","_propValue$split$","_propValue$split$2","_objectSpread3","AutomaticMembership","FormContactData","_fullPersonalData$ful10","_typeOfPhone$filter","setPhones","setMails","typeOfPhone","typeOfMail","_state$personalDataRe4","telefonoTipoCodigo","mailTipoCodigo","personalData","setPersonalData","phonesABM","setPhonesABM","_fullPersonalData$ful3","_fullPersonalData$ful4","_fullPersonalData$ful5","_fullPersonalData$ful6","_fullPersonalData$ful7","_fullPersonalData$ful8","_fullPersonalData$ful9","auxMails","auxPhones","mailModo","telefonoModo","handleRemovePhones","PhonesToAdd","telefonoTipoDescripcion","newPhones","abmCollection","collectionToUse","modoValue","_abmObj","abmAux","abmObj","paisCodigo","areaCodigo","numero","AddToABMModel","adjuntos","handleRemoveMails","_mailsToRemove$2","mailsToRemove","newMails","_mailsToRemove$","_abmObj2","AddMailsToABMModel","handleChangeInputPhones","handleChangeInputMails","auxTelefonos","mailTipoDescripcion","_typeOfPhone$","_typeOfMail$","showsInputs","opt","inputEdit","_typeOfPhone$2","_typeOfPhone$3","_typeOfPhone$4","_typeOfPhone$5","_typeOfPhone$6","_typeOfPhone$7","interno","orientation","flexItem","_typeOfMail$2","_typeOfMail$3","_typeOfMail$4","_typeOfMail$5","_typeOfMail$6","MailsToAdd","HelpOutlineIcon","CustomDatePicker","DesktopDatePicker","inputFormat","helperText","FrequentQuestionsButton","HelpOutlinedIcon","FormPersonalData","nationality","setNationality","lastName","setLastName","motherLastName","setmotherLastName","setname","othersName","setothersName","cuil","setCuil","sex","setSex","gender","setgender","civilStatus","setcivilStatus","documents","setdocuments","listCivilStatus","setListCivilStatus","_useState29","_useState30","listCountries","setListCountry","_useState31","_useState32","listTypesDocument","setTypesDocument","_useState33","_useState34","_useState35","_useState36","_useState37","_useState38","newData","setNewData","dataUser","_useState39","_useState40","birthCertificate","setBirthCertificate","_useState41","_useState42","uploadDniImage","setUploadDniImage","_useState43","_useState44","filesDni","setFilesDni","_useState45","_useState46","filesCertified","setFilesCertified","_useState47","_useState48","setNamesCertified","_useState49","_useState50","setNamesDni","_useState51","_useState52","_useState53","_useState54","_useState55","_useState56","_useState57","_useState58","_useState59","_useState60","abm","abmData","errorType","_useState61","_useState62","_useState63","_useState64","somethingChange","setSomethingChange","_Object$values2","_Object$values3","_Object$values4","_dataUser$civilStatus","_dataUser$nationaliti","cv","cts","tp","estadoCivilCodigo","estadoCivilDescripcion","nationalities","nacionalidadCodigo","nacionalidadDescripcion","typesDocuments","documentoTipoDescripcion","_dataUser$fullData","_dataUser$fullData$af","_dataUser$fullData$af2","_dataUser$fullData2","_dataUser$fullData3","_dataUser$fullData3$a","_dataUser$fullData4","_dataUser$fullData4$a","_dataUser$fullData5","_dataUser$fullData5$a","_dataUser$fullData6","_dataUser$fullData6$a","_dataUser$fullData7","_dataUser$fullData7$a","_dataUser$fullData8","_dataUser$fullData8$a","_dataUser$fullData9","_dataUser$fullData9$a","_dataUser$fullData10","_dataUser$fullData10$","_dataUser$fullData11","_dataUser$fullData11$","_dataUser$fullData12","_dataUser$fullData12$","dateString","apellido","apellidoMaterno","nombre","otrosNombres","toISOString","sexo","genero","validateAttachmentDNI","validateAttachmentCertified","Attachment","show","text","AttachFileIcon","certifiedFile","dniFile","documentoModo","confirmation","handleDisable","listFileDni","listFileCertified","_param$apellido","_param$nombre","_param$sexo","errorFileCertified","validateErrorFile","errorFileDNI","documentsError","docs","docError","doc","documentError","_temp$documentsError","UpdateValidation","docUpdate","documentoTipoModo","handleUpload","_step","alertGreatSize","filesUpload","names","_iterator","_createForOfIteratorHelper","_loop","adj","archivoExtension","archivoNombreCompleto","archivoTamanio","archivo","archivoClasificacion","reader","FileReader","onloadend","_reader$result","result","readAsDataURL","s","n","done","_dataUser$fullData13","_dataUser$fullData13$","_dataUser$fullData14","_dataUser$fullData14$","_dataUser$fullData15","_dataUser$fullData15$","_dataUser$fullData16","_dataUser$fullData16$","changeName","changeLastName","changeMotherLastName","changeOthersNames","_dataUser$fullData17","_dataUser$fullData17$","_dataUser$fullData18","_dataUser$fullData18$","_dataUser$fullData19","_dataUser$fullData19$","_dataUser$fullData20","_dataUser$fullData20$","_dataUser$fullData21","_dataUser$fullData21$","_dataUser$fullData22","_dataUser$fullData22$","changeDocuments","listNew","listService","old","validType","validDocNumber","validateDocument","changecuil","dateStatus","changebirth","changeNationality","changeSex","changeGender","handleClickEdit","hidden","lastaName","_errors$documentsErro","_errors$documentsErro2","_documents$i","_errors$documentsErro3","_errors$documentsErro4","toUpperCase","numeroDocumento","autocomplete","nacionalidad","FormRefund","affiliateData","setAffiliateData","_data$afiliado$apelli","_data$afiliado3","_data$afiliado4","_data$afiliado5","_data$afiliado6","debitoAutomatico","_item$apellidoNombre","_item$documentos$","_item$documentos$$doc","_item$documentos$2","_item$documentos$2$do","_item$mails$","_item$mails$$mail","_item$telefonos$","_item$telefonos$2","_item$telefonos$3","_aux$tipoCuentaDescri","_aux$bancoDescripcion","_aux$numeroCuenta","tipoCuentaDescripcion","bancoDescripcion","numeroCuenta","SportsHobbiesForm","_personalData$hobbies","_personalData$deporte","hobbieSportsABM","setHobbieSportsABM","hobbieTypes","setHobbieTypes","sportsTypes","setSportsTypes","hobbieSelected","setHobbieSelected","sportSelected","setSportSelected","hobbieCodigo","hobbieDescripcion","deporteCodigo","deporteDescripcion","_fullPersonalData$dep","_fullPersonalData$dep2","listAux","hobbiesDeportes","objectAux","hobbiesDeportesCodigo","hobbiesDeportesDescripcion","_fullPersonalData$hob","_fullPersonalData$hob2","hobbiesArray","sportsArray","_personalData$hobbies2","_personalData$deporte2","hobbie","hobbieObj","deporte","deporteObj","setArrayList","code","collection","propNameDescription","propNameCode","listItem","listOfItems","_listOfItems$filter$","_newObj4","auxDescription","newObj","keys","_hobbieTypes$filter$","_newObj","_sportsTypes$filter$","_newObj3","hobbiesSportsPersonalData","sportsObj","hobbiesObj","SportsHobbies","errorModal","setErrorModal","Loading","FormVitalParameters","loadingForm","setLoadingForm","valueParameter1","setValueParameter1","valueParameter2","setValueParameter2","typesParameters","parameterType","value1","value2","_typesParameters$find","_typesParameters$find2","parametroVitalTipo","paramentrosVitalValores","valorDescripcion","parametroVitalFechaRegistracion","newForm","parametroVitalValores","valuesEmpty","mmMerc","maxAndMin","validationType","units","isNotEmpty","handleChangeErrors","min","unidad","desc","VitalParameters","vitalParameters","setVitalParameters","selectedFilter","setFilter","filterTypes","spaceBetween","loadingLastRecord","setLoadingLastRecord","parametrosVitales","handleChangeFilter","defaultSwitch","skipValue","_lastRecord$parametro","_lastRecord$parametro2","_lastRecord$parametro3","_medicalData$vitalPar","_item$parametroVitalT","_medicalData$vitalPar2","prueba","myLastRecord","HomeVitalParameters","ABVital","details","others","MuiAccordion","Programs","_enrollments$enrolami","enrollments","programs","styles","formTitles","spanishDateFormat","auxDate","enrolamientos","enrolamientoDescripcion","fechaBaja","diagnosticoDescripcion","caracteristicaDescripcion","subCaracteristicaDescripcion","medicoResponsable","persona","Vaccine","_vaccines$vacunas","_vaccines$vacunas2","_vaccines$vacunas3","vaccines","vaccine","familyGroup","_state$appointmentsRe","appointmentsReducer","groupFamilyTurn","familyGroupList","setFamilyGroupList","affiliatedSelected","setAffiliatedSelected","getVaccine","itemsToPush","vacunaTipo","vacunaDescripcion","vacunaLote","vacunaDosis","vacunaEnfermero","vacunaMatricula","vacunaFecha","download","vacunas","PdfReader","pdf","isBlob","sizeScreen","host","filePath","setFilePath","pdfFile","GetAppIcon","overflowScrolling","scrollbar","RequirementsAndForms","_selected$","setPdf","pdfForms","setPdfForms","pdfRequirements","setPdfRequirements","pdfView","setPdfView","typeOfPrograms","setTypeOfPrograms","programsReduxState","programRequirementAndFormReducer","disabledButtons","setDisabledButtons","inlineStyles","buttonsStyles","buttonTitlesStyles","formTitlesStyles","containerStyles","program","_programsReduxState$m","_programsReduxState$m2","medicalPrograms","_programsReduxState$m3","select","_programsReduxState$p","_programsReduxState$p2","programRequirementAndForm","formLink","requirementLink","enrolamientoCodigo","LaboratoryStudies","_medicalData$detailLa6","_medicalData$detailLa7","studies","setStudies","isDetail","setIsDetail","setDetails","paddingStyle","callToService","_medicalData$laborato","_medicalData$laborato2","_medicalData$laborato3","laboratoryStudies","resultadosLaboratorio","_medicalData$laborato4","_medicalData$laborato5","_medicalData$laborato6","_medicalData$detailLa","_medicalData$detailLa2","_medicalData$detailLa3","_medicalData$detailLa4","detailLaboratory","getLaboratoryStudies","getDetail","resultadoLaboratorioCodigo","getDetailLaboratoryStudies","generateCard","_item$fecha","_item$fecha2","fecha","orden","examen","generateAccordion","examenValores","detalle","determinacion","valorReferencia","generateAccordionMobile","generateAccordionWeb","_medicalData$detailLa5","_medicalData$laborato7","_medicalData$laborato8","showStudies","datos","configurationId","MyCoveragePDF","useLocation","search","typeUrl","planPdfReduxState","planPdfReducer","fullDataAffiliatedReduxState","getPDFLink","_planPdfReduxState$pl","planPdf","pdfLink","RedirectToCapsAndCopay","_capsAndCopayLinksRed3","capsAndCopayLinksReduxState","capsAndCopayLinksReducer","_capsAndCopayLinksRed","_capsAndCopayLinksRed2","capsAndCopayLink","Iframe","sandbox","scrolling","Refunds","_coverageReduxState$t4","_coverageReduxState$a4","_coverageReduxState$r3","_coverageReduxState$r4","_coverageReduxState$r5","_coverageReduxState$r6","_coverageReduxState$r7","_coverageReduxState$r8","fullDataAffiliated","coverageReduxState","setPlan","area","setArea","tipoCodigo","rubroCodigo","setRequest","setResponse","_coverageReduxState$t","typeCoverage","_coverageReduxState$t2","_coverageReduxState$t3","auxTipo","tipoCoberturaReintegro","tipoDescripcion","_coverageReduxState$a","areaParameters","_coverageReduxState$a2","_coverageReduxState$a3","auxArea","rubroCoberturaReintegro","rubro","rubroDescripcion","_coverageReduxState$r","_coverageReduxState$r2","refundCoverageResult","coberturaReintegro","_fullDataAffiliated$f","_fullDataAffiliated$f2","_fullDataAffiliated$f3","_fullDataAffiliated$f4","itemDescription","typeAutocomplete","handleAutocompleteTipoChange","handleAutocompleteChange","subRubroDescripcion","cobertura","UploadModal","listAttached","setRepeatFile","itemName","isRequired","hide","setHide","inputFile","inputPhoto","lastIndexOf","repeatFile","_x$nombre","_adj$archivoNombre","_inputFile$current","_inputPhoto$current","capture","LineBreakInput","renderRequired","BillingAndCollection","procedure","subProcedure","consulta","procedureSelected","setProcedure","openUploadModal","setOpenUploadModal","listOfProcess","setListOfProcess","listOfSubProcess","setListOfSubProcess","setListOfAttachmentButtons","nameOfItem","setItemName","mailError","disabledEmail","setDisabledEmail","emailChecked","selEmailChecked","itemRequired","setItemRequired","procedureReducer","counterLength","setCounterLength","handleChangeSelect","dowloadFile","mailUser","z","_data$procedures","_data$procedures$tram","_data$procedures$tram2","_data$procedures$tram3","subProcess","procedures","tramites","tramiteCodigo","subTramites","subTramiteCodigo","subTramiteDescripcion","unshift","_listOfSubProcess$fil","auxAttachments","createElement","base64","_data$procedures2","_data$procedures2$tra","process","tramiteDescripcion","_data$postProcedure","_data$postProcedure2","postProcedure","mailLabel","endAdornment","InputAdornment","Checkbox","observationsLabel","_x$adjuntos","filesToSend","isDisabledMail","isModifiedMailFunction","mailModificar","sector","fileRequired","adjuntoModelo","adjuntoInstructivo","HighlightOffIcon","GeneralProcedure","procedureCodeSelected","postProcedureSelector","disabledPhone","setDisabledPhone","setModelToSend","itemTipoArchivo","setItemTipoArchivo","_data$procedures2$tra2","_data$procedures2$tra3","_subProcess$","phoneUser","_postProcedureSelecto","_postProcedureSelecto2","_e$target3","clasificacion","adjuntoClasificacion","modelWS","prevProps","nextProps","UnsubscribeMember","_data$dataAffiliates2","processSelected","withdrawalReason","setWithdrawalReason","reasonSelected","setReasonSelected","setDateLow","showPermanente","query","setQuery","openSendData","setOpenSendData","setFamilyGroup","memberSelected","setMemberSelected","postRequest","parameter","MotivosBaja","MotivoBajaCodigo","MotivoBajaDescripcion","MotivoBajaObservacion","_data$dataAffiliates","_data$dataAffiliates$","_auxFamilyGroup$","auxFamilyGroup","dataAffiliates","_data$dataAffiliates3","_data$dataAffiliates4","_auxMember$","_auxMember$2","auxMember","afiliados","_data$lowMotives","lowMotives","wsList","hardcodeList","setter","nameValue","nameLabel","_auxList","auxReason","auxObj","motivosBaja","setWithdrawalReasonFunction","shouldDisableDate","dateRes","disablePast","valueName","validateSelect","parametro","NumeroPersona","SolicitudBajaCodigo","NumeroPersonaBaja","SolicitudBajaFecha","Mail","MailModificar","Telefono","Consulta","Adjuntos","validateSubmitFunction","setearMail","existFile","verifyMail","setAttachment","newFiles","setistOfAttachmentButtons","validationDate","Unsubscribe","ProcessSelected","setProcessSelected","listSubTramite","setListSubTramite","setLowMotives","motiveSelected","setMotiveSelected","itemClasificacion","setItemClasificacion","Tramites","solicitudBajaCodigo","solicitudBajaDescripcion","getListOfFiles","_newFiles$subTramites","tel","requestLow","_data$lowMotives2","motivoBajaCodigo","motivoBajaDescripcion","setearLowMotives","_data$requestLow","_data$requestLow$tram","_auxList2","_data$requestLow2","auxProcedure","setearRequestLow","handleCheck","handleEditEmail","handleEditPhone","lowMotive","newError","validationSelect","unsubscribeBajaTitular","_data$dataAffiliates5","divFamily","numeroTitular","classsName","_data$dataAffiliates6","_data$dataAffiliates7","ChangePlanHeadline","_data$getPlan","_data$dataAffiliates8","_data$dataAffiliates9","_data$dataAffiliates12","_data$dataAffiliates13","_fullPersonalData$ful11","setListPlanes","selectedPlanDisp","setSelectedPlanDisp","planAffiliate","setPlanAffiliate","getPlan","_data$getPlanDisponib","_data$getPlanDisponib2","getPlanDisponible","getMotivosPlan","_data$getMotivosPlan","useSetter","motivosCambioPlan","setearMotivosPlan","plans","_data$dataAffiliates10","_data$dataAffiliates11","_data$dataAffiliates14","_data$dataAffiliates15","cambioPlanCodigo","numeroPersonaCambio","planCodigoNuevo","cambioPlanFecha","motivoCambioPlanCodigo","ChangePlan","aditionals","SetAditionals","selectAditional","setSelectAditional","planAditional","setPlanAditional","ParametroLlamado","cambioPlanDescripcion","planesDisponibles","parametroPlan","handleChangeSelectAditional","family","cod","setearPlanes","aditionalsAux","parentescoDescripcion","setearAdicionales","setearPlanesDisponible","CambioPlanCodigo","NumeroPersonaCambio","PlanCodigoNuevo","CambioPlanFecha","MotivoCambioPlanCodigo","aditional","changePlanAditionals","_e$target4","_e$target5","FormAffiliations","procedureGeneral","setProcedureGeneral","_data$permissionLow","permissionLow","habilitado","labelId","Affiliations","getWayToPay","abDirectDebit","setABDirectDebit","Movements","_billsReduxState$bill","isDeudor","setIsDeudor","billsReduxState","billingReducer","bills","setBills","amount","setAmount","comprobanteTipo","comprobanteNumero","_billsReduxState$bill6","billingFiles","comprobante","_billsReduxState$bill7","downloadBtn","appendChild","removeChild","downloadClick","validateReduxState","_billsReduxState$bill2","_billsReduxState$bill3","_billsReduxState$bill4","_billsReduxState$bill5","comprobantes","saldoFloat","saldo","saldoDecimal","amountItem","amountColor","deudor","showDeudor","_item$comprobanteFech","_item$comprobanteFech2","comprobanteMes","comprobanteAnio","Moment","comprobanteFechaVencimiento","comprobanteSaldo","comprobanteFechaPago","CheckCircleIcon","WayToPay","_state$billingReducer","setWayToPay","clipboard","writeText","FileCopyOutlinedIcon","listOfTypeDebit","listOfTypeAccount","AdherenceForm","setModel","selectTypeDebit","setSelectTypeDebit","selectCard","setSelectCard","selectTypeAccount","setSelectTypeAccount","tarjetaCreditoNumero","debitoAutomaticoInformacion","setDebitoAutomaticoInformacion","cardsReduxState","_state$cardReducer","cardReducer","cards","listOfCard","setListOfCard","_cardsReduxState$card","_element$tipoTarjeta","tipoTarjeta","handleChangeCardNumber","handleChangeCardExpiration","_listOfTypeDebit$find","typeDebit","debitoAutomaticoTipo","_listOfCard$find","typeCard","_listOfTypeAccount$fi","typeAccount","UnsuscribeForm","_model$debitoAutomati","_model$debitoAutomati2","_model$debitoAutomati3","_model$debitoAutomati4","_model$debitoAutomati5","_model$debitoAutomati6","_model$debitoAutomati7","_model$debitoAutomati8","_model$debitoAutomati9","_model$debitoAutomati10","getDirectDebit","creditCard","setCreditCard","debitAccount","setDebitAccount","_debitosAutomaticos$","_debitosAutomaticos$3","_debitosAutomaticos$5","_debitosAutomaticos$6","_debitosAutomaticos$7","_debitosAutomaticos$8","_debitosAutomaticos$9","_debitosAutomaticos$2","_debitosAutomaticos$4","listOfOptions","DirectDebit","selectOption","setSelectOption","openSave","setOpenSave","debitoAutomaticoModo","_data$enabledDirectDe","enabledDirectDebit","_temp$debitoAutomatic","_temp$debitoAutomatic2","_data$abDirectDebit","_data$abDirectDebit2","_data$getDirectDebit","_data$getDirectDebit2","_data$getDirectDebit3","_data$getDirectDebit4","_data$getDirectDebit5","_data$getDirectDebit6","_data$getDirectDebit7","_data$getDirectDebit8","_data$getDirectDebit9","_data$getDirectDebit10","_data$getDirectDebit11","_data$getDirectDebit12","_data$getDirectDebit13","appointmentFlow","enabled","AskTurnDrawer","groupFamily","setGroupFamily","modelAppointmentReducer","setModelAppointment","personNumber","setPersonNumber","flow","setFlow","appointmentByRef","initializeSwitch","initializePerson","refreshSwitch","listGroupFamily","_groupFamilyTurn$filt","_selectGroupFamily$","_selectGroupFamily$2","selectGroupFamily","handleChangeSwitch","objectsProperties","centroMedicoCodigo","direccion","observations","proveedorNumero","selectedAppointment","titles","title1","nameAffilliated","title2","heigth","borderBottomWidth","ListItem","MedicalCenterDrawer","_ubication$centroMedi9","_ubication$centroMedi10","maps","setMaps","ubication","medicalCenterReducer","medicalCenters","long","setPosition","medicalCenterMap","setmedicalCenterMap","medicalCenter","centrosMedicos","centers","ele","ind","findIndex","elem","initializeUbication","centroMedicoCercano","latitud","longitud","handleSwitch","centroMedicoNombre","centroMedicoNombreCompleto","_ubication$centroMedi","_ubication$centroMedi2","_ubication$centroMedi4","_ubication$centroMedi5","_ubication$centroMedi6","_ubication$centroMedi7","_ubication$centroMedi8","_ubication$centroMedi3","title5","mapResponsive","defaultExpanded","FooterDrawer","_modelNextAppointment","handleOpenCancelModal","handleNext","withOutNext","customClassDiv","_ref$disabledNext","disabledNext","_modelNextAppointment2","showNextButton","PhoneShiftsDrawer","activeStep","phoneShift","_state$medicalCenterR","specialtyList","doctorSchedule","nextAvailableAppointmentsDoctor","paramAll","setDescription","phonesShow","setPhoneShow","_specialties$agenda","_aux","_specialties$agenda2","agenda","validateSpecialties","_doctorSchedule$turno","_doctorSchedule$turno2","turnosLibres","_description$","_description$2","descriptionsAppointment","observaciones","preparation","preparacion","title6","_prevState$modelNextA","_prevState$modelNextA2","_nextState$modelNextA","_nextState$modelNextA2","ValidateSteps","returnValidate","grupofamiliar","modalidad","specialty","doctorCode","calendar","PointSelect","menuListClass","SelectDoctorAccordion","specialtyState","medicos","setMedicos","listMedicos","setListMedicos","_specialties$agenda3","list1","_specialties$agenda4","getPointColorClassCss","medico","visualizacion","DoctorDetails","_schedule$turnoFechHo","_schedule$turnoFechHo2","doctor","schedule","bottomMargin","horarios","edadDesde","edadHasta","atiendeDiscapacitados","SpecialtyList","preferenceTurnList","preferenceCodigo","preferenceDescripcion","setPreference","setActiveStep","setPrefereceStep3","setSpecialistVisualizacion","setSpecialty","groupSpecialties","setGroupSpecialties","setDoctor","preferenceTurnListState","setPreferenceTurnList","telefonico","pref","doctorVisualizacion","handleNextAppointmentClick","specialtyCode","specialtyDescription","modelModifyAppointment","_modelAppointment$med","_specialtyState$value","itemCode","doctorList","isSpontaneous","_x$visualizacion","isPhoneAppointment","_specialties$itemsEsp","listSpecialties","itemsEspecialidades","title3","_nameSpecialties$","_nameSpecialties$2","nameSpecialties","updateModelAppointment","_turnosLibres","getSchedule","prevActiveStep","ModalObservations","_agendaMedico$filter","agendaMedico","_agendaMedico$find","selectedObservation","updatedModelAppointment","close","NextAppointmentDrawer","_modelNextAppointment3","_modelNextAppointment4","_modelNextAppointment5","_appointments$nextAva5","_appointments$nextAva6","_modelNextAppointment6","_modelNextAppointment7","_appointments$nextAva7","_appointments$nextAva8","_modelNextAppointment8","appointments","setMedico","skipItems","setSkipItems","disableNextButton","setDisableNextButton","setSelectedAppointment","handleClickSeeLess","handleClickSeeMore","backdropFilter","title7","nextAvailableAppointments","turnosLibresPorEspecialidad","_appointments$nextAva","_appointments$nextAva2","_appointments$nextAva3","_appointments$nextAva4","showButtons","HistoryAppointmentCard","CardDetail","setItemAppointment","todayFormated","checkAppointment","SelectHour","_doctorSchedule$turno4","selectedDate","setHour","freeAppointment","setFreeAppointment","setActive","_hourAppointment$","_hourAppointment$2","_hourAppointment$3","_hourAppointment$4","fechaHora","hourAppointment","_doctorSchedule$turno3","freeAppointments","estadoTurno","CustomCalendar","familyFilter","withCard","isDoctor","setIndexItem","calendarAppointments","setCalendarAppointments","openModalRepeatAppointment","setOpenModalRepeatAppointment","hourRef","appointmentDate","setAppointmentDate","flagAppointmentSelected","setFlagAppointmentSelected","selectedDayCalendar","setSelectedDayCalendar","handleClickDay","_element$","_element$$classList","classList","dayObject","setFilteredAppointmentsFunction","appointmentsFiltered","checkAppointments","_Object$entries","view","classesToAdd","_ref5","_ref6","dateAux","calendarDate","auxDateAppointment","CSS_CLASSES","DISPONIBLE","LICENCIA","SELECCIONADO","cssAppointmentState","setClassDate","_document$getElements","_document$getElements2","_document$getElements3","_document$getElements4","_hourRef$current","Calendar","onClickDay","showNeighboringMonth","tileClassName","next2AriaLabel","next2Label","prev2AriaLabel","prev2Label","HourTurnCercano","_ref7","shiftday","getDate","handleClickModifyRepeatAppointment","modifyRepeatTitle","DoesntFreeAppointmentModal","SelectDateDrawer","_schedule$","_schedule$$turnoFechH","_schedule$2","_schedule$2$turnoFech","_description$5","_description$6","_description$7","_description$8","_description$9","_doctorSchedule$turno5","_doctorSchedule$turno6","_doctorSchedule$turno7","handleCloseDrawer","setSchedule","doctorCodes","setDoctorCodes","_state$medicalCenterR2","inlineCalendarStyles","appointmentType","appointmentStateIndicator","noAvailableTurnIndicator","centeredCircularProgress","title8","_description$3","_description$4","showObservations","ModalConfirm","confirmTurnReducer","postAppointment","openModalConfirm","setOpenModalConfirm","openModalError","setOpenModalError","openModalNewTurn","setOpenModalNewTurn","isNotProfessionalAndSpecialtyFlow","setMessage","_message$","_message$2","setConfigurationMessage","deleteModel","succeeded","handleCancelErrorModal","auxModel","DoneIcon","TopButtons","activeStepTurn","handleOpenCancelModalTurn","handleBackTurn","handleNextTurn","titleCancel","titleConfirm","_props$disabledNext","displayButtons","nextStep","WizardLine","UseStyle","Stepper","alternativeLabel","firstStep","Step","StepLabel","StepIconProps","completed","active","step0","step1","step2","step3","ConfirmAppointmentDrawer","_modelAppointment$hou","fullgroupfamily","_state$appointmentsRe2","_state$appointmentsRe3","fullGroupFamily","origen","ip","enviarNotificacionApp","whatsapp","appmobile","emailS","setEmail","favoriteModel","setFavoriteModel","favorite","setFavorite","disablePhone","setDisablePhone","phoneError","setPhoneError","editPhoneRef","disablePhoneCaption","setDisablePhoneCaption","notDisablePhoneCaption","setNotDisablePhoneCaption","initialLoad","setInitialLoad","changePhoneMode","setChangePhoneMode","bold400","weightBold","sixteenPx","fourteenPx","fivePx","fiftyPercent","disFlex","textCapitalize","leftMargin","_auxPhones$filter","mobilePhoneNumber","mobilePhone","_phoneCaption$","_phoneCaption$2","_phoneEditCaption$","_phoneEditCaption$2","phoneCaption","phoneEditCaption","setPhoneCaptions","modelAppointmentObj","modelObj","enablePhone","showEditPhoneButtons","handleCancelEditPhone","_e$target$value$repla","_e$target$value2","_e$target$value2$repl","_e$target$value3","_e$target$value3$repl","_auxPhones$filter2","auxiliarPhones","_object$areaCodigo","_object$areaCodigo$to","_object$numero","_object$numero$toStri","phoneObject","phoneWithoutFifteen","obligatoryField","endsWith","startsWith","title9","FavoriteBorderIcon","getSpecialtyAndDoctorCodes","_model$modelAppointme","_model$modelAppointme2","checkSpecialistVisualizacion","setVisualization","doctorListToFilter","isShiftScheduleSuspended","Step3","preferenceStep3","phoneAppointment","setPhoneAppointments","specialistVisualizacion","_getSpecialtyAndDocto","suspended","AppointmentsList","_modelAppointment$esp","_modelAppointment$esp2","_date$toISOString","selectedSpecialty","selectedDoctor","freeDoctorAppointmentsList","modalObservations","setModalObservations","isDoctorFlow","doctorsList","_state$appointmentsRe4","doctorListToCompare","setDoctorListToCompare","visualization","phonesToShow","setPhonesToShow","spontaneousInformation","setSpontaneousInformation","optionsToSelect","_phone$planCode","getFreeAppointmentsParameters","getAvailableAppointmentsBySpecialty","_visualizationType$","_visualizationType$$v","_visualizationType$2","_visualizationType$3","_visualizationType$4","_visualizationType$5","_visualizationType$6","_visualizationType$7","_visualizationType$8","_visualizationType$9","_visualizationType$10","visualizationType","doctorVisualization","_modelNextAppointment9","getMedicalCenterDescription","medicalCenterCode","_medicalCenterDescrip","_medicalCenterDescrip2","medicalCenterDescription","_observations$","_observations$$centro","_observations$$centro2","medicoNombre","_modelNextAppointment10","_modelNextAppointment11","_modelNextAppointment12","_modelNextAppointment13","_medicalCenter$","_medicalCenter$2","_observations$filter","_modelNextAppointment14","doctorAppointments","_dataList$slice","dataList","_Moment","isNotSpontaneous","componentContainer","optionSelected","_optionsToSelect$find","_optionsToSelect$find2","_optionsToSelect$find3","_optionsToSelect$find4","_doctorAppointments","showAppointmentsList","_appointments$nextAva9","_appointments$nextAva10","_appointments$nextAva11","_doctorAppointments2","_doctorAppointments3","showMessage","specialtiesListParameters","doctorsListParameters","FlowSpecialtyListDrawer","groupDoctors","setGroupDoctors","specialtiesByDoctor","setSpecialtiesByDoctor","especialidades","setHasFocus","searchValue","setSearchValue","shouldSearch","setShouldSearch","_state$appointmentsRe5","hasDoctorFocus","setHasDoctorFocus","searchDoctorValue","setSearchDoctorValue","shouldSearchDoctor","setShouldSearchDoctor","setSpecialtiesOptions","setPopUp","handleFocusChange","handleFocusDoctorChange","_listSpecialties","_item$especialidadCod","listDoctors","_listDoctors","_item$centrosMedicos","_item$centrosMedicos$","setDefaultSpecialtyValue","setDefaultDoctorValue","_specialtiesByDoctor$","_specialtiesByDoctor$2","_item$especialidadCod3","_item$especialidadDes3","specialtiesAutocomplete","freeSolo","clearText","loadingText","noOptionsText","onInputChange","doctorSpecialties","_nameSpecialties$4","_nameSpecialties$4$va","_nameSpecialties$5","_nameSpecialties$5$la","_nameSpecialties$2$va","_nameSpecialties$3","_nameSpecialties$3$la","_x$label","_specialties$","_specialties$$value","_specialties$2","_specialties$2$label","handleChangeSpecialties","onFocus","_nameDoctor$2","_selectedProvider$2","_selectedProvider$2$c","_listSpecialties2","_nameDoctor$3","_nameDoctor$4","_selectedProvider$","_groupDoctors$","_groupDoctors$2","nameDoctor","doctorName","_doctorName$label","selectedProvider","_nameDoctor$","uniqueSpecialties","_item$especialidadCod2","_item$especialidadDes2","reduce","accumulator","handleChangeDoctors","DrawerAppointmentsSteps","isWeb","resize","setResize","DEFAULT_STEP","ACTIVE_STEPS","ACTIVEWEB_STEPS","ACTIVE_DOCTOR_AND_SPECIALTY_STEPS","returnActiveStep","ShowStepsFunction","title4","AskNewAppointment","setActiveStepTurn","handleCloseDrawerTurn","MedicalRecordContainer","_cartilla$cartilla","_cartilla$cartilla2","_completeProfile$pres","_completeProfile$pres2","_completeProfile$pres3","_completeProfile$pres4","_completeProfile$pres5","_completeProfile$pres6","_completeProfile$pres7","_completeProfile$pres8","_completeProfile$pres9","_completeProfile$pres10","_completeProfile$pres11","_completeProfile$pres12","_completeProfile$pres13","_completeProfile$pres14","_useSelector","completeProfile","setProfileSelected","cardStyles","justifyItems","especialidad","locationValue","domicilio","localidad","barrio","mailValue","datoAdicional","titulo","especialidadValue","getAuthorizationDetails","setModelAuthRequest","clearModelAuthRequest","setActualStepAuthorizationsRequest","setNextStepAuthorizationsRequest","MobileAuthorizationsButtons","openCancelModal","setOpenCancelModal","handleCancelModal","listSelect","Step2","listTypeAttached","setListTypeAttached","typeAttachedSelected","setTypeAttachedSelected","setListAttached","openModalRemove","setOpenModalRemove","txtObservation","setTxtObservation","itemRemove","setItemRemove","paramsAuthorizations","_state$authorizations","authorizationsReducer","authSelector","_state$authorizations2","modelRequest","setModelRequest","allFiles","setAllFiles","labelTypeAttachedSelected","setLabelTypeAttachedSelected","attachmentRequired","setAttachmentRequired","manyFilesModal","setManyFilesModal","sameFile","setSameFile","cancelModal","setCancelModal","handleModalRemove","attached","_model$attachmentRequ","_model$attachmentRequ2","attachmentsToSend","validateNextStep","_paramsAuthorizations","_authSelector$attachm","tipoAdjuntos","tipoAdjuntosCodigo","tipoAdjuntosDescripcion","requiredAttachments","dateNow","filesModel","listAttachedAux","_item$archivoTipo$","archivoTipo","archivoObservacion","delete","AttachFileOutlinedIcon","content","AddCircleIcon","selectAttached","_files$","lenFiles","auxFile","newItemList","attachedDeleteItem","filesDeleteItem","newFilesToSend","ErrorOutlineIcon","exists","datosWS","Step1","listPrestaciones","setListPrestaciones","prestacion","setPrestacion","listPracticas","setListPracticas","campoItem","campoCaption","campoValorDefault","campoAdjuntoObligatorio","campoAdjuntoDetalle","camposValue","setCamposValue","groupFamilyState","affiliate","setAffiliate","TipoAutorizacionCodigo","practica","setPractica","txtModal","setTxtModal","practicas","_state$practicasReduc","practicasReducer","practices","handleChangeSelectPractica","setValueInput","dateValue","diffDays","setName","_tipoAutorizacion$tip","tipoAutorizaciones","tipoAutorizacionCodigo","tipoAutorizacionCampos","c","errorModel","responseFunction","auxSetError","isFromService","tipoAutorizacionDescripcion","_params$filter","prestacionModal","_item$tipoAutorizacio","tipoAutorizacionTextoDetalle","campo","_authSelector$campo$c","auxCampo","auxError","caption","errPrestacion","typeOfBenefitLabel","prestacionValue","_listPrestaciones$fil","_practicasFiltered$","_practicasFiltered$$p","prestacionesFiltered","practicasFiltered","tipoPrestacion","auxPracticas","getPracticasByPrestacion","datosWs","_datosWs$","authSelectorModel","requestSelector","_state$authorizations3","errorReduxState","_state$authorizations4","cancelAuthorization","setCancelAuthorization","filesQuantity","setFilesQuantity","authModel","_getFieldValue","_getFieldValue2","_getFieldValue3","_getFieldValue4","_getFieldValue5","_authModel$TipoAutori","_authModel$observacio","_authModel$Matricula","_authModel$NombreDe","_authModel$adjuntos","prescriptionFields","realizationLocationFields","prescriptorPhoneFields","prescriptorEmailFields","getFieldValue","fieldNames","fieldName","realizationDate","prescriptionDate","realizationLocation","prescriptorPhone","prescriptorEmail","afiliadoBeneficiario","realizacionFecha","realizacionLugar","prescripcionFecha","prescripcionMatricula","prescriptorNombre","prescriptorTelefono","contactoEmail","contactoTelefono","setterModel","_paramsAuthorizations2","plazo","tipoAutorizacionPlazo","getPlazoHoras","DrawerRequestSteps","RequestAuthorization","addTopButtons","getParametersRefunds","getRefundDetails","getRefundComments","getRefundTypeAttached","setFilters","propertiesValidations","AddRefundStep1","_allConfigurations$co","_allConfigurations$co2","refundsReducer","parametersRefunds","groupFamilyList","setGroupFamilyList","typeAtentionList","setTypeAtentionList","tipoReintegroCodigo","textInfo","setTextInfo","validateModelStep1","_parametersRefunds$ti","listTypeAtention","tipoReintegros","tipoReintegroDescripcion","_validatorForms","_parametersRefunds$ti2","typeRefund","tipoReintegroTextoDetalle","textInfoMargin","InfoIcon","InputNumber","intNumbers","decimalNumbers","modelErrors","comprobanteCuit","comprobanteRazonSocial","comprobanteTipoCodigo","comprobanteFecha","comprobantePuntoVenta","comprobanteCantidadSesiones","comprobanteImporte","AddRefundStep2","comprobanteLetra","listsInputs","setListInputs","listInputsForm","setListInputsForm","_listFiltered$tipoRei","listFiltered","_listFiltered$tipoRei2","_refundFieldsFiltered","_refundFieldsFiltered2","_refundFieldsFiltered3","refundFieldsFiltered","tipoReintegroCampos","_propertiesValidation","listWithoutSessions","_modelToSend$comproba","validateModelStep2","validateCuitNumber","comprobanteNroDocumento","cuitNumber","isValidCuit","validateInitialValues","listReceiptType","tipoReintegroComprobantes","tipoReintegroComprobanteCodigo","tipoReintegroComprobanteDescripcion","_parametersRefunds$ti3","_listFiltered$letrasC","listLetters","letrasComprobantes","letraComprobanteCodigo","setDate","_modelToSend$name","DatePicker","AddRefundStep3","refundsTypeAttached","_state$refundsReducer","refundTypeAttached","refundsModelRequestSelector","_state$refundsReducer2","attachedError","openExistFile","setOpenExistFile","totalRequiredAttachments","setTotalRequiredAttachments","handleAddAttachment","validateModelStep3","fields","filteredFields","field","_refundsTypeAttached$","tipoAdjunto","AttachedFilesAccordion","AddAttachedButton","modelBeforeRemove","modelAfterRemove","redAlert","uploadedFile","auxAdj","existThisFile","tipoCuenta","tipoCuentaCodigo","CBU","CUILCUIT","bancoCodigo","bancoNombre","comprobanteDigital","selectAccountValidations","addAccountValidations","AddRefundStep4","_modelToSend$numeroCu","accountsList","setAccountsList","accountRefunds","comprobanteTipoDocumento","isNewAccount","setIsNewAccount","openExistFileModal","setOpenExistFileModal","typeAttached","setTypeAttached","otherType","setOtherType","typeSelectedAttached","setTypeSelectedAttached","labelTypeSelectedAttached","setLabelTypeSelectedAttached","showTypeSelect","setShowTypeSelect","setAttachedError","openErrorModal","setOpenErrorModal","validateModelStep4","modelStep3","modelStep4","_modelStep4$","_accountRefunds$cuent2","listAccounts","auxValidation","uploadFile","redModal","uploadedFiles","uploaded","_otherType$","_otherType$2","joinAttached","filesInModel","handleDeleteFile","_othersType$","_othersType$2","othersType","_accountRefunds$cuent","RemoveCircleOutlinedIcon","_auxSelected$","_auxSelected$2","_inputFile$current2","AddRefundStep5","disabledInputs","setDisabledInputs","termsAndConditions","setTermsAndConditions","postRefund","validateModelStep5","BlockIcon","DrawerRefundsSteps","RefundsRequest","step4","BillingFrequentQuestions","PersonalDataFrequentQuestions","RedirectToActivities","_fullDataAffiliatedRe","formatAffiliateNumber","Prescriptions","_recipeFiles$data","_recipe$data","_recipe$data$recetas","openPicker","setOpenPicker","recipe","selectedItem","setSelectedItem","filterLayout","setFilterLayout","selectedClassification","setSelectedClassification","selectStatusClassification","setSelectStatusClassification","recipeFiles","estadoReceta","clasificacionReceta","statusClassification","classificationOptions","selectAffilliate","setSelectAffilliate","updateLayout","_appointments$filtro","filtro","_recipeFiles$data2","receta","searchCard","recetas","recetaEstado","handleClickOpenDownloadModal","handleClassificationChange","handleClassificationChangeState","inlineRecipeStyles","_item$recetaFechaVige","recetaFechaVigenciaDesde","recetaClasificacion","recetaFechaVigenciaHasta","getAffiliateRecipeFiles","recetaNumero","detail","_detail$ordenDescripc","_detail$recetaDetalle","ordenDescripcionParts","ordenDescripcion","recetaDetalle","part","_part$split","_part$split2","recetaMedicoNombre","recetaMedicoMatriculaTipo","recetaMedicoMatriculaNumero","recetaDetalleProductoDescripcion","recetaDetalleProductoCantidad","showmodal","ModalCommunication","CardCommunication","_props$notification6","_props$notification7","communication","author","createdDate","DropdownCommunication","ModalRegisterProfileMedico","setCredential","dateOfBirth","documentType","handleChangeCredential","handleOnBlurCredential","ModalProfileMedico","MenuProfile","communicated","communicatedReducer","openCommunicationModal","setOpenCommunicationModal","registerValidation","_communicated$communi","status","initialDate","finalDate","_communicated$communi2","communicationModal","HomeCardDetailPatient","MedicalProfile","modelAgendaMedicalReducer","medicalAgenda","modelAgendaMedical","totalTurns","setTotalTurns","assignedTurns","setAssignedTurns","closestTurn","setClosestTurn","lastTurnOfDay","setLastTurnOfDay","parametroAgenda","_modelAgendaMedicalRe","_modelAgendaMedicalRe2","_modelAgendaMedicalRe3","_modelAgendaMedicalRe4","dateAgendaMedical","turno","closest","lastTurn","toDateString","dayShifts","_turno$estadoTurno","CenteredCircularProgress","centroMedicoDescripcion","SelectTypeOfComponent","PersonalData","Address","ContactData","Refund","Lab","WeightHeight","EmergencyPhones","ContactPhones","CapsAndCopay","RefundCoverage","MyPlan","FrequentQuestions","GeneralConditions","Formalities","Records","NewRequest","PrescriptionPage","MedicalRecord","typeURL","setActiveType","setProfileFunction","onpopstate","resp","isMap","setHeaderInMobile","titleButton","MobileFilters","permissionToEnter","isMaps","getHeadquaters","HeadquartersFrequentQuestions","tab","Headquarters","isCenterSelected","setIsCenter","sedesSelector","_state$sedesReducer","sedesReducer","sedes","setCenters","sucursal","setSucursal","distinctZonas","Set","isFrequentQuestion","setIsFrequentQuestion","isBranch","setIsBranch","addCardPhoto","strip","html","tmp","implementation","createHTMLDocument","innerHTML","textContent","category","auxSucursal","noneMenu","Paper","Tabs","indicatorColor","centered","Container","justify","componentToShow","addScreenmin","MuiDrawer","person","AskTurn","_props$step","auxStepCount","validateTelemedicina","cleanModelSpecialty","stepCount","FavoriteCard","handleClickOpenDeleteFavModal","AppointmentHome","SetFilter","isCalendar","setCalendar","headerCalendarButton","setTitleButton","baja","setFavoriteBaja","canceled","setCanceledAppointment","itemAppointment","_React$useState","_React$useState2","openAskTurn","setOpenAskTurn","skipRecord","setSkipRecord","skipNext","setSkipNext","next","setNext","record","setRecorder","nextComplet","setNextComplet","recordComplet","setRecordComplet","openModalFavorite","setOpenModalFavorite","modifyStep","setModifyRepeatTitle","modifyRepeatDescription","setModifyRepeatDescription","atThisMoment","expandNextShifts","setExpandNextShifts","expandFavorite","setExpandFavorite","expandHistory","setExpandHistory","expandQuestion","setExpandQuestion","generateParameter","solicitudTurnos","paramFav","getFullAppointments","Init","_appointments$next","_appointments$next4","_appointments$next2","_appointments$next3","dateTodate","_appointments$record","_appointments$favorit","newNext","newNextComplet","AccordionDetailCard","addAccordionQuestion","AddFilter","handleAskTurnClick","_item$pacienteNumero","_item$pacienteNumero2","determineAppointmentModification","cantFilter","del","expand","setExpand","_uniqueList","uniqueList","currentItem","iconsAccordion","handleCalendarClick","boxHomeWeb","_next$slice","_favorite$slice","_appointments$appoint","_appointments$appoint2","_record$slice","_appointments$questio","_appointments$questio2","_appointments$appoint3","_appointments$appoint4","TodayIcon","appointmentFavoriteFullData","favoritos","questionF","question","answer","appointmentQuestionFullData","answerQuestion","boxHomeMobile","isCalendarWeb","responsiveCalendar","newFilter","toShow","hasAccess","AssignmentIcon","ReplayIcon","LiveHelpIcon","PrivateRoute","Component","rest","Route","render","RedirectPageContactAdvisor","URL_ContactAdvisor","contactTypesModel","contactTypesPhoneModel","contactTypesMailModel","mobileDevice","setMobileDevice","personalDataSelector","listQuickAccess","GradingIcon","RoomOutlinedIcon","ContactPageOutlinedIcon","DirectionsRunIcon","CreditScoreIcon","go","auxURL","QuickAccessBox","iconClass","txtIcon","CredentialHeader","BackCredential","backCredentialConfig","Valor","Credentials","setIndex","credentialReducer","backCredentials","setBackCredentials","buttonTitle","handleOpen","showBackOrFront","showNotFound","_credentials$allCrede","_credentials$allCrede2","_credentials$allCrede3","wsMessage","allCredentials","plansCredentials","_credentials$allCrede4","_credentials$allCrede5","_item$credentials","showNewCredentialCards","CredentialsHome","LoadingPage","MedicalData","mobile","setMobile","listIconAccess","PermContactCalendarOutlinedIcon","DifferenceIcon","MenuBookIcon","EventAvailableOutlinedIcon","ScienceIcon","CleanHandsOutlinedIcon","PersonalMedicalData","mobileScreen","setMobileScreen","quickAccessPersonalMD","BloodtypeOutlinedIcon","MonitorWeightOutlinedIcon","WarningIcon","RingVolumeOutlinedIcon","MedicationIcon","handleClickType","ProgramsHome","TocIcon","VirtualDoctorCaller","virtualDoctorReduxState","virtualDoctorReducer","dataOfFamilyMember","setDataOfFamilyMember","dataEmail","setDataEmail","dataPhone","setDataPhone","redirect","setRedirect","btnWeb","btnMobile","timer","setTimer","disableBtn","setDisableBtn","formErrors","setFormErrors","fieldValidations","fullName","birthdate","documentNumber","planDescription","handleClickConfirm","_selected$2","nombreApellido","docType","redirectWithDoctorPage","_virtualDoctorReduxSt","_virtualDoctorReduxSt3","_virtualDoctorReduxSt2","dispay","virtualDoctorResponse","allow","_selected$3","familyMember","_fullDataAffiliated$c","_fullDataAffiliated$c2","_fullDataAffiliated$f5","_fullDataAffiliated$f6","_fullDataAffiliated$f7","_fullDataAffiliated$f8","_fullDataAffiliated$f9","_fullDataAffiliated$f10","_fullDataAffiliated$f11","_fullDataAffiliated$f12","_fullDataAffiliated$f13","_completePhone","_completePhone2","_fullDataAffiliated$f14","_fullDataAffiliated$f15","_fullDataAffiliated$f16","_fullDataAffiliated$f17","_fullDataAffiliated$f18","_fullDataAffiliated$f19","_fullDataAffiliated$f20","_fullDataAffiliated$f21","_fullDataAffiliated$f22","_fullDataAffiliated$f23","_fullDataAffiliated$f24","_fullDataAffiliated$f25","_fullDataAffiliated$f26","_fullDataAffiliated$f27","_fullDataAffiliated$f28","_fullDataAffiliated$f29","_fullDataAffiliated$f30","_fullDataAffiliated$f31","_fullDataAffiliated$f32","_fullDataAffiliated$f33","_fullDataAffiliated$f34","_credentialOfMember$","_credentialOfMember$$","_fullDataAffiliated$f35","_fullDataAffiliated$f36","_fullDataAffiliated$f37","_fullDataAffiliated$f38","completePhone","credentialOfMember","credenciales","_selected$4","programSelected","descripcionPersona","VirtualDoctor","Coverage","AttachMoneyIcon","AccountBalanceWalletOutlinedIcon","FlightTakeoffOutlinedIcon","SelfImprovementIcon","condition1","condition2","TravelCoverage","_configurationReduxSt4","listCoverage","FactCheckIcon","FormatListBulletedOutlinedIcon","listMoreCoverage","StarsIcon","LocalOfferIcon","mapListItem","AllNotification","setNotifications","firstLoad","setFirstLoad","clickFilter","readed","notReaded","AllCommunication","Register","_userTypeValidation$p3","_userTypeValidation$p4","_userTypeValidation$p5","_userTypeValidation$p17","listType","userTypeList","typesDocument","userTypeSelection","setUserTypeSelection","userData","loginValidation","personalDataErrors","setPersonalDataErrors","isPersonalDataExpanded","setIsPersonalDataExpanded","isAditionalDataExpanded","setIsAditionalDataExpanded","personalDataRef","editDateBirth","setEditDateBirth","showAditionalDataAccordion","setShowAditionalDataAccordion","_userTypeValidation$p6","_userTypeValidation$p7","_userTypeValidation$p8","_userTypeValidation$p9","setCurrentProfile","isPersonalDataValidForm","_userTypeValidation$p10","handleChangeUserType","_userTypeValidation$p11","_userTypeValidation$p12","validateOnlyNumbers","Email","_userTypeValidation$p13","_userTypeValidation$p14","_userTypeValidation$p15","_userTypeValidation$p16","userDataCredential","userCredential","showRedirectMedicalProfile","renderCredentialInput","renderEnrollmentInput","renderInputsBasedOnUserType","TransitionGroup","CSSTransition","timeout","classNames","Suspense","fallback","Img","HomeIcon","Logo","whiteLogo","dniNumber","typeOfUser","aditionalDataToShow","Portal","Backdrop","ContactUs","_list$","zoneSelected","setZoneSelected","centerSelected","setCenterSelected","listZone","setListZone","listCenters","setListCenters","contactUsReducer","_state$contactUsReduc","contactUs","personalDataReduxState","mailContacto","setList","_model$consulta","_model$sector","_model$zone","_personalDataReduxSta","_personalDataReduxSta2","_personalDataReduxSta3","_personalDataReduxSta4","_item$zone","_sedesSelector$filter","_centers","auxCenter","_x$zone","_auxCenter$","_item$name","centersList","excludeDuplicatedCenters","_item$label","_center$label","_auxCenter$2","_auxZone$","auxZone","_contactUsReducer$men","_contactUsReducer$men2","_contactUsReducer$men3","_contactUsReducer$men4","_contactUsReducer$men5","_contactUsReducer$men6","consultation","ContactUsPage","NotificationDetail","_notificationSelected3","_notificationSelected4","_notificationSelected5","_notificationSelected6","_notificationSelected7","showDate","_notificationSelected","_notificationSelected2","notificationArray","newNotification","isFavorite","dangerouslySetInnerHTML","__html","CommunicationDetail","communicationSelected","_communicationSelecte","communicationArray","newCommunication","Communication","Notification","Billing","quickAccessBilling","HistoryOutlinedIcon","PaymentOutlinedIcon","setWidthIcons","billingIcon","paramsToPost","Prevention","ConstructionIcon","AuthorizationsIndex","openDatePicker","setOpenDatePicker","itemSelected","setItemSelected","historial","downloadAuth","loadingDownloadAuthorization","cancelAuthorizationResponse","openCancelAuthorizationModal","setOpenCancelAuthorizationModal","openNullifyAuthorizationModal","setNullifyAuthorizationModal","cancelledAuthorization","setCancelledAuthorization","handleClickVerMas","gestionCodigo","autorizacionGestionCodigo","autorizacionNumero","delegacionCodigo","autorizacionDelegacionCodigo","setButtons","BTN","DESCARGAR","ANULAR","setItemToCancel","autorizacionEstadoDescripcion","INGRESADA","CERRADO","getData","_historial$autorizaci2","authorizations","autorizaciones","_downloadAuth$autoriz","_downloadAuth$autoriz2","_downloadAuth$autoriz3","_downloadAuth$autoriz4","autorizacion","_historial$autorizaci","_item$autorizacionGes","_item$autorizacionEst","autorizacionGestionFecha","anio","autorizacionTipoPrestacionDescripcion","ControlPointOutlinedIcon","FileDownloadIcon","authorizationToCancel","Authorizations","TabPanel","role","p","Details","_item$authorizationDe4","_item$authorizationDe5","_item$authorizationDe6","_item$authorizationDe7","_item$authorizationDe8","_item$authorizationDe9","_item$authorizationDe10","_item$authorizationDe11","_item$authorizationDe12","_item$authorizationDe13","_item$authorizationDe14","_item$authorizationDe15","_item$authorizationDe16","_item$authorizationDe17","_item$authorizationDe18","_item$authorizationDe19","_Date2","_item$authorizationDe20","_item$authorizationDe21","_item$authorizationDe22","_item$authorizationDe23","_item$authorizationDe24","_item$authorizationDe25","_item$authorizationDe26","steps","_item$authorizationDe","_item$authorizationDe2","_item$authorizationDe3","authorizationDetail","autorizacionDetalle","autorizacionEstadoCodigo","autorizacionAfiliadoSolicitante","authorizationDetails","autorizacionFechaRealizacion","autorizacionTelefono","autorizacionEmail","Comments","_attachmentsRedux$typ3","_attachmentsRedux$att4","_files$3","openTxtComment","setOpenTxtComment","txtComment","setTxtComment","attachmentsRedux","autorizationState","msgErrorAttachments","setMsgErrorAttachments","thisFileExists","setThisFileExists","closeComments","setCloseComments","closeAttached","setCloseAttached","downloadAuthorizationsAttachments","downloadAttachments","loadingAuthorizationDownload","loadingDownloadAttachments","openLoading","setOpenLoading","initLoad","setInitLoad","openDownload","setOpenDownload","attachedToDownload","setAttachedToDownload","cancelledDownload","setCancelledDownload","closedAuthorization","setClosedAuthorization","CLOSED_STATES","counterObservationLength","setCounterObservationLength","getNewComment","getAttachmentDescription","attachmentCode","_attachmentsRedux$typ4","_attachmentsRedux$typ5","_auxDescription$","_auxDescription$2","getAttached","_attachmentsRedux$typ","_attachmentsRedux$typ2","_attachmentsRedux$att","attachments","autorizacionAdjuntos","_attachmentsRedux$att2","_attachmentsRedux$att3","attachmentsList","att","autorizacionAdjuntoNombre","autorizacionAdjuntoTipo","autorizacionAdjuntoCodigo","postAttachments","_attachmentsRedux$pos","_attachmentsRedux$pos4","_attachmentsRedux$pos2","_attachmentsRedux$pos3","_files$2","clearTimeout","readComments","readCommentIcon","readIcon","DoneAllOutlinedIcon","unreadIcon","DoneOutlinedIcon","autorizacionComentarioPerspectiva","autorizacionComentarioLeido","handleClickDownloadButton","_downloadAuthorizatio","_downloadAuthorizatio2","_downloadAuthorizatio3","_downloadAuthorizatio4","adjunto","adjuntoNombreCompleto","_autorizationState$to","_autorizationState$to2","CloseRoundedIcon","comment","comentarios","autorizacionComentario","autorizacionComentarioObservacion","autorizacionComentarioPublicar","readCommentsParameters","perspectiva","_attachmentsRedux$com","_attachmentsRedux$com2","_attachmentsRedux$com3","_attachmentsRedux$com4","_attachmentsRedux$com5","_attachmentsRedux$com6","_attachmentsRedux$com7","_attachmentsRedux$com8","_attachmentsRedux$com9","_attachmentsRedux$com10","comments","autorizacionComentarios","_step$autorizacionCom","autorizacionComentarioFechaHora","wordWrap","commentsAccordion","auxListFiles","returnResponse","auxiliarList","AuthorizationsDetails","_authorizationReduxSt","_authorizationReduxSt2","_authorizationReduxSt3","_authorizationReduxSt4","_authorizationReduxSt5","_authorizationReduxSt6","useTheme","authorizationReduxState","SwipeableViews","axis","direction","onChangeIndex","dir","AppointmentRecord","sortFunction","filterAppointmentsByDate","start","filterList","_x$turnoFechHora","_x$turnoFechHora2","_appointments$record2","_appointments$record3","_appointments$record4","_appointments$record5","useTodayAppointment","setToday","todayAppointment","setTodayAppointment","AppointmentNext","_useTodayAppointment","cancelItem","getNextAppointments","nextFilter","nextAppointmentsToFilter","AppointmentFavorite","listFav","Questions","RefundsIndex","_refundsFilters$afili5","_refundsFilters$afili9","_refundsRedux$refunds5","_refundsRedux$refunds6","setListCard","refundsRedux","downloadRefundAffiliate","downloadRefund","openCancelRefundModal","setOpenCancelRefundModal","cancelRefund","setCancelRefund","openLoadingModal","setLoadingModal","loadingDownload","cancelRefundDownload","setCancelRefundDownload","nullifyRefund","openNullifyRefundModal","setNullifyRefundModal","ErrorModal","ErrorDownloadModal","setErrorDownloadModal","refundsFilters","inlineRefundsStyles","downloadRefundsButton","newRequestRefundsContainerButton","newRequestRefundsButton","movementsCardDescription","selectAffiliateContainer","historyAndFilterButtonContainer","refundsCardsContainer","seeMoreButton","seeMoreIcon","localizationProvider","handleStartRequest","_refundsFilters$afili","reintegroGestionCodigo","reintegroNumero","reintegroDelegacionCodigo","getAllRefunds","_downloadRefundAffili","_downloadRefundAffili2","_downloadRefundAffili3","_downloadRefundAffili4","reintegro","_refundsFilters$afili3","_refundsFilters$afili4","refundsRequest","_refundsRedux$refunds","_refundsRedux$refunds2","_refundsRedux$refunds3","_refundsRedux$refunds4","refundsCards","refunds","reintegros","goToFrequentQuestions","_item$reintegroEstado","_item$reintegroEstado2","reintegroEstadoDescripcion","Ingresada","Finalizado","Anulada","Autorizado","Denegado","Pagado","setFirstDate","setEndDate","refundsCard","_element$fechaFormate","_element$fechaFormate2","_element$reintegroGes","_element$reintegroGes2","reintegroGestionFecha","reintegroTipoDescripcion","reintegroImporte","_refundsFilters$afili7","_refundsFilters$afili8","_refundsFilters$afili6","_nameAffilliated$","_nameAffilliated$2","affiliateDropDown","_refundsFilters$afili2","cancelActualItem","FrequentQuestionsPage","AuthorizationsFrequentQuestions","RefundsFrequentQuestions","_refundDetails$reinte5","_listDetails$","_listDetails$2","_listDetails$3","_listDetails$3$reinte","_listDetails$4","_listDetails$5","_listDetails$6","_listDetails$7","_listDetails$7$reinte","_listDetails$8","_listDetails$9","detailsParameters","listDetails","setListDetails","refundDetails","detailStyles","captionTitle","captionDescription","informationResume","affiliateName","_refundDetails$reinte","_refundDetails$reinte2","reintegroDetalle","reintegroEstadoCodigo","_refundDetails$reinte3","_refundDetails$reinte4","detalles","addDetailCaption","reintegroAfiliadoSolicitante","reintegroDelegacionDescripcion","reintegroAfiliadoBeneficiario","reintegroComprobanteFecha","reintegroContactoTelefono","reintegroContactoEmail","_item$refundDetails","_item$refundDetails$r","_item$refundDetails$r2","_item$refundDetails2","_item$refundDetails2$","_item$refundDetails2$2","_item$refundDetails3","_item$refundDetails3$","_item$refundDetails3$2","_refundsSelector$push","_refundsSelector$atta4","_item$refundDetails11","_item$refundDetails12","_item$refundDetails13","_item$refundDetails14","_item$refundDetails15","_item$refundDetails16","refundsSelector","refundState","_state$refundsReducer3","refundDetail","refundEstadoDescripcion","closeCommentsAccordion","setCloseCommentsAccordion","closeAttachedAccordion","setCloseAttachedAccordion","fileToDownload","setFileToDownload","detailsAttachments","openDownloadModal","setOpenDownloadModal","ErrorDownloadAttached","setErrorDownloadAttached","cancelAttachedDownload","setCancelAttachedDownload","commentsAttachmentsStyles","commentsAccordionIcon","blueCircle","commentsDate","commentContainer","commentAndPerspective","perspective","commentsAccordionContainer","attachmentsSumaryContainer","handleChangeText","getAttachmentTypeDescription","_refundsSelector$refu","_refundsSelector$refu2","handleOpenTextBox","handlePushComment","_item$refundDetails4","_item$refundDetails4$","_item$refundDetails4$2","_item$refundDetails5","_item$refundDetails5$","_item$refundDetails5$2","_item$refundDetails6","_item$refundDetails6$","_item$refundDetails6$2","reintegroComentario","reintegroComentarioObservacion","reintegroComentarioPerspectiva","reintegroComentarioPublicar","pushRefundComments","setSeenComments","readCommentIcons","reintegroComentarioLeido","timerFunction","readRefundComments","handleCloseTxtComment","_item$refundDetails10","_refundsSelector$refu3","_refundsSelector$refu4","fillAttachedList","_refundsSelector$atta","reintegroAdjuntos","_refundsSelector$atta2","_refundsSelector$atta3","attachedFromWs","reintegroAdjuntoNombre","reintegroAdjuntoTipo","extension","reintegroAdjuntoExtension","reintegroAdjuntoCodigo","_refundsSelector$post","_refundsSelector$post4","_refundsSelector$post2","_refundsSelector$post3","_downloadAttachments$","_downloadAttachments$2","_downloadAttachments$3","_downloadAttachments$4","_downloadAttachments$5","_downloadAttachments$6","downloadButton","validationList","_refundsSelector$comm","_refundsSelector$comm2","_refundsSelector$comm3","_refundsSelector$comm4","_refundsSelector$comm5","_refundsSelector$comm6","_refundsSelector$comm7","_refundsSelector$comm8","_refundsSelector$comm9","reintegroComentarios","_step$reintegroComent","reintegroComentarioFechaHora","allComments","_item$refundDetails7","_item$refundDetails7$","_item$refundDetails7$2","_item$refundDetails8","_item$refundDetails8$","_item$refundDetails8$2","_item$refundDetails9","_item$refundDetails9$","_item$refundDetails9$2","uploadFiles","archive","auxArchives","RefundsDetails","_refundsReduxState$re","_refundsReduxState$re2","_refundsReduxState$re3","_refundsReduxState$re4","_refundsReduxState$re5","refundsReduxState","setDetailsParameters","PatientDetails","_getFilteredAppointme2","_objectDestructuringEmpty","codCentrosMedicos","codEspecialidades","agendaMedical","selectedDay","centro","horariosDeAtencion","timeoutError","setTimeoutError","setRequestCompleted","horariosUnicos","Array","from","timeoutId","getFilteredAppointments","_getFilteredAppointme","cleanFormattedDate","Intl","DateTimeFormat","weekday","charAt","formatSelectedDay","horario","horas","hora","TimerOffIcon","pacienteApellidoNombre","tunrnoFechRecepcion","CustomCalendarProfileMedical","_modelAgendaMedicalRe9","_modelAgendaMedicalRe10","_modelAgendaMedicalRe11","showCentroMedicoSelector","setShowCentroMedicoSelector","setCentrosMedicos","setCodCentrosMedicos","setEspecialidades","setMedicalAgenda","turnosDelDia","codCentrosMedicosDelDia","codUniqueCentrosMedicos","codEspecialidad","codUniqueEspecialidad","centrosMedicosDelDia","uniqueCentrosMedicos","isSame","dateturn","webServiceDate","localDate","DEFAULT_CSS_CLASS","ASIGNADO","savedData","parsedData","_modelAgendaMedicalRe5","_modelAgendaMedicalRe6","_modelAgendaMedicalRe7","_modelAgendaMedicalRe8","firstTurnOfDay","centerMedical","_agendaMedical$filter","minutes","timeWithoutSeconds","formattedDate","formatSelectedDate","groups","appointment","horarioDesde","agendaHoraDesde","horarioHasta","agendaHoraHasta","_ref8","_ref9","dataMedicaFilter","CalendarMedical","DatosDeMedico","_modelAgendaMedical$m","_modelAgendaMedical$m2","_modelAgendaMedical$m3","_modelAgendaMedical$m4","_DatosDeMedico$agenda","_DatosDeMedico$agenda2","_modelAgendaMedical$a","_modelAgendaMedical$a2","_agenda","Tag","Home","lazy","Routes","ReactDOM","exact","signoutRedirectCallback","URL_ConsumerComplaint","PatientAgenda","App","store","modalTokenExpired","setModalTokenExpired","jwt_decode","exp","AuthProvider","BrowserRouter","basename","filtersCartillaSelected","afilliatedAppointments","SolicitudTurnos","all","appointmentNextFullData","appointmentRecordFullData","fullDataFiltro","stepCounter","initialState","hasNotification","errorMsg","addDataUser","deleteDataUser","modifyDataUser","areaParemeters","preventionControl","deleteStatus","pushComment","authorizationsDetails","accountRefundsAB","counterSurvey","sendSurvey","news","configurationById","configLowService","configReclamo","parameters","post","put","refreshing","limitPlan","campaign","rootReducer","combineReducers","demoReducer","demoData","_ACTIONS","ACTIONS","receiveAction","_action$response","_action$response2","_action$response3","_action$response4","clearState","turnos","stepAppointmentReducer","_ACTION_TO_RESPONSE","ACTION_TO_RESPONSE","usefulPhone","contactData","documentoTipo","estadoCivil","errorReducer","clearModel","responseUserTypeValidation","_action$response2$dat","_action$response2$dat2","_action$response$data","_action$response3$dat","cleanModel","typeState","preventionReducer","personPlayerReducer","cleanVariable","setDataOfStore","getDataOfStore","clearHistorial","clearDetails","modelName","loadingType","setDownloadLoading","surveyReducer","clearResponse","newsReducer","campaignReducer","campaigns","authorization","API","axios","baseURL","interceptors","use","headers","token","Authorization","Accept","cartillaEnvironment","getTurnosAfiliado","getDatosRecupera","getConfigurationsEndpoint","hobbiesEndPoint","programRequirementAndFormEndpoint","LimitPlanEndPoint","fetchFilterCartilla","get","getFilterCartilla","getLocalidadesBarrio","getEspecialidadesEstudiosComplementarios","getPrestadoresResult","getCompleteProfile","getAfilliatedAppointmentsNextAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","abrupt","stop","_x","apply","GetSpecialtiesList","GetDoctorsList","GetFreeDoctorAppointmentsList","getCommunication","getPhonesUtils","GetShiftPhone","getEmergencyNumbers","getTypeOfContact","postAddressAffiliated","addressModel","getContactDataAffiliated","getCompleteData","_callee2","_context2","_x2","_callee3","_context3","_x3","getDataWheightHeight","ABWheightHeight","getVitalParameters","ABvitalParameters","getAffiliateEnrollments","getAllergies","_callee4","_context4","getAffiliatedAllergies","_callee5","_context5","_x4","allergiesABM","_callee6","_context6","_x5","_callee7","_context7","_x6","ABMMDPhones","_callee8","_context8","_x7","ABMFactorGroup","getParameterFactorGroup","ABMChronicDiseases","getParameterDiseases","ABMChronicMedication","getTypeRefundCoverage","_callee9","_context9","addDataRegisterUser","getAreaRefundCoverage","deleteDataRegisterUser","registerAffiliate","validateTypeOfProfile","validationRegisterUser","validationMedicoRegisterUser","modifyDataRegisterUser","postRefundCoverageResult","_ref10","_callee10","_context10","_x8","postContactUs","_ref11","_callee11","_context11","_x9","postCallDoctor","_ref12","_callee12","_context12","_x10","getNotification","getActivitiesWithSecurity","getAllCoveragePlansWithSecurity","getAllCredentials","_ref13","_callee13","_context13","_x11","postPrevention","_ref14","_callee14","_context14","_x12","deletePersonPlayer","_ref15","_callee15","_context15","_x13","getEnabledDirectDebit","_ref16","_callee16","_context16","_x14","UpdateTag","_ref17","_callee17","_context17","_x15","getDetails","_ref18","_callee18","_context18","_x16","getComments","_ref19","_callee19","_context19","_x17","pushComments","_ref20","_callee20","_context20","_x18","getAllAuthorizations","_ref21","_callee21","_context21","_x19","getAllBillsAffiliate","_ref22","_callee22","_context22","_x20","getBillingFiles","_ref23","_callee23","_context23","_x21","getTypeAttached","_ref24","_callee24","_context24","_x22","getParametersAuthorizationRequest","_ref25","_callee25","_context25","_ref26","_callee26","_context26","_x23","_ref27","_callee27","_context27","_x24","postAttached","_ref28","_callee28","_context28","_x25","_ref29","_callee29","_context29","_x26","_ref30","_callee30","_context30","_x27","_ref31","_callee31","_context31","_x28","getRecipeFiles","_ref32","_callee32","_context32","_x29","getRefunds","_ref33","_callee33","_context33","_x30","ABAccountRefund","_ref34","_callee34","_context34","_x31","getAccountRefunds","_ref35","_callee35","_context35","_x32","_ref36","_callee36","_context36","postRefunds","_ref37","_callee37","_context37","_x33","_ref38","_callee38","_context38","_x34","getRefundAttachments","_ref39","_callee39","_context39","_x35","_ref40","_callee40","_context40","_x36","getDetailsAttachments","_ref41","_callee41","_context41","_x37","_ref42","_callee42","_context42","_x38","postRefundAttached","_ref43","_callee43","_context43","_x39","_ref44","_callee44","_context44","_x40","postRefundAComment","_ref45","_callee45","_context45","_x41","postReadRefundComments","_ref46","_callee46","_context46","_x42","downloadRefunds","_ref47","_callee47","_context47","_x43","downloadAuthorizations","_ref48","_callee48","_context48","_x44","getCounterSurvey","_ref49","_callee49","_context49","_x45","_ref50","_callee50","_context50","_x46","getNews","_ref51","_callee51","_context51","getAuthorizationsAffiliate","_ref52","_callee52","_context52","_x47","_ref53","_callee53","_context53","_ref54","_callee54","_context54","getConfigById","_ref55","_callee55","_context55","_x48","getCardsAPI","_ref56","_callee56","_context56","getPharmaceuticalForm","_ref57","_callee57","_context57","getPlanPdfByPlanCode","_ref58","_callee58","_context58","_x49","getPracticas","_ref59","_callee59","_context59","getTelemedicineAppointments","getCapAndCopayLinkByPlanCode","_ref60","_callee60","_context60","_x50","getProgramRequirementAndFormByProgram","_ref61","_callee61","_context61","_x51","getMedicalPrograms","_ref62","_callee62","_context62","postLimitPlan","putLimitPlan","deleteLimitPlan","getCampaign","_ref63","_callee63","_context63","asyncFetchZoneFilters","_marked2","asyncGetLocalidadesBarrios","_marked3","asyncGetEspecialidadesEstudios","_marked4","asyncGetPrestadoresCartilla","_marked5","asyncGetCompleteProfile","_marked6","filtersSaga","call","sent","t0","_marked","takeEvery","takeLatest","asyncGetAfilliatedAppointments","asyncGetAfilliatedAppointmentsRecord","asyncGetAfilliatedAppointmentsNext","asyncGetAppointmentFavorite","asyncGetDataGroupFamily","asyncGetDataFilterAppointment","_marked7","asyncAppointmentCanceled","_marked8","asyncABAppointmentFavorite","_marked9","asyncGetAnswerQuestion","_marked10","asyncGetSpecialties","_marked11","asyncGetMedicalCenters","_marked12","asyncGetNextAvailableAppointments","_marked13","asyncGetNextAvailableAppointmentsDoctor","_marked14","asyncSaveAppointment","_marked15","asyncAppointmentConfirmed","_marked16","asyncGetFullGroupFamily","_marked17","asyncGetSpecialtiesList","_marked18","asyncGetDoctorsList","_marked19","asyncGetFreeDoctorAppointmentsList","_marked20","asyncGetMedicalAgenda","_marked21","appointmentsSaga","_response","_response2","_response3","_response4","_response5","_response6","_response7","_response8","asyncGetPhonesUtils","asyncgetShiftPhone","phonesSaga","asyncGetEmergencyNumbers","emergencySaga","asyncGetTypesOfContact","asyncGetTypesOfContactPhone","asyncGetTypesOfContactMail","asyncGetContactData","asyncGetTypesDocuments","asyncGetCivilStatus","asyncGetNationalities","asyncGetFullData","asyncAbmFullData","asyncGetCredentials","asyncGetHobbies","asyncGetDeportes","personalDataSaga","asyncGetDataWheightHeight","asyncABWheightHeight","asyncGetVitalParamters","asyncABVitalParamters","asyncGetPrograms","asyncGetAllergiesParams","asyncGetAffiliatedAllergies","asyncABMAllergies","asyncGetAffiliatedPhones","asyncABMAffiliatedPhones","asyncABMFactorGroup","asyncGetFactorGroup","asyncGetFactorGroupParams","asyncABMChronicDiseases","asyncGetChronicDiseases","asyncGetChronicDiseasesParams","asyncABMChronicMedication","asyncGetChronicMedication","asyncGetVaccine","asyncGetLaboratoryStudies","asyncGetDetailLaboratoryStudies","_marked22","asyncGetPharmaceuticalForm","_marked23","asyncGetRecipe","_marked24","asyncGetRecipeFiles","_marked25","medicalDataSaga","asyncGetDataRegisterUser","asyncAddDataRegisterUser","asyncDeleteDataRegisterUser","asyncRegisterUser","asyncValidationRegister","asyncValidationRegisterMedico","asyncModifyDataRegisterUser","asyncUserTypeValidation","asyncGetTypeRefundCoverageParameters","asyncGetAreaRefundCoverageParameters","asyncPostRefundCoverage","asyncGetAllCoveragePlans","coverageSaga","asyncPostContactUs","contactUsSaga","asyncGetUrlDoctorCaller","virtualDoctorSaga","asyncGetAllNotifications","asyncGetNotification","asyncModifyNotification","asyncSetCount","asyncSelectNotification","asyncremoveModifyNotification","asyncUpdateAllNotifications","asyncSetHashNotification","asyncGetCommunication","notificationsSaga","asyncGetAllCredentials","credentialSaga","asyncGetActivities","activitiesSaga","asyncGetProcedures","asyncPostProcedure","asyncGetDataAffiliatesBaja","asyncGetMotivosBaja","asyncGetSolicitudBaja","asyncGetFile","asyncPostRequestLowGetFile","asyncGetMotiveLowPlan","asyncGetPlans","asyncGetPermisionLow","asyncGetChangePlan","asyncPostChangePlan","procedureSaga","asyncPostPreventionControl","preventionSaga","asyncDeletePersonPlayer","asyncUpdateTag","personPlayerSaga","asyncGetWayToPay","asyncGetEnabledDirectDebit","asyncGetDirectDebit","asyncABDirectDebit","asyncGetAllBills","asyncGetBillingFiles","billingSaga","asyncGetComments","asyncPushComments","asyncGetReadComments","asyncGetAuthorizationsDetails","asyncGetDetails","asyncGetAuthorizationsTypeAttached","asyncGetParamsAuthRequest","asyncGetAuthorizationsAttached","asyncPostAuthorizationsAttached","asyncPostAuthorizationsRequest","asyncGetAuthorizationsAffiliate","asyncDownloadAttachments","asyncDownloadAuthorization","asyncCancelAuthorization","authorizationsSaga","asyncGetRefunds","asyncAccountRefundAB","asyncGetParametersRefunds","asyncGetAccountRefunds","asyncPostRefunds","asyncGetRefundDetails","asyncGetRefundAttachments","asyncGetRefundComments","asyncGetDetailsAttachments","asyncGetRefundTypeAttached","asyncPushRefundComments","asyncPostRefundAttached","asyncCancelRefund","asyncPostReadRefundComment","asyncDownloadRefund","refundsSaga","asyncGetCounterSurvey","asyncSendSurvey","surveySaga","asyncGetNews","newsSaga","asyncGetHeadquaters","sedesSaga","asyncGetConfigurations","asyncGetConfigurationById","asyncGetConfigurationLowService","asyncGetConfigurationReclamo","configurationSaga","asyncGetCards","cardSaga","asyncGetPlanPdfByPlanCode","planPdfSaga","asyncGetPracticas","practicasSaga","asyncGetTelemedicineAppointments","telemedicineAppointmentsSaga","asyncGetCapAndCopayLinkByPlanCode","capsAndCopayLinksSaga","asyncGetProgramRequirementAndFormByProgram","asyncMedicalPrograms","programRequirementAndFormSaga","asyncGetLimitPlan","asyncPostLimitPlan","asyncPutLimitPlan","asyncDeleteLimitPlan","limitPlanSaga","asyncGetCampaign","campaignSaga","communicatedSaga","rootSaga","registerUsersSaga","sagaMiddleware","createSagaMiddleware","createStore","applyMiddleware","runSaga","run","configureStore","origin","OneSignal","appId","promptOptions","customlink","button","subscribe","unsubscribe","explanation","unsubscribeEnabled","getUserId","userId","on","isSubscribed","player","User","PlayerId","Action","msg","URL_PUBLIC_MOBILE","fetch","ready","unregister","checkValidServiceWorker","registerServiceWorker","getNotifications","COUNT","setHashNotification","hash","setColorActive","arg1","_history$location","ListItemIcon","ListItemText","contentDialogTitleCancel","dividers","decription","IDENTITY_CONFIG","authority","client_id","redirect_uri","URL_CALLBACK_WEB_MOBILE","scope","SCOPE_MOBILE","post_logout_redirect_uri","automaticSilentRenew","loadUserInfo","silent_redirect_uri","URL_SILENT_NEW_MOBILE","response_type","METADATA_OIDC","issuer","jwks_uri","authorization_endpoint","token_endpoint","userinfo_endpoint","end_session_endpoint","check_session_iframe","revocation_endpoint","introspection_endpoint","AuthService","_this","_classCallCheck","_this$UserManager","UserManager","getUser","parseJwt","setUserInfo","authResult","accessToken","setlocalInfo","setUser","_data$given_name","_data$family_name","given_name","family_name","sub","navigateToScreen","signinSilent","createSigninRequest","signoutRedirect","id_token_hint","clearStaleState","sessionActive","currentPath","this","userStore","WebStorageStateStore","metadata","events","addUserLoaded","id_token","idToken","addSilentRenewError","addAccessTokenExpired","_createClass","AuthContext","createContext","Consumer","_Component","_inherits","_super","_createSuper","authService","QuickAccess","setIconColor"],"mappings":"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","file":"static/js/main.a940a1ea.chunk.js","sourcesContent":["import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function getDataRegisterUser(param) {\r\n    return {\r\n        type: actionTypes.GET_DATA_REGISTER_USER,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function addDataRegisterUser(param) {\r\n\r\n    return {\r\n        type: actionTypes.ADD_DATA_REGISTER_USER,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function deleteDataRegisterUser(param) {\r\n\r\n    return {\r\n        type: actionTypes.DELETE_DATA_REGISTER_USER,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function modifyDataRegisterUser(param) {\r\n\r\n    return {\r\n        type: actionTypes.MODIFY_DATA_REGISTER_USER,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function registerUser(params) {\r\n    return {\r\n        type: actionTypes.REGISTER_USER,\r\n        payload: params\r\n    };\r\n}\r\n\r\nexport function verifyRegister(param) {\r\n    return {\r\n        type: actionTypes.VERIFY_REGISTER,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function verifyRegisterMedical(param) {\r\n    return {\r\n        type: actionTypes.VERIFY_REGISTER_MEDICAL,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function verifyTypeOfUser(param) {\r\n    return {\r\n        type: actionTypes.VALIDATE_TYPE_OF_USER,\r\n        payload: param\r\n    };\r\n}","export default __webpack_public_path__ + \"static/media/horizontal-card.60d9a749.svg\";","export default __webpack_public_path__ + \"static/media/front-card.ba11241c.svg\";","export default __webpack_public_path__ + \"static/media/back-card.d6a4b999.svg\";","export default __webpack_public_path__ + \"static/media/header-card.6be2e229.svg\";","import { makeStyles } from \"@material-ui/core/styles\";\r\nimport minimalCredentialSVG from \"../images/horizontal-card.svg\";\r\nimport credentialSVG from \"../images/front-card.svg\";\r\nimport backCredentialSVG from \"../images/back-card.svg\";\r\nimport headerCredentialSVG from \"../images/header-card.svg\";\r\n\r\n/* OSLP Colors */\r\nconst $lightblue = \"#54c0e8\";\r\nconst $blue = \"#0075c9\";\r\nconst $darkblue = \"#002858\";\r\nconst $darkgray = \"#585858\";\r\nconst $lightgray = \"#e2e3e3\";\r\nconst $tolightgray = \"#f3f3f3\";\r\nconst $tolightgrayMedical = \"#D3D3D3\";\r\nconst $mediumgray = \"#a0a0a0\";\r\nconst $lighterGray = '#d2d2d2';\r\nconst $lightGreen = '#40cc40';\r\n/* OSLP Box Shadows */\r\nconst $bottomBoxShadow = `0px 15px 14px 0px ${$mediumgray}`;\r\nconst $boxShadowButtons = `0px 2px 8px 0 ${$darkgray}`;\r\nconst $boxShadowCards = `1px 12px 20px ${$darkgray}`;\r\nconst $lightBoxShadow = `0px 3px 14px 0px ${$mediumgray}`;\r\nconst $upBoxShadow = `0px -18px 16px 0px ${$lighterGray}`;\r\nconst $lateralMenuBoxShadow = `0px 0px 20px 2px ${$mediumgray}`;\r\nconst $headerBoxShadow = `0px 0px 20px 5px ${$mediumgray}`;\r\nconst $containerBoxShadow = `12px 11px 9px 0px ${$mediumgray}`;\r\n/* OSLP Linear Gradients */\r\nconst $lightLinearGradient = `linear-gradient(90deg, ${$blue}, ${$lightblue} 100%)`;\r\nconst $darkLinearGradient = `linear-gradient(90deg, ${$blue}, ${$darkblue} 100%)`;\r\n\r\n/* LinearGradient Reverse*/\r\nconst $lightLinearGradientReverse = `linear-gradient(90deg, ${$lightblue}, ${$blue} 100%)`;\r\nconst $darkLinearGradientReverse = `linear-gradient(90deg, ${$darkblue} , ${$blue}100%)`;\r\nconst $twoHundredEightyPx = '280px !important';\r\nconst $darkLinearGradientGray = `linear-gradient(90deg, ${$darkgray} , ${$lightgray}100%)`;\r\n\r\n/* Drawer Width */\r\nconst $drawerWidth = \"450\";\r\n\r\nconst $arialRegular = \"Arial, regular\";\r\nconst $fontSize14 = '14px !important';\r\nconst $fontBold = \"bold !important\";\r\nconst $colorWhite = \"white !important\";\r\nconst $tenPx = \"10px !important\";\r\nconst $centerImportant = \"center !important\";\r\nconst $zeroPx = \"0px !important\";\r\nconst $eightPx = \"8px !important\";\r\nconst $fivePx = \"5px !important\";\r\nconst $fiftyHundredPx = \"150px !important\";\r\nconst $sixtyPx = \"60px !important\";\r\nconst $thirtyPx = \"30px !important\";\r\nconst $fiftyFivePx = \"55px !important\";\r\nconst $initialImportant = \"initial !important\";\r\nconst $elevenPx = \"11px !important\";\r\nconst $twelve = \"12px !important\";\r\nconst $spaceBetween = \"space-between\";\r\nconst $twentyFivePx = \"25px !important\";\r\nconst $arialSansSerif = \"Arial, sans-serif\";\r\nconst $fortyPx = \"40px !important\";\r\nconst $flexImportant = \"flex !important\";\r\nconst $autoImportant = \"auto !important\";\r\nconst $absoluteImportant = \"absolute !important\";\r\nconst $fitContent = \"fit-content\";\r\nconst $twentyThreePerCent = \"23% !important\";\r\nconst $ninetyFivePerCent = \"95% !important\";\r\nconst $hiddenImportant = \"hidden !important\";\r\nconst $eighteenPx = \"18px !important\";\r\nconst $boxxShadow = \"0px 2px 8px 0 #585858\";\r\nconst $fourHundredPx = \"400px !important\";\r\nconst $threeHundredPx = \"300px !important\";\r\nconst $threeHundredTenPx = \"310px !important\";\r\nconst $sixHundredWeight = \"600 !important\";\r\nconst $templateColumnsFour = \"1fr 1fr 1fr 1fr\";\r\nconst $templateColumnsThree = \"1fr 1fr 1fr\";\r\nconst $fivePercent = \"5% !important\";\r\nconst $seventyPx = \"70px !important\";\r\nconst $eightyPercent = \"80% !important\";\r\nconst $twoPointFivePercent = \"2.5% !important\";\r\nconst $zeroZeroOneHundred = \"0 0 100% !important\";\r\nconst $oneHundredThirtyPx = \"130px !important\";\r\nconst $twoHundredFiftyPx = \"250px !important\";\r\nconst $oneHundredFortyPx = \"140px !important\";\r\nconst $oneHundredPercent = \"100%\";\r\nconst $oneHundredPercentImportant = \"100% !important\";\r\nconst $oneOneOneHundredPercent = \"1 1 100%\";\r\nconst $whiteColor = \"#ffffff !important\";\r\nconst $colorTransparent = \"transparent !important\";\r\nconst $fiftyPx = \"50px !important\";\r\nconst $zeroImportant = '0 !important';\r\nconst $centerCenter = \"center center\";\r\nconst $threeHundredThirtyPx = \"330px\";\r\nconst $FourHundredEightyPx = \"480px\";\r\nconst $thirtyPxProfile = \"10px !important\";\r\n\r\n\r\nexport default makeStyles(\r\n  (theme) => ({\r\n    /************* Generics *************/\r\n    customScroll: {\r\n      '&::-webkit-scrollbar ': {\r\n        borderRadius: '4px',\r\n        height: '8px',\r\n        width: '5px'\r\n      },\r\n      '&::-webkit-scrollbar-track': {\r\n        background: $lightgray,\r\n        borderRadius: '4px'\r\n      },\r\n      '&::-webkit-scrollbar-thumb': {\r\n        background: $darkgray,\r\n        borderRadius: '4px'\r\n      },\r\n      '&::-webkit-scrollbar-thumb:active': {\r\n        background: $darkblue,\r\n        borderRadius: '4px'\r\n      },\r\n      '&::-webkit-scrollbar-thumb:hover': {\r\n        background: $blue,\r\n        boxShadow: $lightBoxShadow,\r\n        borderRadius: '4px'\r\n      }\r\n    },\r\n\r\n    divLoading: {\r\n      backgroundColor: $blue,\r\n      height: '100vh',\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      alignItems: 'center',\r\n      width: $oneHundredPercent,\r\n      position: 'fixed',\r\n      top: '0',\r\n    },\r\n\r\n    txtLogIn: {\r\n      fontSize: '8px',\r\n      textTransform: 'uppercase',\r\n      fontWeight: 'bold',\r\n      maxWidth: '38px',\r\n    },\r\n\r\n    mainTitle: {\r\n      color: $darkblue,\r\n      fontFamily: $arialSansSerif,\r\n      fontWeight: \"bold\",\r\n      fontSize: \"31.33px\",\r\n      [theme.breakpoints.only(\"xs\")]: {\r\n        fontSize: \"20.33px !important\",\r\n      },\r\n    },\r\n    // Txt Subtitle\r\n    txtSubtitle: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"28px\",\r\n      color: $blue,\r\n    },\r\n    txtEllipsis: {\r\n      textOverflow: \"ellipsis\",\r\n      whiteSpace: \"nowrap\",\r\n      textDecoration: \"none\",\r\n      overflow: \"hidden\",\r\n    },\r\n    txtRegular: {\r\n      fontSize: \"16px\",\r\n    },\r\n    txtObservaciones: {\r\n      fontSize: $fontSize14\r\n    },\r\n    txtDescription: {\r\n      color: $darkgray,\r\n      fontSize: \"11px\",\r\n      WebkitLineClamp: 1, \r\n      WebkitBoxOrient: \"vertical\",\r\n      display: \"-webkit-box\",\r\n      overflow: \"hidden\",\r\n      textOverflow: \"ellipsis\",\r\n      lineHeight: \"1.5\", \r\n      maxHeight: \"4.5em\", \r\n    },\r\n    txtDescriptionTruncate: {\r\n      display: \"-webkit-box\",\r\n      WebkitLineClamp: 1, \r\n      WebkitBoxOrient: \"vertical\",\r\n      overflow: \"hidden\",\r\n      textOverflow: \"ellipsis\",\r\n      lineHeight: \"1.5\", \r\n      maxHeight: \"4.5em\", \r\n    },\r\n    txtDescriptionWhite: {\r\n      color: \"#FFF\",\r\n      fontSize: \"11px\",\r\n    },\r\n    txtLinksInCard: {\r\n      color: $blue,\r\n      fontSize: \"0.67rem\",\r\n      textDecoration: \"none\",\r\n    },\r\n    txtDarkBlue: {\r\n      color: `${$darkblue} !important`\r\n    },\r\n    txtLightBlue: {\r\n      color: $lightblue,\r\n    },\r\n    txtBold500: {\r\n      fontWeight: '500 !important'\r\n    },\r\n    upBoxShadow: {\r\n      boxShadow: $upBoxShadow\r\n    },\r\n    bottomBoxShadow: {\r\n      boxShadow: $bottomBoxShadow,\r\n    },\r\n    lightBoxShadow: {\r\n      boxShadow: $lightBoxShadow\r\n    },\r\n    noneBoxShadow: {\r\n      boxShadow: \"none\",\r\n    },\r\n    ShowMoreArrowIcon: {\r\n      color: $blue,\r\n    },\r\n    RemoveArrowIcon: {\r\n      color: \"red\",\r\n    },\r\n    lightLinearGradient: {\r\n      background: $lightLinearGradient,\r\n    },\r\n    darkLinearGradient: {\r\n      background: $darkLinearGradient,\r\n    },\r\n    darkLinearGradientImportant: {\r\n      background: `${$darkLinearGradient} !important`,\r\n    },\r\n    lightLinearGradientReverse: {\r\n      background: $lightLinearGradientReverse,\r\n    },\r\n    darkLinearGradientReverse: {\r\n      background: $darkLinearGradientReverse,\r\n    },\r\n\r\n    errorText: {\r\n      [theme.breakpoints.up(901)]: {\r\n        marginLeft: \"10px\",\r\n        color: \"red\",\r\n        marginBottom: \"10px\",\r\n      },\r\n\r\n      [theme.breakpoints.down(901)]: {\r\n        color: \"red\",\r\n        marginLeft: \"20px\",\r\n        marginBottom: \"10px\",\r\n      }\r\n    },\r\n\r\n    infoText: {\r\n      [theme.breakpoints.up(901)]: {\r\n        marginLeft: \"10px\",\r\n        marginBottom: \"10px\",\r\n      },\r\n\r\n      [theme.breakpoints.down(901)]: {\r\n        marginLeft: \"20px\",\r\n        marginBottom: \"10px\",\r\n      }\r\n    },\r\n\r\n    errorTextFormMobile: {\r\n      [theme.breakpoints.down(901)]: {\r\n        marginLeft: \"10px\"\r\n      }\r\n    },\r\n\r\n    backgroundError: {\r\n      backgroundColor: 'red !important'\r\n    },\r\n\r\n    borderWhite: {\r\n      border: \"2px solid white\"\r\n    },\r\n\r\n    blueTxt: {\r\n      color: $blue,\r\n      textTransform: \"uppercase !important\",\r\n      fontWeight: $fontBold,\r\n      fontSize: $fontSize14,\r\n    },\r\n\r\n    grayTxt: {\r\n      color: `${$darkgray} !important`,\r\n      fontSize: $fontSize14,\r\n    },\r\n\r\n    darkgrayTxt: {\r\n      color: `${$darkgray} !important`,\r\n    },\r\n\r\n    fontBold: {\r\n      fontWeight: $fontBold,\r\n    },\r\n\r\n    darkgray: {\r\n      background: $darkgray,\r\n    },\r\n\r\n    backgroundBlue: {\r\n      backgroundColor: $blue,\r\n      color: $colorWhite\r\n    },\r\n\r\n    centeredBox: {\r\n      marginTop: $tenPx,\r\n      display: 'flex',\r\n      justifyContent: $centerImportant\r\n    },\r\n\r\n    backgroundToLightGray: {\r\n      backgroundColor: $tolightgray\r\n    },\r\n\r\n    backgroundDarkBlue: {\r\n      backgroundColor: `${$darkblue} !important`\r\n    },\r\n\r\n    circularProgress: {\r\n      '&>span': {\r\n        color: $darkblue\r\n      }\r\n    },\r\n    margin1PX: {\r\n      [theme.breakpoints.between(960, 1170)]: {\r\n        margin: '10px 1px 1px 2px !important',\r\n        minWidth: \"54px\"\r\n      }\r\n    },\r\n\r\n    calendarContainer: {\r\n      width: '100%',             \r\n      maxWidth: '100%',          \r\n      maxHeight: '80vh',         \r\n      padding: '20px',           \r\n      boxSizing: 'border-box',  \r\n      display: 'flex',           \r\n      justifyContent: 'center',\r\n      alignItems: 'center',      \r\n  },\r\n\r\n    /**************************/\r\n    // Header\r\n    header: {\r\n      paddingTop: $sixtyPx,\r\n      height: \"40px\",\r\n      alignItems: \"flex-start\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        alignItems: \"center\",\r\n        flexWrap: 'wrap',\r\n        height: \"0\",\r\n      },\r\n    },\r\n    headerWeb: {\r\n      marginBottom: '30px',\r\n      [theme.breakpoints.down(890)]: {\r\n        flexWrap: 'wrap'\r\n      }\r\n    },\r\n    headerFix: {\r\n      paddingTop: $zeroPx,\r\n    },\r\n    boxHeaderBtn: {\r\n      display: \"flex\",\r\n      justifyContent: \"flex-end\",\r\n      [theme.breakpoints.down(1160)]: {\r\n        flexWrap: 'wrap'\r\n      },\r\n      [theme.breakpoints.down(\"sm\")]: {\r\n        justifyContent: \"center\",\r\n        flexWrap: \"wrap\",\r\n      },\r\n      width: $oneHundredPercent,\r\n    },\r\n    boxHeaderBtnMedicalProfileHome: {\r\n      display: \"flex\",\r\n      justifyContent: \"flex-start\",\r\n      [theme.breakpoints.down(1160)]: {\r\n        flexWrap: \"wrap\",\r\n      },\r\n      [theme.breakpoints.down(\"sm\")]: {\r\n        justifyContent: \"center\",\r\n        flexWrap: \"wrap\",\r\n      },\r\n      width: $oneHundredPercent,\r\n    },\r\n    customHeaderBtnFix: {\r\n      [theme.breakpoints.down(1160)]: {\r\n        width: \"50%\",\r\n        height: \"8px !important\",\r\n        fontSize: \"8px !important\",\r\n      },\r\n      [theme.breakpoints.down(950)]: {\r\n        fontSize: \"7px !important\",\r\n      },\r\n      [theme.breakpoints.down(790)]: {\r\n        fontSize: \"6px !important\",\r\n      },\r\n    },\r\n\r\n    boxImageHeader: {\r\n      borderRadius: '0px 0px 40px 40px',\r\n      width: $oneHundredPercent,\r\n      height: $oneHundredPercent,\r\n    },\r\n\r\n    homeIconWOutLog: {\r\n      flex: '1 1 28%',\r\n      padding: '0px 20px 0px 20px',\r\n      [theme.breakpoints.down(713)]: {\r\n        padding: '0px 10px 0px 10px',\r\n      },\r\n      marginLeft: $eightPx,\r\n      marginRight: $eightPx,\r\n      [theme.breakpoints.down(390)]: {\r\n        marginLeft: $fivePx,\r\n        marginRight: $fivePx,\r\n        padding: $zeroPx\r\n      }\r\n    },\r\n    homeWOutLogDivIcons: {\r\n      height: '88px !important',\r\n      width: $oneHundredPercentImportant,\r\n      [theme.breakpoints.up(600)]: {\r\n        width: $fiftyHundredPx\r\n      }\r\n    },\r\n    homeWOutLogIcon: {\r\n      fontSize: '40px'\r\n    },\r\n    homeTxtIcons: {\r\n      fontSize: $tenPx\r\n    },\r\n    boxHeaderMobile: {\r\n      height: $sixtyPx,\r\n    },\r\n\r\n    boxHeaderFiltersMobile: {\r\n      flexWrap: \"wrap !important\",\r\n      paddingTop: $zeroPx,\r\n    },\r\n\r\n    divFiltersMobile: {\r\n      paddingBottom: $thirtyPx,\r\n    },\r\n\r\n    divHeaderLogo: {\r\n      display: 'flex',\r\n      width: '80%',\r\n      minWidth: '140px',\r\n      [theme.breakpoints.down(\"md\")]: {\r\n        justifyContent: 'center'\r\n      },\r\n      height: '80px',\r\n      '&>button>span>img': {\r\n        [theme.breakpoints.down(411)]: {\r\n          height: $fiftyFivePx\r\n        }\r\n      }\r\n    },\r\n\r\n    divQuickAccess: {\r\n      display: 'flex',\r\n      flexWrap: 'nowrap',\r\n      justifyContent: 'flex-start',\r\n      overflow: 'auto',\r\n      paddingTop: '6%',\r\n      [theme.breakpoints.up(1570)]: {\r\n        justifyContent: 'center',\r\n        marginLeft: '8%',\r\n        marginRight: '8%',\r\n      },\r\n      [theme.breakpoints.down(1200)]: {\r\n        overflow: 'hidden',\r\n        flexWrap: 'wrap',\r\n        marginLeft: '0px',\r\n        marginRight: '0px',\r\n        paddingTop: '10%',\r\n        justifyContent: 'center',\r\n      }\r\n    },\r\n\r\n    divIconHome: {\r\n      [theme.breakpoints.down(400)]: {\r\n        marginLeft: '0%',\r\n        marginRight: '0%',\r\n      },\r\n      '&>a': {\r\n        [theme.breakpoints.down(361)]: {\r\n          width: '65px !important'\r\n        }\r\n      }\r\n    },\r\n\r\n    correctionBlockIcon: {\r\n      alignItems: 'flex-start',\r\n      \"&:hover\": {\r\n        backgroundColor: \"rgba(0,0,0,0.01)\"\r\n      },\r\n    },\r\n\r\n    correctionSentence: {\r\n      whiteSpace: 'normal !important',\r\n      overflow: $initialImportant,\r\n      letterSpacing: '0.5px'\r\n    },\r\n\r\n    quickAccessIcon: {\r\n      fontSize: '40px',\r\n      [theme.breakpoints.down('md')]: {\r\n        fontSize: '30px'\r\n      },\r\n      [theme.breakpoints.down('sm')]: {\r\n        fontSize: '25px'\r\n      }\r\n    },\r\n\r\n    txtQuickAccess: {\r\n      fontSize: $elevenPx,\r\n      [theme.breakpoints.up('lg')]: {\r\n        fontSize: $twelve\r\n      },\r\n      [theme.breakpoints.up('xl')]: {\r\n        fontSize: $fontSize14\r\n      },\r\n    },\r\n\r\n    quickAccess: {\r\n      height: \"78px\",\r\n      width: '90px',\r\n      padding: \"10px\",\r\n      borderRadius: \"20px\",\r\n      display: 'flex',\r\n      alignItems: 'center',\r\n      justifyContent: 'center'\r\n    },\r\n\r\n    divItemQuickAccess: {\r\n      display: 'flex',\r\n      flexWrap: 'wrap',\r\n      width: '90px',\r\n      justifyContent: 'center',\r\n      marginRight: '10px',\r\n      marginLeft: '10px',\r\n      marginBottom: '30px',\r\n      textDecoration: 'none',\r\n      [theme.breakpoints.down('sm')]: {\r\n        width: '73px'\r\n      },\r\n      [theme.breakpoints.down(372)]: {\r\n        width: '53px !important'\r\n      },\r\n      '&>span': {\r\n        flexWrap: 'wrap'\r\n      }\r\n    },\r\n\r\n    // Menu\r\n    appBar: {\r\n      zIndex: 1300,\r\n      backgroundColor: $whiteColor,\r\n      height: \"80px\",\r\n      '&>div': {\r\n        paddingLeft: $zeroPx,\r\n        paddingRight: $zeroPx\r\n      },\r\n      boxShadow: $headerBoxShadow\r\n    },\r\n    toolbar: {\r\n      paddingLeft: '0px',\r\n      display: 'flex',\r\n      flex: '0 0 100%',\r\n      justifyContent: $spaceBetween\r\n    },\r\n    rightSectionMenu: {\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      alignItems: 'center',\r\n      [theme.breakpoints.up(768)]: {\r\n        paddingRight: '30px',\r\n        width: '50%',\r\n      },\r\n      width: '20%',\r\n      marginRight: '2%',\r\n      paddingRight: '6%'\r\n    },\r\n    menuButton: {\r\n      marginRight: theme.spacing(2),\r\n      color: $blue,\r\n      marginLeft: '1%',\r\n      '&>span>svg': {\r\n        fontSize: '30px'\r\n      }\r\n    },\r\n    drawerMenu: {\r\n      flexShrink: 0,\r\n      height: $oneHundredPercentImportant,\r\n    },\r\n    drawerPaperMenu: {\r\n      top: \"80px\",\r\n      paddingBottom: \"56px\",\r\n      backgroundColor: $tolightgray,\r\n      boxShadow: $lateralMenuBoxShadow,\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        width: $oneHundredPercent,\r\n      },\r\n      [theme.breakpoints.down(1367)]: {\r\n        maxWidth: '265px'\r\n      }\r\n    },\r\n    menuButtonRight: {\r\n      color: $blue,\r\n      marginLeft: \"auto\",\r\n      paddingRight: '0px',\r\n      '&>span': {\r\n        flexWrap: 'wrap',\r\n        '&>svg': {\r\n          fontSize: '36px',\r\n          [theme.breakpoints.down(411)]: {\r\n            fontSize: $twentyFivePx\r\n          }\r\n        }\r\n      },\r\n    },\r\n    menuList: {\r\n      paddingTop: $zeroPx,\r\n      color: $whiteColor,\r\n    },\r\n    icon: {\r\n      color: $blue,\r\n      minWidth: \"35px\",\r\n      marginLeft: \"0.8em\",\r\n    },\r\n    listItemsStyles: {\r\n      paddingTop: \"0.4rem\",\r\n      paddingBottom: \"0.4rem\",\r\n      [theme.breakpoints.up(1367)]: {\r\n        paddingRight: \"6em\",\r\n      }\r\n    },\r\n    activeItemMenu: {\r\n      '&>div>span>p': {\r\n        fontWeight: 'bold !important'\r\n      }\r\n    },\r\n    paddingHeightMD: {\r\n      paddingTop: \"5%\",\r\n      paddingBottom: \"5%\",\r\n    },\r\n    paddingHeightSM: {\r\n      paddingTop: \"4%\",\r\n      paddingBottom: \"4%\",\r\n    },\r\n    paddingHeightXS: {\r\n      paddingTop: \"1%\",\r\n      paddingBottom: \"1%\",\r\n    },\r\n    divider: {\r\n      background: $whiteColor,\r\n      marginLeft: \"2.5em\",\r\n      marginRight: \"2.5em\",\r\n      height: \"2px\",\r\n    },\r\n    multiline: {\r\n      fontFamily: \"Arial\",\r\n      fontSize: \"1em\",\r\n      whiteSpace: \"wrap\",\r\n      textDecoration: \"none\",\r\n      color: $blue\r\n    },\r\n\r\n    // Buttons\r\n    customButton: {\r\n      borderRadius: \"20px\",\r\n      color: \"white\",\r\n      fontSize: \"10pt\",\r\n      fontWeight: \"bold\",\r\n      fontFamily: $arialSansSerif,\r\n      boxShadow: $boxShadowButtons,\r\n      margin: \"2px 2px 2px 2px\",\r\n      cursor: 'pointer !important'\r\n    },\r\n\r\n    customHeaderBtn: {\r\n      height: \"35px\",\r\n      alignSelf: \"center\",\r\n      padding: \"14px\",\r\n      textOverflow: \"ellipsis\",\r\n      overflow: \"hidden\",\r\n      whiteSpace: \"nowrap\",\r\n      cursor: \"pointer\",\r\n      [theme.breakpoints.down(525)]: {\r\n        width: $oneHundredPercentImportant,\r\n        flex: $oneOneOneHundredPercent\r\n      },\r\n      [theme.breakpoints.up(\"800\")]: {\r\n        fontSize: \"0.6rem\",\r\n      },\r\n      [theme.breakpoints.up(\"1000\")]: {\r\n        fontSize: \"0.7rem\",\r\n      },\r\n      [theme.breakpoints.up(\"1400\")]: {\r\n        height: \"39px\",\r\n        fontSize: \"0.8rem\",\r\n        marginLeft: \"14px\",\r\n      },\r\n    },\r\n\r\n    whiteAndBlueBtn: {\r\n      fontSize: \"12px\",\r\n      fontWeight: \"600\",\r\n      backgroundColor: $whiteColor,\r\n      color: $blue,\r\n      border: `2px solid ${$blue}`\r\n    },\r\n\r\n    btnDownload: {\r\n      margin: \"10px 0 10px 0\",\r\n      \"&>span>a\": {\r\n        color: $colorWhite,\r\n        textDecorator: \"none\",\r\n      },\r\n    },\r\n    anchorDownload: {\r\n      display: \"flex\",\r\n      flexDirection: \"row-reverse\",\r\n      marginRight: \"10px\",\r\n    },\r\n    customCarouselBtn: {\r\n      width: \"130px\",\r\n      height: $fiftyPx,\r\n      [theme.breakpoints.down(\"sm\")]: {\r\n        fontSize: \"7pt\",\r\n        width: \"80px !important\",\r\n        height: \"28px !important\",\r\n      },\r\n    },\r\n    customCarouselBtnMobile: {\r\n      fontSize: \"8pt\",\r\n      width: \"80px !important\",\r\n      height: \"28px !important\",\r\n    },\r\n    btnFilter: {\r\n      fontSize: \"13px\",\r\n      color: $blue,\r\n      background: \"transparent\",\r\n      border: \"none\",\r\n      boxShadow: \"none\",\r\n      \"&:hover\": {\r\n        background: \"transparent\",\r\n        border: \"none\",\r\n        boxShadow: \"none\",\r\n      },\r\n    },\r\n\r\n    /************************** Filters Cartilla ****************************/\r\n    buttonsHeadersFilter: {\r\n      backgroundColor: `${$tolightgray} !important`,\r\n      background: \"none !important\",\r\n      borderRadius: $thirtyPx,\r\n      height: $fortyPx,\r\n      width: $oneHundredPercentImportant,\r\n      display: $flexImportant,\r\n      alignItems: $centerImportant,\r\n      justifyContent: $centerImportant,\r\n      boxShadow: `${$boxShadowButtons} !important`,\r\n    },\r\n\r\n    textBtnFilter: {\r\n      color: `${$blue} !important`,\r\n      textAlign: $centerImportant,\r\n      fontFamily: `${$arialSansSerif} !important`,\r\n      fontWeight: $fontBold,\r\n      alignItems: $centerImportant,\r\n      justifyContent: $centerImportant,\r\n      borderRadius: \"30px\",\r\n      backgroundColor: $tolightgray,\r\n      boxShadow: $boxShadowButtons,\r\n      \"&>div.MuiInputBase-root\": {\r\n        paddingRight: $fiftyFivePx,\r\n        paddingLeft: \"17px !important\",\r\n        fontSize: \"13px !important\",\r\n        color: $blue,\r\n        \"&>input\": {\r\n          textAlign: \"center\",\r\n        },\r\n        \"&>fieldset>legend\": {\r\n          width: $zeroPx,\r\n        },\r\n      },\r\n      \"&>.MuiInputLabel-outlined\": {\r\n        fontSize: $twelve,\r\n        color: `${$blue} !important`,\r\n        textAlign: $centerImportant,\r\n        fontFamily: `${$arialSansSerif} !important`,\r\n        transform: \"none !important\",\r\n        fontWeight: $fontBold,\r\n        top: $autoImportant,\r\n        overflow: \"hidden\",\r\n        left: $autoImportant,\r\n        textOverflow: \"ellipsis\",\r\n        maxWidth: \"86%\",\r\n        whiteSpace: \"nowrap\",\r\n      },\r\n      \"&>.MuiFormHelperText-root.Mui-error\": {\r\n        top: \"42px !important\",\r\n        position: $absoluteImportant,\r\n      },\r\n      \"&>.MuiOutlinedInput-root\": {\r\n        borderRadius: $thirtyPx,\r\n      },\r\n      \"&>.MuiInputBase-fullWidth\": {\r\n        height: $oneHundredPercentImportant,\r\n        \"&.MuiInputBase-fullWidth > svg.MuiSelect-icon.MuiSelect-iconOutlined\":\r\n        {\r\n          display: \"none !important\",\r\n        },\r\n      },\r\n      \"&>.MuiInputLabel-outlined.MuiInputLabel-shrink\": {\r\n        display: \"none\",\r\n      },\r\n      \"&>.MuiOutlinedInput-adornedEnd  > div > button\": {\r\n        color: $colorTransparent,\r\n      },\r\n      \"&>.Mui-focused > fieldset.MuiOutlinedInput-notchedOutline\": {\r\n        border: \"none !important\",\r\n        \"&:focus\": {\r\n          border: \"none !important\",\r\n        },\r\n      },\r\n    },\r\n    sendButton: {\r\n      height: \"35px !important\",\r\n      fontSize: $twelve,\r\n      width: \"240px !important\",\r\n    },\r\n\r\n    divFilterBtn: {\r\n      margin: \"0 40px\",\r\n      flex: \"1 1 50%\",\r\n      justifyContent: \"center\",\r\n      display: \"flex\",\r\n      [theme.breakpoints.down(1326)]: {\r\n        padding: `10px ${$tenPx}`,\r\n      },\r\n      [theme.breakpoints.down(960)]: {\r\n        flex: \"1 1 36% !important\",\r\n      },\r\n      [theme.breakpoints.down(680)]: {\r\n        flex: \"1 1 52% !important\",\r\n      },\r\n    },\r\n    disableTextField: {\r\n      pointerEvents: \"none\",\r\n      opacity: \"0.5\",\r\n      backgroundColor: '#ffffff!important',\r\n      boxShadow: \"0px 2px 8px 0 #cdcdcd\",\r\n    },\r\n    enableTextField: {\r\n      pointerEvents: \"auto\",\r\n      opacity: \"1\",\r\n      backgroundColor: '#ffffff!important',\r\n      boxShadow: \"0px 2px 8px 0 #cdcdcd\",\r\n    },\r\n\r\n    /***********************************************************************************/\r\n    // Carousel\r\n    paddingCarousel: {\r\n      padding: \"15px 2% 0 2%\",\r\n      backgroundColor: \"white\",\r\n    },\r\n    carousel: {\r\n      height: \"350px\",\r\n      borderRadius: \"40px\",\r\n      \"&>div\": {\r\n        height: $oneHundredPercent,\r\n        \"&>div\": {\r\n          height: $oneHundredPercent,\r\n        },\r\n      },\r\n    },\r\n    carouselMobile: {\r\n      height: \"27vh\",\r\n      marginTop: \"45px\",\r\n    },\r\n\r\n    // Carousel Item\r\n    carouselText: {\r\n      fontFamily: \"arial\",\r\n      fontSize: \"2.5rem\",\r\n      fontWeight: \"bold\",\r\n      color: \"#002856\",\r\n      marginBottom: \"10px\",\r\n      [theme.breakpoints.down(\"sm\")]: {\r\n        fontSize: \"19pt\",\r\n      },\r\n    },\r\n    carouselTextMobile: {\r\n      fontSize: \"9pt !important\",\r\n    },\r\n    carouselItem: {\r\n      width: $oneHundredPercent,\r\n      height: $oneHundredPercent,\r\n      backgroundSize: \"100% 100%\",\r\n      backgroundRepeat: \"no-repeat\",\r\n      borderRadius: \"20px\",\r\n      display: \"flex\",\r\n      backgroundPosition: $centerCenter,\r\n      objectFit: \"cover\",\r\n    },\r\n    carouselItemMobile: {\r\n      height: \"27vh\",\r\n    },\r\n    carouselContainer: {\r\n      alignSelf: \"end\",\r\n      [theme.breakpoints.up(\"md\")]: {\r\n        paddingLeft: $zeroPx,\r\n        marginLeft: \"10px !important\",\r\n      },\r\n    },\r\n    carouselContainerMobile: {\r\n      marginLeft: \"8%\",\r\n    },\r\n    displayFlex: {\r\n      display: \"flex\",\r\n    },\r\n\r\n    marginTop: {\r\n      marginTop: \"30px\",\r\n    },\r\n    divSecndBtn: {\r\n      marginLeft: \"35px\",\r\n      [theme.breakpoints.down(\"sm\")]: {\r\n        marginLeft: \"5%\",\r\n      },\r\n    },\r\n    // Btn 'Ver Mas'\r\n    txtBtnShowMore: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"14.5px\",\r\n      fontWeight: \"800\",\r\n      color: \"#0075C9\",\r\n    },\r\n    // No content to show:\r\n    noContent: {\r\n      display: \"flex\",\r\n      justifyContent: \"center\",\r\n      alignSelf: \"start\",\r\n      color: \"#0075C9\",\r\n    },\r\n\r\n    // News Tabs\r\n    newsTabs: {\r\n      flexGrow: 1,\r\n      boxShadow: $bottomBoxShadow,\r\n      position: \"absolute\",\r\n      right: 0,\r\n    },\r\n\r\n    tabsHomeWeb: {\r\n      width: \"80%\",\r\n      [theme.breakpoints.down(940)]: {\r\n        width: \"70%\",\r\n      },\r\n    },\r\n\r\n    selected: {\r\n      opacity: 1,\r\n      borderRadius: \"20px\",\r\n      background: \"linear-gradient(90deg, #0075C9, #54C0E8 100%)\",\r\n      color: $colorWhite,\r\n      boxShadow: $boxShadowButtons,\r\n    },\r\n    colorTab: {\r\n      color: \"#0075C9\",\r\n      fontWeight: 700,\r\n      fontFamily: \"sans-serif\",\r\n      minWidth: \"9.5% !important\",\r\n      borderRadius: \"40px\",\r\n      marginBottom: \"10px\",\r\n      textTransform: \"none\",\r\n      marginLeft: \"40px\",\r\n      marginRight: \"40px\",\r\n      [theme.breakpoints.down(970)]: {\r\n        margin: \"0 15px\"\r\n      },\r\n    },\r\n    navTabs: {\r\n      padding: \"10px 0 0 0\",\r\n      \"&>div\": {\r\n        padding: \"5px 0px\",\r\n      },\r\n      \"&>div>span.MuiTabs-indicator\": {\r\n        backgroundColor: $colorWhite,\r\n      },\r\n    },\r\n    tabMobile: {\r\n      minWidth: \"42% !important\",\r\n      minHeight: \"38px\",\r\n    },\r\n    paddingTopNews: {\r\n      paddingTop: \"90px\",\r\n      maxWidth: $oneHundredPercent,\r\n      // padding para flex container\r\n      paddingLeft: \"0px\",\r\n      paddingRight: \"0px\",\r\n      [theme.breakpoints.down(769)]: {\r\n        paddingTop: $zeroPx,\r\n      }\r\n    },\r\n\r\n    // Item Tabs\r\n    itemTab: {\r\n      color: \"#0075C9\",\r\n      fontWeight: 700,\r\n      fontFamily: \"sans-serif\",\r\n      minWidth: \"25% !important\",\r\n    },\r\n\r\n    // Grid News Items\r\n    gridNewsItems: {\r\n      margin: \"12px\",\r\n      padding: $zeroPx,\r\n      borderRadius: \"20px\",\r\n      boxShadow: \"1px 12px 20px grey\",\r\n    },\r\n    homeCardPhoto: {\r\n      \"&>ul>li\": {\r\n        height: $autoImportant,\r\n      },\r\n    },\r\n    /******************** Lista en una línea *************************/\r\n    newsRoot: {\r\n      display: \"flex\",\r\n      justifyContent: \"space-around\",\r\n      flexWrap: \"wrap\",\r\n      overflow: \"hidden\",\r\n      height: $fitContent,\r\n    },\r\n\r\n    gridList: {\r\n      flexWrap: \"nowrap\",\r\n      transform: \"translate>(0)\",\r\n      width: $oneHundredPercent,\r\n      height: \"auto\",\r\n      [theme.breakpoints.down(\"md\")]: {\r\n        flexWrap: \"wrap\",\r\n        height: $fitContent,\r\n      },\r\n      [theme.breakpoints.up(\"md\")]: {\r\n        paddingLeft: \"20px\",\r\n      },\r\n      \"&>li\": {\r\n        height: \"215px !important\",\r\n        fontWeight: \"bold\",\r\n        margin: \"10px\",\r\n        borderRadius: \"30px\",\r\n        boxShadow: $boxShadowCards,\r\n        flexBasis: \"auto\",\r\n        flexGrow: \"0\",\r\n        width: $twentyThreePerCent,\r\n        padding: $zeroPx,\r\n        [theme.breakpoints.only(\"md\")]: {\r\n          width: \"30.33% !important\",\r\n        },\r\n        [theme.breakpoints.only(\"lg\")]: {\r\n          // flexGrow: 0,\r\n          width: $twentyThreePerCent,\r\n        },\r\n        [theme.breakpoints.down(946)]: {\r\n          //  flexGrow: 1,\r\n          width: \"47% !important\",\r\n        },\r\n        [theme.breakpoints.down(634)]: {\r\n          //  flexGrow: 1,\r\n          width: $ninetyFivePerCent,\r\n        },\r\n        [theme.breakpoints.down(\"sm\")]: {\r\n          flexGrow: 1,\r\n        },\r\n        \"&>div\": {\r\n          borderRadius: \"30px\",\r\n        },\r\n      },\r\n    },\r\n\r\n    titleBar: {\r\n      color: \"white\",\r\n    },\r\n    /**********************************************************/\r\n\r\n    // Spacing Lg 3:\r\n    gridLg3: {\r\n      flexGrow: 0,\r\n      flexBasis: \"23%\",\r\n      maxWidth: \"25%\",\r\n    },\r\n\r\n    // Individual New article:\r\n    newCard: {\r\n      borderRadius: \"20px\",\r\n    },\r\n    media: {\r\n      display: \"flex\",\r\n      height: \"210px\",\r\n      borderRadius: \"20px\",\r\n      backgroundSize: \"cover\",\r\n      backgroundRepeat: \"no-repeat\",\r\n      alignItems: \"flex-end\",\r\n    },\r\n    cardContent: {\r\n      width: $oneHundredPercent,\r\n      height: \"38%\",\r\n      padding: `0px 0px 0px ${$zeroPx}`,\r\n      alignSelf: \"flex-end\",\r\n      backgroundColor: \"#0075C9\",\r\n      opacity: \"0.7\",\r\n    },\r\n    cardAction: {\r\n      position: \"absolute\",\r\n      padding: \"1px 0 0 8px\",\r\n    },\r\n    cardActionTitle: {\r\n      padding: \"5px 0 30px 10px\",\r\n    },\r\n\r\n    mediaPair: {\r\n      backgroundColor: \"#002856 !important\",\r\n      opacity: \"0.7\",\r\n      height: \"38%\",\r\n    },\r\n\r\n    //Accordion Buttons Phones\r\n    headingBPhones: {\r\n      color: \"#0075C9\",\r\n      fontWeight: \"700\",\r\n      fontSize: \"16px\",\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"11px\",\r\n      },\r\n      \"@media only screen and (min-width:600px) and (max-width: 960px)\": {\r\n        fontSize: \"12px\",\r\n      },\r\n    },\r\n\r\n    headingTextBPhone: {\r\n      color: $darkgray,\r\n      fontWeight: \"600\",\r\n      fontSize: \"17px\",\r\n      textAlign: \"center\"\r\n    },\r\n\r\n    telBPhone: {\r\n      color: $blue,\r\n      fontWeight: \"600\",\r\n      fontSize: \"16px\",\r\n      textDecoration: \"none !important\",\r\n    },\r\n\r\n    textBPhones: {\r\n      color: \"#002856\",\r\n      fontWeight: \"600\",\r\n      paddingTop: $zeroPx,\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"11px\",\r\n      },\r\n      [theme.breakpoints.between(\"sm\", \"md\")]: {\r\n        fontSize: \"12px\",\r\n      },\r\n    },\r\n\r\n    accordionItem: {\r\n      display: \"flex\",\r\n      flexDirection: \"column\",\r\n      alignItems: \"center\",\r\n      margin: \"20px !important\",\r\n      background: $tolightgray,\r\n      boxShadow: \"0 6px 6px -6px #585858 !important\",\r\n      borderRadius: \"20px !important\",\r\n      width: \"350px\",\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        borderRadius: $fiftyPx,\r\n        background: $tolightgray,\r\n        marginBottom: \"20px\",\r\n      },\r\n      '&>.MuiButtonBase-root': {\r\n        cursor: \"default !important\",\r\n      }\r\n    },\r\n\r\n    contentRegister: {\r\n        position: 'absolute',\r\n        left: '0',\r\n        height: '160%',\r\n        paddingLeft: '0',\r\n    },\r\n\r\n    // Page Useful Phones\r\n    boxUsefulPhones: {\r\n      paddingTop: $zeroPx,\r\n      [theme.breakpoints.down(960)]: {\r\n        backgroundColor: $colorTransparent,\r\n        color: $whiteColor,\r\n      },\r\n      [theme.breakpoints.up(960)]: {\r\n        background: $whiteColor,\r\n        color: $whiteColor,\r\n        marginLeft: '50%',\r\n        left: '0',\r\n        width: $oneHundredPercent,\r\n        height: $oneHundredPercent,\r\n        zIndex: '10000',\r\n      },\r\n    },\r\n\r\n    imgUsefulPhones: {\r\n      height: $oneHundredPercent,\r\n      width: $oneHundredPercent,\r\n      minHeight: \"800px\",\r\n      [theme.breakpoints.down(960)]: {\r\n        background: '#fff'\r\n      },\r\n    },\r\n\r\n    boxUsefulPhones2: {\r\n      paddingLeft: \"2.5em !important\",\r\n      paddingRight: \"2.5em !important\",\r\n      zIndex: '10',\r\n      left: '0',\r\n      height: $oneHundredPercent,\r\n      [theme.breakpoints.down(960)]: {\r\n        paddingLeft: \"0.5em !important\",\r\n        paddingRight: \"0.5em !important\",\r\n        width: $oneHundredPercentImportant,\r\n        position: \"absolute\",\r\n        height: '100vh'\r\n      },\r\n    },\r\n    gridButtons: {\r\n      [theme.breakpoints.down(960)]: {\r\n        position: \"fixed\",\r\n      }\r\n    },\r\n    opacityImg: {\r\n      [theme.breakpoints.down(960)]: {\r\n        height: \"100vh\",\r\n        width: $oneHundredPercent,\r\n        position: \"absolute\",\r\n        backgroundColor: \"#0075C9\",\r\n        opacity: \"0.6\",\r\n      },\r\n    },\r\n\r\n    titleUsefulPhones: {\r\n      color: \"#002856\",\r\n      fontFamily: \"Arial\",\r\n      fontWeight: \"600\",\r\n      fontSize: \"28px\",\r\n      paddingTop: \"30px\",\r\n      textAlign: \"center\",\r\n      [theme.breakpoints.down(768)]: {\r\n        textAlign: \"center\",\r\n        fontSize: \"36px\",\r\n        paddingTop: \"30px\",\r\n        color: $whiteColor,\r\n      },\r\n      [theme.breakpoints.down(960)]: {\r\n        textAlign: \"center\",\r\n        fontSize: \"38px\",\r\n        paddingTop: \"30px\",\r\n        color: $whiteColor,\r\n      },\r\n    },\r\n\r\n    titlePhoneFix: {\r\n      color: $blue,\r\n      fontWeight: \"600\",\r\n      fontSize: \"28px\",\r\n      paddingTop: \"30px\",\r\n      paddingLeft: \"30px\",\r\n    },\r\n\r\n    paragraphUsefulPhones: {\r\n      paddingTop: \"10px\",\r\n      paddingBottom: \"20px\",\r\n      paddingLeft: \"30px\",\r\n      color: $darkgray,\r\n      fontSize: \"18px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingTop: \"30px\",\r\n        paddingRight: \"20px\",\r\n        fontSize: \"16px\",\r\n      },\r\n      [theme.breakpoints.down(380)]: {\r\n        paddingLeft: \"20px\",\r\n        fontSize: \"15px\",\r\n      },\r\n    },\r\n\r\n    accordionButton: {\r\n      display: \"flex\",\r\n      flexWrap: \"wrap\",\r\n      justifyContent: \"center\",\r\n      marginLeft: \"10%\",\r\n      marginRight: \"10%\",\r\n      [theme.breakpoints.up(1800)]: {\r\n        marginLeft: \"15%\",\r\n        marginRight: \"15%\",\r\n      },\r\n      [theme.breakpoints.up(2010)]: {\r\n        marginLeft: \"20%\",\r\n        marginRight: \"20%\",\r\n      },\r\n      [theme.breakpoints.up(2250)]: {\r\n        marginLeft: \"25%\",\r\n        marginRight: \"25%\",\r\n      },\r\n      [theme.breakpoints.down(1255)]: {\r\n        marginLeft: \"0%\",\r\n        marginRight: \"0%\",\r\n      },\r\n    },\r\n\r\n\r\n    /************ Card Medical Records ********************/\r\n\r\n\r\n    buttonZoneSection: { \r\n      display: 'flex', \r\n      alignItems: 'flex-end', \r\n      justifyContent: 'flex-end',\r\n       flex: 1 \r\n      },\r\n\r\n    buttonZoneContainer: { \r\n      marginLeft: '10px', \r\n      alignItems: 'center', \r\n      marginBottom: 'auto' \r\n    },\r\n\r\n    buttonZoneContainerCalendarProfileMedical: {\r\n      marginLeft: '10px',\r\n      alignItems: 'center',\r\n      marginBottom: 'auto',\r\n      display: 'flex',\r\n      alignItems: 'flex-end',\r\n      justifyContent: 'flex-start',\r\n      flex: '0 0 45%',\r\n      flexDirection: 'column',\r\n        [theme.breakpoints.between(767, 1215)]: {\r\n          flex: '0 0 40%',\r\n        },\r\n        [theme.breakpoints.down(321)]: {\r\n          flex: '0 0 100%',\r\n          flexDirection: 'row',\r\n          justifyContent: $spaceBetween,\r\n          alignItems: 'center'\r\n        },\r\n    },\r\n\r\n\r\n    butonDownloading: {\r\n      marginTop: \"70px\",\r\n      width: \"100%\", \r\n      fontSize: \"0.5rem\",   \r\n      fontWeight: '800'\r\n    },\r\n    \r\n    LocationCityIcon: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      backgroundColor: $blue,\r\n      float: \"right\",\r\n    },\r\n\r\n    LocationCityIconMedical: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      backgroundColor: $blue,\r\n      float: \"right\",\r\n      marginLeft: \"-25px\",\r\n    },\r\n\r\n    LocationCityIconDetailPatient: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      backgroundColor: $blue,\r\n      float: \"right\",\r\n      marginLeft:\"20px\",\r\n      marginTop:\"10px\",\r\n    },\r\n\r\n    IconTimeOutPatientAgenda: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      fontSize: \"40px\",\r\n      backgroundColor: $blue,\r\n      marginTop: \"5px\", \r\n      marginBottom: \"15px\", \r\n      display: \"flex\",\r\n      justifyContent: \"center\",\r\n      alignItems: \"center\", \r\n      margin: \"0 auto\", \r\n      position: \"relative\",\r\n      [theme.breakpoints.down(768)]: {\r\n          color: \"white\",\r\n          borderRadius: \"20px\",\r\n          fontSize: \"30px\",\r\n          backgroundColor: $blue,\r\n          marginTop: \"50px\", \r\n          marginBottom: \"10px\", \r\n          display: \"flex\",\r\n          justifyContent: \"center\",\r\n          alignItems: \"center\",\r\n      }\r\n    },\r\n    \r\n  \r\n  txtIconTimeOutPatientAgenda: {\r\n    display: 'flex',\r\n    padding: '2%',\r\n    flexDirection: 'column', \r\n    justifyContent: 'center',\r\n    alignItems: 'center',\r\n    textAlign: 'center', \r\n    width: '100%', \r\n  },\r\n  \r\n\r\n    card: {\r\n      backgroundColor: $lightgray,\r\n      borderRadius: \"30px\",\r\n      margin: \"10px\",\r\n      [theme.breakpoints.up(\"md\")]: {\r\n        maxWidth: \"340px\",\r\n      },\r\n      [theme.breakpoints.down(1366)]: {\r\n        margin: '5px'\r\n      }\r\n    },\r\n    iconsCards: {\r\n      display: \"flex\",\r\n      flexDirection: \"column\",\r\n      alignItems: \"center\",\r\n    },\r\n    addListCardMobile: {\r\n      flexDirection: \"column !important\",\r\n      marginLeft: \"0px\",\r\n      marginRight: \"0px\",\r\n    },\r\n    addListCard: {\r\n      marginLeft: $twentyFivePx,\r\n      marginRight: $twentyFivePx,\r\n    },\r\n    imageListChildren: {\r\n      '&>div': {\r\n        width: '95%'\r\n      },\r\n      paddingTop: '20px',\r\n      gridTemplateColumns: 'repeat(1, 1fr)',\r\n      [theme.breakpoints.up(1000)]: {\r\n        gridTemplateColumns: 'repeat(2, 1fr)',\r\n      },\r\n      [theme.breakpoints.up(1650)]: {\r\n        gridTemplateColumns: 'repeat(3, 1fr)',\r\n      },\r\n      [theme.breakpoints.up(2500)]: {\r\n        gridTemplateColumns: 'repeat(5, 1fr)',\r\n      },\r\n    },\r\n    /*****************************************************/\r\n    closeModal: {\r\n      zIndex: 1,\r\n      padding: \"5px\",\r\n      position: \"absolute\",\r\n      right: \"0\",\r\n      top: \"0\",\r\n      color: $blue,\r\n      backgroundColor: $whiteColor,\r\n      border: \"1px solid #0075C9\",\r\n      cursor: \"pointer\",\r\n    },\r\n    /*Modal Profile */\r\n    closeButton: {\r\n      padding: \"5px\",\r\n      position: \"absolute\",\r\n      right: \"0\",\r\n      top: \"0\",\r\n      color: $blue,\r\n      backgroundColor: $whiteColor,\r\n      border: \"1px solid #0075C9\",\r\n      [theme.breakpoints.down(\"sm\")]: {\r\n        display: \"none\",\r\n      },\r\n    },\r\n    contentDialogTitle: {\r\n      margin: 0,\r\n      padding: theme.spacing(2),\r\n      backgroundColor: $blue,\r\n      color: $whiteColor,\r\n    },\r\n    contentDialogModalRegisterProfile: {\r\n      margin: 0,\r\n      padding: theme.spacing(1),\r\n      backgroundColor: $blue,\r\n      color: $whiteColor,\r\n    },\r\n    titleDialogTitle: {\r\n      fontSize: \"13px !important\",\r\n    },\r\n    subTitleDialogTitle: {\r\n      fontSize: \"15px !important\",\r\n    },\r\n    subParagraphDialog: {\r\n      fontSize: \"11px\",\r\n    },\r\n    paragraphDialog: {\r\n      fontSize: $elevenPx,\r\n    },\r\n    linkDialog: {\r\n      fontSize: $elevenPx,\r\n      color: $lightblue,\r\n      cursor: \"pointer\",\r\n    },\r\n    titleDialogContent: {\r\n      color: $blue,\r\n      fontSize: \"13px\",\r\n      fontWeight: \"600\",\r\n    },\r\n    paddingContent: {\r\n      zIndex: 0,\r\n      padding: \"0 !important\",\r\n      borderRadius: \"15px\",\r\n    },\r\n\r\n    infoButtonModal: {\r\n      whiteSpace: \"nowrap\",\r\n      fontSize: \"12px\",\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      alignItems: \"center\",\r\n      justifyContent: \"space-around\",\r\n    },\r\n\r\n    /**********************************************************/\r\n\r\n    /**************** BANNER ************************/\r\n    imageBanner: {\r\n      margin: \"20px\",\r\n      height: $oneHundredPercentImportant,\r\n      borderRadius: \"20px\",\r\n      overflow: $hiddenImportant,\r\n      boxShadow: $bottomBoxShadow,\r\n      gridTemplateColumns: \"none !important\",\r\n      [theme.breakpoints.down(600)]: {\r\n        display: \"none\",\r\n      },\r\n    },\r\n    titleBanner: {\r\n      \"&>div>div\": {\r\n        fontSize: \"22px !important\",\r\n        fontWeight: \"600\",\r\n      },\r\n    },\r\n    /****************************************/\r\n\r\n    /******************CARDPHOTO*********************/\r\n    imageListCard: {\r\n      display: $flexImportant,\r\n      flexWrap: \"nowrap\",\r\n      transform: \"translate(0)\",\r\n      width: $oneHundredPercent,\r\n      height: \"262px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        flexWrap: \"wrap\",\r\n        height: $fitContent,\r\n        justifyContent: \"center\",\r\n      },\r\n      [theme.breakpoints.up(\"md\")]: {\r\n        paddingLeft: \"20px\",\r\n      },\r\n      \"&>li\": {\r\n        zIndex: \"1\",\r\n        height: \"215px !important\",\r\n        fontWeight: \"bold\",\r\n        margin: \"0 10px 10px 10px\",\r\n        borderRadius: \"30px\",\r\n        boxShadow: $boxShadowCards,\r\n        flexBasis: \"auto\",\r\n        flexGrow: \"0\",\r\n        width: $twentyThreePerCent,\r\n        padding: $zeroPx,\r\n        flexShrink: \"0\",\r\n        [theme.breakpoints.up(1000)]: {\r\n          // flexGrow: 0,\r\n          width: \"450px !important\",\r\n        },\r\n        [theme.breakpoints.down(1000)]: {\r\n          //  flexGrow: 1,\r\n          width: \"450px !important\",\r\n        },\r\n        [theme.breakpoints.down(770)]: {\r\n          //  flexGrow: 1,\r\n          width: $ninetyFivePerCent,\r\n          marginLeft: $zeroPx,\r\n          marginRight: $zeroPx,\r\n          minWidth: \"270px\",\r\n          maxWidth: \"510px\",\r\n          flexGrow: $zeroPx,\r\n        },\r\n        \"&>div\": {\r\n          borderBottomLeftRadius: \"30px\",\r\n          borderBottomRightRadius: \"30px\",\r\n        },\r\n        \"&>img\": {\r\n          borderRadius: \"30px\",\r\n          [theme.breakpoints.down(770)]: {\r\n            objectFit: \"fill !important\",\r\n            objectPosition: \"center\",\r\n          },\r\n        },\r\n      },\r\n    },\r\n\r\n    titleImageListCard: {\r\n      backgroundColor: \"#002856 !important\",\r\n      opacity: \"0.7\",\r\n      height: \"38%\",\r\n      \"&>div>div\": {\r\n        fontSize: $eighteenPx,\r\n        fontWeight: \"600\",\r\n      },\r\n    },\r\n    btnTextCardPhoto: {\r\n      paddingTop: \"15px\",\r\n      color: \"white\",\r\n      fontWeight: \"bold\",\r\n      [theme.breakpoints.down(400)]: {\r\n        paddingTop: \"0px\",\r\n      },\r\n    },\r\n\r\n    /****************************************/\r\n\r\n    /************ Open Dialog Activities *******************/\r\n    titleDialogActivities: {\r\n      paddingTop: \"12px\",\r\n      fontSize: \"20px !important\",\r\n    },\r\n    openDialogActivities: {\r\n      color: $whiteColor,\r\n    },\r\n    paragraphActivities: {\r\n      fontSize: \"18px\",\r\n      marginBottom: \"15px\",\r\n    },\r\n\r\n    cardMobile: {\r\n      color: $darkblue,\r\n      backgroundColor: $lightgray,\r\n      position: \"relative\",\r\n      height: \"350px !important\",\r\n      overflow: \"scroll\",\r\n      width: $oneHundredPercentImportant,\r\n      paddingLeft: \"20px !important\",\r\n      paddingRight: \"20px !important\",\r\n      borderBottomLeftRadius: \"40px\",\r\n      borderBottomRightRadius: \"40px\",\r\n      bottom: \"28px\",\r\n      paddingTop: $eighteenPx,\r\n    },\r\n\r\n    homeNewsAndActivitiesCard: {\r\n      color: \"#002858 !important\",\r\n      backgroundColor: $lightgray,\r\n    },\r\n\r\n    closeActivitiesButton: {\r\n      padding: \"5px\",\r\n      position: \"absolute\",\r\n      right: \"0\",\r\n      top: \"0\",\r\n      color: $darkblue,\r\n      backgroundColor: $lightgray,\r\n      border: \"1px solid #002858\",\r\n      [theme.breakpoints.down(\"sm\")]: {\r\n        display: \"none\",\r\n      },\r\n    },\r\n    /****************************************/\r\n\r\n    /************Mapa */\r\n\r\n    customBtnMaps: {\r\n      alignSelf: \"left\",\r\n      padding: \"14px\",\r\n      textOverflow: \"ellipsis\",\r\n      overflow: \"hidden\",\r\n      whiteSpace: \"nowrap\",\r\n      height: \"27px\",\r\n      width: \"90px\",\r\n      fontSize: \"8px\",\r\n      fontWeight: \"500\",\r\n      marginTop: \"-15px\",\r\n      marginButton: \"20px\",\r\n    },\r\n\r\n    PhoneIcon: {\r\n      color: \"white\",\r\n      width: \"70px\",\r\n      borderRadius: \"20px\",\r\n      padding: \"5px\",\r\n      alignSelf: \"center\",\r\n      fontSize: \"8px\",\r\n      marginRight: \"7px\",\r\n      background: $lightLinearGradientReverse,\r\n      height: \"27px\",\r\n      textOverflow: \"ellipsis\",\r\n      whiteSpace: \"nowrap\",\r\n      boxShadow: $boxShadowButtons,\r\n      fontWeight: \"600\",\r\n    },\r\n\r\n    /*****Sedes */\r\n    LocationCity: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      backgroundColor: $darkblue,\r\n    },\r\n\r\n    txtTitlebranchOffice: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"20px\",\r\n      color: \"#0075C9\",\r\n      marginLeft: \"10PX\",\r\n    },\r\n\r\n    cardStyle: {\r\n      maxWidth: $oneHundredPercent,\r\n      paddingLeft: \"0px\",\r\n      paddingRight: \"0px\",\r\n    },\r\n    paddingCard: {\r\n      paddingTop: \"00px\",\r\n    },\r\n    paddingCardMobile: {\r\n      paddingTop: \"90px\",\r\n    },\r\n\r\n    custombtn: {\r\n      height: \"27px\",\r\n      alignSelf: \"center\",\r\n      padding: \"14px\",\r\n      textOverflow: \"ellipsis\",\r\n      overflow: \"hidden\",\r\n      whiteSpace: \"nowrap\",\r\n    },\r\n\r\n\r\n    /*****TURNO************ */\r\n    containerOpenAskTurn: {\r\n      width: $oneHundredPercent,\r\n      display: \"flex\",\r\n      flexDirection: \"column\",\r\n      flexWrap: \"wrap\",\r\n      paddingTop: \"140px\",\r\n      marginLeft: `${$drawerWidth}px !important`,\r\n      [theme.breakpoints.down(\"md\")]: {\r\n        display: \"none\"\r\n      },\r\n    },\r\n    headerOpenAskTurn: {\r\n      position: \"fixed !important\",\r\n    },\r\n\r\n    headerFixTurn: {\r\n      position: \"relative\",\r\n      zIndex: \"1\",\r\n      width: $oneHundredPercent,\r\n      backgroundColor: \"white\",\r\n      [theme.breakpoints.down(550)]: {\r\n        position: \"fixed\"\r\n      }\r\n    },\r\n    paddingTurnMobile: {\r\n      [theme.breakpoints.down(550)]: {\r\n        paddingTop: \"140px\"\r\n      }\r\n    },\r\n\r\n    cardAppointment: {\r\n      backgroundColor: $lightgray,\r\n      borderRadius: $thirtyPx,\r\n      margin: \"10px\",\r\n      width: \"90%\"\r\n\r\n    },\r\n    headerSecundary: {\r\n      marginTop: \"20px\",\r\n      justifyContent: $spaceBetween,\r\n      display: \"flex\"\r\n    },\r\n    txtSubtitleCalendar: {\r\n      color: $blue,\r\n      fontSize: \"12px\",\r\n      fontWeight: \"bold\",\r\n      textAlign: \"left\",\r\n    },\r\n\r\n    txtFilter: {\r\n      color: $blue,\r\n      fontSize: \"10px\",\r\n      fontWeight: \"bold\",\r\n      textAlign: \"left\",\r\n    },\r\n    txtNumberCalendar: {\r\n      color: \"#FFF\",\r\n      fontSize: \"30px\",\r\n      fontWeight: \"bold\",\r\n      textAlign: \"center\",\r\n\r\n    },\r\n    txtCalendar: {\r\n      color: \"#FFF\",\r\n      fontSize: \"10px\",\r\n      textAlign: \"center\",\r\n\r\n    },\r\n    FavoriteIcon: {\r\n      color: \"red\",\r\n    },\r\n\r\n    iconPositionFavorite: {\r\n      position: \"absolute\",\r\n    },\r\n\r\n    txtTitleAppointment: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"24px\",\r\n      color: \"#0075C9\",\r\n      fontWeight: \"bold\",\r\n      textAlign: \"center\",\r\n      marginTop: \"20px\"\r\n    },\r\n\r\n    buttonConfirmModal: {\r\n      marginTop: \"10px\",\r\n      marginRight: \"20px\",\r\n      width: \"20px\",\r\n      fontSize: \"12px\",\r\n      color: \"#FFF\",\r\n      boxShadow: $boxxShadow,\r\n      fontFamily: $arialSansSerif,\r\n      fontWeight: \"600\",\r\n      borderRadius: \"20px\",\r\n      '&:hover': {\r\n        color: $blue,\r\n        background: $whiteColor,\r\n        border: `2px solid ${$blue}`,\r\n      }\r\n    },\r\n\r\n    buttonNotConfirmModal: {\r\n      marginTop: \"10px\",\r\n      width: \"20px\",\r\n      fontSize: \"12px\",\r\n      boxShadow: $boxxShadow,\r\n      fontFamily: $arialSansSerif,\r\n      borderRadius: \"20px\",\r\n      fontWeight: \"600\",\r\n      backgroundColor: $whiteColor,\r\n      color: $blue,\r\n      border: `2px solid ${$blue}`,\r\n      '&:hover': {\r\n        color: $whiteColor,\r\n        background: $lightLinearGradientReverse,\r\n      }\r\n    },\r\n\r\n    imageListCardTurn: {\r\n      display: $flexImportant,\r\n      flexWrap: \"nowrap\",\r\n      transform: \"translate(0)\",\r\n      width: $oneHundredPercent,\r\n      height: $fitContent,\r\n      [theme.breakpoints.down(\"md\")]: {\r\n        flexWrap: \"wrap\",\r\n        height: $fitContent,\r\n      },\r\n      [theme.breakpoints.up(\"md\")]: {\r\n        paddingLeft: \"20px\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        alignItems: 'center'\r\n      },\r\n      \"&>li\": {\r\n        zIndex: \"1\",\r\n        height: \"200px !important\",\r\n        fontWeight: \"bold\",\r\n        margin: \"0 10px 10px 10px\",\r\n        borderRadius: \"30px\",\r\n        boxShadow: $boxShadowCards,\r\n        flexBasis: \"auto\",\r\n        flexGrow: \"0\",\r\n        padding: $zeroPx,\r\n        flexShrink: \"0\",\r\n\r\n        \"&>div\": {\r\n          borderBottomLeftRadius: \"30px\",\r\n          borderBottomRightRadius: \"30px\",\r\n        },\r\n        \"&>img\": {\r\n          borderRadius: \"30px\",\r\n        },\r\n      },\r\n    },\r\n\r\n\r\n    txtHomeAgendaMedica: {\r\n      display: 'flex', \r\n      flexDirection: 'column', \r\n      marginTop: \"-250px\" \r\n    },\r\n\r\n\r\n    txtTitleMedicalAgenda: {\r\n      justifyContent: \"center\", \r\n      display: \"flex\", \r\n      alignSelf: \"center\", \r\n      marginTop: \"90px\"\r\n    },\r\n\r\n    txtCalendarMedicalAgenda: {\r\n      justifyContent: \"center\", \r\n      display: \"flex\", \r\n      paddingTop: \"90px\", \r\n      flexDirection: \"column\",\r\n      marginBotton:\"12px\"\r\n    },\r\n\r\n\r\n    txtCardDescriptionMedicalCenter: {\r\n      fontSize: \"10px\",\r\n      fontWeight: \"bold\", \r\n      color: \"black\" \r\n    },\r\n\r\n    txtCardDescriptionMedicalAgenda: {\r\n      fontSize: \"10px\",\r\n      fontWeight: \"bold\", \r\n      color: \"black\" ,\r\n      whiteSpace: \"nowrap\",\r\n      [theme.breakpoints.down(768)]: {\r\n        fontSize: \"10px\",\r\n        fontWeight: \"bold\", \r\n        color: \"black\" ,\r\n        whiteSpace: \"normal\",\r\n      },\r\n    },\r\n\r\n    txtCardDescriptionHourTurn: {\r\n      color: '#0075c9',\r\n      whiteSpace: \"nowrap\",\r\n      [theme.breakpoints.down(768)]: {\r\n      whiteSpace: \"normal\",\r\n      },\r\n    },\r\n\r\n    txtCardDescriptionHourTurnBox: {\r\n      fontWeight: \"bold\", \r\n      color: \"#0075c9\", \r\n      fontSize:\"12px\" \r\n    },\r\n\r\n    txtCardDescriptionHourTurnDetailPatient: {\r\n      whiteSpace: \"nowrap\",\r\n      fontWeight: \"400\", \r\n      color: '#585858', \r\n      fontSize: \"12px\", \r\n      [theme.breakpoints.down(768)]: {\r\n        whiteSpace: \"normal\",\r\n        marginTop: \"10px\",\r\n        fontWeight: \"400\", \r\n        color: '#585858', \r\n        fontSize: \"12px\", \r\n      },\r\n    },\r\n\r\n    txtCardDescriptionMedicalSpecialty: {\r\n      fontSize: \"10px\",\r\n      color: \"black\" , \r\n      marginTop:\"10px\",\r\n      whiteSpace: \"nowrap\",\r\n    },\r\n\r\n    txtCardDescriptionFirstShift: {\r\n      fontSize: \"12px\",\r\n      color: \"black\",\r\n      marginTop: \"2px\",\r\n      width: \"100%\",\r\n    },\r\n\r\n    txtCardDescriptionBox: {\r\n      fontWeight: \"600\", \r\n      color: '#0075c9',\r\n    },\r\n\r\n    txtCardDescriptionBoxFirstTurnOfDay: {\r\n      color: \"black\", \r\n      marginLeft: \"5px\"\r\n    },\r\n\r\n    txtCardDescriptionBoxGetFilteredAppointments: {\r\n      color: \"black\", \r\n      marginLeft: \"5px\", \r\n      marginRight: \"5px\"\r\n    },\r\n\r\n    txtCardIconView:{\r\n      fontSize: \"12px\",\r\n      fontWeight: \"600\", \r\n      color: \"#0075c9\",\r\n      textOverflow: \"ellipsis\",\r\n      whiteSpace: \"nowrap\",\r\n      textDecoration: \"none\",\r\n      overflow: \"hidden\",\r\n    },\r\n    \r\n\r\n    txtCardDescription: {\r\n      fontSize: \"10px\",\r\n      color: \"#585858\",\r\n    },\r\n\r\n    boxHomeMedicalProfileAgenda:{\r\n      marginTop: \"5px\", \r\n      marginLeft: \"5px\",\r\n    },\r\n\r\n    txtCardDescriptionHomeMedicineShiftsTotals: {\r\n      fontSize: \"10px\",\r\n      marginLeft: \"20px\", \r\n      color: \"black\",\r\n    },\r\n\r\n    txtCardDescriptionHomeMedicalschedule: {\r\n      fontSize: \"10px\",\r\n      marginLeft: \"20px\", \r\n      fontWeight: \"600\", \r\n      color: '#0075c9', \r\n      paddingBottom: \"10px\" ,\r\n    },\r\n\r\n    txtCardDescriptionHomeMedicalDescription: {\r\n      fontSize: \"10px\",\r\n      color: \"#585858\",\r\n      marginLeft: \"20px\",\r\n       color: \"black\",\r\n       whiteSpace: \"nowrap\" ,\r\n    },\r\n\r\n    txtCardDescriptionHomeMedical: {\r\n      fontSize: \"10px\",\r\n      color: \"#585858\",\r\n      fontWeight: \"bold\", \r\n      marginLeft: \"5px\", \r\n      color: \"black\" ,\r\n    },\r\n\r\n    txtCardQuestionDesc: {\r\n      fontSize: \"12px\",\r\n      color: \"#585858\",\r\n      marginLeft: \"2.5%\",\r\n    },\r\n\r\n    txtTitleQuestion: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"16px\",\r\n      color: \"#0075C9\",\r\n      marginLeft: \"10PX\",\r\n    },\r\n\r\n    FavoriteIconRound: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      backgroundColor: $lightblue,\r\n      float: \"right\",\r\n      padding: \"4px\",\r\n    },\r\n    RecordIconRound: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      backgroundColor: $darkblue,\r\n      float: \"right\",\r\n      padding: \"4px\",\r\n    },\r\n    QuestionIconRound: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      backgroundColor: $darkgray,\r\n      float: \"right\",\r\n      padding: \"4px\",\r\n    },\r\n    NextAppointmentIconRound: {\r\n      color: \"white\",\r\n      borderRadius: \"20px\",\r\n      backgroundColor: $blue,\r\n      float: \"right\",\r\n      padding: \"4px\",\r\n    },\r\n\r\n    relative: {\r\n      position: \"relative !important\",\r\n    },\r\n    dropdown: {\r\n      flexWrap: \"wrap\",\r\n      position: \"absolute\",\r\n      zIndex: 9999,\r\n      boxShadow: $boxxShadow,\r\n      padding: theme.spacing(1),\r\n      backgroundColor: theme.palette.background.paper,\r\n      marginLeft: \"-240px\",\r\n      borderRadius: \"5px\",\r\n    },\r\n    dividerFilter: {\r\n      background: \"#CDCDCD\",\r\n      marginLeft: \"00px\",\r\n      marginRight: \"00px\",\r\n      height: \"1px\",\r\n      width: $oneHundredPercent,\r\n    },\r\n    btnFilterAppointment: {\r\n      Size: \"12px\",\r\n      fontWeight: \"bold\",\r\n      textAlign: \"center\",\r\n      color: $blue,\r\n      backgroundColor: \"#FFF\",\r\n      marginRight: \"18px\",\r\n      height: \"40px\",\r\n      fontSize: \"12px\",\r\n    },\r\n\r\n    iconFilter: {\r\n      color: $blue,\r\n    },\r\n    /*****Switch form */\r\n    formSwitch: {\r\n      width: $oneHundredPercent,\r\n      \"&>div>label\": {\r\n        justifyContent: $spaceBetween,\r\n      },\r\n    },\r\n    /*Calendar Cards*/\r\n    calendarDetail: {\r\n      border: `2px solid ${$blue}`,\r\n      backgroundColor: $tolightgray,\r\n    },\r\n\r\n    /************ASK TURN  **************/\r\n    drawerTurn: {\r\n      flexGrow: \"0\",\r\n    },\r\n\r\n    drawerPaperTurn: {\r\n      paddingTop: \"180px\",\r\n      width: `${$drawerWidth}px`,\r\n      zIndex: \"0\",\r\n      boxShadow: $boxShadowCards,\r\n      padding: \"20px\",\r\n      [theme.breakpoints.down(\"md\")]: {\r\n        width: $oneHundredPercentImportant,\r\n      },\r\n      [theme.breakpoints.down(500)]: {\r\n        paddingBottom: \"40px\",\r\n      },\r\n\r\n    },\r\n\r\n    fixAskTurn: {\r\n      display: \"flex\",\r\n      width: $oneHundredPercent,\r\n      [theme.breakpoints.down(1200)]: {\r\n        flexDirection: \"column\"\r\n      },\r\n    },\r\n\r\n    containerNewAppointment: {\r\n      padding: \"30px 50px 10px 50px\",\r\n      [theme.breakpoints.down(1200)]: {\r\n        padding: \"10px 10px 10px 10px\",\r\n      },\r\n    },\r\n\r\n    divBoxFirstTurn: {\r\n      width: \"50%\",\r\n      padding: \"30px\",\r\n      [theme.breakpoints.down(1200)]: {\r\n        width: $oneHundredPercent,\r\n        padding: \"10px 30px 10px 30px\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        width: $oneHundredPercent,\r\n      },\r\n      [theme.breakpoints.down(500)]: {\r\n        padding: \"10px\",\r\n      },\r\n    },\r\n\r\n    colorIconStepper: {\r\n      color: `#0075c9 !important`,\r\n    },\r\n\r\n    modalityTurn: {\r\n      borderRadius: \"20px\",\r\n      padding: \"20px\",\r\n      width: 'auto',\r\n      margin: '15px 0',\r\n      height: 'auto',\r\n    },\r\n\r\n    drawerContainerTurn: {\r\n      overflow: \"auto\",\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingTop: \"15px\",\r\n      },\r\n      '&::-webkit-scrollbar': {\r\n        width: 0,\r\n      },\r\n    },\r\n\r\n    wizardLine: {\r\n      borderColor: $lightgray,\r\n      borderTopWidth: \"3px\",\r\n    },\r\n\r\n    wizardLineActive: {\r\n      borderColor: $blue,\r\n      borderTopWidth: \"3px\",\r\n    },\r\n\r\n    firstStepperTurn: {\r\n      paddingTop: \"0px\",\r\n      marginLeft: \"30%\",\r\n      marginRight: \"30%\",\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingTop: \"15px\",\r\n        marginLeft: \"0%\",\r\n        marginRight: \"0%\",\r\n        '&>.MuiStep-root': {\r\n          paddingLeft: \"0px\",\r\n          paddingRight: \"0px\"\r\n        },\r\n      },\r\n    },\r\n\r\n    stepperTurn: {\r\n      paddingTop: \"0px\",\r\n      marginLeft: \"30%\",\r\n      marginRight: \"30%\",\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingTop: \"15px\",\r\n        marginLeft: \"0%\",\r\n        marginRight: \"0%\",\r\n        '&>.MuiStep-root': {\r\n          paddingLeft: \"0px\",\r\n          paddingRight: \"0px\"\r\n        },\r\n      },\r\n    },\r\n\r\n    inputAffiliate: {\r\n      height: \"40px\",\r\n      width: $oneHundredPercent,\r\n      color: `${$blue} !important`,\r\n      textAlign: $centerImportant,\r\n      fontSize: \"13px !important\",\r\n      fontFamily: `${$arialSansSerif} !important`,\r\n      fontWeight: $fontBold,\r\n      alignItems: $centerImportant,\r\n      justifyContent: $centerImportant,\r\n      borderRadius: \"30px\",\r\n      backgroundColor: $tolightgray,\r\n      boxShadow: \"0 5px 10px -6px #585858 !important\",\r\n      \"&>div.MuiInputBase-root\": {\r\n        height: $oneHundredPercent,\r\n        width: $oneHundredPercent,\r\n        color: $darkgray,\r\n        fontWeight: \"600\",\r\n        \"&>input\": {\r\n          textAlign: \"center\",\r\n          height: \"10px\",\r\n        },\r\n        \"&>fieldset>legend\": {\r\n          width: $zeroPx,\r\n        },\r\n      },\r\n      \"&>.MuiInputLabel-outlined\": {\r\n        color: `${$blue} !important`,\r\n        textAlign: $centerImportant,\r\n        fontSize: $twelve,\r\n        fontFamily: `${$arialSansSerif} !important`,\r\n        fontWeight: $fontBold,\r\n        transform: \"none !important\",\r\n        top: $autoImportant,\r\n        left: $autoImportant,\r\n        overflow: \"hidden\",\r\n        textOverflow: \"ellipsis\",\r\n        whiteSpace: \"nowrap\",\r\n        maxWidth: \"86%\",\r\n\r\n      },\r\n      \"&>.MuiFormHelperText-root.Mui-error\": {\r\n        position: $absoluteImportant,\r\n        top: \"42px !important\",\r\n      },\r\n      \"&>.MuiOutlinedInput-root\": {\r\n        borderRadius: $thirtyPx,\r\n      },\r\n      \"&>.MuiInputBase-fullWidth\": {\r\n        height: $oneHundredPercentImportant,\r\n        \"&.MuiInputBase-fullWidth > svg.MuiSelect-icon.MuiSelect-iconOutlined\":\r\n        {\r\n          display: \"none !important\",\r\n        },\r\n      },\r\n      \"&>.MuiInputLabel-outlined.MuiInputLabel-shrink\": {\r\n        display: \"none\",\r\n      },\r\n      \"&>.MuiOutlinedInput-adornedEnd  > div > button\": {\r\n        color: $colorTransparent,\r\n      },\r\n      \"&>.Mui-focused > fieldset.MuiOutlinedInput-notchedOutline\": {\r\n        border: \"none !important\",\r\n        \"&:focus\": {\r\n          border: \"none !important\",\r\n        },\r\n      },\r\n    },\r\n\r\n    afilliateSelectTurn: {\r\n      width: $fourHundredPx,\r\n      [theme.breakpoints.down(901)]: {\r\n        paddingTop: $tenPx,\r\n        paddingBottom: $eightPx,\r\n        margin: \"8px\"\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        width: $oneHundredPercentImportant,\r\n        margin: \"0px\"\r\n      },\r\n      '&>.MuiOutlinedInput-root': {\r\n        borderRadius: \"40px\",\r\n        [theme.breakpoints.down(901)]: {\r\n          margin: $zeroPx\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: $oneHundredPercentImportant,\r\n        },\r\n      }\r\n    },\r\n\r\n    deploymentSelectTurn: {\r\n      maxHeight: $threeHundredPx,\r\n      [theme.breakpoints.down(1200)]: {\r\n        top: \"360px !important\",\r\n      },\r\n      [theme.breakpoints.down(957)]: {\r\n        top: $threeHundredTenPx,\r\n        left: \"340px !important\",\r\n\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        top: \"270px !important\",\r\n        left: \"75px !important\",\r\n      },\r\n      [theme.breakpoints.down(500)]: {\r\n        left: \"20px !important\",\r\n      },\r\n      '&>ul': {\r\n        color: \"#000000\",\r\n        '&>li': {\r\n          fontWeight: $sixHundredWeight,\r\n          [theme.breakpoints.down(600)]: {\r\n            minHeight: \"auto\"\r\n          },\r\n        }\r\n      }\r\n    },\r\n\r\n    switchColor: {\r\n      \"&> .MuiSwitch-track\": {\r\n        backgroundColor: \"gray\",\r\n        border: '1px solid gray',\r\n      },\r\n      \"& .Mui-checked\": {\r\n        color: $blue,\r\n        \"& >.MuiSwitch-track\": {\r\n          backgroundColor: 'gray',\r\n          border: `1px solid ${$blue}`,\r\n        },\r\n      },\r\n      \"&> .Mui-checked+.MuiSwitch-track\": {\r\n        backgroundColor: 'gray',\r\n        border: `1px solid gray`,\r\n      },\r\n      \"& .MuiSwitch-thumb\": {\r\n        border: '1px solid gray',\r\n      },\r\n      \"& .Mui-checked .MuiSwitch-thumb\": {\r\n        border: `1px solid ${$blue}`,\r\n      },\r\n    },\r\n    txtSwitchActive: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"28px\",\r\n      color: $lightblue,\r\n    },\r\n\r\n    listItemTurn: {\r\n      display: \"flex\",\r\n      justifyContent: $spaceBetween,\r\n      alignItems: \"center\",\r\n      padding: \"0px 15px\",\r\n    },\r\n\r\n    titleAuthorization: {\r\n      marginLeft: \"1.8% !important\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        marginLeft: \"4.5% !important\",\r\n      },\r\n    },\r\n\r\n    titleTurn: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"20px\",\r\n      color: $blue,\r\n      fontWeight: 'bold',\r\n      marginTop: '15px',\r\n      paddingLeft: '20px',\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"16px\",\r\n        marginTop: '15px',\r\n      },\r\n    },\r\n    titleHomeMedicalProfileBox: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"20px\",\r\n      color: $blue,\r\n      fontWeight: \"bold\",\r\n      marginTop: \"-29px\",\r\n      marginRight: \"300px\",\r\n      height: \"30px\",    \r\n      [theme.breakpoints.between(\"860\", \"1199\")]: {\r\n        fontSize: \"18px\",  \r\n        marginTop: \"-30px\", \r\n        marginLeft: \"250px\", \r\n      },    \r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"16px\",\r\n        marginTop: \"4px\",\r\n        marginLeft: \"1.35rem\",\r\n        height: \"30px\",\r\n        marginRight: \"30px\",\r\n      },\r\n    },\r\n    \r\n    titleHomeMedicalProfileBox2: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"20px\",\r\n      color: $blue,\r\n      fontWeight: \"bold\",\r\n      marginTop: \"-29px\",\r\n      marginRight: \"300px\",\r\n      height: \"30px\",\r\n      [theme.breakpoints.between(\"860\", \"1199\")]: {\r\n        fontSize: \"18px\",  \r\n        marginTop: \"-30px\", \r\n        marginLeft: \"250px\", \r\n      },\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"16px\",\r\n        marginTop: \"4px\",\r\n        marginLeft: \"1.35rem\",\r\n        height: \"30px\",\r\n        marginRight: \"30px\",\r\n      },\r\n    },\r\n    subtitleTurn: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"16px\",\r\n      color: $blue,\r\n      fontWeight: 'bold',\r\n      marginTop: \"10px\",\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"12px\",\r\n      },\r\n    },\r\n    btnAskTurn: {\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        top: $fivePx,\r\n        height: \"20px !important\",\r\n        flex: '1 !important'\r\n      },\r\n    },\r\n    buttonsAskTurn: {\r\n      position: \"absolute\",\r\n      display: \"flex\",\r\n      right: \"20px\",\r\n      bottom: \"20px\",\r\n      top: \"100px\",\r\n      justifyContent: $spaceBetween,\r\n      flexDirection: \"column\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        right: \"0\",\r\n        top: \"5%\",\r\n        justifyContent: \"center\",\r\n        flexDirection: \"initial\",\r\n        position: \"relative\",\r\n        marginBottom: \"20px !important\",\r\n      }\r\n\r\n    },\r\n\r\n    /* Medical Center Drawer */\r\n    dividerMedicalCenter: {\r\n      background: \"#CDCDCD\",\r\n      height: \"1px\",\r\n    },\r\n    locationIcon: {\r\n      color: $blue,\r\n    },\r\n    ubicationText: {\r\n      fontWeight: \"bold\",\r\n      fontSize: \"13px\",\r\n      color: $blue,\r\n    },\r\n    accordionDrawer: {\r\n      borderRadius: $thirtyPx,\r\n      backgroundColor: $tolightgray,\r\n      \"&>div>div\": {\r\n        justifyContent: \"center\",\r\n        \"&>p\": {\r\n          color: $blue,\r\n          fontWeight: 'bold'\r\n        }\r\n      }\r\n    },\r\n    boxPointsDrawer: {\r\n      display: 'flex',\r\n      justifyContent: 'flex-start'\r\n    },\r\n    box15x15: {\r\n      width: '15px !important',\r\n      height: '15px !important',\r\n    },\r\n    boxPointsDrawer_AgendaSusp: {\r\n      backgroundColor: '#ffba3a',\r\n      height: '10px',\r\n      borderRadius: '50px',\r\n      width: '10px',\r\n      alignSelf: 'center'\r\n    },\r\n    boxPointsDrawer_TurnoTelef: {\r\n      backgroundColor: '#6bf36b',\r\n      height: '10px',\r\n      borderRadius: '50px',\r\n      width: '10px',\r\n      alignSelf: 'center'\r\n    },\r\n    boxPointsDrawer_DemandaEspon: {\r\n      backgroundColor: '#A51C30',\r\n      height: '10px',\r\n      borderRadius: '50px',\r\n      width: '10px',\r\n      alignSelf: 'center'\r\n    },\r\n    boxPointsDrawer_Seleccionado: {\r\n      backgroundColor: $blue,\r\n      borderRadius: $zeroPx\r\n    },\r\n    boxPointsDrawer_Disponible: {\r\n      backgroundColor: $lightGreen,\r\n      borderRadius: $zeroPx,\r\n    },\r\n    boxPointsDrawer_SinTurno: {\r\n      backgroundColor: $tolightgray,\r\n      borderRadius: $zeroPx\r\n    },\r\n    boxPointsDrawer_SinTurnoAgenda: {\r\n      backgroundColor: $tolightgrayMedical,\r\n      borderRadius: $zeroPx\r\n    },\r\n    boxPointsDrawer_Licencia: {\r\n      backgroundColor: 'red',\r\n      borderRadius: $zeroPx\r\n    },\r\n    colorsLegends: {\r\n      [theme.breakpoints.up(900)]: {\r\n        position: 'relative',\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        bottom: '42px',\r\n      },\r\n      paddingLeft: '27px',\r\n      [theme.breakpoints.down(500)]: {\r\n        bottom: '45px',\r\n      }\r\n    },\r\n    cancelBtn: {\r\n      backgroundColor: 'transparent',\r\n      color: 'white',\r\n      width: '20px',\r\n      height: '20px',\r\n      fontSize: '15px',\r\n      boxShadow: 'none',\r\n      borderRadius: '5px',\r\n      '&:hover': {\r\n        backgroundColor: 'white',\r\n        color: $blue,\r\n      }\r\n    },\r\n    accordionMedicalCenter: {\r\n      display: \"flex\",\r\n      justifyContent: $spaceBetween,\r\n      paddingLeft: \"30px\",\r\n      paddingRight: \"30px\",\r\n      [theme.breakpoints.down(1200)]: {\r\n        flexDirection: \"column\",\r\n      },\r\n      [theme.breakpoints.down(500)]: {\r\n        paddingLeft: \"10px\",\r\n        paddingRight: \"10px\",\r\n      }\r\n\r\n    },\r\n\r\n    /* Next Appointment Drawer  */\r\n    btnNextAppointment: {\r\n      width: $oneHundredPercent,\r\n      borderRadius: \"20px\",\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      flexWrap: \"nowrap\",\r\n      justifyContent: $spaceBetween,\r\n      background: \"#FFF\",\r\n      borderColor: \"#0075c9\",\r\n      border: \"solid\",\r\n      marginBottom: \"5px\",\r\n      color: \"#0074C9\",\r\n      '&:hover': {\r\n        background: \"#0075c9\",\r\n        '&>span>div>p': {\r\n          color: \"#FFF !important\"\r\n        },\r\n      }\r\n    },\r\n\r\n    btnHoverNextAppointment: {\r\n      width: $oneHundredPercent,\r\n      borderRadius: \"20px\",\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      flexWrap: \"nowrap\",\r\n      justifyContent: $spaceBetween,\r\n      marginBottom: \"5px\",\r\n      color: \"#FFF\",\r\n      background: \"#0074C9\",\r\n      '&:hover': {\r\n        background: \"#0075c9\",\r\n        '&>span>div>p': {\r\n          color: \"#FFF !important\",\r\n        },\r\n      },\r\n    },\r\n\r\n    divDate: {\r\n      borderRadius: \"20px\",\r\n      width: $oneHundredPercent,\r\n      height: \"25px\",\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      flexWrap: \"wrap\",\r\n      alignContent: \"center\"\r\n    },\r\n    dateNext: {\r\n      fontSize: \"11px\",\r\n      fontWeight: \"bold\",\r\n      marginRight: \"5px\"\r\n    },\r\n    descripNext: {\r\n      fontSize: \"11px\",\r\n      fontWeight: \"bold\"\r\n    },\r\n    divHour: {\r\n      borderRadius: \"20px\",\r\n      width: $sixtyPx,\r\n      height: \"20px\",\r\n      background: \"white\",\r\n      display: \"flex\",\r\n      alignItems: \"center\"\r\n    },\r\n    hourNext: {\r\n      padding: \"5px\",\r\n      color: $blue,\r\n      fontSize: \"12px\",\r\n      fontWeight: \"bold\",\r\n      height: $oneHundredPercent,\r\n      width: $oneHundredPercent\r\n    },\r\n    hourBtn: {\r\n      flex: '1 1 10%',\r\n      margin: '12px',\r\n      color: $darkgray,\r\n      maxWidth: '10%',\r\n      boxShadow: \"none\",\r\n      '&:hover': {\r\n        backgroundColor: $blue,\r\n        color: 'white',\r\n      }\r\n    },\r\n    hourSelected: {\r\n      color: $colorWhite,\r\n      backgroundColor: $blue\r\n    },\r\n\r\n    /* Home boxes */\r\n    divHomeBox: {\r\n      display: 'flex',\r\n      borderRadius: '40px',\r\n      paddingTop: '40px',\r\n      marginTop: '20px',\r\n      [theme.breakpoints.up(1200)]: {\r\n        height: '67vh',\r\n      },\r\n      [theme.breakpoints.down(1200)]: {\r\n        flexWrap: 'wrap',\r\n        height: '65vh'\r\n      }\r\n    },\r\n    divHomeBoxMedicalProfile: {\r\n      display: 'flex',\r\n      borderRadius: '40px',\r\n      paddingTop: '40px',\r\n      marginTop: '20px',\r\n      boxShadow: $upBoxShadow,\r\n      [theme.breakpoints.up(1200)]: {\r\n        height: '67vh',\r\n        boxShadow: $upBoxShadow,\r\n      },\r\n      [theme.breakpoints.down(1200)]: {\r\n        flexWrap: 'wrap',\r\n        height: '65vh',\r\n        boxShadow: $upBoxShadow,\r\n      }\r\n    },\r\n    homeBoxTitle: {\r\n      justifyContent: 'center',\r\n      flexWrap: 'wrap',\r\n      [theme.breakpoints.down(1200)]: {\r\n        justifyContent: $spaceBetween,\r\n        paddingLeft: '10px',\r\n        position: 'absolute'\r\n      }\r\n    },\r\n    homeBoxTitleMedicalProfile: {\r\n      justifyContent: 'center',\r\n      flexWrap: 'wrap',\r\n      display: 'flex',\r\n      justifyContent: 'flex-start',\r\n      width: $oneHundredPercent,\r\n\r\n      [theme.breakpoints.down(1200)]: {\r\n        justifyContent: $spaceBetween,\r\n        paddingLeft: '10px',\r\n        position: 'absolute',\r\n      width: $oneHundredPercent,\r\n\r\n      }\r\n    },\r\n    titleBox: {\r\n      marginLeft: '1.35rem',\r\n      height: '30px',\r\n      marginRight: '20px',\r\n    },\r\n    greetingHome: {\r\n      paddingTop: \"20px\",\r\n      [theme.breakpoints.down(500)]: {\r\n        paddingTop: \"10px\",\r\n      },\r\n      [theme.breakpoints.down(400)]: {\r\n        paddingTop: \"0px\",\r\n      },\r\n      [theme.breakpoints.up('md')]: {\r\n        fontSize: '20px'\r\n      },\r\n    },\r\n    greetingHomeMedical: {\r\n      paddingTop: \"20px\",\r\n      marginTop: \"10px\", \r\n      color: 'black', \r\n      fontWeight: '400',\r\n      [theme.breakpoints.down(500)]: {\r\n        paddingTop: \"10px\",\r\n      },\r\n      [theme.breakpoints.down(400)]: {\r\n        paddingTop: \"0px\",\r\n      },\r\n      [theme.breakpoints.up('md')]: {\r\n        fontSize: '20px'\r\n      },\r\n    },\r\n    homeBox: {\r\n      display: 'flex',\r\n      flexWrap: 'wrap',\r\n      flex: '1 1 25%',\r\n      overflow: 'auto',\r\n      alignItems: 'flex-start',\r\n      [theme.breakpoints.up(1200)]: {\r\n        minHeight: '500px',\r\n      },\r\n      [theme.breakpoints.down(1200)]: {\r\n        flexWrap: 'nowrap',\r\n        height: $autoImportant,\r\n        flex: $oneOneOneHundredPercent,\r\n        marginBottom: '16px'\r\n      },\r\n      [theme.breakpoints.up(1200)]: {\r\n        flexDirection: 'column',\r\n        height: $oneHundredPercent,\r\n        flexWrap: 'nowrap',\r\n      },\r\n      [theme.breakpoints.down(769)]: {\r\n        justifyContent: 'center',\r\n      },\r\n    },\r\n    boxCard: {\r\n      paddingTop: '20px',\r\n      display: 'flex',\r\n      flexWrap: 'wrap',\r\n      justifyContent: 'center',\r\n      [theme.breakpoints.down(1200)]: {\r\n        flexWrap: 'nowrap',\r\n        justifyContent: 'flex-start',\r\n        paddingTop: '8px'\r\n      },\r\n      [theme.breakpoints.up(1200)]: {\r\n        width: $oneHundredPercent\r\n      },\r\n      [theme.breakpoints.up(1600)]: {\r\n        flexDirection: \"column\",\r\n        alignItems: \"center\",\r\n      },\r\n    },\r\n    boxCredential: {\r\n      paddingTop: '50px',\r\n      height: \"250px\",\r\n    },\r\n    cardNextAppointmentHome: {\r\n      maxWidth: '360px',\r\n      [theme.breakpoints.down(1200)]: {\r\n        width: '350px'\r\n      }\r\n    },\r\n    credentialCard: {\r\n      background: $lightLinearGradient,\r\n      height: '195px'\r\n    },\r\n    credentialLogoPlan: {\r\n      [theme.breakpoints.down(501)]: {\r\n        paddingInlineStart: '7%',\r\n        paddingInlineEnd: '6%',\r\n      },\r\n      [theme.breakpoints.up(501)]: {\r\n        marginInlineStart: '-17px',\r\n        paddingInlineEnd: '0',\r\n      }\r\n    },\r\n    credentialPlan: {\r\n      display: 'flex',\r\n      justifyContent: 'flex-end',\r\n      background: 'white',\r\n      marginRight: '40px',\r\n      borderRadius: '0px 0px 10px 10px',\r\n      '&>.MuiTypography-root': {\r\n        paddingLeft: $zeroPx,\r\n      }\r\n    },\r\n    txtBoxCredential: {\r\n      display: 'flex',\r\n      flexDirection: 'row',\r\n      justifyContent: 'space-around',\r\n      paddingTop: '5%',\r\n      paddingRight: \"40px\",\r\n    },\r\n    txtBoxCredentialBottom: {\r\n      display: 'flex',\r\n      flexDirection: 'row',\r\n      justifyContent: 'space-around',\r\n      paddingTop: '10px',\r\n      paddingBottom: \"20px\"\r\n    },\r\n    txtBoxCredentialName: {\r\n      display: 'flex',\r\n      flexDirection: 'row',\r\n      paddingLeft: '18px',\r\n      paddingTop: '10px',\r\n      paddingBottom: \"20px\"\r\n    },\r\n    divTxtBoxCredential: {\r\n      flex: $oneOneOneHundredPercent,\r\n      paddingLeft: '18px',\r\n      paddingBottom: '5px'\r\n    },\r\n    divTxtCredentialFooter: {\r\n      flex: '1 1 60%',\r\n      paddingLeft: '4%',\r\n      paddingBottom: '5px',\r\n      display: 'flex',\r\n      paddingTop: '2%'\r\n    },\r\n    txtCredential: {\r\n      fontWeight: 'bold',\r\n      color: 'white'\r\n    },\r\n    /*Modal emergency */\r\n    emergencyNumbersTitle: {\r\n      color: $colorWhite,\r\n      textTransform: 'uppercase',\r\n      width: $oneHundredPercentImportant,\r\n      justifyContent: 'flex-start'\r\n    },\r\n    emergencyModalIcons: {\r\n      color: $colorWhite,\r\n      textTransform: 'uppercase',\r\n    },\r\n    txtPhoneModalEmergencies: {\r\n      fontWeight: 'bold',\r\n      fontSize: '16px !important',\r\n      color: $lightblue,\r\n      width: $oneHundredPercentImportant,\r\n      justifyContent: 'flex-start'\r\n    },\r\n    Redirect: {\r\n      marginTop: '50px',\r\n      overflow: \"hidden\",\r\n    },\r\n    iframe: {\r\n      height: \"100vh\",\r\n      overflowY: \"auto\",\r\n      width: \"calc(100% + 10px)\",\r\n    },\r\n    /*Confirm Turn*/\r\n    textConfirmTurn: {\r\n      textAlign: $centerImportant,\r\n      fontFamily: `${$arialSansSerif} !important`,\r\n      alignItems: $centerImportant,\r\n      justifyContent: $centerImportant,\r\n      backgroundColor: $lightgray,\r\n      height: \"35px\",\r\n      width: $oneHundredPercent,\r\n      borderRadius: \"20px\",\r\n      overflow: $hiddenImportant,\r\n      \"&>div.MuiInputBase-root\": {\r\n        fontSize: $fontSize14,\r\n        width: $oneHundredPercent,\r\n        height: $oneHundredPercent,\r\n      },\r\n      \"&>.MuiInputLabel-outlined\": {\r\n        textAlign: $centerImportant,\r\n        fontSize: $twelve,\r\n        fontFamily: `${$arialSansSerif} !important`,\r\n        fontWeight: $fontBold,\r\n        transform: \"none !important\",\r\n        top: $autoImportant,\r\n        left: $autoImportant,\r\n        overflow: $hiddenImportant,\r\n        textOverflow: \"ellipsis\",\r\n        whiteSpace: \"nowrap\",\r\n        maxWidth: \"86%\",\r\n      },\r\n    },\r\n    turnConfirm: {\r\n      boxShadow: \"none !important\",\r\n      fontSize: \"15px\",\r\n      \"&:hover\": {\r\n        color: $blue,\r\n        backgroundColor: \"white\",\r\n      }\r\n    },\r\n    iconConfirmTurn: {\r\n      backgroundColor: \"white\",\r\n      color: $blue,\r\n      padding: \"5px 9px 5px 9px\",\r\n      borderRadius: \"50%\",\r\n    },\r\n    accordionConfirmTurn: {\r\n      paddingLeft: $zeroPx,\r\n      '&> .MuiAccordionSummary-content > .MuiTypography-root': {\r\n        fontSize: $fontSize14,\r\n        fontWeight: $sixHundredWeight,\r\n      }\r\n    },\r\n\r\n\r\n\r\n    /* Datos Personales: */\r\n    personalDataItem: {\r\n      flex: '1 1 40%',\r\n      paddingLeft: '20px',\r\n      paddingRight: '20px'\r\n    },\r\n    personalDataDivIcons: {\r\n      height: '122px !important',\r\n      width: $oneHundredPercent,\r\n      minWidth: '110px',\r\n    },\r\n    wayToPay: {\r\n      [theme.breakpoints.down(768)]: {\r\n        minWidth: '160px !important',\r\n      }\r\n    },\r\n    personalDataIcon: {\r\n      fontSize: '65px !important',\r\n      [theme.breakpoints.down('md')]: {\r\n        fontSize: $fiftyFivePx\r\n      },\r\n      [theme.breakpoints.down('sm')]: {\r\n        fontSize: '50px !important'\r\n      }\r\n    },\r\n    personalDataTxtIcon: {\r\n      fontSize: '16px !important'\r\n    },\r\n    personalDataBtnEdit: {\r\n      fontSize: \"10px\",\r\n      fontWeight: \"600\",\r\n      textTransform: 'capitalize',\r\n      padding: \"14px\",\r\n      textOverflow: \"ellipsis\",\r\n      whiteSpace: \"nowrap\",\r\n      overflow: \"hidden\",\r\n      height: \"35px\",\r\n      width: \"130px\",\r\n      marginRight: \"5em\",\r\n    },\r\n    downloadVaccinesBtn: {\r\n      fontSize: \"10px\",\r\n      fontWeight: \"600\",\r\n      textTransform: 'capitalize',\r\n      padding: \"14px\",\r\n      textOverflow: \"ellipsis\",\r\n      whiteSpace: \"nowrap\",\r\n      overflow: \"hidden\",\r\n      height: \"35px\",\r\n      width: \"168px\",\r\n      textDecoration: \"none\",\r\n      marginRight: \"5em\",\r\n    },\r\n    downloadTermsAndConditionsBtn: {\r\n      fontSize: \"10px\",\r\n      fontWeight: \"600\",\r\n      textTransform: 'capitalize',\r\n      textOverflow: \"ellipsis\",\r\n      whiteSpace: \"nowrap\",\r\n      overflow: \"hidden\",\r\n      height: \"35px\",\r\n      width: \"150px\",\r\n      textDecoration: \"none\",\r\n    },\r\n    titlePersonalDataForm: {\r\n      backgroundColor: $lightgray,\r\n      paddingTop: '70px',\r\n      paddingBottom: '5px'\r\n    },\r\n    addressForm: {\r\n      display: 'grid',\r\n      gridTemplateColumns: $templateColumnsFour,\r\n      [theme.breakpoints.down(1300)]: {\r\n        gridTemplateColumns: $templateColumnsThree\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        gridTemplateColumns: '1fr 1fr'\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        gridTemplateColumns: '1fr'\r\n      },\r\n      justifyContent: $spaceBetween,\r\n      flexWrap: 'wrap',\r\n      paddingTop: '10px',\r\n      paddingLeft: '5rem',\r\n      alignItems: 'center',\r\n      [theme.breakpoints.down(1450)]: {\r\n        paddingLeft: '0rem',\r\n      },\r\n      [theme.breakpoints.down(780)]: {\r\n        justifyContent: 'center',\r\n      },\r\n\r\n\r\n    },\r\n    divSubtitleAddresForm: {\r\n      display: 'flex',\r\n      flex: $oneOneOneHundredPercent,\r\n      paddingTop: '10px'\r\n    },\r\n    subtitleAddressForm: {\r\n      fontSize: $twelve,\r\n      textTransform: 'uppercase',\r\n      alignItems: 'center',\r\n      display: 'flex'\r\n    },\r\n    divSubtitleEditBtn: {\r\n      justifyContent: `${$spaceBetween} !important`\r\n    },\r\n\r\n    labelSelectMobile: {\r\n      transformOrigin: \"bottom !important\",\r\n      fontSize: \"12px\",\r\n      marginLeft: \"2.3%\",\r\n      position: \"relative\"\r\n    },\r\n    labelSelectWeb: {\r\n      transformOrigin: \"top left !important\",\r\n      fontSize: \"12px\",\r\n      marginLeft: \"2.3%\",\r\n      position: \"relative\"\r\n    },\r\n    divEditBtn: {\r\n      width: $oneHundredPercent,\r\n      display: $flexImportant,\r\n      flexDirection: \"row-reverse\",\r\n      marginRight: $fiftyPx,\r\n      marginTop: \"20px\"\r\n    },\r\n\r\n    divButtonsAttachment: {\r\n      flex: \"1 1 25%\",\r\n      flexDirection: \"row\",\r\n      display: \"flex\",\r\n      alignItems: \"center\",\r\n    },\r\n    divAttachment: {\r\n      flex: \"1 1 25%\",\r\n      flexDirection: \"column\",\r\n      display: \"flex\",\r\n      alignItems: \"left\",\r\n    },\r\n\r\n    spanError: {\r\n      width: $oneHundredPercent,\r\n      marginTop: \"0.25rem\",\r\n      marginLeft: \"25px\",\r\n      color: \"rgb(240, 80, 80)\",\r\n      fontWeight: \"bold\",\r\n      fontSize: \"11px\",\r\n    },\r\n    txtError: {\r\n      color: \"rgb(240, 80, 80)\",\r\n      fontSize: \"12px\",\r\n      fontWeight: \"bold\",\r\n      textAlign: \"left\",\r\n    },\r\n    customSelectWeb: {\r\n      width: \"250px\",\r\n      paddingTop: \"10px\",\r\n      paddingBottom: \"8px\",\r\n    },\r\n    customSelectMobile: {\r\n      marginTop: \"30px\",\r\n      width: \"90% \",\r\n    },\r\n\r\n    formControlAddress: {\r\n      marginBottom: \"10px\",\r\n\r\n      flex: '1 1 25%',\r\n      // paddingTop: '1rem',\r\n      [theme.breakpoints.down(1300)]: {\r\n        flex: '1 1 33%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        flex: '1 1 50%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        flex: $oneOneOneHundredPercent\r\n      }\r\n    },\r\n\r\n    formBiggerSelect:{\r\n      '&>div': {\r\n        width: \"52% !important\",\r\n      }\r\n    },\r\n\r\n    formControlCustomSelect: {\r\n      marginBottom: \"10px\",\r\n      top: \"3px !important\",\r\n      '&>div>div>div': {\r\n        padding: \"11px 10px\"\r\n      },\r\n      flex: '1 1 25%',\r\n      [theme.breakpoints.up(900)]: {\r\n        '&>div>div': {\r\n          marginTop: \"6%\"\r\n        },\r\n      },\r\n      [theme.breakpoints.down(1300)]: {\r\n        flex: '1 1 33%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent,\r\n          marginLeft: \"10px\",\r\n        }\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        top: $zeroPx,\r\n\r\n        flex: '1 1 50%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        flex: $oneOneOneHundredPercent,\r\n        marginTop: \"15px\"\r\n      }\r\n    },\r\n\r\n    formControlDatePicker: {\r\n      marginBottom: \"0px\",\r\n\r\n      '&>div input': {\r\n        padding: \"11px 10px\",\r\n      },\r\n      flex: '1 1 25%',\r\n      [theme.breakpoints.down(1300)]: {\r\n        top: \"-1px !important\",\r\n\r\n        '&>div': {\r\n          width: $ninetyFivePerCent,\r\n          marginLeft: \"10px\",\r\n        },\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        flex: '1 1 50%',\r\n        top: \"-2px !important\",\r\n        '&>div': {\r\n          width: $ninetyFivePerCent,\r\n          '&>div': {\r\n            marginLeft: \"0%\",\r\n            '&>label': {\r\n              marginLeft: \"5%\",\r\n            },\r\n          },\r\n        }\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        flex: '1 1 95%',\r\n        '&>div': {\r\n          width: '90% !important',\r\n          '&>label': {\r\n            marginLeft: \"5%\",\r\n          },\r\n          '&>div': {\r\n            marginLeft: \"5%\",\r\n            marginRight: \"5%\",\r\n          },\r\n        }\r\n      },\r\n      [theme.breakpoints.up(900)]: {\r\n        '&>div>div': {\r\n          marginTop: \"3%\",\r\n        },\r\n      }\r\n    },\r\n\r\n    formDivider: {\r\n      marginLeft: '1.4rem',\r\n      marginRight: '1.4rem',\r\n      [theme.breakpoints.down(769)]: {\r\n        marginLeft: '0rem',\r\n        marginRight: '0rem',\r\n      }\r\n    },\r\n    divBtnsAddressForm: {\r\n      display: 'flex',\r\n      alignItems: 'center',\r\n      justifyContent: 'flex-end',\r\n      paddingRight: '5rem',\r\n      [theme.breakpoints.down(769)]: {\r\n        paddingRight: '2rem',\r\n        justifyContent: 'space-around',\r\n      }\r\n    },\r\n    legendSubtitleForm: {\r\n      display: \"flex\",\r\n      marginLeft: \"10px\",\r\n      color: $blue,\r\n      fontSize: \"11px\",\r\n      fontStyle: \"italic\",\r\n      [theme.breakpoints.down(769)]: {\r\n        marginLeft: \"5%\",\r\n        marginRight: \"8%\",\r\n      },\r\n    },\r\n    margin0: {\r\n      margin: $zeroPx\r\n    },\r\n    marginn0: {\r\n      margin: $zeroPx,\r\n      left: '0',\r\n      position: 'fixed',\r\n      width: $oneHundredPercent,\r\n      [theme.breakpoints.up(960)]: {\r\n        width: $oneHundredPercent,\r\n        height: $oneHundredPercent,\r\n        left: '0',\r\n        zIndex: '15',\r\n        background: '#fff',\r\n      }\r\n    },\r\n    marginLeft: {\r\n      marginLeft: '10px'\r\n    },\r\n    formControl: {\r\n      width: \"250px\",\r\n      marginLeft: \"3px\",\r\n      [theme.breakpoints.down(900)]: {\r\n        width: $oneHundredPercent\r\n      }\r\n    },\r\n    customizedVitalParameterForm: {\r\n      padding: '0 10px',\r\n      width: '50%'\r\n    },\r\n    inputLabelForms: {\r\n      overflow: \"initial\",\r\n      [theme.breakpoints.down(900)]: {\r\n        width: \"80%\",\r\n        marginLeft: \"8%\",\r\n      }\r\n    },\r\n    inputLabelSelectForms: {\r\n      overflow: \"initial\",\r\n      [theme.breakpoints.up(900)]: {\r\n        width: \"80%\",\r\n        marginLeft: \"-3%\",\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        width: \"80%\",\r\n        marginLeft: \"3%\",\r\n      }\r\n    },\r\n    customInput: {\r\n      [theme.breakpoints.down(900)]: {\r\n        width: \"90%\",\r\n        marginLeft: \"5%\",\r\n      }\r\n    },\r\n    /** Form Contact Data */\r\n    contactDataForm: {\r\n      display: 'flex',\r\n      [theme.breakpoints.down(768)]: {\r\n        flexDirection: \"column\",\r\n        alignContent: \"center\",\r\n      }\r\n    },\r\n    divFormContactData: {\r\n      \r\n      flexWrap: \"wrap !important\",\r\n      paddingTop: '10px',\r\n      paddingLeft: \"10rem\",\r\n      paddingRight: \"8rem\",\r\n      width: \"50% !important\",\r\n      marginBottom: \"10%\",\r\n      [theme.breakpoints.down(1800)]: {\r\n        paddingLeft: \"8rem\",\r\n        paddingRight: \"6rem\",\r\n      },\r\n      [theme.breakpoints.down(1750)]: {\r\n        paddingLeft: \"6rem\",\r\n        paddingRight: \"6rem\",\r\n      },\r\n      [theme.breakpoints.down(1610)]: {\r\n        paddingLeft: \"4rem\",\r\n        paddingRight: \"4rem\",\r\n      },\r\n      [theme.breakpoints.down(1580)]: {\r\n        paddingLeft: \"3rem\",\r\n        paddingRight: \"3rem\",\r\n      },\r\n      [theme.breakpoints.down(1380)]: {\r\n        paddingLeft: \"2rem\",\r\n        paddingRight: \"2rem\",\r\n      },\r\n      [theme.breakpoints.down(281)]: {\r\n        paddingLeft: \"1rem\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        width: $oneHundredPercentImportant,\r\n      },\r\n    },\r\n    formControlContactData: {\r\n      paddingTop: '1.5rem',\r\n      marginRight: \"0\",\r\n      [theme.breakpoints.down(1004)]: {\r\n        width: $ninetyFivePerCent\r\n      },\r\n      '&>.MuiFormControl-root': {\r\n        [theme.breakpoints.down(1230)]: {\r\n          width: $ninetyFivePerCent\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: \"240px !important\",\r\n        },\r\n      },\r\n      [theme.breakpoints.down(1444)]: {\r\n        paddingRight: \"0\",\r\n      },\r\n      [theme.breakpoints.down(1000)]: {\r\n        paddingRight: $zeroPx,\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        '&>div': {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: $zeroPx,\r\n          '&>label': {\r\n            marginLeft: $fivePercent,\r\n          },\r\n        },\r\n      }\r\n    },\r\n    inputContactDataBefore: {\r\n      [theme.breakpoints.down(768)]: {\r\n        marginRight: \"3px\",\r\n      },\r\n      '&>.MuiFormControl-root': {\r\n        marginLeft: \"0\",\r\n        marginRight: \"3px\",\r\n        width: \"70px\",\r\n        '&>.MuiInputBase-root': {\r\n          [theme.breakpoints.down(900)]: {\r\n            width: $oneHundredPercentImportant,\r\n            marginLeft: $zeroImportant,\r\n          },\r\n        }\r\n      }\r\n    },\r\n\r\n    inputContactDataBeforeCountryCode: {\r\n      [theme.breakpoints.down(768)]: {\r\n        marginRight: \"3px\",\r\n      },\r\n      [theme.breakpoints.up(768)]: {\r\n        marginRight: \"10px\",\r\n      },\r\n      '&>.MuiFormControl-root': {\r\n        marginLeft: \"0\",\r\n        marginRight: \"3px\",\r\n        width: \"55px\",\r\n        '&>.MuiInputBase-root': {\r\n          [theme.breakpoints.down(900)]: {\r\n            width: $oneHundredPercentImportant,\r\n            marginLeft: $zeroImportant,\r\n          },\r\n        }\r\n      }\r\n    },\r\n\r\n    inputContactData: {\r\n      '&>.MuiFormControl-root': {\r\n        marginLeft: \"0%\",\r\n        width: \"150px\",\r\n        [theme.breakpoints.down(1310)]: {\r\n          width: \"130px\",\r\n        },\r\n        [theme.breakpoints.down(1240)]: {\r\n          width: \"120px\",\r\n        },\r\n        [theme.breakpoints.down(1120)]: {\r\n          width: \"110px\",\r\n        },\r\n        [theme.breakpoints.down(1004)]: {\r\n          width: \"110px\",\r\n        },\r\n        [theme.breakpoints.down(900)]: {\r\n          width: \"110px\",\r\n        },\r\n        [theme.breakpoints.down(855)]: {\r\n          width: \"80px\",\r\n        },\r\n        [theme.breakpoints.down(800)]: {\r\n          width: \"90px\",\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: \"150px !important\",\r\n        },\r\n        [theme.breakpoints.down(700)]: {\r\n          width: $oneHundredFortyPx,\r\n        },\r\n        [theme.breakpoints.down(555)]: {\r\n          width: \"115px !important\",\r\n        },\r\n        '&>.MuiInputBase-root': {\r\n          [theme.breakpoints.down(900)]: {\r\n            width: $oneHundredPercentImportant,\r\n            marginLeft: \"0% !important\",\r\n          },\r\n        }\r\n      }\r\n    },\r\n    legendSubtitleCel: {\r\n      marginLeft: \"10px\",\r\n      color: $blue,\r\n      fontSize: \"11px\",\r\n      fontStyle: \"italic\",\r\n    },\r\n    dividerVertical: {\r\n      marginTop: '1.4rem',\r\n      marginBottom: '1.4rem',\r\n    },\r\n    /**Form Refunds */\r\n    refundForm: {\r\n      justifyContent: \"flex-start !important\"\r\n    },\r\n    mailFormRefund: {\r\n      '&>.MuiFormControl-root': {\r\n        width: $oneHundredPercentImportant,\r\n        [theme.breakpoints.down(1000)]: {\r\n          width: $oneHundredPercentImportant,\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: \"90% !important\",\r\n        },\r\n        '&>.MuiInputBase-root': {\r\n          width: \"350px !important\",\r\n          [theme.breakpoints.down(1000)]: {\r\n            width: $oneHundredPercentImportant,\r\n          },\r\n          [theme.breakpoints.down(900)]: {\r\n            width: \"90% !important\",\r\n          },\r\n        }\r\n      }\r\n    },\r\n    /**Form Hobbies */\r\n    divSportsHobbies: {\r\n      display: 'flex',\r\n      flex: '1 1 50%',\r\n      flexWrap: 'wrap',\r\n      [theme.breakpoints.down(769)]: {\r\n        flex: $oneOneOneHundredPercent,\r\n      }\r\n    },\r\n    formControlSportsHobbies: {\r\n      flex: '1 1 50%',\r\n      [theme.breakpoints.down(1300)]: {\r\n        flex: $oneOneOneHundredPercent,\r\n      }\r\n    },\r\n    divCustomSelectHobbies: {\r\n      flex: $oneOneOneHundredPercent,\r\n      justifyContent: $spaceBetween,\r\n      alignItems: 'center',\r\n      display: 'flex',\r\n      '&>div:nth-child(1)': {\r\n        flex: $oneOneOneHundredPercent,\r\n      }\r\n    },\r\n    /**Page Credentials */\r\n    boxCardCredentials: {\r\n      paddingTop: '20px',\r\n      display: 'flex',\r\n      flexWrap: 'wrap',\r\n      [theme.breakpoints.down(801)]: {\r\n        paddingTop: '0px',\r\n      },\r\n      [theme.breakpoints.up('md')]: {\r\n        width: $oneHundredPercent,\r\n      },\r\n      '&>.MuiButton-root>.MuiButton-label>.MuiPaper-root': {\r\n        maxWidth: $oneHundredPercent,\r\n        width: \"450px\",\r\n        height: $oneHundredPercent,\r\n      },\r\n      [theme.breakpoints.down(960)]: {\r\n        flexDirection: \"column\",\r\n        flexWrap: 'nowrap',\r\n      },\r\n      [theme.breakpoints.down(960) && theme.breakpoints.up(501)]: {\r\n        alignItems: 'center',\r\n      },\r\n    },\r\n    modalCredentials: {\r\n      padding: $zeroPx,\r\n      margin: $zeroPx,\r\n      '&>.MuiPaper-root': {\r\n        width: $oneHundredPercentImportant,\r\n        margin: $zeroPx,\r\n        borderRadius: $zeroPx,\r\n        maxWidth: $oneHundredPercentImportant,\r\n        height: $oneHundredPercent,\r\n        [theme.breakpoints.down(801)]: {\r\n          margin: $zeroPx\r\n        }\r\n      },\r\n    },\r\n    qrCode: {\r\n      paddingRight: \"30px\",\r\n      [theme.breakpoints.down(501)]: {\r\n        '&>svg': {\r\n          height: $fiftyHundredPx,\r\n          width: $fiftyHundredPx\r\n        },\r\n      },\r\n    },\r\n    qrCodeCredential: {\r\n      paddingRight: \"0px\",\r\n      marginLeft: \"auto\",\r\n      [theme.breakpoints.down(501)]: {\r\n        '&>svg': {\r\n          height: $fiftyHundredPx,\r\n          width: $fiftyHundredPx\r\n        },\r\n      },\r\n    },\r\n    divCredentialsMobile: {\r\n      '&>.MuiButton-root': {\r\n        [theme.breakpoints.down(801)]: {\r\n          paddingBottom: $zeroPx\r\n        },\r\n      },\r\n      '&>.MuiButton-root>.MuiButton-label>.MuiPaper-root': {\r\n        [theme.breakpoints.down(801)]: {\r\n          width: \"80%\",\r\n          height: $fiftyPx,\r\n          marginTop: $fortyPx,\r\n          marginBottom: $zeroPx,\r\n          borderTopLeftRadius: \"15px !important\",\r\n          borderTopRightRadius: \"15px !important\",\r\n          borderBottomLeftRadius: $zeroPx,\r\n          borderBottomRightRadius: $zeroPx\r\n        },\r\n      },\r\n    },\r\n    btnCredentialsMobile: {\r\n      width: $oneHundredPercent,\r\n      height: \"40px\",\r\n      backgroundColor: $darkblue,\r\n      color: \"white\",\r\n      display: \"flex\",\r\n      justifyContent: \"flex-start\",\r\n      marginBottom: \"10px\"\r\n    },\r\n    modalLandscapeMobile: {\r\n      [theme.breakpoints.down(501)]: {\r\n        paddingRight: $zeroPx,\r\n        paddingLeft: \"0\",\r\n        '&> div > div > p': {\r\n          fontSize: \"14px\"\r\n        }\r\n      },\r\n    },\r\n    modalLandscapeMobileBottom: {\r\n      [theme.breakpoints.up(300)]: {\r\n        paddingTop: \"60px !important\",\r\n        [theme.breakpoints.down(501)]: {\r\n          paddingLeft: \"7%\",\r\n          paddingTop: \"5vw\",\r\n          [theme.breakpoints.down(351)]: {\r\n            paddingTop: \"30px\",\r\n          },\r\n          \"&> div  > p\": {\r\n            fontSize: \"14px\",\r\n          },\r\n        },\r\n      },\r\n    },\r\n\r\n    /**Weight and heigth */\r\n    notRotateIcon: {\r\n      '&>div>div>div': {\r\n        transform: \"rotate(0deg) !important\"\r\n      }\r\n    },\r\n\r\n    subTitleMedicalData: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"15px\",\r\n      color: $darkblue,\r\n      fontWeight: 'bold',\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"13px\",\r\n      },\r\n    },\r\n    subTitleMedicalPesoyTalla: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"15px\",\r\n      color: $darkblue,\r\n      fontWeight: 'bold',\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"13px\",\r\n      },\r\n      [theme.breakpoints.down(\"780\")]: {\r\n        display: \"none\",\r\n      },\r\n    },\r\n    width25: {\r\n      width: \"25%\"\r\n    },\r\n    width50: {\r\n      width: \"50%\"\r\n    },\r\n\r\n    width100: {\r\n      width: $oneHundredPercent\r\n    },\r\n    txtSubtitleGray: {\r\n      color: $darkgray,\r\n      fontSize: \"12px\",\r\n      textAlign: \"left\",\r\n      marginRight: \"10px\"\r\n    },\r\n    txtSubtitleBlue: {\r\n      color: $blue,\r\n      fontSize: \"12px\",\r\n      textAlign: \"left\",     \r\n    },\r\n\r\n    headerFiltro: {\r\n      justifyContent: $spaceBetween,\r\n      display: \"flex\"\r\n    },\r\n\r\n    container: {\r\n      display: 'flex',\r\n      flexWrap: 'wrap',\r\n    },\r\n    textField: {\r\n      marginLeft: theme.spacing(1),\r\n      marginRight: theme.spacing(1),\r\n      width: 200,\r\n    },\r\n    fontSize15: {\r\n      fontSize: \"17px !important\",\r\n      marginBottom: \"5px\"\r\n    },\r\n\r\n    flexRow: {\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      justifyContent: $spaceBetween,\r\n    },\r\n\r\n    spaceBetweenInputs: {\r\n      [theme.breakpoints.down(1125)]: {\r\n        flex: '1 1 35%',\r\n        '& > div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      \"& > div\": {\r\n        marginLeft: \"20px\"\r\n      },\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      justifyContent: $spaceBetween,\r\n    },\r\n\r\n\r\n    AccordionWeightWeb: {\r\n      flexBasic: \"300px\",\r\n      marginLeft: \"20px\"\r\n    },\r\n\r\n    AccordionWeightMobile: {\r\n      width: $oneHundredPercentImportant,\r\n      marginLeft: \"10px\"\r\n    },\r\n\r\n\r\n    datePicker: {\r\n      \"& > div > div > div > fieldset, input\": {\r\n        borderTop: \"none\",\r\n        borderRight: \"none\",\r\n        borderLeft: \"none\",\r\n        borderBottom: \"1px solid black\",\r\n        paddingBottom: \"5px\",\r\n        paddingTop: \"5px\"\r\n      }\r\n    },\r\n    txtLabelAddWeight: {\r\n      color: $blue,\r\n      fontSize: \"15px\",\r\n      textAlign: \"left\",\r\n    },\r\n\r\n    formControl100: {\r\n      flex: '1 1 25%',\r\n      paddingTop: '1rem',\r\n      [theme.breakpoints.down(1125)]: {\r\n        flex: '1 1 35%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: $oneOneOneHundredPercent,\r\n        width: $ninetyFivePerCent\r\n      }\r\n    },\r\n\r\n    centerWeigthForm: {\r\n\r\n      [theme.breakpoints.down(1125)]: {\r\n        '& > div > div > div > label': {\r\n          textAlign: 'left',\r\n          marginLeft: '9px !important'\r\n        },\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        textAlign: 'center',\r\n        '& > div > div > label': {\r\n          textAlign: 'left'\r\n        },\r\n        '& > div > div > div > label': {\r\n          textAlign: 'left',\r\n          marginLeft: '0px !important'\r\n        },\r\n      }\r\n    },\r\n\r\n    customMarginForm: {\r\n      marginLeft: '30px',\r\n      [theme.breakpoints.down(1125)]: {\r\n        marginLeft: '15px'\r\n      }\r\n    },\r\n\r\n    formWeigth: {\r\n      flex: '1 1 25%',\r\n      paddingTop: '1rem',\r\n      marginBottom: '10px',\r\n      [theme.breakpoints.down(1125)]: {\r\n        flex: '1 1 35%',\r\n        '& > div': {\r\n          width: $ninetyFivePerCent,\r\n        },\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: $oneOneOneHundredPercent,\r\n        width: $ninetyFivePerCent,\r\n        marginLeft: '0px !important',\r\n        '& > div > div > div': {\r\n          marginLeft: '0px'\r\n        },\r\n        ' & > div > div': {\r\n          width: '90% !important'\r\n        }\r\n      },\r\n    },\r\n\r\n    weigthDateTimePicker: {\r\n      [theme.breakpoints.down(1125)]: {\r\n        marginLeft: '0.7%',\r\n        marginBottom: '5%',\r\n        '& > div > div': {\r\n          width: '82%',\r\n        },\r\n      },\r\n    },\r\n\r\n    formSelectVitalParameter: {\r\n      flex: '1 1 35%',\r\n      paddingTop: '1rem',\r\n      marginLeft: '27px',\r\n      [theme.breakpoints.down(1125)]: {\r\n        flex: '1 1 35%',\r\n        '&>div': {\r\n          width: $oneHundredPercent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: $oneOneOneHundredPercent,\r\n        width: $oneHundredPercent,\r\n        marginLeft: '0px',\r\n      }\r\n    },\r\n    formSelectLabelVitalParameter: {\r\n      position: \"relative\",\r\n      marginBottom: '-5px',\r\n      [theme.breakpoints.down(768)]: {\r\n        marginBottom: '-20px'\r\n      }\r\n    },\r\n    formSelectInputVitalParameter: {\r\n      height: '45px !important',\r\n    },\r\n\r\n    formControlWeight50: {\r\n      flex: '1 1 50%',\r\n      paddingTop: '1rem',\r\n      [theme.breakpoints.down(1125)]: {\r\n        flex: '1 1 25%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: '1 1 50%',\r\n        paddingTop: '1rem',\r\n      }\r\n    },\r\n\r\n    BtnMobileWeight: {\r\n      display: 'flex',\r\n      alignItems: 'end',\r\n      justifyContent: 'flex-end',\r\n      paddingRight: '3rem',\r\n      paddingTop: \"30px\"\r\n    },\r\n    BtnMobileAddWeight: {\r\n      display: 'flex',\r\n      alignItems: 'end',\r\n      justifyContent: 'flex-end',\r\n      paddingRight: '3rem',\r\n    },\r\n    btnNewWeigth: {\r\n      height: \"40px\",\r\n      alignSelf: \"center\",\r\n      padding: \"14px\",\r\n      textOverflow: \"ellipsis\",\r\n      overflow: \"hidden\",\r\n      whiteSpace: \"nowrap\",\r\n      width: \"100px\",\r\n      fontSize: $twelve\r\n\r\n    },\r\n\r\n    flexRowAcordion: {\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      margin: \"auto\",\r\n      width: $oneHundredPercent,\r\n      flexWrap: \"wrap\",\r\n    },\r\n\r\n    displayNone: {\r\n      display: \"none\"\r\n    },\r\n    padding0: {\r\n      padding: `0px 0px 0px 0px`,\r\n    },\r\n\r\n    heightDivRegisters: {\r\n      overflowY: \"scroll\",\r\n      height: $fitContent,\r\n      maxHeight: \"500px\",\r\n      '&::-webkit-scrollbar': {\r\n        width: 0,\r\n      },\r\n    },\r\n\r\n    listCommunicationsMedicalProfile: {//\r\n      overflowY: \"scroll\",\r\n      height: $fitContent,\r\n      maxHeight: \"500px\",\r\n      width: \"90%\",\r\n      paddingTop: \"25px\", \r\n      marginTop: \"25px\", \r\n      marginLeft: \"20px\",\r\n      '&::-webkit-scrollbar': {\r\n      width: 0,\r\n      },\r\n    },\r\n\r\n    selectDniLogin: {\r\n      \"& > div > #mui-component-select-parameterType\": {\r\n        backgroundColor: \"#fff\",\r\n        borderRadius: \"30px\",\r\n      }\r\n    },\r\n\r\n    inputDocument: {\r\n      \"& > div > .css-uyi1zz-MuiFormLabel-root-MuiInputLabel-root.Mui-focused\": {\r\n        color: \"#FFF !important\"\r\n      },\r\n    },\r\n\r\n    /* Medical Data */\r\n    subtitleBox: {\r\n      fontSize: $elevenPx,\r\n      color: $darkblue\r\n    },\r\n\r\n    titleEmergency: {\r\n      fontSize: '13px'\r\n    },\r\n\r\n    emergencyFormsIcons: {\r\n      fontSize: $eighteenPx\r\n    },\r\n\r\n    divEmergencyPhonesForm: {\r\n      padding: '0.5%',\r\n      display: 'flex',\r\n      flex: '0 0 23.33%',\r\n      flexWrap: 'nowrap',\r\n      alignItems: 'baseline',\r\n      [theme.breakpoints.up(2000)]: {\r\n        flex: '0 0 21.33%',\r\n      },\r\n      [theme.breakpoints.down(1600)]: {\r\n        flex: '0 0 33%'\r\n      },\r\n      [theme.breakpoints.down(1200)]: {\r\n        flex: '0 0 50%'\r\n      },\r\n      [theme.breakpoints.down(720)]: {\r\n        flex: $oneOneOneHundredPercent\r\n      },\r\n    },\r\n\r\n    divInputEmergencyPhones: {\r\n      display: 'flex',\r\n      '&>div': {\r\n        display: 'flex',\r\n        width: '60px',\r\n        '&>div': {\r\n          width: '60px',\r\n        }\r\n      }\r\n    },\r\n\r\n    divInputPhone: {\r\n      width: '120px !important',\r\n      '&>div': {\r\n        width: '120px!important'\r\n      }\r\n    },\r\n\r\n    divFlexPhones: {\r\n      maxWidth: '30%',\r\n      [theme.breakpoints.down('lg')]: {\r\n        maxWidth: '40%'\r\n      },\r\n      [theme.breakpoints.down('md')]: {\r\n        maxWidth: $oneHundredPercent\r\n      }\r\n    },\r\n\r\n    phoneIcon: {\r\n      backgroundColor: $blue,\r\n      borderRadius: '15px',\r\n      color: 'white',\r\n      fontSize: '30px',\r\n      padding: '6px',\r\n    },\r\n\r\n    quarterCol: {\r\n      display: 'flex',\r\n      flex: `1 1 ${$fivePercent}`\r\n    },\r\n\r\n    divFormControlsEmergency: {\r\n      flex: '1 1 70% !important',\r\n      display: 'flex',\r\n      flexWrap: 'wrap'\r\n    },\r\n\r\n    formControlsEmergency: {\r\n      flex: '1 1 90% !important',\r\n      display: 'flex',\r\n      '&>div': {\r\n        width: $oneHundredPercent,\r\n        marginLeft: '0px'\r\n      }\r\n    },\r\n\r\n    formControlTelefonoObsevacion: {\r\n      [theme.breakpoints.down(900)]: {\r\n        marginLeft: '-15px',\r\n      },\r\n      [theme.breakpoints.down(769)]: {\r\n        marginLeft: '-25px',\r\n      },\r\n      [theme.breakpoints.down(412)]: {\r\n        marginLeft: '-2px',\r\n      },\r\n      [theme.breakpoints.down(281)]: {\r\n        marginLeft: '-7px',\r\n      },\r\n    },\r\n\r\n    formControlSelect: {\r\n      '&>div': {\r\n        width: $oneHundredPercentImportant\r\n      }\r\n    },\r\n\r\n    divAllergiesForm: {\r\n      [theme.breakpoints.up(1017)]: {\r\n        flexGrow: '0'\r\n      }\r\n    },\r\n\r\n    formControlSwitchAllergies: {\r\n      '&>div>label': {\r\n        margin: '0',\r\n        paddingLeft: '1%',\r\n        width: $oneHundredPercent,\r\n        justifyContent: 'flex-end',\r\n        [theme.breakpoints.down(720)]: {\r\n          justifyContent: $spaceBetween,\r\n          paddingLeft: '5%'\r\n        }\r\n      }\r\n    },\r\n    dateTimerPicker: {\r\n      marginLeft: \"20px !important\",\r\n      paddingTop: $tenPx,\r\n      paddingBottom: \"10px\"\r\n    },\r\n    labelDateTimerPicker: {\r\n      margin: \"13px\",\r\n      marginLeft: \"21px\",\r\n    },\r\n\r\n    top22: {\r\n      '& > div ': {\r\n        top: $zeroPx\r\n      }\r\n    },\r\n    //***vITAL PARAMETERS */\r\n    marginRight: {\r\n      marginRight: \"10px\"\r\n\r\n    },\r\n    /**Chronic Disease */\r\n    chronicDiseaseform: {\r\n      display: 'flex',\r\n      justifyContent: 'flex-start',\r\n      flexWrap: 'wrap',\r\n      paddingTop: '10px',\r\n      paddingLeft: '5rem',\r\n      alignItems: 'center',\r\n      [theme.breakpoints.down(768)]: {\r\n        justifyContent: 'center',\r\n        paddingLeft: '0rem',\r\n      }\r\n    },\r\n\r\n    formChronicDisease: {\r\n      display: \"flex\",\r\n      [theme.breakpoints.down(768)]: {\r\n        width: $oneHundredPercentImportant\r\n      }\r\n    },\r\n\r\n    /** Chronic Medication */\r\n    accordionMedicationMobile: {\r\n      width: \"70% !important\",\r\n      marginLeft: \"10px\",\r\n      '&>.MuiAccordion-root': {\r\n        boxShadow: \"none\"\r\n      }\r\n    },\r\n    titleAccordionChronic: {\r\n      textTransform: \"uppercase\",\r\n      fontSize: \"14px\"\r\n    },\r\n    detailsAccordionChronic: {\r\n      fontSize: \"12px\"\r\n    },\r\n    menuItemSelected: {\r\n      [theme.breakpoints.down(768)]: {\r\n        marginLeft: \"25px\"\r\n      }\r\n    },\r\n\r\n    formControlVirtualDoctor:{\r\n      '&>div': {\r\n        marginLeft: \"0px !important\",\r\n        maxWidth: \"250px\"\r\n      },\r\n    },\r\n\r\n    formControlChronicMedicationForm: {\r\n      top: $zeroPx,\r\n      '&>div': {\r\n        marginLeft: \"10px\",\r\n        marginBottom: \"10px\",\r\n      },\r\n      '&>div>div>div': {\r\n        padding: \"11px 10px\"\r\n      },\r\n      '&>div>div': {\r\n        marginTop: \"6%\"\r\n      },\r\n      [theme.breakpoints.down(1300)]: {\r\n        flex: '1 1 33%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        flex: '1 1 50%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        flex: $oneOneOneHundredPercent\r\n      }\r\n    },\r\n\r\n    formContactUs: {\r\n      '&>div>div': {\r\n        marginTop: \"3% !important\"\r\n      },\r\n    },\r\n\r\n    divAccordionPrograms: {\r\n      flex: '0 0 20%',\r\n      padding: '2%',\r\n      [theme.breakpoints.down(1800)]: {\r\n        flex: '0 0 25.33%',\r\n      },\r\n      [theme.breakpoints.down(1500)]: {\r\n        flex: '0 0 33.33%',\r\n      },\r\n      [theme.breakpoints.down('md')]: {\r\n        flex: $oneOneOneHundredPercent\r\n      }\r\n    },\r\n    /**VACCINE */\r\n    accordionListVaccine: {\r\n      display: 'flex',\r\n      flexWrap: 'wrap',\r\n      paddingTop: '30px',\r\n      paddingLeft: '5rem',\r\n      paddingRight: '5rem',\r\n      [theme.breakpoints.down(850)]: {\r\n        marginLeft: '10px',\r\n        paddingLeft: '0rem',\r\n        paddingRight: '0rem',\r\n      }\r\n    },\r\n    accordionVaccine: {\r\n      width: \"320px\",\r\n      '&>.MuiAccordion-root': {\r\n        boxShadow: \"none\",\r\n        '&>.MuiButtonBase-root': {\r\n          minHeight: \"0px\"\r\n        }\r\n      },\r\n      [theme.breakpoints.down(850)]: {\r\n        width: $ninetyFivePerCent\r\n      }\r\n    },\r\n    titleVaccine: {\r\n      display: \"flex\",\r\n      justifyContent: \"center\",\r\n      paddingTop: \"20px\",\r\n      color: `${$darkblue} !important`\r\n    },\r\n    formControlVaccine: {\r\n      flex: '1 1 90% !important',\r\n      display: 'flex',\r\n      '&>div': {\r\n        width: '100%',\r\n        marginLeft: '0px',\r\n        '&>div': {\r\n          marginTop: '0px',\r\n          [theme.breakpoints.down(900)]: {\r\n            width: $oneHundredPercent,\r\n            marginLeft: \"0px\"\r\n          }\r\n        }\r\n      }\r\n    },\r\n\r\n    programsDataItem: {\r\n      flex: '0 0 20%',\r\n      paddingLeft: '20px',\r\n      paddingRight: '20px',\r\n      [theme.breakpoints.down('md')]: {\r\n        flex: '1 1 30%',\r\n      }\r\n    },\r\n    /**VirtualDoctor*/\r\n    spanVirtualDoctor: {\r\n      display: 'flex',\r\n      fontSize: '0.9rem',\r\n      flex: $oneOneOneHundredPercent,\r\n      fontWeight: '500',\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: 'auto',\r\n        paddingLeft: '0'\r\n      }\r\n    },\r\n\r\n    /********NOTIFICATIONS */\r\n    card50: {\r\n      flex: $oneOneOneHundredPercent,\r\n      margin: \"10px 20px 10px 20px\",\r\n    },\r\n    card100: {\r\n      flex: \"0 1 45%\",\r\n      margin: \"0 5% 20px 5%\",\r\n      flexBasis: \"40%\"\r\n    },\r\n\r\n    AllNotifications: {\r\n      marginTop: \"20px\",\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      justifyContent: $spaceBetween,\r\n      flexWrap: \"wrap\"\r\n    },\r\n\r\n    dropdownNotification: {\r\n      flexWrap: \"wrap\",\r\n      position: \"absolute\",\r\n      top: 28,\r\n      right: 0,\r\n      left: 0,\r\n      marginRight: \"250px\",\r\n      zIndex: 1,\r\n      boxShadow: $boxxShadow,\r\n      padding: theme.spacing(1),\r\n      backgroundColor: theme.palette.background.paper,\r\n      width: \"320px\",\r\n      marginLeft: \"-260px\",\r\n    },\r\n\r\n    notificationIcon: {\r\n      color: $blue,\r\n      fontSize: \"1rem\",\r\n    },\r\n\r\n    customButtomNotification: {\r\n      color: \"white\",\r\n      cursor: \"pointer !important\",\r\n      margin: \"2px 2px 2px 16px\",\r\n      fontSize: \"5pt\",\r\n      boxshadow: \"0px 1px 4px 0 #585858\",\r\n      fontFamily: $arialSansSerif,\r\n      fontWeight: \"bold\",\r\n      borderRadius: \"20px\",\r\n    },\r\n    iconReader: {\r\n      color: $darkgray,\r\n      fontSize: \"1rem\",\r\n    },\r\n\r\n    iconDestacate: { \r\n      color: \"#F0AB35\",\r\n      fontSize: \"1rem\"\r\n    },\r\n\r\n    AllNotIcon: {\r\n      color: $darkblue,\r\n      marginRight: \"5px\",\r\n      fontSize: \"1rem\"\r\n    },\r\n\r\n    /* Coverage Menu */\r\n    coverageMenuItem: {\r\n      display: \"flex\",\r\n      paddingLeft: '20px',\r\n      paddingRight: '20px',\r\n      width: \"270px\",\r\n      [theme.breakpoints.down(375)]: {\r\n        width: $eightyPercent\r\n      }\r\n    },\r\n\r\n    divCoverageMenu: {\r\n      display: 'flex',\r\n      flexWrap: 'nowrap',\r\n      justifyContent: 'center',\r\n      overflow: 'auto',\r\n      marginLeft: '8%',\r\n      marginRight: '8%',\r\n      paddingTop: '6%',\r\n      [theme.breakpoints.up(1570)]: {\r\n        justifyContent: 'center',\r\n      },\r\n      [theme.breakpoints.down(\"md\")]: {\r\n        alignItems: \"center\",\r\n        marginLeft: '0px',\r\n        marginRight: '0px',\r\n        paddingTop: '10%',\r\n      },\r\n      [theme.breakpoints.down(820)]: {\r\n        flexDirection: \"column\",\r\n        alignItems: \"center\",\r\n        marginLeft: '0px',\r\n        marginRight: '0px',\r\n        paddingTop: '10%',\r\n      }\r\n    },\r\n    /**login */\r\n    logoPageLogin: {\r\n      [theme.breakpoints.down(800)]: {\r\n        display: \"none\",\r\n      },\r\n      [theme.breakpoints.up(800)]: {\r\n        display: \"block\",\r\n      },\r\n      marginLeft: \"auto\",\r\n      marginRight: \"auto\",\r\n      width: \"50%\",\r\n    },\r\n\r\n    inputLogin: {\r\n      \"& > div > div > input , fieldset \": {\r\n        borderRadius: $thirtyPx,\r\n        boxShadow: \"0px 3px 9px 0px #a0a0a0\",\r\n        marginBottom: '0 !important'\r\n      },\r\n      \"& > div\": {\r\n        [theme.breakpoints.down(800)]: {\r\n          width: $oneHundredPercentImportant,\r\n        },\r\n        [theme.breakpoints.up(800)]: {\r\n          width: $eightyPercent,\r\n        }\r\n      },\r\n      \"& > div > label\": {\r\n        [theme.breakpoints.down(960)]: {\r\n          color: \"#fff\",\r\n          fontWeight: \"bold\"\r\n        },\r\n        [theme.breakpoints.up(960)]: {\r\n          color: $darkblue,\r\n          fontWeight: \"bold\"\r\n        }\r\n      },\r\n      \"& > div > div \": {\r\n        backgroundColor: \"#fff\",\r\n        borderRadius: \"30px\",\r\n      },\r\n      width: $oneHundredPercentImportant,\r\n      alignContent: \"center\",\r\n      alignItems: 'center',\r\n      flex: '1 1 25%',\r\n      paddingTop: '1rem',\r\n      [theme.breakpoints.down(1125)]: {\r\n        flex: '1 1 50%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(800)]: {\r\n        flex: $oneOneOneHundredPercent\r\n      }\r\n    },\r\n\r\n    datePickerLogin: {\r\n      marginTop: $zeroPx,\r\n      [theme.breakpoints.down(800)]: {\r\n        \"& > div\": {\r\n          marginLeft: \"15%\"\r\n        }\r\n      },\r\n      [theme.breakpoints.up(800)]: {\r\n        \"& > div > div \": {\r\n          width: \"90% !important\",\r\n          marginLeft: \"5%\"\r\n        },\r\n      },\r\n      [theme.breakpoints.down(800)]: {\r\n        \"& > div > div \": {\r\n          width: \"90% !important\",\r\n          marginLeft: \"5%\"\r\n        },\r\n      },\r\n      [theme.breakpoints.up(899)]: {\r\n        \"& > div > div \": {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: \"0\"\r\n        },\r\n      },\r\n\r\n    },\r\n\r\n    btnLogin: {\r\n\r\n      [theme.breakpoints.down(800)]: {\r\n        width: $eightyPercent\r\n      },\r\n      [theme.breakpoints.up(800)]: {\r\n        width: \"240px !important\",\r\n      },\r\n      height: $fortyPx,\r\n      fontSize: $twelve,\r\n      marginTop: \"20px\"\r\n    },\r\n    flexRowBtnLogin: {\r\n      display: \"flex\",\r\n      [theme.breakpoints.down(800)]: {\r\n        flexDirection: \"column\",\r\n        alignItems: \"center\",\r\n      },\r\n      [theme.breakpoints.up(800)]: {\r\n        flexDirection: \"row\",\r\n        alignItems: \"center\",\r\n\r\n      },\r\n      margin: \"auto\",\r\n      width: $oneHundredPercent,\r\n      flexWrap: \"wrap\",\r\n      justifyContent: \"center\"\r\n    },\r\n\r\n    decoredText: {\r\n      justifyContent: \"center\"\r\n\r\n    },\r\n\r\n    txtLogin: {\r\n      marginTop: \"10px\",\r\n      color: $blue,\r\n      fontSize: \"14px\",\r\n      textAlign: \"center\",\r\n      [theme.breakpoints.down(800)]: {\r\n        color: $blue,\r\n      },\r\n      [theme.breakpoints.up(800)]: {\r\n        color: $darkgray,\r\n      }\r\n\r\n    },\r\n\r\n    btnLoginExternal: {\r\n      width: $fiftyHundredPx,\r\n      height: $thirtyPx,\r\n      fontSize: $tenPx,\r\n      [theme.breakpoints.down(800)]: {\r\n        marginTop: \"10px\"\r\n      },\r\n      [theme.breakpoints.up(800)]: {\r\n        marginTop: \"20px\"\r\n      }\r\n    },\r\n\r\n\r\n    darkGrayBtn: {\r\n      background: $darkgray,\r\n      '&:hover': {\r\n        background: $darkgray,\r\n      }\r\n    },\r\n\r\n    divTravelCoverageMenu: {\r\n      display: 'flex',\r\n      flexWrap: 'nowrap',\r\n      justifyContent: 'center',\r\n      overflow: 'auto',\r\n      marginLeft: '8%',\r\n      marginRight: '8%',\r\n      [theme.breakpoints.up(1570)]: {\r\n        justifyContent: 'center',\r\n      },\r\n      [theme.breakpoints.down(\"md\")]: {\r\n        alignItems: \"center\",\r\n        marginLeft: '0px',\r\n        marginRight: '0px',\r\n      },\r\n      [theme.breakpoints.down(870)]: {\r\n        flexDirection: \"column\",\r\n        alignItems: \"center\",\r\n        marginLeft: '0px',\r\n        marginRight: '0px',\r\n      }\r\n    },\r\n    titleTravelCoverage: {\r\n      paddingTop: '2%',\r\n      paddingBottom: '2%',\r\n      textAlign: \"center\",\r\n      [theme.breakpoints.down(\"md\")]: {\r\n        paddingTop: '10%',\r\n      },\r\n    },\r\n\r\n    sectionFlexRefunds: {\r\n      display: 'flex',\r\n      flex: $oneOneOneHundredPercent,\r\n      flexWrap: 'wrap',\r\n      justifyContent: 'center'\r\n    },\r\n\r\n    divRefunds: {\r\n      display: 'flex',\r\n      flex: '0 0 24%',\r\n      padding: '2rem',\r\n      '&>div': {\r\n        display: 'flex',\r\n        flex: $oneOneOneHundredPercent\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: $oneOneOneHundredPercent,\r\n      }\r\n    },\r\n\r\n    divAccordionRefunds: {\r\n      display: 'flex',\r\n      flex: '0 0 23%',\r\n      borderRadius: '10px',\r\n      minHeight: '60px',\r\n      padding: '8px',\r\n      margin: '1%',\r\n      flexWrap: 'wrap',\r\n      '&>div': {\r\n        display: 'flex',\r\n        flex: $oneOneOneHundredPercent,\r\n        '&>div': {\r\n          display: 'flex',\r\n          flex: $oneOneOneHundredPercent,\r\n        }\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: '1 1 50%',\r\n      }\r\n    },\r\n\r\n    contactForm: {\r\n      display: 'flex',\r\n      flexDirection: \"column\",\r\n      paddingTop: '10px',\r\n      paddingLeft: '4rem',\r\n      alignItems: 'center',\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingLeft: '0rem',\r\n      }\r\n    },\r\n    contactFormControl: {\r\n      paddingTop: '1rem',\r\n      '&>div': {\r\n        width: \"750px !important\",\r\n        '&>div': {\r\n          borderRadius: \"10px\",\r\n        },\r\n      },\r\n      [theme.breakpoints.up(768)]: {\r\n        paddingTop: '0rem',\r\n        '&>div': {\r\n          width: '500px !important'\r\n        }\r\n      },\r\n      [theme.breakpoints.down(720)]: {\r\n        paddingTop: '0rem',\r\n        '&>div': {\r\n          width: $fourHundredPx,\r\n        }\r\n      },\r\n      [theme.breakpoints.down(400)]: {\r\n        '&>div': {\r\n          width: $threeHundredPx\r\n        }\r\n      },\r\n      [theme.breakpoints.down(330)]: {\r\n        '&>div': {\r\n          width: '260px !important'\r\n        }\r\n      }\r\n    },\r\n\r\n    pdfCoverage: {\r\n      [theme.breakpoints.down(1000)]: {\r\n        '&>div>div': {\r\n          position: \"relative !important\",\r\n          top: \"1rem !important\"\r\n        }\r\n      }\r\n    },\r\n\r\n    formAffiliations: {\r\n      display: 'grid',\r\n      gridTemplateColumns: $templateColumnsFour,\r\n      [theme.breakpoints.down(1300)]: {\r\n        gridTemplateColumns: $templateColumnsThree\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        gridTemplateColumns: '1fr 1fr'\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        gridTemplateColumns: '1fr'\r\n      },\r\n      paddingTop: '10px',\r\n      [theme.breakpoints.up(800)]: {\r\n        width: $oneHundredPercent,\r\n        paddingLeft: \"5%\"\r\n      }\r\n    },\r\n    formControlsAffiliations: {\r\n      paddingRight: \"15px\",\r\n      '&>div>div>div': {\r\n        padding: \"11px 10px 11px 10px\"\r\n      },\r\n      [theme.breakpoints.down(1004)]: {\r\n        width: $oneHundredPercentImportant\r\n      },\r\n      '&>.MuiFormControl-root': {\r\n        [theme.breakpoints.down(1230)]: {\r\n          width: '90% !important',\r\n          marginLeft: $twoPointFivePercent,\r\n\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: '90% !important',\r\n          marginLeft: $fivePercent,\r\n\r\n        },\r\n      },\r\n      [theme.breakpoints.down(1444)]: {\r\n        paddingRight: \"5px\",\r\n      },\r\n      [theme.breakpoints.down(1000)]: {\r\n        paddingRight: $zeroPx,\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        '&>div': {\r\n          width: \"90% !important\",\r\n          marginLeft: \"0% !important\",\r\n\r\n          '&>label': {\r\n            position: \"absolute\",\r\n            fontSize: \"1rem\"\r\n          },\r\n        },\r\n      }\r\n    },\r\n\r\n    formControlsAffiliationsObservations: {\r\n      paddingTop: '1rem',\r\n      paddingRight: \"15px\",\r\n      width: $oneHundredPercentImportant,\r\n\r\n      [theme.breakpoints.down(1004)]: {\r\n        width: $oneHundredPercentImportant\r\n      },\r\n      '&>.MuiFormControl-root': {\r\n        width: $ninetyFivePerCent,\r\n      },\r\n      [theme.breakpoints.down(1444)]: {\r\n        paddingRight: \"5px\",\r\n      },\r\n      [theme.breakpoints.down(1000)]: {\r\n        paddingRight: $zeroPx,\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        '&>div': {\r\n          width: \"90% !important\",\r\n          marginLeft: \"0% !important\",\r\n          '&>label': {\r\n            marginLeft: $fivePercent,\r\n          },\r\n        },\r\n      }\r\n    },\r\n\r\n    textChangePlan: {\r\n      paddingTop: '1rem',\r\n      paddingRight: \"15px\",\r\n      marginLeft: \"8px\",\r\n      width: \"90%\",\r\n      display: \"flex\",\r\n      flexWrap: \"wrap\",\r\n      justifyContent: \"flex-start\",\r\n      [theme.breakpoints.down(1444)]: {\r\n        paddingRight: \"5px\",\r\n      },\r\n      [theme.breakpoints.down(1000)]: {\r\n        paddingRight: $zeroPx,\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        display: \"flex\",\r\n        flexWrap: \"wrap\",\r\n        flexDirection: \"row\",\r\n        justifyContent: $spaceBetween,\r\n        marginLeft: \"10%\",\r\n        width: \"90%\",\r\n      }\r\n    },\r\n\r\n    titleChangePlan: {\r\n      width: \"50%\"\r\n    },\r\n\r\n    contentTextChangePlan: {\r\n      textTransform: 'uppercase',\r\n      fontSize: \"14px\",\r\n      marginTop: \"10px\",\r\n      paddingLeft: \"0px\"\r\n\r\n    },\r\n\r\n    /**BillingAndCollections**/\r\n    billingAndCollectionsDiv: {\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      alignContent: 'center',\r\n      '&>div': {\r\n        '&>div': {\r\n          marginLeft: $zeroPx,\r\n          [theme.breakpoints.up(768)]: {\r\n            width: $fourHundredPx,\r\n          }\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: $oneHundredPercent\r\n        },\r\n      }\r\n    },\r\n\r\n    /**Unsubscribe */\r\n\r\n    left10: {\r\n      [theme.breakpoints.down(768)]: {\r\n        marginLeft: '10% !important'\r\n      },\r\n      [theme.breakpoints.up(768)]: {\r\n        marginLeft: $fivePercent\r\n      },\r\n    },\r\n\r\n    txtLabelTramites: {\r\n      color: $darkgray,\r\n      fontSize: \"15px\",\r\n      textAlign: \"left\",\r\n      [theme.breakpoints.down(768)]: {\r\n        marginLeft: '10% !important'\r\n      },\r\n      [theme.breakpoints.up(768)]: {\r\n        marginLeft: $fivePercent\r\n      },\r\n\r\n    },\r\n\r\n    QueryProcedure: {\r\n      display: 'grid',\r\n      [theme.breakpoints.up(1400)]: {\r\n        gridRow: \"3\",\r\n        gridcolumn: \"1/5\",\r\n        marginRigth: \"5%\",\r\n      },\r\n      justifyContent: 'center',\r\n      alignSelf: 'center',\r\n      width: $oneHundredPercentImportant,\r\n      marginLeft: '20px !important',\r\n      marginTop: '20px !important',\r\n\r\n      '& > div': {\r\n        [theme.breakpoints.up(768)]: {\r\n          width: $oneHundredPercentImportant,\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: '80%'\r\n        },\r\n      }\r\n    },\r\n\r\n    formControlsDateAfiliations: {\r\n      paddingTop: '1rem',\r\n      paddingRight: \"15px\",\r\n      '&>div>div>div>input': {\r\n        padding: \"11px 10px\",\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        width: $eightyPercent,\r\n        marginLeft: $sixtyPx,\r\n      },\r\n      [theme.breakpoints.down(800)]: {\r\n        width: $eightyPercent,\r\n        marginLeft: \"10%\",\r\n      },\r\n      [theme.breakpoints.up(900)]: {\r\n        width: '90% !important',\r\n        marginLeft: \"20px\",\r\n      },\r\n      [theme.breakpoints.up(1000)]: {\r\n        width: $twoHundredEightyPx,\r\n        margin: \"5px\",\r\n      },\r\n\r\n      [theme.breakpoints.up(1444)]: {\r\n        paddingRight: \"5px\",\r\n      },\r\n      [theme.breakpoints.down(1000)]: {\r\n        paddingRight: $zeroPx,\r\n      },\r\n\r\n    },\r\n\r\n    archivoAdjuntoDiv: {\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      alignContent: 'center',\r\n      flexWrap: 'wrap',\r\n      [theme.breakpoints.down(800)]: {\r\n        width: $oneHundredPercent,\r\n        paddingTop: \"20px\"\r\n\r\n      },\r\n      [theme.breakpoints.up(800)]: {\r\n        width: \"250px\",\r\n        paddingLeft: \"20px\",\r\n        paddingTop: \"20px\"\r\n      },\r\n    },\r\n\r\n    /*Prevention*/\r\n    preventionRow: {\r\n      display: 'flex',\r\n      flex: '1 0 10%',\r\n      justifyContent: 'center',\r\n      borderBottom: `1px solid ${$lightgray}`,\r\n      [theme.breakpoints.up(960)]: {\r\n        flex: '0 0 30%'\r\n      }\r\n    },\r\n\r\n    paragraphPrevention: {\r\n      display: 'flex',\r\n      justifyContent: 'flex-start',\r\n      flex: '0 0 60%',\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: '0 0 80%'\r\n      }\r\n    },\r\n\r\n    /**Billings**/\r\n    firstIcon: {\r\n      [theme.breakpoints.down(250)]: {\r\n        flex: $zeroZeroOneHundred\r\n      },\r\n      [theme.breakpoints.between(250, 410)]: {\r\n        flex: '0 0 62% !important',\r\n        maxWidth: '175px',\r\n        marginRight: '5%'\r\n      },\r\n      [theme.breakpoints.between(411, 450)]: {\r\n        flex: '0 0 62% !important',\r\n        maxWidth: '184px',\r\n        marginRight: '7%'\r\n      },\r\n      [theme.breakpoints.up(450)]: {\r\n        flex: '0 0 30%',\r\n      },\r\n      [theme.breakpoints.up(768)]: {\r\n        flex: '0 0 15%',\r\n      }\r\n    },\r\n    midIcon: {\r\n      [theme.breakpoints.down(250)]: {\r\n        flex: $zeroZeroOneHundred,\r\n        maxWidth: 'inherit !important'\r\n      },\r\n      [theme.breakpoints.between(280, 321)]: {\r\n        paddingLeft: '0px',\r\n        paddingRight: '0px'\r\n      },\r\n      [theme.breakpoints.down(350)]: {\r\n        flex: '0 0 42%',\r\n        maxWidth: '175px'\r\n      },\r\n      [theme.breakpoints.between(350, 450)]: {\r\n        flex: '0 0 43%',\r\n        maxWidth: '175px'\r\n      },\r\n      [theme.breakpoints.up(450)]: {\r\n        flex: '0 0 30%',\r\n      },\r\n      [theme.breakpoints.up(768)]: {\r\n        flex: '0 0 15%',\r\n      }\r\n    },\r\n    billingTxtIcon: {\r\n      fontSize: $twelve,\r\n      color: `${$blue} !important`\r\n    },\r\n\r\n    /**Appointment Card**/\r\n    appointmentCards: {\r\n      backgroundColor: $whiteColor,\r\n      maxWidth: '400px',\r\n      display: 'flex',\r\n      flex: '1 1 25%',\r\n      boxShadow: $lightBoxShadow,\r\n      paddingTop: '5px',\r\n      [theme.breakpoints.between(410, 1367)]: {\r\n        maxWidth: '335px',\r\n        minWidth: '335px !important',\r\n      },\r\n      [theme.breakpoints.down(1080)]: {\r\n        flex: '1 1 35%'\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: '0 0 100%'\r\n      },\r\n      [theme.breakpoints.up(1366)]: {\r\n        minWidth: '400px',\r\n      },\r\n      [theme.breakpoints.between(320, 345)]: {\r\n        marginRight: '5%',\r\n        marginLeft: '3%',\r\n        maxWidth: $twoHundredEightyPx,\r\n        minWidth: '200px !important',\r\n      },\r\n      [theme.breakpoints.between(345, 350)]: {\r\n        marginRight: '5%',\r\n        maxWidth: $threeHundredPx,\r\n        minWidth: $threeHundredPx,\r\n      },\r\n      [theme.breakpoints.between(350, 410)]: {\r\n        maxWidth: $threeHundredTenPx,\r\n        minWidth: $threeHundredTenPx,\r\n      },\r\n    },\r\n\r\n    /**Movements**/\r\n    movementsCards: {\r\n      backgroundColor: $whiteColor,\r\n      maxWidth: '400px',\r\n      display: 'flex',\r\n      flex: '1 1 25%',\r\n      boxShadow: $lightBoxShadow,\r\n      paddingTop: '5px',\r\n      [theme.breakpoints.between(410, 1367)]: {\r\n        marginRight: '5%',\r\n        maxWidth: '325px',\r\n        minWidth: '325px !important',\r\n      },\r\n      [theme.breakpoints.down(1080)]: {\r\n        flex: '1 1 35%'\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: '0 0 100%'\r\n      },\r\n      [theme.breakpoints.up(1366)]: {\r\n        minWidth: '400px',\r\n      },\r\n    },\r\n\r\n    divCardContent: {\r\n      display: 'flex',\r\n      flexWrap: 'nowrap',\r\n      justifyContent: $spaceBetween,\r\n      [theme.breakpoints.up(380)]: {\r\n        flex: '1 1 70%'\r\n      },\r\n      [theme.breakpoints.down(321)]: {\r\n        flexWrap: 'wrap',\r\n        flex: $oneOneOneHundredPercent\r\n      }\r\n    },\r\n    divCardContentCustomCalendarMedicalProfile: {\r\n      display: 'flex',\r\n      flexWrap: 'wrap',\r\n      justifyContent: $spaceBetween,\r\n      [theme.breakpoints.up(380)]: {\r\n        flex: '1 1 70%'\r\n      },\r\n      [theme.breakpoints.down(321)]: {\r\n        flexWrap: 'wrap',\r\n        flex: $oneOneOneHundredPercent\r\n      }\r\n    },\r\n    cardContentMuiCard: {\r\n      display: 'flex',\r\n      padding: \"8px\",\r\n      flex: $oneOneOneHundredPercent,\r\n      [theme.breakpoints.down(321)]: {\r\n        flexWrap: 'wrap',\r\n        padding: \"8px\"\r\n      }\r\n    },\r\n    cardContentMuiCardDetailPatient: {\r\n      display: \"flex\",\r\n      padding: \"8px\",\r\n      flex: $oneOneOneHundredPercent,\r\n      [theme.breakpoints.down(720)]: {\r\n        flexWrap: \"wrap\",\r\n        padding: \"1px\",\r\n      }\r\n    },\r\n    divSectionMovements: {\r\n      display: 'flex',\r\n      padding: '2%',\r\n      flexWrap: 'wrap',\r\n      gap: \"20px\",\r\n      [theme.breakpoints.down(776)]: {\r\n        justifyContent: 'center',\r\n        gap: \"20px\",\r\n      }\r\n    },\r\n    divSectionCalendarMedica: {\r\n      display: \"flex\",\r\n      padding: \"2%\",\r\n      flexWrap: \"wrap\",\r\n      gap: \"20px\",\r\n      justifyContent: \"center\", \r\n      paddingLeft: \"20px\", \r\n      paddingRight: \"20px\",\r\n      [theme.breakpoints.down(776)]: {\r\n        justifyContent: \"center\", \r\n        paddingLeft: \"20px\", \r\n        paddingRight: \"20px\",\r\n        gap: \"20px\",\r\n      }\r\n    },\r\n    divSectionMovementsDetailPatientMedicalAgenda: {\r\n      display: 'flex',\r\n      padding: '11%',\r\n      flexWrap: 'wrap',\r\n      marginTop:'-155px',\r\n      justifyContent: 'center',\r\n\r\n      [theme.breakpoints.down(776)]: {\r\n        marginTop:'-35px',\r\n\r\n        justifyContent: 'center'\r\n      }\r\n    },\r\n    headerIconCard: {\r\n      [theme.breakpoints.down(321)]: {\r\n        flex: $zeroZeroOneHundred\r\n      }\r\n    },\r\n    amountMovements: {\r\n      textTransform: 'uppercase',\r\n      fontSize: '60px',\r\n      display: 'flex',\r\n      flex: $oneOneOneHundredPercent,\r\n      justifyContent: 'center',\r\n      [theme.breakpoints.down(768)]: {\r\n        fontSize: '40px'\r\n      },\r\n      [theme.breakpoints.down(300)]: {\r\n        fontSize: '26px'\r\n      },\r\n      [theme.breakpoints.down(200)]: {\r\n        fontSize: '16px'\r\n      }\r\n    },\r\n    amountTitle: {\r\n      textTransform: 'uppercase',\r\n      fontSize: '20px',\r\n      color: '#585858',\r\n      display: 'flex',\r\n      flex: $oneOneOneHundredPercent,\r\n      justifyContent: 'center',\r\n      [theme.breakpoints.down(768)]: {\r\n        fontSize: '15px'\r\n      },\r\n      [theme.breakpoints.down(300)]: {\r\n        fontSize: '12px'\r\n      }\r\n    },\r\n    subTitleMovements: {\r\n      textTransform: 'uppercase',\r\n      alignItems: 'center',\r\n      display: 'flex',\r\n      fontSize: '14px',\r\n      [theme.breakpoints.down(400)]: {\r\n        fontSize: '12px'\r\n      },\r\n      [theme.breakpoints.down(300)]: {\r\n        fontSize: '11px'\r\n      }\r\n    },\r\n    actionsIcons: {\r\n      fontSize: '25px',\r\n      color: $blue\r\n    },\r\n\r\n    //WayToPay\r\n    subtitleSelectWayToPay: {\r\n      textTransform: 'uppercase',\r\n      marginBottom: \"10px\",\r\n      marginLeft: \"22px\",\r\n      fontSize: \"14px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        display: 'flex',\r\n        alignItems: 'center',\r\n        textTransform: 'uppercase',\r\n        marginBottom: \"10px\",\r\n        marginLeft: \"7%\",\r\n        fontFamily: $arialRegular,\r\n        color: $blue,\r\n        fontWeight: 'bold',\r\n      },\r\n    },\r\n    wayToPayDiv: {\r\n      display: \"flex\",\r\n      marginLeft: \"5%\",\r\n      marginRight: \"5%\",\r\n      paddingBottom: \"20px\",\r\n      justifyContent: $spaceBetween,\r\n      [theme.breakpoints.down(1100)]: {\r\n        flexWrap: \"wrap\",\r\n      },\r\n      [theme.breakpoints.down(888)]: {\r\n        justifyContent: \"space-around\"\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flexDirection: \"column\",\r\n        paddingBottom: \"0px\",\r\n      },\r\n    },\r\n    wayToPayItemDiv: {\r\n      display: \"flex\",\r\n      flexDirection: \"column\",\r\n      [theme.breakpoints.down(1100)]: {\r\n        marginBottom: \"20px\",\r\n        flexWrap: \"nowrap\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        marginBottom: \"20px\",\r\n        flexWrap: \"wrap\",\r\n      },\r\n    },\r\n    wayToPayMercadoPago: {\r\n      marginLeft: \"10px\",\r\n      width: \"min-content\",\r\n      minWidth: \"250px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        marginLeft: \"7%\",\r\n        width: \"80%\",\r\n\r\n      },\r\n    },\r\n    buttonImgWayToPay: {\r\n      marginLeft: \"10px\",\r\n      marginBottom: \"10px\",\r\n      borderRadius: \"10%\",\r\n      boxShadow: `1px 2px 10px 0px ${$mediumgray}`,\r\n      padding: \"8px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        marginLeft: $zeroPx,\r\n      },\r\n    },\r\n    wayToPayButtonImage: {\r\n      width: \"93%\",\r\n      [theme.breakpoints.down(768)]: {\r\n        marginLeft: \"7%\",\r\n      },\r\n    },\r\n    wayToPayTitle: {\r\n      fontSize: \"13px\",\r\n      fontFamily: \"Roboto,Helvetica,Arial,sans-serif\",\r\n      color: \"rgba(0,0,0,0.6)\",\r\n    },\r\n    wayToPaySubtitle: {\r\n      fontSize: $fontSize14,\r\n      color: `${$blue} !important`,\r\n    },\r\n\r\n    /* Debit Automatic*/\r\n    directDebitDiv: {\r\n      display: \"flex\",\r\n      marginLeft: \"5%\",\r\n      marginRight: \"5%\",\r\n      justifyContent: \"flex-start\",\r\n      flexWrap: \"wrap\",\r\n      alignItems: \"center\",\r\n      [theme.breakpoints.down(1003)]: {\r\n        justifyContent: $spaceBetween,\r\n      },\r\n    },\r\n    formControlsCardNumber: {\r\n      paddingTop: '1.5rem',\r\n      paddingRight: \"5px\",\r\n      '&>.MuiFormControl-root': {\r\n        width: \"250px\",\r\n        paddingTop: \"10px\",\r\n        paddingBottom: \"8px\",\r\n        margin: \"8px\",\r\n        minWidth: \"250px\",\r\n        '&>.MuiInputBase-root': {\r\n          marginTop: \"0px\",\r\n          '&>input': {\r\n            height: \"1.4375em\",\r\n            padding: \"14.5px\"\r\n          },\r\n        },\r\n\r\n      },\r\n    },\r\n    formControlsDirectDebit: {\r\n      paddingTop: '1.5rem',\r\n      paddingRight: \"15px\",\r\n      [theme.breakpoints.down(1003)]: {\r\n        paddingRight: $zeroPx,\r\n        width: '40% !important',\r\n        marginLeft: $twoPointFivePercent,\r\n        marginRight: \"7.5% !important\",\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        width: '32% !important',\r\n        marginLeft: \"6.5% !important\",\r\n        marginRight: \"11.5% !important\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        width: '36% !important',\r\n        marginLeft: \"7% !important\",\r\n        marginRight: \"7% !important\",\r\n      },\r\n      [theme.breakpoints.down(1444)]: {\r\n        paddingRight: \"5px\",\r\n      },\r\n      '&>.MuiFormControl-root': {\r\n        width: \"250px\",\r\n        paddingTop: \"10px\",\r\n        paddingBottom: \"8px\",\r\n        margin: \"8px\",\r\n        minWidth: \"250px\",\r\n        [theme.breakpoints.down(1230)]: {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: $twoPointFivePercent,\r\n          minWidth: \"0px\",\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: '90% !important',\r\n          marginLeft: $fivePercent,\r\n          minWidth: \"0px\",\r\n\r\n        },\r\n      },\r\n    },\r\n\r\n    sectionButtons: {\r\n      display: 'flex',\r\n      alignItems: 'flex-end',\r\n      justifyContent: 'flex-start',\r\n      flex: '0 0 45%',\r\n      [theme.breakpoints.between(767, 1215)]: {\r\n        flex: '0 0 40%',\r\n      },\r\n      [theme.breakpoints.down(321)]: {\r\n        flex: '0 0 100%',\r\n      },\r\n    },\r\n    btnAuthorizationCard: {\r\n      flexDirection: 'column',\r\n      [theme.breakpoints.down(321)]: {\r\n        flexDirection: 'row',\r\n        justifyContent: $spaceBetween,\r\n        alignItems: 'center'\r\n      },\r\n    },\r\n    authorizationNotifications: {\r\n      justifyContent: 'center',\r\n      display: 'block !important',\r\n      '&>span': {\r\n        right: '3%'\r\n      }\r\n    },\r\n    descriptionCard: {\r\n      display: 'flex',\r\n      flex: '0 0 70%',\r\n      paddingLeft: '4%',\r\n      [theme.breakpoints.down(321)]: {\r\n        flex: '0 0 100%',\r\n      },\r\n    },\r\n    menuSubscription: {\r\n      margin: \"13px\",\r\n      marginLeft: \"30px\",\r\n    },\r\n    authorizationTabs: {\r\n      paddingTop: '1%',\r\n      marginLeft: '1%',\r\n      width: '100%',\r\n      '&>div>div': {\r\n        display: 'flex',\r\n        flex: $oneOneOneHundredPercent,\r\n        flexWrap: 'nowrap',\r\n        justifyContent: 'space-around'\r\n      }\r\n    },\r\n    authorizationHeader: {\r\n      display: \"flex\"\r\n    },\r\n    stepLabelTab: {\r\n      '&>span>svg.Mui-active, .MuiStepIcon-completed ': {\r\n        color: '#0075c9 !important'\r\n      }\r\n    },\r\n    boxSteps: {\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      '&>div': {\r\n        width: '40%',\r\n        [theme.breakpoints.down(769)]: {\r\n          width: $oneHundredPercent\r\n        }\r\n      }\r\n    },\r\n    txtMobile: {\r\n      [theme.breakpoints.down(400)]: {\r\n        fontSize: $eightPx\r\n      }\r\n    },\r\n    txtBoxComments: {\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      '&>textarea': {\r\n        maxWidth: '500px',\r\n        borderRadius: '24px !important'\r\n      }\r\n    },\r\n    txtFormComments: {\r\n      width: $oneHundredPercentImportant\r\n    },\r\n    txtLabelComments: {\r\n      width: $oneHundredPercent,\r\n      display: 'flex',\r\n      justifyContent: 'center'\r\n    },\r\n    txtObservations: {\r\n      width: '500px',\r\n      marginLeft: \"0px\",\r\n      '&>.MuiInputBase-root': {\r\n        margin: \"0px\"\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        width: $oneHundredPercentImportant,\r\n      },\r\n    },\r\n\r\n    txtBoxObservation: {\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      '&>textarea': {\r\n        maxWidth: '500px',\r\n        borderRadius: '24px !important',\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        width: $oneHundredPercentImportant,\r\n        marginLeft: \"0px\",\r\n        display: \"block\",\r\n        '&>textarea': {\r\n          maxWidth: 'initial',\r\n          boxSizing: \"inherit\"\r\n        }\r\n      },\r\n    },\r\n\r\n    txtTitleObservation: {\r\n      fontSize: \"12px\",\r\n      color: $mediumgray,\r\n      fontFamily: \"Roboto, Helvetica ,Arial ,sans-serif\",\r\n      textTransform: \"uppercase\",\r\n      marginLeft: \"10px\"\r\n    },\r\n\r\n    \r\n\r\n    /**Customs select affilliated */\r\n    afilliateSelect: {\r\n      padding: $zeroPx,\r\n      margin: \"0px\",\r\n      width: $threeHundredPx,\r\n      '&>.MuiOutlinedInput-root': {\r\n        margin: $zeroPx,\r\n        '&>div': {\r\n          padding: \"10px 14px\",\r\n          marginTop: '3px'\r\n        },\r\n      },\r\n      '&>div>fieldset': {\r\n        borderWidth: $zeroPx\r\n      }\r\n    },\r\n\r\n    deploymentSelect: {\r\n      top: $oneHundredFortyPx,\r\n      [theme.breakpoints.down(957)]: {\r\n        top: \"90px !important\",\r\n        left: \"410px !important\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        top: \"210px !important\",\r\n        left: $oneHundredFortyPx,\r\n      },\r\n      [theme.breakpoints.down(450)]: {\r\n        left: \"115px !important\",\r\n      },\r\n      [theme.breakpoints.down(350)]: {\r\n        left: \"100px !important\",\r\n        minWidth: \"235px !important\",\r\n      },\r\n      [theme.breakpoints.down(300)]: {\r\n        left: \"20% !important\",\r\n      },\r\n      '&>ul': {\r\n        color: \"#000000\",\r\n        '&>li': {\r\n          fontWeight: $sixHundredWeight,\r\n          [theme.breakpoints.down(600)]: {\r\n            minHeight: \"auto\"\r\n          },\r\n        }\r\n      }\r\n    },\r\n\r\n    divAffilliate: {\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      alignItems: \"center\",\r\n      paddingLeft: \"45px\",\r\n      paddingTop: \"20px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingTop: \"0px\",\r\n      },\r\n      [theme.breakpoints.down(450)]: {\r\n        paddingLeft: \"25px\",\r\n      },\r\n      [theme.breakpoints.down(350)]: {\r\n        paddingLeft: \"15px\",\r\n      },\r\n    },\r\n\r\n    textTitleTurn: {\r\n      fontSize: \"20px\",\r\n      color: $darkgray,\r\n      [theme.breakpoints.down(768)]: {\r\n        fontSize: \"18px\",\r\n      },\r\n    },\r\n\r\n    orderBtnNewTurn: {\r\n      [theme.breakpoints.down(768)]: {\r\n        display: \"flex\",\r\n        justifyContent: \"flex-end\",\r\n        marginTop: $thirtyPx,\r\n      },\r\n    },\r\n    divMyHistoryTurn: {\r\n      paddingLeft: \"40px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingLeft: \"0px\",\r\n      },\r\n    },\r\n\r\n    divMyHistoryRecipe: {\r\n      paddingLeft: \"40px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingLeft: \"0px\",\r\n      },\r\n    },\r\n\r\n    listCardMyHistory: {\r\n      display: \"flex\",\r\n      flexWrap: \"wrap\",\r\n      paddingLeft: \"20px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingLeft: \"0px\",\r\n        justifyContent: \"center\",\r\n      },\r\n    },\r\n\r\n    deploymentSelectMyHistory: {\r\n      [theme.breakpoints.down(768)]: {\r\n        top: $seventyPx,\r\n        left: $oneHundredThirtyPx,\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        top: $seventyPx,\r\n        left: $oneHundredThirtyPx,\r\n      },\r\n      [theme.breakpoints.down(350)]: {\r\n        left: $seventyPx,\r\n        minWidth: \"235px !important\",\r\n      },\r\n    },\r\n\r\n    dropDownMyHistory: {\r\n      marginLeft: \"-280px\",\r\n      [theme.breakpoints.down(380)]: {\r\n        marginLeft: \"-200px\",\r\n        width: \"270px\"\r\n      },\r\n    },\r\n\r\n    contentNotFound: {\r\n      display: 'flex',\r\n      flexDirection: 'column',\r\n      justifyContent: 'center',\r\n      alignItems: 'center',\r\n      [theme.breakpoints.down(768)]: {\r\n        padding: \"20px\"\r\n      },\r\n    },\r\n\r\n    divAffilliateMyHistory: {\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingTop: \"30px\"\r\n      },\r\n    },\r\n\r\n    /**ContainerBox**/\r\n    containerBoxWeb: {\r\n      minWidth: '380px',\r\n      display: 'flex',\r\n      flex: '1 1 33%',\r\n      flexWrap: 'wrap',\r\n      borderRadius: '20px',\r\n      boxShadow: $containerBoxShadow,\r\n      maxWidth: '750px',\r\n      minHeight: '300px',\r\n      margin: '30px',\r\n      marginTop: '0px'\r\n    },\r\n    cardHomeWeb: {\r\n      maxWidth: '440px',\r\n      minWidth: '350px',\r\n      height: '200px'\r\n    },\r\n    boxDivider: {\r\n      display: 'flex',\r\n      flex: $oneOneOneHundredPercent,\r\n      maxHeight: '2px',\r\n    },\r\n    headerSection: {\r\n      display: 'flex',\r\n      flex: '0 0 100%',\r\n      justifyContent: $spaceBetween,\r\n      paddingRight: '25px',\r\n      paddingLeft: '25px',\r\n      paddingTop: '12px',\r\n      flexWrap: 'wrap',\r\n      maxHeight: '43px'\r\n    },\r\n    boxCardWeb: {\r\n      flexDirection: 'column',\r\n      alignItems: 'center',\r\n      paddingBottom: '20px',\r\n    },\r\n    homeSection: {\r\n      display: 'flex',\r\n      padding: '30px',\r\n      flexWrap: 'wrap',\r\n      [theme.breakpoints.up(1200)]: {\r\n        paddingTop: '0px',\r\n      },\r\n      [theme.breakpoints.down(890)]: {\r\n        paddingTop: '80px',\r\n      },\r\n      justifyContent: 'center'\r\n    },\r\n    ubicationTextHome: {\r\n      paddingRight: '18px',\r\n      justifyContent: 'center',\r\n      flexDirection: 'column',\r\n      alignItems: 'center',\r\n      display: 'flex'\r\n    },\r\n    personalDataItemHome: {\r\n      flex: '0 0 25%',\r\n      paddingLeft: '0px',\r\n      paddingRight: '0px',\r\n      [theme.breakpoints.up(632)]: {\r\n        flex: '0 0 20%',\r\n      },\r\n      [theme.breakpoints.up(900)]: {\r\n        flex: '0 0 25%',\r\n      },\r\n    },\r\n    divItemsHome: {\r\n      flexWrap: 'wrap',\r\n      marginLeft: $zeroPx,\r\n      marginRight: $zeroPx,\r\n      justifyContent: $centerImportant\r\n    },\r\n    personalDataTxtIconHome: {\r\n      fontSize: $elevenPx\r\n    },\r\n    personalDataDivIconsHome: {\r\n      height: '50px !important',\r\n      '&>svg': {\r\n        fontSize: $twentyFivePx\r\n      },\r\n      width: '40px',\r\n    },\r\n    appointmentCardHomeWeb: {\r\n      margin: '20px'\r\n    },\r\n    notAppointment: {\r\n      fontSize: '30px',\r\n      color: $darkgray\r\n    },\r\n    labelSelectAfilliations: {\r\n      top: \"17px\"\r\n    },\r\n    labelSelectAfilliationsCobranza: {\r\n      top: \"17px\",\r\n      [theme.breakpoints.down(900)]: {\r\n        marginLeft: \"9%\"\r\n      },\r\n      [theme.breakpoints.up(900)]: {\r\n        marginLeft: \"2%\"\r\n      }\r\n    },\r\n    marginBottom: {\r\n      marginBottom: \"10px\"\r\n    },\r\n\r\n    inline50: {\r\n      [theme.breakpoints.down(900)]: {\r\n        display: 'grid',\r\n        gridTemplateColumns: '1fr 1fr'\r\n      }\r\n    },\r\n    nuevosFormGrid: {\r\n      display: \"grid\",\r\n      gridTemplateColumns: $templateColumnsFour,\r\n      marginLeft: \"5%\",\r\n      [theme.breakpoints.down(1400)]: {\r\n        gridTemplateColumns: $templateColumnsThree\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        gridTemplateColumns: \"1fr 1fr\"\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        gridTemplateColumns: \"1fr 1fr\"\r\n      },\r\n    },\r\n\r\n    commentGrid: {\r\n      marginRigth: \"5%\",\r\n      gridColumn: \"1/span 4\",\r\n      '&>div': {\r\n        width: \"90%\",\r\n        marginRigth: \"5%\",\r\n      },\r\n      [theme.breakpoints.down(1400)]: {\r\n        gridColumn: \"1/span 3\",\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        gridColumn: \"1/span 2\",\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        gridColumn: \"span 2\",\r\n      },\r\n    },\r\n\r\n    itemGridAdjuntarArchivos: {\r\n      marginRigth: \"5%\",\r\n      gridRow: \"4\",\r\n      gridColumn: \"1/1\",\r\n      [theme.breakpoints.down(1400)]: {\r\n        gridRow: \"5\",\r\n        gridColumn: \"1/1\",\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        gridRow: \"6\",\r\n        gridColumn: \"1/1\",\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        gridRow: \"9\",\r\n        gridColumn: \"1/1\",\r\n      },\r\n    },\r\n    itemGridSpan2: {\r\n      [theme.breakpoints.down(900)]: {\r\n        gridColumn: \"span 2\",\r\n      }\r\n    },\r\n    gridBtnEnviar: {\r\n      justifySelf: \"end\",\r\n      [theme.breakpoints.up(1400)]: {\r\n        gridColumn: \"span 4\",\r\n      },\r\n      [theme.breakpoints.down(1400)]: {\r\n        gridColumn: \"span 3\",\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        gridColumn: \"span 2\",\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        gridColumn: \"span 2\",\r\n      },\r\n    },\r\n\r\n    itemGridSpan1: {\r\n      [theme.breakpoints.down(900)]: {\r\n        gridColumn: \"span 1\",\r\n      }\r\n    },\r\n\r\n    /**********************GRID */\r\n\r\n\r\n    gridContainerCartilla: {\r\n      flex: '0 0 100%',\r\n      justifyContent: \"center\",\r\n      display: \"flex\",\r\n      [theme.breakpoints.up(1367)]: {\r\n        flex: '0 0 78%'\r\n      },\r\n      [theme.breakpoints.up(768)]: {\r\n        paddingTop: '50px'\r\n      }\r\n    },\r\n    cartillaCards: {\r\n      backgroundColor: $tolightgray\r\n    },\r\n    divTitleCardCartilla: {\r\n      display: 'flex',\r\n      flex: '0 0 80%',\r\n      justifyContent: 'flex-start',\r\n      minWidth: '200px',\r\n      paddingLeft: '8px',\r\n      [theme.breakpoints.down(1366)]: {\r\n        flex: '0 0 75% !important',\r\n        minWidth: '150px'\r\n      }\r\n    },\r\n    sectionHeaderCartilla: {\r\n      display: 'flex',\r\n      alignItems: 'center',\r\n      padding: '10px',\r\n      flexWrap: 'nowrap',\r\n      [theme.breakpoints.down(420)]: {\r\n        flexWrap: 'wrap',\r\n      }\r\n    },\r\n    divBtnHeaderCartilla: {\r\n      display: 'flex',\r\n      flex: '1 1 90%',\r\n      justifyContent: 'flex-end',\r\n      [theme.breakpoints.down(420)]: {\r\n        justifyContent: 'center'\r\n      }\r\n    },\r\n\r\n    questionQFMargin: {\r\n      '&>div>div': {\r\n        marginBottom: $zeroPx,\r\n      }\r\n    },\r\n    sectionHeaderCard: {\r\n      padding: \"10px\",\r\n      borderRadius: '10px',\r\n      alignSelf: \"top\",\r\n      flex: '0 0 30%',\r\n      display: 'flex',\r\n      minWidth: \"72px\",\r\n      alignItems: \"center\"\r\n    },\r\n    sectionHeaderCardPatientDetail: {\r\n      padding: \"10px\",\r\n      borderRadius: \"10px\",\r\n      alignSelf: \"top\",\r\n      flex: \"0 0 30%\",\r\n      display: \"flex\",\r\n      minWidth: \"72px\",\r\n      alignItems: \"center\",\r\n      [theme.breakpoints.down(768)]: {\r\n        padding: \"10px\",\r\n        borderRadius: \"10px\",\r\n        alignSelf: \"top\",\r\n        flex: \"0 0 30%\",\r\n        display: \"flex\",\r\n        minWidth: \"95px\",\r\n        alignItems: \"center\",\r\n      }\r\n    },\r\n    btnZoneAppointmentCard: {\r\n      display: 'flex',\r\n      alignItems: 'flex-end',\r\n      justifyContent: $spaceBetween,\r\n      flex: 1,\r\n      [theme.breakpoints.up(321)]: {\r\n        flexDirection: 'column'\r\n      },\r\n      [theme.breakpoints.down(321)]: {\r\n        justifyContent: 'flex-end'\r\n      }\r\n    },\r\n    btnDivCards: {\r\n      [theme.breakpoints.down(321)]: {\r\n        display: 'flex'\r\n      }\r\n    },\r\n    dividerAppointment: {\r\n      marginRight: $fiftyPx,\r\n      [theme.breakpoints.down(768)]: {\r\n        marginRight: $zeroPx\r\n      }\r\n    },\r\n    disableButton: {\r\n      color: $darkgray,\r\n      background: `${$lightgray} !important`\r\n    },\r\n\r\n    txtTitleBlue: {\r\n      color: $blue,\r\n      fontWeight: \"600\"\r\n    },\r\n\r\n    divConfirmTurn: {\r\n      padding: \"10px\",\r\n      display: \"flex\",\r\n      flexWrap: \"wrap\",\r\n      justifyContent: $spaceBetween,\r\n      [theme.breakpoints.down(768)]: {\r\n        padding: \"0px\",\r\n        flexDirection: \"column\",\r\n        flexWrap: \"nowrap\",\r\n        justifyContent: \"flex-start\",\r\n      }\r\n    },\r\n\r\n    step3Div: {\r\n      justifyContent: $spaceBetween,\r\n      display: \"grid\",\r\n      [theme.breakpoints.up(1100)]: {\r\n        gridTemplateColumns: \"1fr 1fr\",\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        gridTemplateColumns: \"1fr\",\r\n      },\r\n      paddingTop: $fiftyPx,\r\n      paddingBottom: $fiftyPx,\r\n    },\r\n\r\n    boxMedicalDataMobile: {\r\n      '&>div': {\r\n        flexWrap: 'nowrap !important',\r\n        justifyContent: 'flex-start !important',\r\n        overflow: 'auto',\r\n        width: \"100%\",\r\n        '&>a': {\r\n          marginRight: '20px',\r\n          [theme.breakpoints.down(325)]: {\r\n            marginRight: '33px'\r\n          },\r\n          [theme.breakpoints.down(295)]: {\r\n            marginRight: '50px'\r\n          }\r\n        }\r\n      },\r\n    },\r\n    formControlCustomSelectWBtn: {\r\n      [theme.breakpoints.up(900)]: {\r\n        '&>div>div': {\r\n          marginTop: \"4px !important\"\r\n        },\r\n      },\r\n    },\r\n\r\n    authorizationsAccordion: {\r\n      marginTop: \"20px\",\r\n      marginLeft: \"15%\",\r\n      marginRight: \"15%\",\r\n      [theme.breakpoints.down(768)]: {\r\n        marginLeft: \"0%\",\r\n        marginRight: \"0%\",\r\n      },\r\n\r\n    },\r\n    widthMobile: {\r\n      [theme.breakpoints.down(768)]: {\r\n        width: $oneHundredPercent,\r\n      },\r\n    },\r\n    selectAuthorizations: {\r\n      [theme.breakpoints.down(768)]: {\r\n        width: $oneHundredPercentImportant,\r\n        margin: \"0px\"\r\n      },\r\n      '&>.MuiOutlinedInput-root': {\r\n        [theme.breakpoints.down(768)]: {\r\n          margin: $zeroPx,\r\n          width: $oneHundredPercentImportant,\r\n        },\r\n      }\r\n    },\r\n\r\n    btnAttached: {\r\n      [theme.breakpoints.down(525)]: {\r\n        width: $initialImportant,\r\n        flex: $initialImportant\r\n      },\r\n    },\r\n\r\n    divConfirmAuthorization: {\r\n      display: \"flex\",\r\n      flexDirection: \"column\",\r\n      alignItems: \"flex-start\",\r\n      padding: \"20px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        alignItems: \"center\",\r\n      },\r\n    },\r\n\r\n    divConfirmRefund: {\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      marginBottom: \"10%\",\r\n      paddingLeft: \"20px\",\r\n      alignItems: \"center\",\r\n      [theme.breakpoints.down(900)]: {\r\n        display: \"grid\",\r\n        justifyContent: \"center\",\r\n        placeItems: \"center\",\r\n        paddingLeft: \"0\",\r\n      },\r\n    },\r\n\r\n    titleConfirmAuthorization: {\r\n      color: $blue,\r\n      fontSize: \"25px\",\r\n      fontWeight: \"600\",\r\n      [theme.breakpoints.down(768)]: {\r\n        textAlign: \"center\",\r\n        fontSize: \"19px\",\r\n      },\r\n    },\r\n\r\n    subtitleConfirmAuthorization: {\r\n      color: $darkgray,\r\n      fontSize: \"16px\",\r\n    },\r\n\r\n    titleSecondary: {\r\n      fontWeight: \"400\",\r\n      fontSize: \"15px\",\r\n    },\r\n\r\n    formConfirmAuthorization: {\r\n      display: \"flex\",\r\n      paddingTop: \"10px\",\r\n      paddingLeft: \"20px\",\r\n      [theme.breakpoints.down(768)]: {\r\n        flexDirection: \"column\",\r\n      }\r\n    },\r\n\r\n    width70: {\r\n      width: \"70%\"\r\n    },\r\n\r\n    /*Reintegros*/\r\n    btnStartRequest: {\r\n      marginLeft: \"45px\",\r\n      [theme.breakpoints.down(450)]: {\r\n        marginLeft: \"25px\",\r\n      },\r\n      [theme.breakpoints.down(350)]: {\r\n        marginLeft: \"15px\",\r\n      },\r\n    },\r\n\r\n    titleRefunds: {\r\n      paddingLeft: \"45px\",\r\n      color: $darkblue,\r\n      textTransform: 'uppercase',\r\n      fontWeight: \"600\",\r\n      [theme.breakpoints.down(450)]: {\r\n        paddingLeft: \"25px\",\r\n      },\r\n      [theme.breakpoints.down(350)]: {\r\n        paddingLeft: \"15px\",\r\n      },\r\n    },\r\n\r\n    deploymentSelectRefunds: {\r\n      top: \"295px !important\",\r\n      maxHeight: $threeHundredPx,\r\n      [theme.breakpoints.down(1200)]: {\r\n        top: \"290px !important\",\r\n      },\r\n      [theme.breakpoints.down(957)]: {\r\n        top: \"240px !important\",\r\n        left: \"455px !important\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        top: \"270px !important\",\r\n        left: $oneHundredThirtyPx,\r\n      },\r\n      [theme.breakpoints.down(500)]: {\r\n        left: \"110px !important\",\r\n      },\r\n      [theme.breakpoints.down(300)]: {\r\n        top: $twoHundredFiftyPx,\r\n        left: $sixtyPx,\r\n      },\r\n      '&>ul': {\r\n        color: \"#000000\",\r\n        '&>li': {\r\n          fontWeight: $sixHundredWeight,\r\n          [theme.breakpoints.down(600)]: {\r\n            minHeight: \"auto\"\r\n          },\r\n        }\r\n      }\r\n    },\r\n    footerAuthRequest: {\r\n      position: 'static !important'\r\n    },\r\n\r\n    divIndexRefunds: {\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingLeft: \"0px\",\r\n      },\r\n    },\r\n\r\n    btnFinally: {\r\n      backgroundColor: 'transparent',\r\n      color: 'white',\r\n      fontSize: '15px',\r\n      boxShadow: 'none',\r\n      borderRadius: '15px',\r\n      '&:hover': {\r\n        backgroundColor: 'white',\r\n        color: $blue,\r\n      }\r\n    },\r\n\r\n    formControlStep2Refunds: {\r\n      marginLeft: \"18px\",\r\n      [theme.breakpoints.down(901)]: {\r\n        '&>div': {\r\n          width: \"280px !important\",\r\n          '&>label': {\r\n            marginLeft: \"10px !important\",\r\n          }\r\n        },\r\n        '&>div>div': {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: $zeroPx\r\n        },\r\n        \r\n      },\r\n    },\r\n\r\n    formControlCustomSelectRefunds: {\r\n      top: $zeroPx,\r\n      '&>div': {\r\n        marginLeft: \"20px\",\r\n        marginRight: \"0px\",\r\n      },\r\n      '&>div>div>div': {\r\n        padding: \"11px 10px\"\r\n      },\r\n      '&>div>div': {\r\n        marginTop: \"6%\"\r\n      },\r\n      [theme.breakpoints.down(901)]: {\r\n        marginTop: \"5px\",\r\n        '&>div': {\r\n          marginLeft: \"$tenPx\",\r\n          width: \"280px !important\",\r\n          '&>label': {\r\n            position: $absoluteImportant,\r\n            width: \"80%\",\r\n            marginLeft: \"0% !important\",\r\n            top: \"2px !important\",\r\n          }\r\n        },\r\n        '&>div>div': {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: \"0% !important\"\r\n        },\r\n      }\r\n    },\r\n\r\n    formControlDatePickerRefunds: {\r\n      '&>div': {\r\n        marginLeft: \"20px\",\r\n        '&>label': {\r\n          top: \"10px\",\r\n          marginLeft: \"-10px\"\r\n        }\r\n      },\r\n      '&>div input': {\r\n        padding: \"11px 10px\",\r\n      },\r\n      '&>div>div': {\r\n        marginTop: \"23px\",\r\n      },\r\n      [theme.breakpoints.down(901)]: {\r\n        marginTop: \"5px\",\r\n        '&>div': {\r\n          marginLeft: \"20px\",\r\n          width: \"280px !important\",\r\n          '&>label': {\r\n            position: $absoluteImportant,\r\n            width: \"80%\",\r\n            marginLeft: $fivePercent,\r\n            top: $zeroPx,\r\n          }\r\n        },\r\n        '&>div>div': {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: \"0% !important\"\r\n        },\r\n      }\r\n    },\r\n\r\n    divStep2Refunds: {\r\n      padding: \"15px\",\r\n      [theme.breakpoints.down(901)]: {\r\n        display: \"flex\",\r\n        flexDirection: \"column\",\r\n        alignItems: \"center\",\r\n        flexWrap: \"nowrap\"\r\n      }\r\n    },\r\n\r\n    // ******** Authorization styles *********\r\n\r\n    formControlCustomSelectAuthorizations: {\r\n      top: $zeroPx,\r\n      '&>div': {\r\n        marginLeft: \"10px\",\r\n        marginBottom: \"10px\",\r\n      },\r\n      '&>div>div>div': {\r\n        padding: \"11px 10px\"\r\n      },\r\n      '&>div>div': {\r\n        marginTop: \"6%\"\r\n      },\r\n      [theme.breakpoints.down(901)]: {\r\n        marginTop: \"5px\",\r\n        '&>div': {\r\n          marginLeft: $tenPx,\r\n          width: $twoHundredFiftyPx,\r\n          '&>label': {\r\n            position: $absoluteImportant,\r\n            width: \"80%\",\r\n            marginLeft: $zeroPx,\r\n            top: \"2px !important\",\r\n          }\r\n        },\r\n        '&>div>div': {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: $zeroPx\r\n        },\r\n      }\r\n    },\r\n\r\n    formControlDatePickerAuthorizations: {\r\n      '&>div': {\r\n        marginLeft: \"10px\",\r\n        marginBottom: \"0px\",\r\n        '&>label': {\r\n          top: $zeroPx,\r\n          marginLeft: \"0px\"\r\n        }\r\n      },\r\n      '&>div input': {\r\n        padding: \"11px 10px\",\r\n      },\r\n      '&>div>div': {\r\n        marginTop: \"23px\",\r\n      },\r\n      [theme.breakpoints.down(901)]: {\r\n        marginTop: \"5px\",\r\n        '&>div': {\r\n          marginLeft: $tenPx,\r\n          width: $twoHundredFiftyPx,\r\n          '&>label': {\r\n            position: $absoluteImportant,\r\n            width: \"80%\",\r\n            marginLeft: $zeroPx,\r\n            top: $zeroPx,\r\n          }\r\n        },\r\n        '&>div>div': {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: \"0% !important\"\r\n        },\r\n      },\r\n\r\n      [theme.breakpoints.up(901)]: {\r\n        '&>label': {\r\n          position: $absoluteImportant,\r\n          width: \"80%\",\r\n          marginLeft: \"20px !important\",\r\n          top: $zeroPx,\r\n        }\r\n      },\r\n    },\r\n\r\n    formControlStep2Authorizations: {\r\n      [theme.breakpoints.down(1500)]: {\r\n        '&>div': {\r\n          width: $twoHundredFiftyPx,\r\n        },\r\n        '&>label': {\r\n          marginLeft: $zeroPx,\r\n        },\r\n        '&>div>div': {\r\n          width: $oneHundredPercentImportant,\r\n          marginLeft: $zeroPx\r\n        },\r\n\r\n      },\r\n    },\r\n\r\n\r\n    flexStartJustifyContent: {\r\n      alignContent: `${$spaceBetween} !important`\r\n    },\r\n\r\n    fixFormControlSelect: {\r\n      marginTop: \"25px\",\r\n    },\r\n    fixInputLabel: {\r\n      top: \"-35px\",\r\n    },\r\n\r\n    formBillingAndCollection: {\r\n      display: 'flex',\r\n      flexDirection: \"row\",\r\n      justifyContent: 'flex-start',\r\n      flexWrap: 'wrap',\r\n      alignItems: 'baseline',\r\n      paddingTop: '10px',\r\n      paddingLeft: '5rem',\r\n      [theme.breakpoints.down(1450)]: {\r\n        paddingLeft: '0rem',\r\n      },\r\n      [theme.breakpoints.down(780)]: {\r\n        justifyContent: 'center',\r\n      },\r\n    },\r\n    formControlEmail: {\r\n      width: \"350px\",\r\n      '&>div': {\r\n        width: $oneHundredPercent,\r\n      },\r\n      '&>div>div': {\r\n        [theme.breakpoints.down(768)]: {\r\n          width: $oneHundredPercentImportant,\r\n        },\r\n      }\r\n    },\r\n    emailCheck: {\r\n      paddingLeft: '5%',\r\n      fontSize: '11px',\r\n      [theme.breakpoints.down(768)]: {\r\n        paddingLeft: '10%',\r\n      },\r\n    },\r\n\r\n    buttonBlankClaims: {\r\n      textTransform: \"capitalize\",\r\n      width: \"100%\",\r\n      justifyContent: \"start\",\r\n      fontSize: \"16px\",\r\n      fontWeight: \"normal\",\r\n      '&>span>.MuiButton-iconSizeLarge': {\r\n        marginLeft: \"6px\",\r\n        marginRight: \"12px !important\",\r\n        marginTop: '1px',\r\n      },\r\n      '&>span>.MuiButton-label': {\r\n        marginLeft: \"16px !important\",\r\n      },\r\n    },\r\n\r\n    datePickerAuthorizations: {\r\n      '&>div': {\r\n        [theme.breakpoints.up(1499)]: {\r\n          width: '250px !important',\r\n        },\r\n      }\r\n    },\r\n\r\n    formChronicMedication: {\r\n      display: 'grid',\r\n      gridTemplateColumns: $templateColumnsThree,\r\n      [theme.breakpoints.down(1100)]: {\r\n        gridTemplateColumns: '1fr 1fr'\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        gridTemplateColumns: '1fr'\r\n      },\r\n      justifyContent: $spaceBetween,\r\n      flexWrap: 'wrap',\r\n      paddingTop: '10px',\r\n      paddingLeft: '5rem',\r\n      alignItems: 'flex-start',\r\n      [theme.breakpoints.down(1450)]: {\r\n        paddingLeft: '0rem',\r\n      },\r\n      [theme.breakpoints.down(780)]: {\r\n        justifyContent: 'center',\r\n      },\r\n    },\r\n\r\n    ChronicMedicationDetails: {\r\n      marginLeft: '25px',\r\n      [theme.breakpoints.down(900)]: {\r\n        marginLeft: '45px',\r\n      },\r\n    },\r\n\r\n    btnCancelarPersonalData: {\r\n      padding: '5px 20px 5px 20px',\r\n      backgroundColor: \"#fff\",\r\n      color: \"#0075c9\",\r\n      border: \"1px solid #0075c9\",\r\n      marginBottom: \"30px\",\r\n      marginLeft: \"40px\",\r\n      marginTop: \"20px\",\r\n      width: \"60%\"\r\n    },\r\n\r\n    btnCancelarPersonalDataHeader: {\r\n      padding: '5px 20px 5px 20px',\r\n      backgroundColor: \"#fff\",\r\n      color: \"#0075c9\",\r\n      border: \"1px solid #0075c9\",\r\n      marginBottom: \"30px\",\r\n      marginLeft: \"40px\",\r\n      marginTop: \"5px\",\r\n      width: \"60%\",\r\n      marginRight: $fiftyPx\r\n    },\r\n\r\n    btnCancelarSportsHobbies: {\r\n      padding: '5px 20px 5px 20px',\r\n      backgroundColor: \"#fff\",\r\n      color: \"#0075c9\",\r\n      border: \"1px solid #0075c9\",\r\n      width: \"60%\"\r\n    },\r\n\r\n    btnCancelaHobbies: {\r\n      padding: '5px 20px 5px 20px',\r\n      backgroundColor: \"#fff\",\r\n      color: \"#0075c9\",\r\n      border: \"1px solid #0075c9\",\r\n      marginBottom: \"30px\",\r\n      marginTop: \"20px\",\r\n    },\r\n\r\n    btnGuardarPersonalData: {\r\n      padding: '5px 20px 5px 20px',\r\n      marginBottom: \"30px\",\r\n      marginTop: \"20px\",\r\n      width: \"80%\",\r\n    },\r\n\r\n    btnCancelarAddress: {\r\n      [theme.breakpoints.down(768)]: {\r\n        display: \"none\",\r\n      },\r\n    },\r\n\r\n    centerFactorGroupFormMobile: {\r\n      [theme.breakpoints.down(768)]: {\r\n        display: \"flex\",\r\n        justifyContent: \"center\",\r\n      },\r\n    },\r\n\r\n    saveButonFactorGroupForm: {\r\n      padding: '5px 20px 5px 20px',\r\n      marginLeft: $fiftyPx,\r\n      width: \"117px\",\r\n      fontSize: \"10px\",\r\n      height: \"35px\",\r\n      marginTop: \"0px\",\r\n    },\r\n\r\n    cancelButonFormWeight: {\r\n      padding: '5px 20px 5px 20px',\r\n      backgroundColor: \"#fff\",\r\n      color: \"#0075c9\",\r\n      border: \"1px solid #0075c9\",\r\n      marginLeft: \"20px\",\r\n      width: \"117px\",\r\n      fontSize: \"10px\",\r\n      height: \"35px\",\r\n      marginTop: \"0px\",\r\n    },\r\n\r\n    // Font credentials in mobile:\r\n    fontMobileCredentials: {\r\n      [theme.breakpoints.down(500)]: {\r\n        fontSize: '1rem !important'\r\n      },\r\n      [theme.breakpoints.down(380)]: {\r\n        fontSize: '0.8rem !important'\r\n      },\r\n    },\r\n\r\n    fontMobileCredentialsPlan: {\r\n      [theme.breakpoints.down(500)]: {\r\n        fontSize: '1rem !important'\r\n      },\r\n    },\r\n\r\n    credentialFooter: {\r\n      [theme.breakpoints.up(769)]: {\r\n        marginTop: \"5px\",\r\n        marginBottom: \"10px\",\r\n      },\r\n      [theme.breakpoints.down(769)]: {\r\n        marginTop: \"-5px\",\r\n        marginBottom: \"10px\",\r\n      },\r\n      [theme.breakpoints.up(818)]: {\r\n        marginTop: \"-8px\",\r\n        marginBottom: \"10px\",\r\n      },\r\n      [theme.breakpoints.up(1200)]: {\r\n        marginTop: \"8px\",\r\n        marginBottom: \"10px\",\r\n      },\r\n      [theme.breakpoints.up(1000)]: {\r\n        marginTop: \"-8px\",\r\n        marginBottom: \"10px\",\r\n      },\r\n      [theme.breakpoints.down(499)]: {\r\n        marginTop: \"-65px\",\r\n        marginBottom: \"10px\",\r\n        marginLeft: \"15px\",\r\n        paddingRight: \"5%\"\r\n      },\r\n      [theme.breakpoints.down(380)]: {\r\n        marginTop: \"-75px !important\",\r\n      },\r\n    },\r\n\r\n    imgMobileCredential: {\r\n      [theme.breakpoints.down(500)]: {\r\n        width: '250px !important'\r\n      },\r\n      [theme.breakpoints.down(380)]: {\r\n        width: '220px !important'\r\n      }\r\n    },\r\n\r\n    dropdownAuthorizations: {\r\n      boxShadow: $boxxShadow,\r\n      padding: theme.spacing(1),\r\n      backgroundColor: theme.palette.background.paper,\r\n      width: \"320px\",\r\n      marginBottom: \"20px\",\r\n      marginLeft: \"50%\"\r\n    },\r\n\r\n    dropdownAuthorizationsHistorial: {\r\n      display: \"none\"\r\n    },\r\n\r\n    formControlContactDataParticularPhone: {\r\n      [theme.breakpoints.down(768)]: {\r\n        width: \"220px !important\",\r\n        maxWidth: \"244px !important\",\r\n        minWidth: \"212px !important\",\r\n      },\r\n    },\r\n\r\n    popUpNewTurn: {\r\n      textAlign: \"center !important\"\r\n    },\r\n\r\n    registerTitle: {\r\n      color: \"#002856\",\r\n      fontFamily: \"Arial\",\r\n      fontWeight: \"600\",\r\n      fontSize: \"22px\",\r\n      paddingTop: \"5px\",\r\n      textAlign: \"center\",\r\n      [theme.breakpoints.down(768)]: {\r\n        textAlign: \"center\",\r\n        fontSize: \"28px\",\r\n        paddingTop: \"5px\",\r\n        color: $whiteColor,\r\n      },\r\n      [theme.breakpoints.down(960)]: {\r\n        textAlign: \"center\",\r\n        fontSize: \"22px\",\r\n        paddingTop: \"30px\",\r\n        color: $whiteColor,\r\n      },\r\n    },\r\n\r\n    registerErrorText: {\r\n      [theme.breakpoints.up(768)]: {\r\n        marginBottom: \"5px !important\",\r\n        marginLeft: \"11%\",\r\n        color: \"red\",\r\n      },\r\n\r\n      [theme.breakpoints.down(768)]: {\r\n        color: \"red\",\r\n        marginLeft: \"6%\",\r\n        marginBottom: \"5px\",\r\n      },\r\n\r\n      [theme.breakpoints.between(768, 800)]: {\r\n        marginLeft: \"7%\",\r\n      },\r\n\r\n      [theme.breakpoints.between(800, 900)]: {\r\n        marginLeft: \"14%\",\r\n      },\r\n    },\r\n\r\n    registerHelperText: {\r\n      [theme.breakpoints.up(768)]: {\r\n        marginBottom: \"5px !important\",\r\n        marginLeft: \"11%\",\r\n      },\r\n\r\n      [theme.breakpoints.down(768)]: {\r\n        marginLeft: \"6%\",\r\n        marginBottom: \"5px\",\r\n      },\r\n\r\n      [theme.breakpoints.between(768, 800)]: {\r\n        marginLeft: \"7%\",\r\n      },\r\n\r\n      [theme.breakpoints.between(800, 901)]: {\r\n        marginLeft: \"14%\",\r\n      },\r\n    },\r\n\r\n    registerImg: {\r\n      height: \"100%\",\r\n      width: $oneHundredPercent,\r\n      minHeight: \"105vh\",\r\n      backgroundColor: \"#0075C9 !important\",\r\n      objectFit: 'cover',\r\n      objectPosition: 'top center',\r\n      [theme.breakpoints.down(960)]: {\r\n        backgroundColor: \"#0075C9 !important\",\r\n        width: \"100%\",\r\n        height: \"100vh\",\r\n        filter: \"brightness(0.50)\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        minHeight: \"125vh\"\r\n      }\r\n    },\r\n\r\n    homeRegisterButton: {\r\n      marginRight: theme.spacing(2),\r\n      color: $blue,\r\n      marginLeft: '1%',\r\n      '&>span>svg': {\r\n        fontSize: '30px'\r\n      },\r\n      [theme.breakpoints.down(960)]: {\r\n        color: \"#FFFFFF\",\r\n      }\r\n    },\r\n\r\n    frequentQuestionsButton: {\r\n      border: \"none\",\r\n      margin: \"15px\",\r\n      borderRadius: \"50%\",\r\n      backgroundColor: \"#fff\",\r\n      boxShadow: '0 2px 8px 0 #585858',\r\n      cursor: 'pointer',\r\n    },\r\n\r\n    iconFrequentQuestionsButton: {\r\n      backgroundColor: 'transparent',\r\n      color: '#fff',\r\n      fontSize: '25px',\r\n      marginTop: \"4px\"\r\n    },\r\n\r\n    datePickerPersonalData: {\r\n      marginBottom: \"0\",\r\n\r\n      '&>div input': {\r\n        padding: \"11px 10px\",\r\n      },\r\n      flex: '1 1 25%',\r\n      [theme.breakpoints.down(1300)]: {\r\n        top: \"-1px !important\",\r\n\r\n        '&>div': {\r\n          marginLeft: \"10px\",\r\n          width: $ninetyFivePerCent,\r\n        },\r\n      },\r\n      [theme.breakpoints.down(1100)]: {\r\n        top: \"-2px !important\",\r\n        flex: '1 1 50%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent,\r\n          '&>div': {\r\n            marginLeft: \"0%\",\r\n            '&>label': {\r\n              marginLeft: \"5%\",\r\n            },\r\n          },\r\n        }\r\n      },\r\n      [theme.breakpoints.down(900)]: {\r\n        flex: '1 1 95%',\r\n        '&>div': {\r\n          width: '90% !important',\r\n          '&>label': {\r\n            marginLeft: \"5%\",\r\n          },\r\n          '&>div': {\r\n            marginLeft: \"5%\",\r\n          },\r\n        }\r\n      },\r\n      [theme.breakpoints.up(900)]: {\r\n        '&>div>div': {\r\n          marginTop: \"6%\",\r\n        },\r\n      }\r\n    },\r\n\r\n    // Credential\r\n    credImage: {\r\n      backgroundSize: \"100%\",\r\n      borderRadius: \"15px\",\r\n      backgroundImage: `url(${credentialSVG})`,\r\n      backgroundRepeat: \"no-repeat\",\r\n      backgroundPosition: $centerCenter,\r\n      width: $threeHundredThirtyPx,\r\n      height: $FourHundredEightyPx,\r\n    },\r\n\r\n    credBody: {\r\n      display: \"flex\",\r\n      justifyContent: \"center\",\r\n      width: $threeHundredThirtyPx,\r\n      height: $FourHundredEightyPx,\r\n    },\r\n\r\n    credText: {\r\n      fontSize: \"14px\",\r\n      color: \"white\",\r\n    },\r\n\r\n    credTextName: {\r\n      textOverflow: \"ellipsis\",\r\n      whiteSpace: \"nowrap\",\r\n      textDecoration: \"none\",\r\n      overflow: \"hidden\",\r\n    },\r\n\r\n    credBold: {\r\n      fontWeight: \"bold\",\r\n    },\r\n\r\n    credDivText: {\r\n      margin: \"175px 0 0 66px\",\r\n      height: \"130px\",\r\n      width: \"224px\",\r\n    },\r\n\r\n    credQR: {\r\n      margin: \"5px 0 0 120px\",\r\n      padding: \"0\",\r\n    },\r\n\r\n    credFooter: {\r\n      marginLeft: \"70px\",\r\n    },\r\n\r\n    credFooterText: {\r\n      fontSize: \"8px\",\r\n      color: \"white\",\r\n      marginLeft: \"115px\",\r\n      textTransform: \"uppercase\",\r\n    },\r\n\r\n    credLastUpdate: {\r\n      margin: \"8px 0 0 55px\",\r\n      fontSize: \"10px\",\r\n      color: \"white\",\r\n      textTransform: \"uppercase\",\r\n    },\r\n\r\n    // Back Credential\r\n\r\n    backCredImage: {\r\n      backgroundImage: `url(${backCredentialSVG})`,\r\n      backgroundSize: \"100%\",\r\n      borderRadius: \"15px\",\r\n      backgroundRepeat: \"no-repeat\",\r\n      backgroundPosition: $centerCenter,\r\n      width: $threeHundredThirtyPx,\r\n      height: $FourHundredEightyPx,\r\n    },\r\n\r\n    backCredDivText: {\r\n      margin: \"165px 0 0 50px\",\r\n      height: \"200px\",\r\n      width: \"170px\",\r\n    },\r\n\r\n    backCredText: {\r\n      fontSize: \"13px\",\r\n      color: \"white\",\r\n      textTransform: \"none\",\r\n      lineHeight: \"16px\",\r\n    },\r\n\r\n    backCredFooter: {\r\n      marginTop: \"10px\",\r\n    },\r\n\r\n    // Credential Header\r\n\r\n    headerCredLogo: {\r\n      width: \"180px\",\r\n    },\r\n\r\n    headerCredImage: {\r\n      backgroundRepeat: \"no-repeat\",\r\n      backgroundSize: \"cover\",\r\n      backgroundImage: `url(${headerCredentialSVG})`,\r\n      height: \"50px\",\r\n      width: \"300px\",\r\n    },\r\n\r\n    headerCredPlan: {\r\n      margin: \"1.35rem\",\r\n      height: \"10px\",\r\n      width: \"10px\",\r\n    },\r\n\r\n    headerCredContainerHeader: {\r\n      display: \"flex\",\r\n      justifyContent: \"space-between\",\r\n      height: \"50px\",\r\n    },\r\n\r\n    // Minimal Credential\r\n\r\n    minCredBody: {\r\n      width: \"420px\",\r\n      height: \"200px\",\r\n      backgroundImage: `url(${minimalCredentialSVG})`,\r\n      backgroundSize: \"100%\",\r\n      backgroundRepeat: \"no-repeat\",\r\n      backgroundPosition: \"center\",\r\n      borderRadius: \"18px\",\r\n      boxShadow: \"5px 5px 10px #8A8987\",\r\n      [theme.breakpoints.down(1385)]: {\r\n        width: \"350px\",\r\n        height: \"155px\",\r\n      },\r\n      [theme.breakpoints.down(365)]: {\r\n        width: \"300px\",\r\n        height: \"140px\",\r\n      },\r\n    },\r\n\r\n    minCredName: {\r\n      textAlign: 'initial',\r\n      margin: '54px 0 0 50px',\r\n      fontSize: '14px',\r\n      fontWeight: 'bold',\r\n      color: 'white',\r\n      [theme.breakpoints.down(1385)]: {\r\n        margin: '45px 0 0 45px',\r\n        fontSize: '12px',\r\n      },\r\n      [theme.breakpoints.down(365)]: {\r\n        margin: '37px 0 0 40px',\r\n        fontSize: '10px',\r\n      },\r\n    },\r\n\r\n    minCredIcon: {\r\n      width: '60px',\r\n      height: '60px',\r\n      color: 'white',\r\n      [theme.breakpoints.down(1385)]: {\r\n        width: '45px',\r\n        height: '45px',\r\n      },\r\n      [theme.breakpoints.down(365)]: {\r\n        width: '40px',\r\n        height: '40px',\r\n      },\r\n    },\r\n\r\n    minCredIconText: {\r\n      textAlign: 'center',\r\n      fontSize: '15px',\r\n      fontWeight: 'bold',\r\n      color: 'white',\r\n      textTransform: 'none',\r\n      [theme.breakpoints.down(850)]: {\r\n        fontSize: '12px',\r\n      }\r\n    },\r\n\r\n    formControlRefunds: {\r\n      paddingTop: '1.5rem',\r\n      [theme.breakpoints.down(1004)]: {\r\n        width: $ninetyFivePerCent\r\n      },\r\n      '&>.MuiFormControl-root': {\r\n        [theme.breakpoints.down(1230)]: {\r\n          width: $ninetyFivePerCent\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          width: $twoHundredEightyPx,\r\n          margin: '0 auto !important',\r\n          '&>div': {\r\n            width: $oneHundredPercentImportant,\r\n            marginLeft: $zeroPx,\r\n            '&>label': {\r\n              marginLeft: $fivePercent,\r\n            },\r\n          },\r\n        },\r\n      },\r\n    },\r\n\r\n    contactDataTitles: {\r\n      width: '100%',\r\n      marginBottom: '20px',\r\n    },\r\n\r\n    cartillaMedicalCenterSection: {\r\n      display: 'flex',\r\n      flex: '0 0 100%',\r\n      padding: '10px 14px',\r\n      alignItems: 'center'\r\n    },\r\n\r\n    medicalCenterIconDetailPatient: {\r\n      display: 'flex',\r\n      flex: '0 0 100%',\r\n      padding: '1px 1px',\r\n      alignItems: 'center',\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        display: 'flex',\r\n      flex: '0 0 100%',\r\n      padding: '1px 1px',\r\n      },\r\n    },\r\n\r\n    cartillaClasificacionPrestadorStyles: {\r\n      display: 'flex',\r\n      flex: '0 0 4%',\r\n      justifyContent: 'flex-start'\r\n    },\r\n\r\n    cartillaPhonesSection: {\r\n      display: 'flex',\r\n      flexWrap: 'wrap',\r\n      paddingLeft: '46px',\r\n      marginBottom: '10px'\r\n    },\r\n\r\n    cartillaAddIconStyles: {\r\n      fontWeight: \"600\",\r\n      cursor: \"pointer\",\r\n      marginLeft: '10px',\r\n      marginTop: '2px'\r\n    },\r\n\r\n    cartillaAddressStyles: {\r\n      fontSize: '0.67rem',\r\n      marginRight: '10px',\r\n      marginTop: '10px'\r\n    },\r\n\r\n    cartillaRoomIconStyles: {\r\n      fontSize: '1rem',\r\n      color: \"#0075c9\",\r\n      cursor: \"pointer\",\r\n      marginTop: '9px'\r\n    },\r\n\r\n    cartillaMuiCardStyles: {\r\n      borderRadius: '20px',\r\n      alignSelf: 'center',\r\n      minHeight: '120px'\r\n    },\r\n\r\n    agendaMuiCardStyles: {\r\n      borderRadius: \"30px\",\r\n      margin: \"10px\",\r\n      backgroundColor: $tolightgray,\r\n      backgroundColor: $lightgray,\r\n      backgroundColor: $whiteColor,\r\n      maxWidth: \"400px\",\r\n      display: \"flex\",\r\n      flex: \"1 1 25%\",\r\n      paddingTop: \"5px\",\r\n      boxShadow: $lightBoxShadow,\r\n      borderRadius: \"20px\",\r\n      alignSelf: \"center\",\r\n      minHeight: \"10px\",\r\n      \"& .MuiCardContent-root:last-child\": {\r\n        paddingBottom: \"5px\",\r\n      },\r\n      [theme.breakpoints.up(\"md\")]: {\r\n        maxWidth: \"340px\",\r\n      },\r\n      [theme.breakpoints.down(1366)]: {\r\n        margin: \"5px\",\r\n      },\r\n      [theme.breakpoints.between(410, 1367)]: {\r\n        marginRight: \"5%\",\r\n        maxWidth: \"325px\",\r\n        minWidth: \"325px !important\",\r\n      },\r\n      [theme.breakpoints.down(1080)]: {\r\n        flex: \"1 1 35%\",\r\n      },\r\n      [theme.breakpoints.down(768)]: {\r\n        flex: \"0 0 100%\",\r\n      },\r\n      [theme.breakpoints.up(1366)]: {\r\n        minWidth: \"400px\",\r\n      },\r\n    },\r\n    \r\n\r\n    cartillaPrestadorRazonSocialStyles: {\r\n      display: 'flex',\r\n      flex: '0 0 80%',\r\n      justifyContent: 'flex-start',\r\n      minWidth: '200px',\r\n      paddingLeft: '8px'\r\n    },\r\n\r\n    cartillaButtonContainerStyles: {\r\n      display: 'flex',\r\n      flex: '0 0 4%',\r\n      justifyContent: 'flex-end'\r\n    },\r\n\r\n    cartillaPrestadorDomicilioContainer: {\r\n      display: 'flex',\r\n      flex: '0 0 100%',\r\n      justifyContent: 'flex-start',\r\n      alignItems: 'flex-start'\r\n    },\r\n\r\n    cartillaObservacionStyles: {\r\n      display: 'flex',\r\n      flex: '0 0 100%',\r\n      justifyContent: 'flex-start',\r\n      alignItems: 'flex-start'\r\n    },\r\n\r\n    communicationTitleStyles: {\r\n      fontSize: \"27px\",\r\n      fontWeight: \"bold\",\r\n      textAlign: \"center\",\r\n      marginTop: '10px',\r\n      letterSpacing: '2px'\r\n    },\r\n\r\n    communicationDescriptionStyle: {\r\n       fontSize: \"18px\",\r\n       textAlign: \"center\",\r\n       marginTop: '10px',\r\n       wordBreak: 'break-word',\r\n       overflowWrap: 'break-word',\r\n    },\r\n\r\n    whiteCircularProgress: {\r\n      '&>span': {\r\n        color: '#ffffff !important'\r\n      }\r\n    },\r\n\r\n    appointmentsAutocompleteContainer: {\r\n      marginTop: \"3px\",\r\n      display: \"grid\",\r\n      marginBottom: '20px',\r\n      [theme.breakpoints.up(768)]: {\r\n        marginLeft: '22px',\r\n      }\r\n    },\r\n\r\n    appointmentsAutocompleteLabels: {\r\n      fontWeight: '400',\r\n      fontSize: '14px',\r\n      marginLeft: \"15px\",\r\n      marginTop: \"20px\",\r\n      [theme.breakpoints.up(768)]: {\r\n        paddingBottom: '10px',\r\n      }\r\n    },\r\n\r\n    maintenanceDialogContentContainer: {\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      flexWrap: 'wrap'\r\n    },\r\n\r\n    maintenanceMessageContentContainer: {\r\n      display: 'flex',\r\n      justifyContent: 'center',\r\n      flex: '1 1 100%',\r\n      textAlign: \"center\"\r\n    },\r\n\r\n    maintenanceButton: {\r\n      marginTop: \"30px\",\r\n      fontSize: \"12px\",\r\n      padding: \"9px 12px\",\r\n      background: '#fff',\r\n      color: '#0075c9',\r\n      boxShadow: '0px 2px 8px 0 #585858',\r\n      \"&:hover\": {\r\n        background: '#fff',\r\n        color: '#0075c9'\r\n      },\r\n    },\r\n\r\n    phoneLabelOnConfirmation: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: \"18px !important\",\r\n      color: $blue,\r\n      fontWeight: '550 !important',\r\n      marginBottom: \"12px !important\",\r\n      lineHeight: \"1em\",\r\n      display: \"flex\",\r\n      flexDirection: \"row\",\r\n      flexWrap: \"nowrap\",\r\n      alignContent: \"stretch\",\r\n      justifyContent: \"space-between\",\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: \"18px\",\r\n      },\r\n    },\r\n\r\n    updatePhoneBtn: {\r\n      height: \"35px\",\r\n      alignSelf: \"center\",\r\n      overflow: \"hidden\",\r\n      whiteSpace: \"nowrap\",\r\n      width: \"80px\",\r\n      fontSize: '9px',\r\n      marginTop: \"15px !important\",\r\n      padding: '3px 5px 3px 5px !important',\r\n      display: \"block\",\r\n      marginLeft: \"8px\"\r\n    },\r\n\r\n    \r\n    titleMedicalCards: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: '20px',\r\n      color: $blue,\r\n      fontWeight: 'bold',\r\n      marginTop: '1px',\r\n      paddingLeft: '5px',\r\n      paddingRight:'100px',\r\n      marginLeft: '1.35rem',\r\n      height: '30px',\r\n      marginRight: '20px',\r\n      [theme.breakpoints.down('600')]: {\r\n        fontSize: '16px',\r\n        marginTop: '4px',\r\n        paddingRight: '20px',  \r\n        marginLeft: '1.35rem',\r\n        height: '30px',\r\n        marginRight: '20px',\r\n      },\r\n    },\r\n\r\n    titleAgenda: {\r\n      fontFamily: $arialRegular,\r\n      fontSize: '20px',\r\n      color: $blue,\r\n      fontWeight: 'bold',\r\n      paddingLeft: '5px',\r\n      paddingRight:'250px',\r\n      marginLeft: '1.35rem',\r\n      height: '30px',\r\n      marginRight: '100px',\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        fontSize: '16px',\r\n        marginTop: '20px',\r\n        paddingRight: '20px', \r\n        marginLeft: '1.35rem',\r\n        height: '30px',\r\n        marginRight: '20px',\r\n\r\n      },\r\n    },\r\n\r\n    titleConstruction: {\r\n      color: '#0075c9',\r\n      display: 'flex', \r\n      justifyContent: 'center',\r\n      marginRight: '30px',\r\n      marginTop:'12px',\r\n      [theme.breakpoints.down(\"600\")]: {\r\n        marginRight:'-152px',\r\n        marginTop: '4px'\r\n      },\r\n    },\r\n\r\n    detailAgendaMedical: {\r\n      fontWeight: \"400\",\r\n      color: '#585858',\r\n      fontSize: \"12px\",\r\n      marginLeft: \"20px\",\r\n      marginTop: \"-1px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        marginTop: \"10px\",\r\n        fontWeight: \"400\",\r\n        color: '#585858',\r\n        fontSize: \"12px\",\r\n        marginLeft: \"20px\",\r\n      },\r\n    },\r\n\r\n    detailCardAgendaMedical: {\r\n      display: \"flex\",\r\n      flexDirection: \"column\",\r\n      padding: \"20px\",\r\n      gap: \"10px\",\r\n      marginLeft: \"-70px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        display: \"flex\",\r\n        flexDirection: \"column\",\r\n        padding: \"20px\",\r\n        gap: \"10px\",\r\n        marginLeft: \"-25px\"\r\n      },\r\n    },\r\n\r\n    detailCardMuiAgendaMedical: {\r\n      justifyContent: \"flex-start\", \r\n      display: \"flex\", \r\n      marginTop: \"50px\",\r\n      borderRadius: '20px',\r\n      alignSelf: 'center',\r\n      minHeight: '100px',\r\n      backgroundColor: $tolightgray,\r\n      [theme.breakpoints.down(\"720\")]: {\r\n        justifyContent: \"flex-start\", \r\n        display: \"flex\", \r\n        marginTop: \"20px\",\r\n        borderRadius: '20px',\r\n       alignSelf: 'center',\r\n       minHeight: '1px',\r\n       backgroundColor: $tolightgray,\r\n      },\r\n    },\r\n\r\n    detailCardMuiPatientAgendaMedical: {\r\n      justifyContent: 'flex-start',\r\n      display: 'flex',\r\n      marginTop: '50px',\r\n      borderRadius: '20px',\r\n      alignSelf: 'center',\r\n      minHeight: '100px',\r\n      backgroundColor: $tolightgray,\r\n      backgroundColor: $whiteColor,\r\n      maxWidth: '400px',\r\n      flex: '1 1 25%',\r\n      boxShadow: $lightBoxShadow,\r\n      paddingTop: '5px',\r\n      borderRadius: '30px',\r\n      margin: '10px',\r\n      [theme.breakpoints.down(\"720\")]: {\r\n        justifyContent: 'flex-start',\r\n        display: 'flex',\r\n        marginTop: '20px',\r\n        borderRadius: '20px',\r\n        alignSelf: 'center',\r\n        minHeight: '1px',\r\n        backgroundColor: $tolightgray,\r\n      },\r\n        [theme.breakpoints.between(410, 1367)]: {\r\n          marginRight: '5%',\r\n          maxWidth: '325px',\r\n          minWidth: '325px !important',\r\n        },\r\n        [theme.breakpoints.down(1080)]: {\r\n          flex: '1 1 35%'\r\n        },\r\n        [theme.breakpoints.down(768)]: {\r\n          flex: '0 0 100%'\r\n        },\r\n        [theme.breakpoints.up(1366)]: {\r\n          minWidth: '400px',\r\n        },\r\n        [theme.breakpoints.up('md')]: {\r\n          maxWidth: '340px',\r\n        },\r\n        [theme.breakpoints.down(1366)]: {\r\n          margin: '5px'\r\n        }\r\n    },\r\n\r\n\r\n    calendarAgendaMedical: {\r\n      marginTop: '10px', \r\n      display: 'flex', \r\n      flexWrap: 'wrap',\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        marginTop: '10px', \r\n      display: 'flex', \r\n      flexWrap: 'wrap',\r\n      },\r\n    },\r\n\r\n    detailCardCenterAgendaMedical: {\r\n      marginLeft: \"50px\",\r\n      marginTop: \"-50px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        marginLeft: \"50px\", \r\n        marginTop: \"-50px\",\r\n      },\r\n    },\r\n\r\n    detailCardHour: {\r\n      color: \"black\", \r\n      marginLeft: \"5px\", \r\n      fontSize:\"9.5px\", \r\n      [theme.breakpoints.down(\"768\")]: {\r\n        color: \"black\", \r\n        marginLeft: \"5px\", \r\n        fontSize:\"11px\", \r\n      },\r\n    },\r\n\r\n    divCardContentView: {\r\n      marginLeft:\"-15px\",\r\n      display: \"flex\",\r\n      flexWrap: \"nowrap\",\r\n      justifyContent: $spaceBetween,\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        marginLeft:\"-15px\",\r\n      },\r\n      [theme.breakpoints.up(380)]: {\r\n        flex: \"1 1 70%\"\r\n      },\r\n      [theme.breakpoints.down(321)]: {\r\n        flexWrap: \"wrap\",\r\n        flex: $oneOneOneHundredPercent\r\n      }\r\n    },\r\n\r\n    divCardIconView: {\r\n      marginTop:\"-25px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        marginTop:\"-25px\",\r\n      },\r\n    },\r\n\r\n    detailPatient: {\r\n      fontWeight: \"600\", \r\n      color: '#0075c9', \r\n      fontSize:\"14px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        fontWeight: \"600\", \r\n        color: '#0075c9', \r\n        fontSize:\"14px\",\r\n      },\r\n    },\r\n\r\n    detailPatientCenterSpecialty: {\r\n      fontWeight: \"400\", \r\n      color: '#585858', \r\n      display: \"inline\",\r\n      fontSize:\"14px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        fontWeight: \"400\", \r\n        color: '#585858', \r\n        display: \"inline\",\r\n        fontSize:\"14px\",\r\n      },\r\n    },\r\n\r\n    detailPatientTotalTurno: {\r\n      fontWeight: \"600\", \r\n      color: '#0075c9', \r\n      fontSize: \"12px\", \r\n      marginLeft: \"20px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        fontWeight: \"600\", \r\n        color: '#0075c9', \r\n        fontSize: \"12px\", \r\n        marginLeft: \"20px\",\r\n      },\r\n    },\r\n\r\n    detailPatientTurnoAssigned: {\r\n      fontWeight: \"600\", \r\n      color: '#0075c9', \r\n      fontSize: \"12px\", \r\n      marginLeft: \"30px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        fontWeight: \"600\", \r\n        color: '#0075c9', \r\n        fontSize: \"12px\", \r\n        marginLeft: \"30px\",\r\n      },\r\n    },\r\n\r\n    detailPatientOpeningHours: {\r\n      fontWeight: \"600\", \r\n      color: '#0075c9',\r\n      fontSize: \"12px\", \r\n      whiteSpace: \"nowrap\", \r\n      marginRight: \"10px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        fontWeight: \"600\", \r\n        color: '#0075c9',\r\n        fontSize: \"12px\", \r\n        whiteSpace: \"nowrap\", \r\n        marginRight: \"10px\",\r\n      },\r\n    },\r\n\r\n    detailPatientOpeningHoursClose: {\r\n      marginTop: \"-5px\", \r\n      marginLeft: \"20px\", \r\n      color: \"#0075c9\",\r\n      fontSize:\"11px\",\r\n      justifyContent: \"flex-start\", \r\n      flexWrap: \"wrap\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        marginTop: \"-5px\", \r\n        marginLeft: \"20px\", \r\n        color: \"#0075c9\",\r\n        fontSize:\"12px\",\r\n      },\r\n    },\r\n\r\n\r\n    detailPatientName: {\r\n      marginTop: \"-20px\", \r\n      marginLeft: \"20px\", \r\n      fontWeight: \"400\",\r\n      fontSize:\"11px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        marginTop: \"-20px\", \r\n        marginLeft: \"20px\", \r\n        fontWeight: \"400\",\r\n        fontSize:\"12px\",\r\n      },\r\n    },\r\n\r\n    detailPatientInfoTurno: {\r\n      display: \"grid\", \r\n      gridTemplateColumns: \"repeat(3, 1fr)\", \r\n      textAlign: \"center\",\r\n      alignItems: \"center\", \r\n      gap: \"10px\",\r\n      [theme.breakpoints.down(\"768\")]: {\r\n        display: \"grid\", \r\n      gridTemplateColumns: \"repeat(3, 1fr)\", \r\n      textAlign: \"center\",\r\n      alignItems: \"center\", \r\n      gap: \"10px\",\r\n      },\r\n    },\r\n\r\n    detailPatientInfoSection: {\r\n      position: \"relative\",\r\n      padding: theme.spacing(6.5),\r\n      marginTop: \"-60px\",      \r\n      [theme.breakpoints.down(\"768\")]: {\r\n        padding: \"5%\", \r\n        marginTop: \"-50px\",\r\n      },\r\n    },\r\n\r\n    inputLoginProfile: {\r\n      \"& > div > div > input , fieldset \": {\r\n        borderRadius: $thirtyPxProfile,\r\n        boxShadow: \"0px 3px 9px 0px #a0a0a0\",\r\n        marginBottom: '0 !important'\r\n      },\r\n      \"& > div\": {\r\n        [theme.breakpoints.down(800)]: {\r\n          width: $oneHundredPercentImportant,\r\n        },\r\n        [theme.breakpoints.up(800)]: {\r\n          width: $eightyPercent,\r\n        }\r\n      },\r\n      \"& > div > label\": {\r\n        [theme.breakpoints.down(960)]: {\r\n          color: \"#fff\",\r\n          fontWeight: \"bold\"\r\n        },\r\n        [theme.breakpoints.up(960)]: {\r\n          color: $darkblue,\r\n          fontWeight: \"bold\"\r\n        }\r\n      },\r\n      \"& > div > div \": {\r\n        backgroundColor: \"#fff\",\r\n        borderRadius: \"30px\",\r\n      },\r\n      width: $oneHundredPercentImportant,\r\n      alignContent: \"center\",\r\n      alignItems: 'center',\r\n      flex: '1 1 25%',\r\n      paddingTop: '1rem',\r\n      [theme.breakpoints.down(1125)]: {\r\n        flex: '1 1 50%',\r\n        '&>div': {\r\n          width: $ninetyFivePerCent\r\n        }\r\n      },\r\n      [theme.breakpoints.down(800)]: {\r\n        flex: $oneOneOneHundredPercent\r\n      }\r\n    },\r\n\r\n    iconArrowHomeProfileMedical:{\r\n      marginLeft:\"300px\",\r\n      [theme.breakpoints.down(720)]: {\r\n        marginLeft:\"20px\",\r\n      }\r\n    },\r\n\r\n    viewCalendarMedical:{\r\n      justifyContent: \"center\", \r\n      display: \"flex\", \r\n      marginTop: \"25px\", \r\n      marginLeft: \"30px\", \r\n      flexDirection: \"column\",\r\n    },\r\n\r\n    calendarSelectedDays:{\r\n      fontWeight: \"600\", \r\n      color: \"#0075c9\", \r\n      textAlign: \"center\", \r\n      marginLeft: \"-55px\", \r\n      marginTop: \"-5px\",\r\n      color: `${$darkblue} !important`,\r\n    },\r\n\r\n    iconControlPointOutlinedIcon:{\r\n      marginLeft: \"5px\", \r\n      marginTop: '-2px', \r\n      fontSize: '13px',\r\n    },\r\n\r\n    headerPatientAgenda:{\r\n      padding: '20px', \r\n      marginTop: \"10px\"\r\n    },\r\n\r\n    txtHorariosUnicosPatientAgenda:{\r\n      display: \"flex\",\r\n    },\r\n\r\n    medicalAgendaDivision:{\r\n      marginLeft:\"2px\",\r\n    },\r\n\r\n\r\n    txtIconGiftsCampaignWoman: {\r\n      fontSize: \"12px\",\r\n      color: \"white\",\r\n      background: \"linear-gradient(45deg, #004aad, #007bff)\",\r\n      borderRadius: \"5px\",\r\n      border: \"1px solid white\",\r\n      padding: \"2px 20px\",\r\n      marginTop: \"235px\",\r\n      fontWeight: \"normal\",\r\n      \r\n      \"&:hover\": { \r\n        backgroundColor: \"#1e3799\" \r\n      },\r\n    },\r\n    \r\n\r\n    iconGiftsCampaignWoman:{\r\n      display: \"flex\", \r\n      justifyContent: \"center\", \r\n      marginBottom: \"55px\",\r\n    },\r\n\r\n\r\n  }),\r\n  { index: 1 }\r\n);\r\n","import CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport { getAfilliatedAppointmentsNext, getAppointmentFavorite, getSpecialties, setModelToSaveAppointment, setModifyAppointment } from '../redux/actions/appointmentsActions';\r\nimport { postProcedures } from '../redux/actions/procedureActions';\r\nimport { setActualStep } from '../redux/actions/stepAppointmentsActions';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { CircularProgress, Box } from '@material-ui/core';\r\nimport ModalProfile from \"../components/DialogProfile/Modal\";\r\nimport CustomButton from '../controls/Button/CustomButton';\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\n\r\nexport const MONTHS = {\r\n    1: 'ENE',\r\n    2: 'FEB',\r\n    3: 'MAR',\r\n    4: 'ABR',\r\n    5: 'MAY',\r\n    6: 'JUN',\r\n    7: 'JUL',\r\n    8: 'AGO',\r\n    9: 'SEP',\r\n    10: 'OCT',\r\n    11: 'NOV',\r\n    12: 'DIC',\r\n};\r\n\r\nexport const handleChangeMail = (setMail, setMailError, setError, error, setShowPermanente, mail) => (e) => {\r\n    const { name, value } = e.target;\r\n    let regex = /[a-z0-9!#$%&'*{1,5}/=?^_`{|}~-]{1,5}(?:\\.[a-z0-9!#$%&'*{1,5}/=?^_`{|}~-]{1,5})*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.){1,5}[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.test(value);\r\n    setMail(value);\r\n\r\n    if (regex || value === '') {\r\n\r\n        setMailError('');\r\n        if (setShowPermanente !== null) {\r\n            value != mail ? setShowPermanente(true) : setShowPermanente(false);\r\n        }\r\n    } else {\r\n        setMailError('No cumple con el formato permitido: mail@mail.com');\r\n    }\r\n    validate(name, '*Campo obligatorio', value, setError, error);\r\n};\r\n\r\nexport const toggleFullScreen = (screenSize) => {\r\n    if (screenSize?.screen?.sWidth <= 500) {\r\n        if (!document?.fullscreenElement) {\r\n            document?.documentElement?.requestFullscreen();\r\n        } else {\r\n            if (document?.exitFullscreen) {\r\n                document?.exitFullscreen();\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\nexport const responseToReturn = (item, state, action) => {\r\n    let res = { ...state };\r\n    if (action.response) {\r\n        res = { ...state, [item]: action.response.data };\r\n    }\r\n    if (action.message) {\r\n        res = { ...state, msgError: action.message };\r\n    }\r\n    return res;\r\n}\r\n\r\nexport const validatorForms = (schemaValidation, model) => {\r\n    let valid = true;\r\n    let auxErrors = {};\r\n\r\n    schemaValidation?.map(({subType, name, required}) =>{\r\n        if(required && subType && subType === 'cuitcuil' && !validCuitCuil(model[name])){\r\n            auxErrors = { ...auxErrors, [name]: `*El Cuit/Cuil ingresado no es válido` };\r\n            valid = false;\r\n        }\r\n    })\r\n\r\n    schemaValidation?.map(({ name, type, exactLength, maxLength, required, maxDecimals }) => {\r\n        if ((type === 'number' || type === 'decimal') && parseInt(model[name]) == '0') {\r\n            auxErrors = { ...auxErrors, [name]: '*Campo no puede ser 0' };\r\n            valid = false;\r\n        }\r\n        if (type === 'date' && (new Date(model[name]) > new Date() || !Date.parse(model[name]))) {\r\n            auxErrors = { ...auxErrors, [name]: '*La fecha no puede ser posterior a hoy' };\r\n            valid = false;\r\n        }\r\n        if (maxLength && model[name]?.length > maxLength) {\r\n            auxErrors = { ...auxErrors, [name]: `*No puede poseer más de ${maxLength} carácteres` };\r\n            valid = false;\r\n        }\r\n        if (required && exactLength && model[name]?.length !== exactLength) {\r\n            auxErrors = { ...auxErrors, [name]: `*Debe poseer ${exactLength} carácteres` };\r\n            valid = false;\r\n        }\r\n        if (maxDecimals && maxDecimals < lengthDecimals(model[name])) {\r\n            auxErrors = { ...auxErrors, [name]: `*No puede poseer más de ${maxDecimals} decimales` };\r\n            valid = false;\r\n        }\r\n        if (required && (model[name] == null || model[name] === '')) {\r\n            auxErrors = { ...auxErrors, [name]: '*Campo obligatorio' };\r\n            valid = false;\r\n        }\r\n    });\r\n\r\n    return { auxErrors, valid };\r\n}\r\n\r\nexport const validCuitCuil = (value) => {\r\n\r\n    // Valido que posea 11 caracteres y sea un valor numerico valido\r\n    if(value?.length !== 11 || isNaN(parseInt(value))) return false;\r\n\r\n    // Se realiza el algoritmo basado en sumas ponderadas\r\n    let nVerif = (value?.[0] * 5)+(value?.[1] * 4)+(value?.[2] * 3)+(value?.[3] * 2)+(value?.[4] * 7) +\r\n                 (value?.[5] * 6)+(value?.[6] * 5)+(value?.[7] * 4)+(value?.[8] * 3)+(value?.[9] * 2);\r\n\r\n    // Calculamos el modulo de 11 y la diferencia entre el resultado y 11\r\n    nVerif = nVerif % 11;\r\n    nVerif = 11 - nVerif;\r\n\r\n    // En caso de que nos de mas que nueve, le seteamos 0\r\n    if(nVerif > 9) nVerif = 0\r\n\r\n    // Devolvemos la comparacion del resultado calculado y el ultimo digito que nos ingreso\r\n    return nVerif == value?.[10];\r\n}\r\n\r\nexport const lengthDecimals = (value) => {\r\n\r\n    let decimalsSum= 0;\r\n\r\n    if(value?.includes('.')){\r\n        decimalsSum = value?.split('.')[1]?.length;\r\n    }\r\n\r\n    return decimalsSum;\r\n}\r\n\r\nexport const formatPhoneNumber = (number, medicalRecords) => {\r\n    let phone = number;\r\n    phone = phone?.replace(/\\((\\w+)\\)/g, \"$1\");\r\n\r\n    if (phone == null) {\r\n        return phone;\r\n    }\r\n\r\n    const phoneWithoutCode = phone?.split(\"-\")[1];\r\n    let init = \"\";\r\n    let middle = \"\";\r\n    let end = \"\";\r\n\r\n    if (hasSpecialCode(phoneWithoutCode)) {\r\n        init = phoneWithoutCode?.substring(0, 4);\r\n        middle = medicalRecords ? phoneWithoutCode?.substring(5, 8) : phoneWithoutCode?.substring(4, 7);\r\n        end = phoneWithoutCode.substr(-4);\r\n\r\n    } else if (hasSpecialCode(phone)) {\r\n        end = phone?.substr(-4);\r\n        init = phone?.substring(0, 4);\r\n        middle = medicalRecords ? phone?.substring(4, 7) : phone?.substring(5, 8);\r\n\r\n    } else if (phone?.length === 8) {\r\n        end = phone?.substr(-4);\r\n        init = phone?.substring(0, 4);\r\n\r\n    } else if (isCellPhoneNumber(phone)) {\r\n        end = phone?.substr(-4);\r\n        init = phone?.substring(0, 2);\r\n        middle = phone?.substring(2, 6);\r\n\r\n    } else if (!phone?.includes(\"-\") && phone?.length >= 11) {\r\n        end = phone?.substr(7);\r\n        init = `(${phone?.substring(0, 3)})`;\r\n        middle = phone?.substring(3, 7);\r\n\r\n    } else {\r\n        end = phone?.substr(-4);\r\n        init = `(${phone?.split(\"-\")[0]})`;\r\n        middle = phone?.substring(4, 8);\r\n    }\r\n\r\n    if (includeCharacteristic(phone)) {\r\n        return returnPhoneWithCharacteristic(phone, init, end);\r\n    }\r\n\r\n    return `${init} ${middle} ${end}`;\r\n}\r\n\r\nconst hasSpecialCode = (phoneWithoutCode) => {\r\n    return (phoneWithoutCode?.includes(\"0800\") && phoneWithoutCode?.indexOf(\"0800\") < 4) || (phoneWithoutCode?.includes(\"0810\") && phoneWithoutCode?.indexOf(\"0810\") < 4);\r\n}\r\n\r\nconst isCellPhoneNumber = (number) => {\r\n    return number?.indexOf(\"15\") < 2 && number?.length == 10;\r\n}\r\n\r\nconst includeCharacteristic = number => {\r\n    return (number.includes(\"02\") && (number.indexOf(\"02\") < 1) ||\r\n        number.includes(\"03\") && (number.indexOf(\"03\") < 1) ||\r\n        number.includes(\"04\") && (number.indexOf(\"04\") < 1)\r\n    ) && !number.includes(\"0800\") && !number.includes(\"0810\");\r\n}\r\n\r\nconst returnPhoneWithCharacteristic = (num, init, end) => {\r\n    let phone = num;\r\n\r\n    if (phone?.includes(\"(\")) {\r\n        let phoneCharacteristic = phone?.substring(1, phone?.indexOf(\")\") + 2);\r\n        init = phoneCharacteristic?.replace(')', '');\r\n        end = phone?.substr(7);\r\n    } else {\r\n        end = phone?.substr(5);\r\n        init = `${phone?.substring(0, 5)}`;\r\n    }\r\n    return `(${init}) ${end}`;\r\n}\r\n\r\nexport function validate(nameElement, message, val, setError, error) {\r\n    if (val === '') {\r\n        setError({ ...error, [nameElement]: message });\r\n    } else {\r\n        setError({ ...error, [nameElement]: '' });\r\n    }\r\n}\r\n\r\nexport const deleteFile = (fileButtons, setFileButtons, setFiles, files, attachmentName, fileName) => (e) => {\r\n    e.preventDefault();\r\n    let auxFiles = files.filter(item => {\r\n        return item.archivoNombre !== fileName;\r\n    });\r\n    setFiles(auxFiles);\r\n    setFileButtons({ ...fileButtons, [attachmentName]: false });\r\n};\r\n\r\nexport const isDisabled = (fileButtons, typeName) => {\r\n    let response = false;\r\n    if (fileButtons[typeName]) {\r\n        response = true;\r\n    }\r\n    return response;\r\n};\r\n\r\nexport const handleSave = (props) => {\r\n    const { mail, setModalTitle, setModalDescription, setModalIcon, setErrorClass, setOpenSendSuccess, classes, error, dispatch, model } = props;\r\n    if (validateData(error)) {\r\n        setSaveModal(mail, setModalTitle, setModalDescription, setModalIcon, setErrorClass, classes);\r\n        setOpenSendSuccess(prevState => !prevState);\r\n        dispatch(postProcedures(model));\r\n    }\r\n};\r\n\r\nexport const setSaveModal = (mail, setModalTitle, setModalDescription, setModalIcon, setErrorClass, classes) => {\r\n    let circularProgress = (<div style={{ display: 'flex', justifyContent: 'center' }}><CircularProgress color=\"inherit\" /></div>);\r\n    setModalTitle('INICIANDO GESTION');\r\n    setModalDescription(circularProgress);\r\n    setModalIcon('');\r\n    setErrorClass('');\r\n};\r\n\r\nexport const validateData = (error) => {\r\n    return Object.values(error).every(item => item === '');\r\n};\r\n\r\nexport const validateFiles = (listOfAttachmentButtons, files) => {\r\n    let auxFiles = [];\r\n    let response = false;\r\n    listOfAttachmentButtons?.map(item => {\r\n        if (item.adjuntoObligatorio === 'S') {\r\n            auxFiles.push(item.adjuntoDescripcion);\r\n        }\r\n    });\r\n    if (auxFiles.length > 0) {\r\n        let aux = [];\r\n        files?.forEach(item => {\r\n            if (item?.adjuntoObligatorio === 'S') {\r\n                aux.push(auxFiles?.some(x => x === item.btnNombre));\r\n            }\r\n        });\r\n        if (aux.length > 0 && Object.values(aux)?.every(x => x === true)) {\r\n            response = true;\r\n        }\r\n    } else {\r\n        response = true;\r\n    }\r\n    return response;\r\n};\r\n\r\nexport const validateDate = (date, dateLow) => {\r\n    let today = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n    today.setHours(0, 0, 0, 0);\r\n    dateLow.setHours(0, 0, 0, 0);\r\n    return (dateLow.getTime() >= today.getTime());\r\n};\r\n\r\nexport const isAuthenticated = () => {\r\n    const oidcStorage = JSON.parse(localStorage.getItem(`oidc.user:${window.env.API_IDENTITY}:${window.env.CLIENT_ID_MOBILE}`));\r\n    return (!!oidcStorage && !!oidcStorage.access_token);\r\n};\r\n\r\nexport const b64toBlob = (b64Data, contentType = '', sliceSize = 512) => {\r\n    const byteCharacters = window.atob(b64Data);\r\n    const byteArrays = [];\r\n    for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n        const slice = byteCharacters.slice(offset, offset + sliceSize);\r\n        const byteNumbers = new Array(slice.length);\r\n        for (let i = 0; i < slice.length; i++) {\r\n            byteNumbers[i] = slice.charCodeAt(i);\r\n        }\r\n        const byteArray = new Uint8Array(byteNumbers);\r\n        byteArrays.push(byteArray);\r\n    }\r\n    return new Blob(byteArrays, { type: contentType });\r\n};\r\n\r\nexport const setModelAppointmentToRepeatOrModify = (element, dispatch, userCode, modelNextAppointment, history) => {\r\n    /* Si se repite un turno de favoritos, el numero de afiliado y el nombre es el del usuario logueado. */\r\n    dispatch(setModelToSaveAppointment({\r\n        ...modelNextAppointment?.modelAppointment,\r\n        especialidadCodigo: element?.especialidadCodigo,\r\n        especialidadDescripcion: element?.especialidadDescripcion,\r\n        medicoCodigo: element?.medicoCodigo,\r\n        medicoDescripcion: element?.medicoDescripcion,\r\n        afiliadoDescripcion: element?.pacienteNombreApellido ?? window.localStorage.getItem(\"userName\")?.replace(\"_\", \" \"),\r\n        afiliadoCodigo: element?.pacienteNumero ?? userCode,\r\n        centroMedico: element?.tipoAtencion == \"R\" ? \"\" : element?.sucursalCodigo,\r\n        nombreCentroMedico: element?.tipoAtencion == \"R\" ? \"\" : element?.sucursalDescripcion,\r\n        modalidadTurno: element?.tipoAtencion == \"R\" ? \"Telemedicina\" : \"Presencial\",\r\n        preference: 2,\r\n        turnoAnterior: element?.turnoNumero\r\n    }));\r\n\r\n    if (element && element.turnoNumero) {\r\n        const appointmentDate = new Date(element.turnoFechHora).getTime();\r\n        const actualDate = Date.now();\r\n        const isNextAppointment = appointmentDate > actualDate;\r\n\r\n        dispatch(setModifyAppointment(isNextAppointment ? \"modify\" : \"repeat\"));\r\n    } else {\r\n        dispatch(setModifyAppointment(\"repeat\"));\r\n    }\r\n\r\n    const specialtiesList = {\r\n        numeroPersona: userCode,\r\n        centroMedico: element?.tipoAtencion == \"R\" ? 0 : element?.sucursalCodigo,\r\n        tipoAtencion: element?.tipoAtencion == \"R\" ? \"TELEMEDICINA\" : \"WEB\",\r\n        parametroLlamado: 0,\r\n    };\r\n\r\n    dispatch(getSpecialties(specialtiesList));\r\n    dispatch(setActualStep(3));\r\n    history.push('/AppointmentHome');\r\n};\r\n\r\nexport const checkNewAppointments = (listToday, listNext, setTodayAppointment, setNext, nextComplet, setNextComplet, dispatch) => {\r\n    const userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n    const paramFav = {\r\n        numeroPersona: userCode,\r\n        count: 9999,\r\n        skip: 0,\r\n    };\r\n    listToday.map((item) => {\r\n        var dateItem = new Date(item.turnoFechHora);\r\n        var previus15 = new Date(item.turnoFechHora);\r\n        previus15.setMinutes(dateItem.getMinutes() - 15);\r\n        var dateToday = new Date(Date.now());\r\n        if ((previus15.getTime() <= dateToday.getTime()) && (dateToday.getTime() < dateItem.getTime()) && item.tipoAtencion == \"R\") {\r\n            const newToday = listToday?.filter((x) => x.turnoNumero != item.turnoNumero);\r\n            setTodayAppointment(newToday);\r\n            if (listNext.length != 0 && !listNext[listNext.indexOf(item)].proximoCercano) {\r\n                listNext[listNext.indexOf(item)].proximoCercano = true;\r\n                if (nextComplet) {\r\n                    nextComplet[nextComplet.indexOf(item)].proximoCercano = true;\r\n                    setNextComplet(nextComplet);\r\n                }\r\n                setNext(listNext);\r\n            }\r\n        }\r\n        var next5Min = new Date(item.turnoFechHora);\r\n        next5Min.setMinutes(20);\r\n        if (dateToday.getTime() > next5Min.getTime()) {\r\n            dispatch(getAppointmentFavorite(paramFav));\r\n            dispatch(getAfilliatedAppointmentsNext({\r\n                numeroPersona: userCode,\r\n                solicitudTurnos: \"PROXIMOS\",\r\n                count: 9999,\r\n                skip: 0,\r\n            }));\r\n        }\r\n    });\r\n};\r\n\r\nexport const returnHomeAppointmentHome = (history) => (e) => {\r\n    e.preventDefault();\r\n    history.push('/AppointmentHome');\r\n};\r\n\r\nexport function handleExpandAccordion(title, e, isExpanded, setExpanded) {\r\n    setExpanded(isExpanded ? title : false);\r\n}\r\n\r\nexport function messageModalFunction(\r\n    postChangeReducer, setModalTitle,\r\n    setModalDescription,\r\n    setModalIcon,\r\n    setErrorClass,\r\n    classes,\r\n    setOpenSendSuccess,\r\n    mail\r\n) {\r\n    if (postChangeReducer?.confirmacion) {\r\n        setModalTitle('TU GESTIÓN SE HA INICIADO');\r\n        setModalDescription(`Será respondida al email: ${mail}`);\r\n        setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n        setErrorClass('');\r\n    } else if (!postChangeReducer?.confirmacion && postChangeReducer?.confirmacion !== undefined) {\r\n        setOpenSendSuccess(true);\r\n        setModalTitle('Ocurrió un error');\r\n        setModalDescription(postChangeReducer?.mensajes[0]?.mensaje ?? 'Por favor, intente nuevamente');\r\n        setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n        setErrorClass(classes.backgroundError);\r\n    }\r\n}\r\n\r\nexport const validateFilesForButttonEnviar = (listOfAttachment, file) => {\r\n    const obligatoryFiles = listOfAttachment?.filter(attachment => attachment?.adjuntoObligatorio == \"S\");\r\n    return (obligatoryFiles?.length === file?.length)\r\n}\r\n\r\nexport function showBtn(listOfAttachment, file, err, motive) {\r\n    const isClear = (valor) => valor === \"\";\r\n    var response = true;\r\n    if (((Object.values(err)).every(isClear)) && validateFilesForButttonEnviar(listOfAttachment, file) && motive !== \"\") {\r\n        response = false;\r\n    }\r\n    return response;\r\n}\r\n\r\nexport function enableEnviarBtn(listOfAttachment, file, err, motive, plan) {\r\n    const isClear = (valor) => valor === \"\";\r\n    var response = true;\r\n    if (((Object.values(err)).every(isClear)) && validateFiles(listOfAttachment, file) && motive !== \"\" && plan !== \"\") {\r\n        response = false;\r\n    }\r\n    return response;\r\n}\r\n\r\nexport const handleChangeEmail = (setMail, setMailError) => (e) => {\r\n    const { value } = e.target;\r\n    const isValid = validateEmail(value)\r\n    if (isValid) {\r\n        setMailError('')\r\n    }\r\n    else {\r\n        setMailError('No cumple con el formato permitido: mail@mail.com');\r\n    }\r\n    setMail(value);\r\n};\r\n\r\nexport const redirectHrefTo = (path) => {\r\n    window.open(path, '_blank')\r\n};\r\n\r\nexport const handleGoToPersonalMedicalData = () => {\r\n    window.location.href = '/PersonalMedicalData';\r\n};\r\n\r\nexport const handleGoToPersonalData = () => {\r\n    window.location.href = '/PersonalData';\r\n};\r\n\r\nexport const handleGoToMedicalData = () => {\r\n    window.location.href = '/MedicalData';\r\n};\r\n\r\nexport const handleGoToBilling = () => {\r\n    window.location.href = '/Billing';\r\n};\r\n\r\nexport const validateEmail = email => {\r\n    return /[a-z0-9!#$%&'*{1,5}/=?^_`{|}~-]{1,5}(?:\\.[a-z0-9!#$%&'*{1,5}/=?^_`{|}~-]{1,5})*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.){1,5}[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.test(email);\r\n}\r\n\r\nexport function notAccessToThisModule() {\r\n    return (\r\n        <div\r\n            style={{\r\n                display: 'flex',\r\n                justifyContent: 'center',\r\n                alignItems: 'center',\r\n            }}\r\n        >\r\n            <div style={{ color: '#0075c9', margin: '10%' }}>\r\n                No tenés acceso al módulo\r\n            </div>\r\n        </div>\r\n    );\r\n}\r\n\r\n// Verifica si el plan del afiliado tiene acceso al modulo\r\nexport function verifyPermission(limitReducer, plan, moduleName, setPermission) {\r\n    const allModules = 'Todos';\r\n    const filterByPlan = limitReducer?.filter(x => x?.plan === plan || x?.plan === 'TODOS');\r\n    const access = filterByPlan[0]?.modulesAndStatus?.filter(y => y?.value === moduleName || y?.value === allModules);\r\n\r\n    if (access !== null && access !== undefined) {\r\n        if (access[0]?.type === 'Deshabilitado' || access[0]?.value === allModules) {\r\n            setPermission(false);\r\n        } else if (access[0]?.type === 'Habilitado') {\r\n            setPermission(true);\r\n        }\r\n    }\r\n    if (access?.length === 0 || access === undefined) {\r\n        setPermission(true);\r\n    }\r\n}\r\n\r\nexport const handleGoToProgramsHome = () => {\r\n    window.location.href = '/ProgramsHome';\r\n}\r\n\r\nexport const showErrorMessageModal = (errorMessage, openError, setOpenError, classNameOne, classNameTwo) => {\r\n    return (\r\n        <div className={classNameOne} style={{ left: \"20px\" }}>\r\n            <ModalProfile\r\n                observation={\r\n                    <>\r\n                        <section\r\n                            style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap' }}>\r\n                            <CancelIcon\r\n                                style={{ fontSize: \"50px\", marginBottom: \"20px\" }}\r\n                                className={classNameTwo} />\r\n                            <div style={{ display: 'flex', justifyContent: 'center', flex: '1 1 100%', textAlign: \"center\" }}>\r\n                                <span>{errorMessage}</span>\r\n                            </div>\r\n                        </section>\r\n                    </>\r\n                }\r\n                open={openError}\r\n                type='cancel'\r\n                onClose={setOpenError}\r\n            />\r\n        </div>\r\n    );\r\n}\r\n\r\nexport const showMessageModal = (errorMessage, openError, setOpenError, classNameOne, classNameTwo, classNameThree, handleClick) => {\r\n    return (\r\n        <div className={classNameOne} style={{ left: \"20px\" }}>\r\n            <Dialog\r\n                disableEscapeKeyDown={true}\r\n                onBackdropClick={false}\r\n                onClose={setOpenError}\r\n                aria-labelledby=\"customized-dialog-title\"\r\n                open={openError}\r\n                id=\"modalTurn\">\r\n                <Box display=\"flex\" id=\"cancelModal\">\r\n                    <div style={{ alignSelf: 'center' }}>\r\n                        <DialogContent className={classNameThree}>\r\n                            <section\r\n                                style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap' }}>\r\n                                <CancelIcon\r\n                                    style={{ fontSize: \"50px\", marginBottom: \"20px\" }}\r\n                                    className={classNameTwo} />\r\n                                <div style={{ display: 'flex', justifyContent: 'center', flex: '1 1 100%', textAlign: \"center\" }}>\r\n                                    <span>{errorMessage}</span>\r\n                                </div>\r\n                                <CustomButton\r\n                                    title=\"ACEPTAR\"\r\n                                    onClick={handleClick}\r\n                                    style={{\r\n                                        marginTop: \"30px\",\r\n                                        fontSize: \"12px\",\r\n                                        padding: \"9px 12px\",\r\n                                        background: '#fff',\r\n                                        color: '#0075c9',\r\n                                        boxShadow: '0px 2px 8px 0 #585858'\r\n                                    }}\r\n                                />\r\n                            </section>\r\n                        </DialogContent>\r\n                    </div>\r\n                </Box>\r\n            </Dialog>\r\n        </div>\r\n    );\r\n}","import { Badge } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\nconst BadgeNotification = ({ countNotification, childrenItem, customClass, customWidth }) => {\r\n    const [defaultProps, setDefaultProps] = useState({\r\n        color: \"secondary\",\r\n        children: ''\r\n    });\r\n\r\n    useEffect(() => {\r\n        setDefaultProps({ ...defaultProps, children: childrenItem });\r\n    }, []);\r\n\r\n    return <>\r\n        <div style={{ width: customWidth }}>\r\n            <Badge style={{ display: 'flex', flexWrap: 'wrap' }} className={customClass} badgeContent={countNotification} {...defaultProps} />\r\n        </div>\r\n    </>;\r\n};\r\n\r\nexport default React.memo(BadgeNotification);","import React from \"react\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst CustomButton = (props) => {\r\n  const classes = useStyles();\r\n  const {\r\n    title,\r\n    icon,\r\n    typeButton,\r\n    customClass,\r\n    customStyles,\r\n    onClick,\r\n    ...other\r\n  } = props;\r\n\r\n  return (\r\n    <Button\r\n      className={`${customClass ? customClass : \"\"} ${classes.customButton}`}\r\n      onClick={onClick}\r\n      {...other}\r\n    >\r\n      {icon}\r\n      {title}\r\n    </Button>\r\n  );\r\n};\r\n\r\nexport default React.memo(CustomButton);\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function getStepCount() {\r\n    return {\r\n        type: actionTypes.GET_STEPS,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function setActualStep(actualStep) {\r\n    return {\r\n        type: actionTypes.SET_ACTUAL_STEP,\r\n        payload: actualStep\r\n    };\r\n}\r\n\r\nexport function setNextStep(step) {\r\n    return {\r\n        type: actionTypes.NEXT_STEP,\r\n        payload: step\r\n    };\r\n}\r\n\r\nexport function setPrevStep(step) {\r\n    return {\r\n        type: actionTypes.PREV_STEP,\r\n        payload: step\r\n    };\r\n}","import { useCallback, useEffect, useState } from \"react\";\r\n\r\nexport function useResizeScreen() {\r\n  const [screen, updateScreen] = useState({\r\n    sWidth: window.innerWidth,\r\n    sHeight: window.innerHeight,\r\n  });\r\n  const handleResize = useCallback(() => {\r\n    updateScreen({ sWidth: window.innerWidth, sHeight: window.innerHeight });\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    window.addEventListener(\"resize\", handleResize, { passive: true });\r\n\r\n    return () => {\r\n      window.removeEventListener(\"resize\", handleResize, { passive: true });\r\n    };\r\n  }, [screen]);\r\n  return { screen };\r\n}\r\n","import { Card as MuiCard, CardContent, } from \"@material-ui/core\";\r\nimport { Fragment } from \"react\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport BadgeNotification from \"../../Notification/BadgeNotification\";\r\n\r\nconst AppointmentsCard = ({\r\n    headerIcon,\r\n    description,\r\n    buttonZone,\r\n    index,\r\n    count,\r\n    customHeaderColor,\r\n    buttonsInHeader,\r\n    headerButtons,\r\n    blueBox = true\r\n}) => {\r\n    const classes = useStyles();\r\n    return <Fragment>\r\n        <MuiCard\r\n            key={index}\r\n            className={`${classes.card} ${classes.appointmentCards}`}\r\n            style={{ borderRadius: '10px', marginTop: '40px' }}>\r\n            <CardContent\r\n                style={{ padding: '8px' }}\r\n                className={classes.cardContentMuiCard}>\r\n                <div className={classes.divCardContent}>\r\n                    {count !== undefined && count > 0 ?\r\n                        <BadgeNotification\r\n                            customWidth='100%'\r\n                            customClass={classes.authorizationNotifications}\r\n                            childrenItem={\r\n                                <section\r\n                                    className={`${classes.lightLinearGradientReverse}\r\n                                                ${classes.headerIconCard}\r\n                                                ${classes.sectionHeaderCard}\r\n                                                ${customHeaderColor}`}>\r\n                                    <div style={{ width: \"100%\" }}>{headerIcon}</div>\r\n                                </section>\r\n                            }\r\n                            countNotification={count}\r\n                        />\r\n                        :\r\n                        <>\r\n                            {blueBox &&\r\n                                <section className={`${classes.lightLinearGradientReverse} ${classes.headerIconCard} ${classes.sectionHeaderCard} ${customHeaderColor}`}>\r\n                                    <div style={{ width: \"100%\" }}>{headerIcon}</div>\r\n                                    {buttonsInHeader && headerButtons}\r\n                                </section>\r\n                            }\r\n                        </>\r\n                    }\r\n                    <section\r\n                        className={`${classes.descriptionCard}`}\r\n                        style={{ flex: !blueBox && '0 0 100%' }}>\r\n                        <div>\r\n                            {description}\r\n                        </div>\r\n                        {(buttonsInHeader && !blueBox) && headerButtons}\r\n                    </section>\r\n                </div>\r\n                {buttonZone}\r\n            </CardContent>\r\n        </MuiCard>\r\n    </Fragment>;\r\n};\r\n\r\nexport default AppointmentsCard;\r\n","\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport ModalActivities from \"../DialogActivities/ModalActivities\";\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport {\r\n    Typography,\r\n} from \"@material-ui/core\";\r\nimport { useEffect, useRef } from \"react\";\r\n\r\n\r\nconst OpenModal = (props) => {\r\n    const classes = useStyles();\r\n    const screenSize = useResizeScreen();\r\n    const { modal } = props;\r\n    const descriptionRef  = useRef(null)\r\n\r\n    useEffect (() =>{\r\n        if(descriptionRef.current) {\r\n            descriptionRef.current.scrollIntoView({behavior: 'smooth'})\r\n        }\r\n\r\n    },[props.open])\r\n \r\n    const showNewsAndActivitiesCards = () => {\r\n        if (screenSize.screen.sWidth <= \"600\") {\r\n            return (\r\n                <Card className={classes.cardMobile}>\r\n                    <CardContent>\r\n                        <Typography ref={descriptionRef} style={{paddingTop: '10px' }}>\r\n                            {modal.description}\r\n                        </Typography>\r\n                        <Typography style={{ paddingTop: \"10px\" }}>\r\n                            {modal.observation}\r\n                        </Typography>\r\n                        <Typography style={{ paddingTop: \"10px\" }}>\r\n                            {modal.info}\r\n                        </Typography>\r\n                    </CardContent>\r\n                </Card>\r\n            );\r\n        } else {\r\n            return (\r\n                <ModalActivities\r\n                    customBackgroundDialogContent={classes.homeNewsAndActivitiesCard}\r\n                    customBackgroundDialog={classes.homeNewsAndActivitiesCard}\r\n                    title={modal.title}\r\n                    description={modal.description}\r\n                    observation={modal.observation}\r\n                    info={modal.info}\r\n                    open={props.open}\r\n                    onClose={props.setOpen}\r\n                    crossDarkColor={true}\r\n                />\r\n            );\r\n        }\r\n    }\r\n\r\n    return (\r\n        <>\r\n            { props?.open ? showNewsAndActivitiesCards() : \"\" }\r\n        </>\r\n    )\r\n}\r\nexport default OpenModal;","import {\r\n    Button,\r\n    IconButton, Grid\r\n}\r\n    from \"@material-ui/core\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport ImageList from '@material-ui/core/ImageList';\r\nimport ImageListItem from '@material-ui/core/ImageListItem';\r\nimport ImageListItemBar from '@material-ui/core/ImageListItemBar';\r\nimport { useState, Fragment } from \"react\";\r\nimport OpenModal from \"./openModal\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\n\r\nconst CardPhoto = (props) => {\r\n\r\n    const classes = useStyles();\r\n    const screenSize = useResizeScreen();\r\n\r\n    const [open, setOpen] = useState(false);\r\n    const [indexItem, setTndexItem] = useState(-1);\r\n\r\n    const handleShow = (item, i) => e => {\r\n        setTndexItem(i);\r\n        if (open) {\r\n            setOpen(false);\r\n        }\r\n        else {\r\n            setOpen(true);\r\n        }\r\n        if (props.openViewModal) {\r\n            setOpen(false);\r\n        }\r\n\r\n    };\r\n\r\n    const conditionIsNotPlan = (item) => {\r\n        return (props.isNotPlan ? <Grid style={{ paddingTop: \"00px\" }}>\r\n            <div >\r\n                <Typography className={`${classes.txtDescriptionWhite} ${classes.txtEllipsis}`} >\r\n                    {\" \"}\r\n                    {item.location}\r\n                </Typography>\r\n            </div>\r\n            <div >\r\n                <a href={`tel:${item?.phone}`} noopener noreferrer className={`${classes.txtDescriptionWhite} ${classes.txtEllipsis}`} >\r\n                    {\"Tel: \" + item.phone}\r\n                </a>\r\n            </div>\r\n            <div >\r\n                <Typography className={`${classes.txtDescriptionWhite} ${classes.txtEllipsis}`} >\r\n                    {\" \"}\r\n                    {item.hours}\r\n                </Typography>\r\n            </div>\r\n            <div >\r\n                <a href={`mailto:${item?.mail}`} className={`${classes.txtDescriptionWhite} ${classes.txtEllipsis}`} noopener noreferrer>\r\n                    {item.mail}\r\n                </a>\r\n            </div>\r\n            <div style={{\r\n                width: \"100%\",\r\n            }} >\r\n\r\n                <CustomButton\r\n                    title={\"MAPA\"}\r\n                    style={{\r\n                        height: \"20px\",\r\n                        width: \"90px !important\",\r\n                        alignSelf: \"center\",\r\n                        fontSize: \"8px\",\r\n                        fontWeight: \"500\",\r\n                        marginBottom: \"50px\",\r\n                        position: \"absolute\",\r\n                        right: \"5px\",\r\n                        top: \"5px\",\r\n                    }}\r\n                    customClass={`${classes.custombtn} ${classes.lightLinearGradient}`}\r\n                    onClick={() => window.open(item.urlMapa)}\r\n                />  </div>\r\n\r\n        </Grid> : <Grid style={{ paddingTop: \"00px\" }}><>\r\n            <div >\r\n                <Typography className={`${classes.txtDescriptionWhite} ${classes.txtEllipsis}`} >\r\n                    {\" \"}\r\n                    {item.description}\r\n                </Typography>\r\n            </div>\r\n            <div style={{ width: \"100%\" }} >\r\n                <a target=\"_blank\" style={{ textDecoration: 'none' }} href={item.URL}>\r\n                    <CustomButton\r\n                        title={\"CONOCELO\"}\r\n                        style={{\r\n                            height: \"20px\",\r\n                            width: \"90px !important\",\r\n                            alignSelf: \"center\",\r\n                            fontSize: \"8px\",\r\n                            fontWeight: \"500\",\r\n                            marginBottom: \"50px\",\r\n                            position: \"absolute\",\r\n                            right: \"5px\",\r\n                            top: \"32%\",\r\n                        }}\r\n                        customClass={`${classes.custombtn} ${classes.lightLinearGradient}`} />\r\n                </a>\r\n            </div>\r\n\r\n        </> </Grid>);\r\n    };\r\n\r\n\r\n    const showDetail = (item, i) => {\r\n        return (props.hasDetail ? (conditionIsNotPlan(item)) :\r\n            <Button size=\"small\" className={classes.btnTextCardPhoto} onClick={handleShow(item, i)}>\r\n                VER MÁS\r\n            </Button>);\r\n    };\r\n\r\n    const cssClasses = (i) => {\r\n        let css = classes.mediaPair;\r\n        if (i % 2 === 0) {\r\n            css = classes.cardContent;\r\n        }\r\n        return css;\r\n    };\r\n\r\n    const buttonIconMobile = (item, i) => {\r\n        if (screenSize.screen.sWidth <= 768) {\r\n            return (<div>\r\n                <IconButton onClick={handleShow(item, i)}\r\n                    style={{ float: \"right\" }}>\r\n                    <ExpandMoreIcon\r\n                        style={{ color: \"#FFFFFF\", transform: (open && i == indexItem ? \"rotate(180deg)\" : \"rotate(0deg)\") }} />\r\n                </IconButton>\r\n            </div>);\r\n        } else {\r\n            return (\r\n                <Button size=\"small\" className={classes.btnTextCardPhoto} onClick={handleShow(item, i)}>\r\n                    VER MÁS\r\n                </Button>);\r\n        }\r\n    };\r\n\r\n    return (\r\n        <ImageList className={`${classes.imageListCard}`} cols={4}>\r\n            {props?.listCard?.slice(0, props.countCard).map((item, i) => {\r\n                return (\r\n                    <Fragment key={i}>\r\n                        <ImageListItem>\r\n                            <img src={item?.img} alt={item?.title} style={{ height: '100%', width: \"100%\", objectFit: \"fill\" }} />\r\n                            <ImageListItemBar\r\n                                className={props.alternateColor ? (`${cssClasses(i)} ${classes.cardContent}`) : `${classes.cardContent} ${classes.titleImageListCard}`}\r\n                                style={{ height: \"40%\" }}\r\n                                title={item?.title}\r\n                                subtitle={props.hasButton ?\r\n                                    (buttonIconMobile(item, i)\r\n                                    )\r\n                                    : (showDetail(item, i))\r\n                                }\r\n                            />\r\n                        </ImageListItem>\r\n                        {i == indexItem ?\r\n                            <OpenModal modal={item} open={open} setOpen={setOpen}></OpenModal> : \"\"}\r\n                    </Fragment>\r\n                );\r\n            })}\r\n        </ImageList>\r\n    );\r\n};\r\n\r\nexport default CardPhoto;","export default __webpack_public_path__ + \"static/media/logo.010c47cd.png\";","import LocalPhoneIcon from '@material-ui/icons/LocalPhone';\r\nimport ApartmentIcon from '@material-ui/icons/Apartment';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { IconButton, Typography } from \"@material-ui/core\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport AppointmentsCard from \"./AppointmentsCard\";\r\nimport HeaderCard from '../../Billing/Movements/HeaderCard';\r\nimport { getTelemedicineAppointments, clearState } from '../../../redux/actions/telemedicineAppointmentsActions';\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst NextAppointmentCard = ({ item, i, handleClickOpenRepeatModal, setCancelItem, setOpenModal }) => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const telemedicineAppointmentLink = useSelector(state => state.telemedicineAppointmentsReducer?.telemedicine?.link);\r\n    const [ click, setClick ] = useState(false);\r\n\r\n    const handleClickIngresar = (itemNext) => (e) => {\r\n        e.preventDefault();\r\n\r\n        let turnDate = new Date(itemNext?.turnoFechHora);\r\n        let nextFifteenMinutes = new Date(itemNext?.turnoFechHora);\r\n        let previuosFifteenMinutes = new Date(itemNext?.turnoFechHora);\r\n        let today = new Date(Date.now());\r\n\r\n        nextFifteenMinutes?.setMinutes(turnDate?.getMinutes() + 15);\r\n        previuosFifteenMinutes?.setMinutes(turnDate?.getMinutes() - 15);\r\n        \r\n        let obj = {\r\n            numeroPersona: itemNext?.pacienteNumero,\r\n            turnoFechHora: itemNext?.turnoFechHora,\r\n            turnoNumero: itemNext?.turnoNumero\r\n        };\r\n\r\n        if(itemNext?.proximoCercano || (today >= previuosFifteenMinutes) && (today <= nextFifteenMinutes)) {\r\n            dispatch(getTelemedicineAppointments(obj));\r\n            setClick(true);\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        if(telemedicineAppointmentLink !== undefined && click) {\r\n            window.open(telemedicineAppointmentLink, '_blank');\r\n            setClick(false);\r\n        }\r\n        dispatch(clearState());\r\n    }, [telemedicineAppointmentLink, click]);\r\n\r\n    const handleClickOpenCancelModal = (itemNext) => (e) => {\r\n        e.preventDefault();\r\n        var itemCancel = {\r\n            numeroPersona: itemNext?.pacienteNumero,\r\n            numeroTurno: itemNext?.turnoNumero,\r\n            enviarMail: \"S\",\r\n            mail: window.localStorage.getItem(\"email\")\r\n        };\r\n        setCancelItem(itemCancel);\r\n        setOpenModal(prevState => !prevState);\r\n    };\r\n\r\n    function showIngresarBtn(itemA) {\r\n        const condition = itemA?.tipoAtencion;\r\n        var dateItem = new Date(item.turnoFechHora);\r\n        var next15 = new Date(item.turnoFechHora);\r\n        next15.setMinutes(dateItem.getMinutes() + 15);\r\n        var dateToday = new Date(Date.now());\r\n        if (condition === 'R') {\r\n            var response = (\r\n                <CustomButton\r\n                    disabled={item?.proximoCercano || (dateToday > dateItem && dateToday <= next15) ? false : true}\r\n                    title=\"INGRESAR\"\r\n                    customClass={`${classes.lightLinearGradient}`}\r\n                    style={{ whiteSpace: \"nowrap\", marginTop: \"10px\", width: \"60%\", fontSize: \"0.5rem\", fontWeight: '600' }}\r\n                    onClick={handleClickIngresar(itemA)}\r\n                />\r\n            );\r\n        } else {\r\n            response = (\"\");\r\n        }\r\n        return response;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <AppointmentsCard\r\n                index={i}\r\n                buttonsInHeader={true}\r\n                headerButtons={\r\n                    screen.sWidth < 321 &&\r\n                    <div style={{ display: 'flex', justifyContent: 'flex-end', backgroundColor: '#ffffff', borderRadius: '7px', }}>\r\n                        <IconButton onClick={handleClickOpenRepeatModal(item)} style={{ padding: '5px' }}>\r\n                            <CreateIcon style={{ fontSize: '1.5rem', color: '#0075c9' }} />\r\n                        </IconButton>\r\n                    </div>\r\n                }\r\n                headerIcon={<HeaderCard day={item?.fechaFormateada?.nombreDia} numberDay={item?.fechaFormateada?.dia} month={parseInt(item?.turnoFechHora?.substring(5, 7))} year={parseInt(item?.turnoFechHora?.substring(0, 4))} />}\r\n                description={\r\n                    <>\r\n                        <Typography style={{ fontWeight: \"600\", color: '#0075c9' }} className={`${classes.txtCardDescription} `}>\r\n                            <span style={{ fontSize: '1rem' }}>{\"Hora: \" + item?.turnoFechHora?.split('T')[1].substring(0, 5) + \" hs\"}</span>\r\n                        </Typography>\r\n                        {item?.tipoAtencion === 'R' ?\r\n                            <div style={{ display: 'flex' }}>\r\n                                <LocalPhoneIcon style={{ fontSize: '1rem', backgroundColor: '#0075c9', color: '#ffffff', borderRadius: '20px', padding: '1px', marginRight: '6px' }} />\r\n                                <Typography style={{ fontWeight: \"600\", color: '#0075c9', paddingBottom: \"10px\" }} className={`${classes.txtCardDescription} `} >\r\n                                    <span style={{ fontSize: '0.7rem' }}>TELEMEDICINA</span>\r\n                                </Typography>\r\n                            </div>\r\n                            :\r\n                            <div style={{ display: 'flex' }}>\r\n                                <ApartmentIcon style={{ fontSize: '1rem', backgroundColor: '#002858', color: '#ffffff', borderRadius: '20px', padding: '1px', marginRight: '6px' }} />\r\n                                <Typography style={{ fontWeight: \"600\", color: '#0075c9', paddingBottom: \"10px\" }} className={`${classes.txtCardDescription} `} >\r\n                                    <span style={{ fontSize: '0.7rem', color: \"#002858\" }}>{\"CENTRO MEDICO \" + item?.sucursalDescripcion?.trim()}</span>\r\n                                </Typography>\r\n                            </div>\r\n                        }\r\n                        <Typography style={{ fontWeight: '600' }} className={`${classes.txtCardDescription}`}>\r\n                            {item?.pacienteNombreApellido?.trim()}\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`}>\r\n                            {item?.especialidadDescripcion?.trim()}\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`}>\r\n                            {item?.medicoDescripcion?.trim()}\r\n                        </Typography>\r\n                    </>\r\n                }\r\n                buttonZone={\r\n                    <section className={`${classes.btnZoneAppointmentCard}`}>\r\n                        {screen.sWidth > 321 &&\r\n                            <div style={{ display: 'flex', justifyContent: 'flex-end' }}>\r\n                                <IconButton onClick={handleClickOpenRepeatModal(item)} style={{ padding: '0px' }}>\r\n                                    <CreateIcon style={{ fontSize: '1.5rem', color: '#0075c9' }} />\r\n                                </IconButton>\r\n                            </div>\r\n                        }\r\n                        <div className={classes.btnDivCards}>\r\n                            {screen.sWidth > 321 ?\r\n                                <>\r\n                                    {showIngresarBtn(item)}\r\n                                    <CustomButton\r\n                                        title=\"CANCELAR\"\r\n                                        customClass={classes.lightLinearGradient}\r\n                                        style={{ whiteSpace: \"nowrap\", marginTop: \"10px\", width: \"60%\", fontSize: \"0.5rem\", fontWeight: '600' }}\r\n                                        onClick={handleClickOpenCancelModal(item)}\r\n                                    />\r\n                                </>\r\n                                :\r\n                                <>\r\n                                    <CustomButton\r\n                                        title=\"CANCELAR\"\r\n                                        customClass={classes.lightLinearGradient}\r\n                                        style={{ whiteSpace: \"nowrap\", marginTop: \"10px\", width: \"60%\", fontSize: \"0.5rem\", fontWeight: '600' }}\r\n                                        onClick={handleClickOpenRepeatModal(item)}\r\n                                    />\r\n                                    {showIngresarBtn(item?.tipoAtencion)}\r\n                                </>\r\n                            }\r\n                        </div>\r\n                    </section>\r\n                }\r\n            />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(NextAppointmentCard, (prevState, nextState) => {\r\n    return prevState.item === nextState.item && prevState.i === nextState.i\r\n});\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getTelemedicineAppointments(affiliated) {\r\n  return {\r\n    type: actionTypes.GET_TELEMEDICINE,\r\n    payload: affiliated,\r\n  };\r\n}\r\n\r\nexport function setTelemedicineParameters(param) {\r\n  return {\r\n    type: actionTypes.SET_TELEMEDICINE_PARAMS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getTelemedicineParameters(param) {\r\n  return {\r\n    type: actionTypes.GET_TELEMEDICINE_PARAMS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function clearState() {\r\n  return {\r\n      type: actionTypes.CLEAR_STATE,\r\n      payload: ''\r\n  };\r\n}\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getAfilliatedAppointments(afilliated) {\r\n  return {\r\n    type: actionTypes.GET_AFILLIATED_APPOINTMENTS,\r\n    payload: afilliated,\r\n  };\r\n}\r\n\r\n\r\nexport function getAfilliatedAppointmentsNext(param) {\r\n  return {\r\n    type: actionTypes.GET_AFILLIATED_APPOINTMENTS_NEXT,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getAfilliatedAppointmentsRecord(param) {\r\n  return {\r\n    type: actionTypes.GET_AFILLIATED_APPOINTMENTS_RECORD,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getAppointmentFavorite(param) {\r\n  return {\r\n    type: actionTypes.GET_APPOINTMENTS_FAVORITE,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getAnswerQuestion() {\r\n  return {\r\n    type: actionTypes.GET_ANSWER_QUESTION,\r\n    payload: \"\",\r\n  };\r\n}\r\n\r\nexport function getDataGroupFamily(param) {\r\n  return {\r\n    type: actionTypes.GET_DATA_GROUP_FAMILY,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getDataFilterAppointment(param) {\r\n  return {\r\n    type: actionTypes.GET_DATA_FILTER_APPOINTMENT,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function AppointmentCanceled(param) {\r\n  return {\r\n    type: actionTypes.GET_APPOINTMENTS_CANCELED,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function ABAppointmentFavorite(param) {\r\n  return {\r\n    type: actionTypes.GET_APPOINTMENTS_AB,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getSpecialties(param) {\r\n  return {\r\n    type: actionTypes.GET_SPECIALTY_LIST,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getMedicalCenters(param) {\r\n  return {\r\n    type: actionTypes.GET_MEDICAL_CENTERS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getNextAvailableAppointments(params) {\r\n  return {\r\n    type: actionTypes.GET_NEXT_AVAILABLE_APPOINTMENTS,\r\n    payload: params\r\n  };\r\n}\r\n\r\n\r\nexport function getNextAvailableAppointmentsDoctor(params) {\r\n  return {\r\n    type: actionTypes.GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR,\r\n    payload: params\r\n  };\r\n}\r\n\r\nexport function setModelToSaveAppointment(model) {\r\n  return {\r\n    type: actionTypes.SET_MODEL_TO_SAVE_APPOINTMENT,\r\n    payload: model\r\n  };\r\n}\r\n\r\nexport function getModelToSaveAppointment() {\r\n  return {\r\n    type: actionTypes.GET_MODEL_TO_SAVE_APPOINTMENT,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function saveAppointment(model) {\r\n  return {\r\n    type: actionTypes.SAVE_APPOINTMENT,\r\n    payload: model\r\n  };\r\n}\r\n\r\nexport function AppointmentConfirm(model) {\r\n  return {\r\n    type: actionTypes.GET_APPOINTMENTS_CONFIRMED,\r\n    payload: model\r\n  };\r\n}\r\n\r\nexport function getFullGroupFamilyAppointment(param) {\r\n  return {\r\n    type: actionTypes.GET_FULL_GROUP_FAMILY_APPOINTMENT,\r\n    payload: param\r\n  };\r\n}\r\n\r\nexport function clearModelAppointment() {\r\n  return {\r\n    type: actionTypes.CLEAR_MODEL_APPOINTMENT,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function clearAffilliate() {\r\n  return {\r\n    type: actionTypes.CLEAR_AFFILLIATE,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function setModifyAppointment(param) {\r\n  return {\r\n    type: actionTypes.SET_MODIFY_APPOINTMENT,\r\n    payload: param\r\n  };\r\n}\r\n\r\nexport function clearMsgError() {\r\n  return {\r\n    type: actionTypes.CLEAR_APPOINTMENT_MSG_ERROR,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function getSpecialtiesList(param) {\r\n  return {\r\n    type: actionTypes.GET_SPECIALTIES_LIST,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getDoctorsList(param) {\r\n  return {\r\n    type: actionTypes.GET_DOCTORS_LIST,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getFreeDoctorAppointmentsList(param) {\r\n  return {\r\n    type: actionTypes.GET_FREE_DOCTOR_APPOINTMENTS_LIST,\r\n    payload: param,\r\n  };\r\n}\r\n\r\n\r\n\r\nexport function getMedicalAgenda(params) {\r\n  return {\r\n    type: actionTypes.GET_MEDICAL_AGENDA,\r\n    payload: params\r\n  };\r\n}","import { Accordion, AccordionDetails, Typography, Button } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { selectNotification, modifyNotification, updateAllNotifications} from \"../../redux/actions/notificationsActions\";\r\n\r\nconst CardNotification = (props) => {\r\n   \r\n    const classes = useStyles();\r\n    const history = useHistory();\r\n    const dispatch = useDispatch();\r\n    const notificacionReducer = useSelector((state) => state.notificationReducer.notifications);\r\n\r\n    const viewDetalle = (position) => {\r\n        const newNotifications = notificacionReducer?.notification?.map((item, i) => {\r\n            if (position === i) {\r\n                return { ...item, [\"viewed\"]: true };\r\n            } else {\r\n                return item;\r\n            }\r\n        });\r\n        let notificationSelected = props.notification;\r\n        notificationSelected.viewed = true;\r\n        dispatch(selectNotification(notificationSelected));\r\n        dispatch(modifyNotification(notificationSelected));\r\n        dispatch(updateAllNotifications({notification: newNotifications}));\r\n        history.push('/Notification');\r\n\r\n    };\r\n\r\n    const AddIcon = () => {\r\n        let response = <NotificationsIcon className={classes.notificationIcon} style={{ marginRight: '15px' }} />;\r\n        if (props?.notification?.favourite)\r\n            response = <StarIcon className={classes.iconDestacate} style={{ marginRight: '15px' }} />;\r\n        else {\r\n            if (props?.notification?.viewed) {\r\n                response = <NotificationsIcon className={classes.iconReader} style={{ marginRight: '15px' }} />;\r\n            }\r\n        }\r\n        return response;\r\n    };\r\n\r\n    return (\r\n        <Accordion className=\"notification\" key={props?.position} expanded={true} >\r\n            <AccordionDetails className=\"notification\" key={props?.position} >\r\n                <div className={classes.flexRow} style={{ alignItems: 'center', margin: '5px' }}>\r\n                    <div style={{ display: 'flex', alignItems: 'center' }}>\r\n                        {AddIcon()}\r\n                        <div style={{ width:'130px' }}>\r\n                            <Typography className={classes.txtDescription}>{props?.notification?.message?.title}</Typography>\r\n                            <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`} > {props?.notification?.message?.module}</Typography>\r\n                        </div>\r\n                    </div>\r\n                    <div>\r\n                        <Typography className={classes.txtDescription}>{new Date(props?.notification?.message?.createDate)?.toLocaleDateString()}</Typography>\r\n                    </div>\r\n                    <div>\r\n                        <Button\r\n                            onClick={(e) => { viewDetalle(props?.position); }}\r\n                            className={` ${classes.lightLinearGradient} ${classes.customButtomNotification} `}\r\n                            style={{ boxShadow: '0px 2px 8px 0 #585858' }}>\r\n                            {'ver detalle'}\r\n                        </Button>\r\n                    </div>\r\n                </div>\r\n            </AccordionDetails>\r\n        </Accordion>\r\n    );\r\n};\r\n\r\nexport default CardNotification;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getConfigurations() {\r\n    return {\r\n        type: actionTypes.GET_CONFIGURATIONS,\r\n        payload: '',\r\n    };\r\n}\r\n\r\nexport function getConfigurationById(id) {\r\n    return {\r\n        type: actionTypes.GET_CONFIGURATION_BY_ID,\r\n        payload: id,\r\n    };\r\n}\r\n\r\nexport function getConfigurationLowServiceById(id){\r\n    return {\r\n        type: actionTypes.GET_CONFIGURATION_LOW_SERVICE_BY_ID,\r\n        payload: id,\r\n    }\r\n}\r\n\r\nexport function getConfigurationReclamoById(id){\r\n    return {\r\n        type: actionTypes.GET_CONFIGURATION_RECLAMO_BY_ID,\r\n        payload: id,\r\n    }\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n  GoogleMap,\r\n  LoadScript,\r\n  Marker,\r\n  InfoWindow,\r\n} from \"@react-google-maps/api\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport ModalProfile from \"../DialogProfile/Modal\";\r\nimport \"./mapStyle.css\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useCurrentPosition } from \"../../hooks/useCurrentPosition\";\r\nimport MedicalCard from \"../MedicalRecord/Card/MedicalCard\";\r\nimport { formatPhoneNumber } from \"../../utils/utilsFunctions\";\r\n\r\nconst googleApiKey = window.env.GOOGLE_API_KEY;\r\n\r\nconst MapContainer = (props) => {\r\n  const { father, heightMap, viewList, medicalCenterUbication, profileSelected, widthMap, minHeightMap, elevation = 0 } = props;\r\n  //click marker selected\r\n  const [selected, setSelected] = useState({});\r\n  // open detail selected\r\n  const [openModal, setOpen] = useState(false);\r\n  //geolocation\r\n  const { currentPosition } = useCurrentPosition();\r\n  //model\r\n  const medicalRecord = useSelector((state) => state.cartillaReducer.cartilla);\r\n\r\n  //style map\r\n  const classes = useStyles();\r\n\r\n  const mapStyles = {\r\n    height: heightMap !== undefined ? heightMap : \"100vh\",\r\n    width: widthMap !== undefined ? widthMap : \"100%\",\r\n    minHeight: heightMap !== undefined ? minHeightMap : \"100vh\",\r\n  };\r\n\r\n  const handleClose = () => {\r\n    var element = document.getElementsByClassName(\"gm-style\")[0];\r\n    if (element != null && element != undefined) {\r\n      document\r\n        .getElementsByClassName(\"gm-style\")[0]\r\n        .setAttribute(\r\n          \"style\",\r\n          \"filter: blur(0px); position: absolute; z-index: 0; left: 0px; top: 0px; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px;\"\r\n        );\r\n    }\r\n    setOpen(false);\r\n  };\r\n\r\n  const onSelect = (item) => {\r\n    let auxItem = { ...item, seleccionado: true };\r\n    setSelected(auxItem);\r\n  };\r\n\r\n  const handleClick = (e) => {\r\n    setSelected({});\r\n  };\r\n\r\n  const ModalClick = (item, i) => (e) => {\r\n    setOpen(prevState => !prevState);\r\n    document\r\n      .getElementsByClassName(\"gm-style\")[0]\r\n      .setAttribute(\r\n        \"style\",\r\n        \"filter: blur(4px); position: absolute; z-index: 0; left: 0px; top: 0px; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px;\"\r\n      );\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (props.profileSelected !== null && props.profileSelected !== undefined && props.profileSelected?.PrestadorNumero > 0) {\r\n      let newSelected = medicalRecord?.cartilla?.filter((x) => x.prestadorNumero == profileSelected?.PrestadorNumero)[0];\r\n      onSelect(newSelected);\r\n    }\r\n  }, []);\r\n\r\n  const AddCardMaps = () => {\r\n    var el = window.document.getElementsByClassName(\"gm-style-iw-c\");\r\n    el[0]?.setAttribute(\"style\", \"background-color: transparent!important;border-radius : 20px;opacity: '0.7';width: '100%';height: '38%';padding-right: 0px !important;padding-bottom: 0px !important;max-width: 100% !important;min-width: 100% !important; box-sizing: border-box;;overflow: hidden !important;top: 0;left: 0;padding: 0px !important;box-shadow: none !important;\");\r\n    var el2 = window.document.getElementsByClassName(\"gm-style-iw-d\");\r\n    el2[0]?.setAttribute(\"style\", \"overflow: 'hidden!important'\");\r\n    var el3 = window.document.getElementsByClassName(\"gm-style\");\r\n    el3[0]?.setAttribute(\"style\", \"background-color: transparent!important;border-radius : 20px;opacity: '0.7';width: '100%';height: '38%';padding-right: 0px !important;padding-bottom: 0px !important;max-width: 100% !important;min-width: 100% !important; box-sizing: border-box;;overflow: hidden !important;top: 0;left: 0;padding: 0px !important;box-shadow: none !important;\");\r\n    return (\r\n      <MedicalCard item={selected} i={1} handleClick={ModalClick} mapContainer={true} currentPosition={currentPosition} />\r\n    );\r\n  };\r\n\r\n  const AddModalProfile = () => {\r\n    return (\r\n      <ModalProfile\r\n        open={true}\r\n        setOpen={setOpen}\r\n        onClose={handleClose}\r\n        title={\r\n          <>\r\n              <Typography className={classes.titleDialogTitle}>\r\n                {selected?.prestadorRazonSocial}\r\n              </Typography>\r\n              <Typography className={classes.subTitleDialogTitle}>\r\n                {selected?.prestadorEspecialidad}\r\n              </Typography>\r\n          </>\r\n      }\r\n      description={\r\n        <>\r\n            <Typography paragraph className={classes.subParagraphDialog}>\r\n                DATOS DEL PRESTADOR {selected?.prestadorRazonSocial}\r\n            </Typography>\r\n            <Typography className={classes.titleDialogContent}>\r\n                TELEFONO:\r\n            </Typography>\r\n            { selected?.telefono?.length > 0 ?\r\n                selected?.telefono?.map((phone, i) => (\r\n                    <Typography\r\n                        key={i}\r\n                        paragraph\r\n                        className={classes.paragraphDialog}\r\n                    >\r\n                        <a\r\n                            className={classes.linkDialog}\r\n                            href={`tel:${phone?.telefonoNumero}`}\r\n                        >\r\n                            {formatPhoneNumber(phone?.telefonoNumero, true)}\r\n                        </a>\r\n                        <br />\r\n                    </Typography>\r\n                ))\r\n              :\r\n                <Typography className={classes.paragraphDialog} style={{ marginBottom: '10px' }}>\r\n                  NO HAY TELEFONO\r\n                </Typography>\r\n            }\r\n            <Typography className={classes.titleDialogContent}>\r\n                DIRECCION:\r\n            </Typography>\r\n                <Typography\r\n                    paragraph\r\n                    className={classes.paragraphDialog}\r\n                >\r\n                    {selected?.prestadorDomicilio} | {selected?.prestadorLocalidad} | {selected?.prestadorBarrio}\r\n                    <br />\r\n                </Typography>\r\n            <Typography className={classes.titleDialogContent}>\r\n                CORREO:\r\n            </Typography>\r\n            {\r\n              <Typography\r\n                paragraph\r\n                className={classes.paragraphDialog}>\r\n                  {selected?.mail[0]?.mailDireccion !== \"\" ? selected?.mail[0]?.mailDireccion :\"NO HAY CORREO\"}\r\n                  <br />\r\n              </Typography>\r\n            }\r\n        </>\r\n    }\r\n    observation={\r\n        <>\r\n            <Typography className={classes.titleDialogContent}>\r\n                OBSERVACIONES:\r\n            </Typography>\r\n            {\r\n              <Typography\r\n                paragraph\r\n                className={classes.paragraphDialog}>\r\n                  {selected?.observacion !== \"\" ? selected?.observacion :\"NO HAY OBSERVACIONES\"}\r\n                  <br />\r\n              </Typography>\r\n            }\r\n        </>\r\n    }\r\n    specialties={\r\n        <>\r\n            <Typography className={classes.titleDialogContent}>\r\n                ESPECIALIDAD:\r\n            </Typography>\r\n                <>\r\n                    <Typography className={classes.paragraphDialog}>\r\n                        { selected?.prestadorEspecialidad !== \"\" ? selected?.prestadorEspecialidad : \"NO HAY ESPECIALIDAD\" }\r\n                    </Typography>\r\n                </>\r\n        </>\r\n    }\r\n      />\r\n    );\r\n  };\r\n\r\n  const setMarker = () => {\r\n    let response = (<Marker\r\n      position={{\r\n        lat: Number.parseFloat(medicalCenterUbication?.lat),\r\n        lng: Number.parseFloat(medicalCenterUbication?.lng),\r\n      }}\r\n    />);\r\n    if (medicalRecord?.cartilla !== undefined) {\r\n      response = medicalRecord?.cartilla?.map((item, i) => {\r\n        return (<Marker\r\n          key={i}\r\n          position={{\r\n            lat: item.prestadorLatitud,\r\n            lng: item.prestadorLongitud,\r\n          }}\r\n          onClick={() => onSelect(item)}\r\n        />);\r\n      });\r\n    }\r\n    return response;\r\n  };\r\n\r\n  return navigator.onLine ? (\r\n    <LoadScript googleMapsApiKey={googleApiKey}>\r\n      <GoogleMap\r\n        mapContainerStyle={mapStyles}\r\n        center={father === \"medicalCenter\" ? medicalCenterUbication : medicalRecord?.defaultCenter}\r\n        onClick={handleClick}\r\n        zoom={13}\r\n      >\r\n        {setMarker()}\r\n        {selected?.seleccionado && (\r\n          <InfoWindow\r\n            position={{\r\n              lat: selected?.prestadorLatitud + elevation,\r\n              lng: selected?.prestadorLongitud,\r\n            }}\r\n            clickable={true}\r\n            options={{ maxWidth: 'auto', backgroundColor: 'transparent !important' }}\r\n            className={classes.gmStyle}\r\n          >\r\n            {openModal ? AddModalProfile() : AddCardMaps()}\r\n          </InfoWindow>\r\n        )}\r\n      </GoogleMap>\r\n    </LoadScript>\r\n  ) : (\r\n    <>\r\n      <CustomButton\r\n        title=\"NO ESTAS ONLINE\"\r\n        customClass={`${classes.sendButton} ${classes.lightLinearGradient}`}\r\n        style={{ marginTop: \"10px\" }}\r\n        id=\"btnNoEstasOnlineMap\"\r\n      />\r\n      {viewList &&\r\n        <CustomButton\r\n          title=\"VER LISTADO\"\r\n          customClass={`${classes.sendButton} ${classes.darkLinearGradient}`}\r\n          style={{ marginTop: \"10px\" }}\r\n          id=\"btnVerListadoMap\"\r\n          onClick={handleClose}\r\n        />\r\n      }\r\n    </>\r\n  );\r\n};\r\nexport default React.memo(MapContainer, (prevState, nextState) => {\r\n  return prevState.profileSelected === nextState.profileSelected && prevState.medicalCenterUbication === nextState.medicalCenterUbication;\r\n});\r\n","import { useEffect, useState } from \"react\";\r\n\r\n\r\nexport function useCurrentPosition() {\r\n\r\n    const [currentPosition, setCurrentPosition] = useState({});\r\n\r\n    const success = (position) => {\r\n        setCurrentPosition({...currentPosition, lat: position.coords.latitude, lng: position.coords.longitude});\r\n    };\r\n\r\n    useEffect(() => {\r\n        navigator.geolocation.getCurrentPosition(success);\r\n    }, []);\r\n\r\n    return { currentPosition };\r\n}\r\n","import * as React from 'react';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport useStyles from '../../assets/styles/styles';\r\nimport {BootstrapInput} from '../../assets/styles/bootstrapInput';\r\n\r\n\r\nconst CustomizedInputs = (props) => {\r\n  const { ...other } = props;\r\n  const classes = useStyles();\r\n\r\n  function required() {\r\n    if (props.customRequired) {\r\n      return <span style={{ color: '#ff0000' }}>*</span>;\r\n    }\r\n  }\r\n\r\n  return (\r\n    <FormControl className={`${classes.formControl} ${props.formControlClass}`} variant=\"standard\">\r\n      <InputLabel className={`${classes.inputLabelForms} ${props.inputLabelClass}`} shrink htmlFor=\"bootstrap-input\">\r\n        {props.label}{required()}\r\n      </InputLabel>\r\n      <BootstrapInput {...other} type={props.type} disabled={props.disabled} className={`${classes.customInput} ${props.customClass}`} id=\"bootstrap-input\" />\r\n    </FormControl>\r\n  );\r\n};\r\n\r\n\r\nexport default CustomizedInputs;","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function deletePersonPlayer(param) {\r\n    return {\r\n        type: actionTypes.DELETE_PERSON_PLAYER,\r\n        payload: param\r\n    };\r\n}\r\n    \r\nexport function updateTag(param) {\r\n    return {\r\n        type: actionTypes.UPDATE_TAG,\r\n        payload: param\r\n    };\r\n}","import { Box, Divider, Typography } from '@material-ui/core';\r\nimport React from 'react';\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst ContainerBox = ({ children, title, link }) => {\r\n    const classes = useStyles();\r\n    return <>\r\n        <div className={`${classes.containerBoxWeb} ${classes.customScroll}`}>\r\n            <section className={classes.headerSection}>\r\n                <Typography className={`${classes.titleTurn} ${classes.titleBox}`}>\r\n                    {title}\r\n                </Typography>\r\n                {link &&\r\n                    <Typography component={Link} to={link} className={`${classes.titleTurn} ${classes.titleBox}`}>\r\n                        <ArrowForwardIosIcon />\r\n                    </Typography>\r\n                }\r\n                <Divider className={`${classes.formDivider} ${classes.boxDivider}`} />\r\n            </section>\r\n            <article style={{ flex: '0 0 100%' }}>\r\n                <Box className={`${classes.boxCard} ${classes.boxCardWeb}`}>\r\n                    {children}\r\n                </Box>\r\n            </article>\r\n        </div>\r\n    </>;\r\n};\r\n\r\nexport default React.memo(ContainerBox, (prevState, nextState) => {\r\n    return prevState.children === nextState.children;\r\n});","import ModalActivities from \"../DialogActivities/ModalActivities\";\r\n\r\nconst ModalLogOut = ({ isOpen, setOpen }) => {\r\n    return <>\r\n        { isOpen ?\r\n            <ModalActivities\r\n                title={\"Cerrar sesión\"}\r\n                description={\"¿Estás seguro que deseas salir?\"}\r\n                open={isOpen}\r\n                onClose={setOpen}\r\n                modalconfirm={true}\r\n                modalLogout={true}\r\n            />\r\n            : \"\"}\r\n    </>;\r\n};\r\n\r\nexport default ModalLogOut;","import { alpha, styled } from '@material-ui/core/styles';\r\nimport InputBase from '@material-ui/core/InputBase';\r\n\r\nexport const BootstrapInput = styled(InputBase)(({ theme }) => ({\r\n  'label + &': {\r\n    marginTop: theme.spacing(3),\r\n  },\r\n  '& .MuiInputBase-input': {\r\n    borderRadius: 4,\r\n    position: 'relative',\r\n    backgroundColor: theme.palette.mode === 'light' ? '#fcfcfb' : '#2b2b2b',\r\n    border: '1px solid #ced4da',\r\n    fontSize: 16,\r\n    padding: '10px 12px',\r\n    minWidth: '224px !important',\r\n    margin: '0 0 7px 0',\r\n    transition: theme.transitions.create([\r\n      'border-color',\r\n      'background-color',\r\n      'box-shadow',\r\n    ]),\r\n    textOverflow: 'ellipsis',\r\n    overflow: 'hidden',\r\n    whiteSpace: \"nowrap\",\r\n    // Use the system font instead of the default Roboto font.\r\n    fontFamily: [\r\n      '-apple-system',\r\n      'BlinkMacSystemFont',\r\n      '\"Segoe UI\"',\r\n      'Roboto',\r\n      '\"Helvetica Neue\"',\r\n      'Arial',\r\n      'sans-serif',\r\n      '\"Apple Color Emoji\"',\r\n      '\"Segoe UI Emoji\"',\r\n      '\"Segoe UI Symbol\"',\r\n    ].join(','),\r\n    '&:focus': {\r\n      boxShadow: `${alpha(theme.palette.primary.main, 0.25)} 0 0 0 0.2rem`,\r\n      borderColor: theme.palette.primary.main,\r\n    },\r\n  },\r\n}));","import { CardContent, Typography, Button, Card as MuiCard, IconButton } from \"@material-ui/core\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\r\nimport RoomIcon from \"@material-ui/icons/Room\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\nimport FaceIcon from \"@material-ui/icons/Face\";\r\nimport AddIcon from \"@material-ui/icons/Add\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport { formatPhoneNumber } from \"../../../utils/utilsFunctions\";\r\n\r\nconst MedicalCard = ({ item, i, handleClick, showMaps, mapContainer, currentPosition }) => {\r\n    const classes = useStyles();\r\n\r\n    return (\r\n        <>\r\n            <MuiCard key={i} className={`${classes.card} ${classes.movementsCards} ${classes.cartillaCards} ${classes.cartillaMuiCardStyles}`}>\r\n                <CardContent style={{ padding: '8px' }} className={classes.cardContentMuiCard}>\r\n                    <div className={classes.divCardContent} style={{ flexWrap: 'wrap' }}>\r\n                        <section className={ classes.cartillaMedicalCenterSection }>\r\n                            <div className={ classes.cartillaClasificacionPrestadorStyles }>\r\n                                {\r\n                                    item?.clasificacionPrestador === \"CENTRO MEDICO\" ? (\r\n                                        <LocationCityIcon className={classes.LocationCityIcon} />\r\n                                    ) : (\r\n                                        <FaceIcon className={classes.LocationCityIcon} />\r\n                                    )\r\n                                }\r\n                            </div>\r\n                            <div className={`${classes.divTitleCardCartilla} ${classes.cartillaPrestadorRazonSocialStyles}`}>\r\n                                <Typography style={{ fontSize: '0.8rem' }}>{item?.prestadorRazonSocial}</Typography>\r\n                            </div>\r\n                            <div className={ classes.cartillaButtonContainerStyles }>\r\n                                <Typography style={{ padding: '0px', alignSelf: 'flex-start' }} component={Button} onClick={handleClick(item, i)}>\r\n                                    <ChevronRightIcon className={classes.ShowMoreArrowIcon} />\r\n                                </Typography>\r\n                            </div>\r\n                        </section>\r\n                        <section className={ classes.cartillaPhonesSection }>\r\n                            <div style={{ display: 'flex', flex: '0 0 100%' }}>\r\n                                <a href={`tel:${item?.telefono[0]?.telefonoNumero}`} className={`${classes.txtLinksInCard} ${classes.txtDescription} ${classes.txtEllipsis}`}>\r\n                                    {formatPhoneNumber(item?.telefono[0]?.telefonoNumero?.trim(), true)}\r\n                                </a>\r\n                                {\r\n                                    item?.telefono?.length > 1 &&\r\n                                    (\r\n                                        <AddIcon className={`${classes.txtLinksInCard} ${classes.cartillaAddIconStyles}`} onClick={handleClick(item, i)}></AddIcon>\r\n                                    )\r\n                                }\r\n                            </div>\r\n                            <div className={ classes.cartillaPrestadorDomicilioContainer } style={{ alignItems: 'center' }}>\r\n                                <div>\r\n                                    <Typography className={`${classes.txtDescription} ${classes.cartillaAddressStyles}`}>\r\n                                        {item?.prestadorDomicilio} | {item?.prestadorProvincia} | {item?.prestadorBarrio} | {item?.prestadorLocalidad}\r\n                                    </Typography>\r\n                                </div>\r\n                                <div>\r\n                                    {mapContainer ?\r\n                                        <a\r\n                                            target=\"_blank\"\r\n                                            style={{ textDecoration: \"none\" }}\r\n                                            href={\r\n                                                \"https://www.google.com/maps/dir/?api=1&origin=\" +\r\n                                                currentPosition?.lat +\r\n                                                \"%2C\" +\r\n                                                currentPosition?.lng +\r\n                                                \"&destination=\" +\r\n                                                item?.prestadorLatitud +\r\n                                                \"%2C\" +\r\n                                                item?.prestadorLongitud +\r\n                                                \"&travelmode=driving\"\r\n                                            }\r\n                                        >\r\n                                            <CustomButton\r\n                                                title={\"como llegar\"}\r\n                                                customClass={`${classes.customBtnMaps} ${classes.darkLinearGradient}`}\r\n                                            />\r\n                                        </a>\r\n                                        :\r\n                                        <IconButton onClick={showMaps(item, i)} style={{ marginRight: '10px' }}>\r\n                                            <RoomIcon className={ classes.cartillaRoomIconStyles } />\r\n                                        </IconButton>\r\n                                    }\r\n                                </div>\r\n                            </div>\r\n                            {item?.mail[0]?.mailDireccion?.trimEnd() !== '' &&\r\n                                <div style={{ display: 'flex', flex: '0 0 100%' }}>\r\n                                    <a href={`mailto:${item?.mail[0]?.mailDireccion}`} className={`${classes.txtLinksInCard} ${classes.txtDescription} ${classes.txtEllipsis}`}>\r\n                                        {item?.mail[0]?.mailDireccion?.trimEnd()}\r\n                                    </a>\r\n                                    <AddIcon style={{ fontWeight: \"600\", cursor: \"pointer\" }} className={`${classes.txtLinksInCard}`} onClick={handleClick(item, i)}></AddIcon>\r\n                                </div>\r\n                            }\r\n                            <div className={ classes.cartillaObservacionStyles }>\r\n                                <Typography className={`${classes.txtDescription}`} style={{ fontSize: '0.67rem' }}>\r\n                                    {item?.observacion}\r\n                                </Typography>\r\n                            </div>\r\n                        </section>\r\n                    </div>\r\n                </CardContent>\r\n            </MuiCard>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default MedicalCard;","import { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\r\nimport {\r\n  ReactPlugin,\r\n  withAITracking,\r\n} from \"@microsoft/applicationinsights-react-js\";\r\n// import { createBrowserHistory } from \"history\";\r\n\r\n// const browserHistory = createBrowserHistory({ basename: \"\" });\r\nconst reactPlugin = new ReactPlugin();\r\n\r\nconst appInsights = new ApplicationInsights({\r\n  config: {\r\n    instrumentationKey: window.env.APPINSIGHTS_INSTRUMENTATION_KEY,\r\n    extensions: [reactPlugin],\r\n    // extensionConfig: {\r\n    //   [reactPlugin.identifier]: { history: browserHistory },\r\n    // },\r\n  },\r\n});\r\n\r\nappInsights.loadAppInsights();\r\n\r\nexport default (Component) => withAITracking(reactPlugin, Component);\r\nexport { appInsights, reactPlugin };\r\n","import React from 'react'\r\nimport { reactPlugin } from \"./AppInsights\";\r\nimport { AppInsightsContext, useAppInsightsContext } from \"@microsoft/applicationinsights-react-js\";\r\n\r\nconst AppInsightsContextProvider = ({children}) => {\r\n    return (\r\n      <AppInsightsContext.Provider value={reactPlugin}>\r\n        {children}\r\n      </AppInsightsContext.Provider>\r\n    )\r\n  }\r\n\r\n\r\nexport { AppInsightsContextProvider, useAppInsightsContext }","import React from \"react\";\r\nimport ModalActivities from \"../DialogActivities/ModalActivities\";\r\n\r\nconst NotAccessModal = ({ isOpen, setOpen }) => {\r\n    \r\n    return  <>\r\n                {\r\n                    isOpen &&\r\n                    <ModalActivities\r\n                        modalRegister={false}\r\n                        title={\r\n                            <>\r\n                                <div style={{ display: 'flex', justifyContent: 'center', paddingTop: '30px' }}>\r\n                                    Reintegros\r\n                                </div>\r\n                            </>\r\n                        }\r\n                        description={\r\n                            <div\r\n                                style={{\r\n                                    display: 'flex',\r\n                                    justifyContent: 'space-evenly',\r\n                                    flexDirection: 'column',\r\n                                    textAlign: \"center\",\r\n                                    padding: '30px'\r\n                                }}>\r\n                                No tenés acceso al módulo\r\n                            </div>\r\n                        }\r\n                        open={isOpen}\r\n                        onClose={setOpen}\r\n                    />\r\n                }\r\n            </>;\r\n};\r\n\r\nexport default React.memo(NotAccessModal, (prevState, nextState) => {\r\n    return prevState.isOpen === nextState.isOpen && prevState.items === nextState.items;\r\n});","import React, {useEffect, useState} from 'react';\r\nimport { format } from \"date-fns\";\r\nimport {Typography } from \"@material-ui/core\";\r\nimport QRCode from \"react-qr-code\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst CredentialCard = ({affilliated}) => {\r\n\r\n  const [lastUpdate, setLastUpdate] = useState({ date: \"\", hour: \"\" });\r\n  const classes = useStyles();\r\n\r\n    const qrText = (aff) => {\r\n        return `${window.env.URL_SERVICE}/Credential/QR/${\r\n          aff?.credentials?.numeroPersona\r\n        }/${aff?.credentials?.numeroAfiliado\r\n          ?.replaceAll(\"-\", \"\")\r\n          .replaceAll(\"/\", \"\")}`;\r\n    };\r\n\r\n    useEffect(() => {\r\n      const dateUpdated = format(new Date(), \"dd-MM-yyyy\");\r\n      const hourUpdated = `${new Date().getHours()}:${String(new Date().getMinutes()).padStart(2, '0')}`;\r\n      setLastUpdate({ ...lastUpdate, date: dateUpdated, hour: hourUpdated });\r\n    }, []);\r\n\r\n  return (\r\n    <div className={classes.credBody}>\r\n        <div className={`${classes.credImage}`}>\r\n            <div className={classes.credDivText}>\r\n                <Typography className={`${classes.credText} ${classes.credBold}`}>{affilliated?.credentials?.numeroAfiliado}</Typography>\r\n                <Typography className={`${classes.credText} ${classes.credBold} ${classes.credTextName}`}>{affilliated?.credentials?.apellidoNombre}</Typography>\r\n                <Typography className={`${classes.credText} ${classes.credBold}`}>{affilliated?.credentials?.documento} {affilliated?.credentials?.condicionIVA}</Typography>\r\n                <Typography className={`${classes.credText} ${classes.credBold}`}>Plan: <strong>{affilliated?.credentials?.planDescripcion}\r\n                  {affilliated?.credentials?.pmi && ` | P.M.I VTO ${affilliated?.credentials?.fechaVigencia}`}</strong>\r\n                </Typography>\r\n                <Typography className={`${classes.credText} ${classes.credBold} ${classes.credTextName}`}>\r\n                  {affilliated?.credentials?.marcaCopago ? \"Con copago\" : \"\"}\r\n                </Typography>\r\n            </div>\r\n            <div className={classes.credFooter}>\r\n                <QRCode\r\n                    value={qrText(affilliated)}\r\n                    size={95}\r\n                    className={classes.credQR}\r\n                />\r\n                <Typography className={classes.credFooterText}>Presentar junto al DNI</Typography>\r\n                <Typography className={classes.credLastUpdate}>{`Última act: ${lastUpdate.date} | ${lastUpdate.hour}hs.`}</Typography>\r\n\r\n            </div>\r\n        </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default CredentialCard\r\n","import React, { useEffect, Fragment, useState } from \"react\";\r\nimport { CircularProgress, Typography } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getEmergencyNumbers } from \"../../redux/actions/emergencyActions\";\r\nimport PhoneIcon from '@material-ui/icons/Phone';\r\nimport ModalActivities from \"../DialogActivities/ModalActivities\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { verifyPermission, formatPhoneNumber } from \"../../utils/utilsFunctions\";\r\n\r\nconst EmergencyModal = ({ isOpen, setOpen }) => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const emergencyNumbers = useSelector((state) => state.emergencyReducer.emergencyNumbers);\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        dispatch(getEmergencyNumbers());\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Urgencias\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    // si el estado del módulo es \"Habilitado\" muestra modal de emergencia sino modal de \"no tiene acceso al módulo\"\r\n    function showEmergencyModal(loading, permission) {\r\n        var resp;\r\n        if(loading) {\r\n            resp = (\r\n                <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%', paddingTop: '10px' }}>\r\n                    <CircularProgress />\r\n                </div>\r\n            );\r\n        } else {\r\n            if(permission) {\r\n                resp = (\r\n                    <ModalActivities\r\n                        modalRegister={false}\r\n                        title={\r\n                            <>\r\n                                <div style={{ display: 'flex', justifyContent: 'center', padding: '30px' }}>\r\n                                    Emergencias & Urgencias\r\n                                </div>\r\n                            </>\r\n                        }\r\n                        description={\r\n                            <div style={{ display: 'flex', justifyContent: 'space-evenly', flexDirection: 'column' }}>\r\n                                {emergencyNumbers?.emergency?.map((emergency, i) => (\r\n                                    <Fragment key={i}>\r\n                                        <Typography className={`${classes.divItemQuickAccess} ${classes.emergencyNumbersTitle}`} >\r\n                                            {emergency.title}\r\n                                        </Typography>\r\n                                        {emergency?.numbers?.map((number, indexNumber) => (\r\n                                            <Fragment key={indexNumber}>\r\n                                                <div style={{ display: 'flex' }}>\r\n                                                    <PhoneIcon className={`${classes.emergencyModalIcons}`} />\r\n                                                    <a className={`${classes.divItemQuickAccess} ${classes.blueTxt} ${classes.txtPhoneModalEmergencies}`} href={number?.type === 'T' ? `tel:${number?.value?.replace(/[^ 0-9]/g, '')}` : `https://api.whatsapp.com/send?phone=${number?.value}`} target='_blank'>\r\n                                                        {formatPhoneNumber(number?.value, false)}\r\n                                                    </a>\r\n                                                </div>\r\n                                            </Fragment>\r\n                                        ))}\r\n\r\n                                    </Fragment>\r\n                                ))}\r\n                            </div>\r\n                        }\r\n                        open={isOpen}\r\n                        onClose={setOpen}\r\n                        customBackgroundDialog={classes.backgroundDarkBlue}\r\n                        customBackgroundDialogContent={classes.backgroundDarkBlue}\r\n                    />\r\n                );\r\n            } else {\r\n                resp = (\r\n                    <ModalActivities\r\n                        modalRegister={false}\r\n                        title={\r\n                            <>\r\n                                <div style={{ display: 'flex', justifyContent: 'center', padding: '30px' }}>\r\n                                    Emergencias & Urgencias\r\n                                </div>\r\n                            </>\r\n                        }\r\n                        description={\r\n                            <div style={{ color: \"#FFFFFF !important\", textAlign: \"center\" }}>\r\n                                No tenés acceso al módulo\r\n                            </div>\r\n                        }\r\n                        open={isOpen}\r\n                        onClose={setOpen}\r\n                        customBackgroundDialog={classes.backgroundDarkBlue}\r\n                        customBackgroundDialogContent={classes.backgroundDarkBlue}\r\n                    />\r\n                );\r\n            }\r\n        }\r\n        return resp;\r\n    }\r\n\r\n    return  <>\r\n                {\r\n                    isOpen &&\r\n                    showEmergencyModal(loadingPermission, hasPermission)\r\n                }\r\n            </>;\r\n};\r\n\r\nexport default React.memo(EmergencyModal, (prevState, nextState) => {\r\n    return prevState.isOpen === nextState.isOpen && prevState.items === nextState.items;\r\n});","import * as actionTypes from '../consts/actionTypes';\r\n\r\nexport function getEmergencyNumbers() {\r\n    return {\r\n        type: actionTypes.GET_EMERGENCY_NUMBERS,\r\n        payload: ''\r\n    };\r\n}","import { CircularProgress, ImageList } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst NotFound = ({ fullItem, wsItem, customMsg = 'No hay contenido para mostrar', loading, customClass }) => {\r\n    const classes = useStyles();\r\n    const [notFound, setNotFound] = useState(\r\n        <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n            <CircularProgress />\r\n        </div>\r\n    );\r\n\r\n    useEffect(() => {\r\n        if (wsItem?.length === 0) {\r\n            setNotFound(\r\n                <ImageList className={`${classes.gridList} ${customClass}`} cols={1}>\r\n                    <span className={classes.noContent}>{customMsg}</span>\r\n                </ImageList>\r\n            );\r\n        }\r\n    }, [wsItem]);\r\n\r\n    useEffect(() => {\r\n        let notFoundRes = <></>;\r\n\r\n        if(loading){\r\n            notFoundRes = <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n            <CircularProgress /></div>;\r\n        }else if(wsItem?.length === 0){\r\n            notFoundRes = <ImageList className={`${classes.gridList} ${customClass}`} cols={1}>\r\n                <span className={classes.noContent}>{customMsg}</span></ImageList>;\r\n        }\r\n\r\n        setNotFound(notFoundRes);\r\n    }, [fullItem, loading]);\r\n\r\n    return <>{notFound}</>;\r\n};\r\n\r\nexport default React.memo(NotFound, (prevState, nextState) => {\r\n    return prevState.loading === nextState.loading && prevState.wsItem === nextState.wsItem && prevState.fullItem === nextState.fullItem;\r\n});","import React from 'react';\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst HomeBox = ({ children }) => {\r\n    const classes = useStyles();\r\n    return <>\r\n        <div className={`${classes.homeBox} ${classes.customScroll}`}>\r\n            {children}\r\n        </div>\r\n    </>;\r\n};\r\n\r\nexport default React.memo(HomeBox);","\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Button, ClickAwayListener, IconButton } from \"@material-ui/core\";\r\nimport BadgeNotification from \"../Notification/BadgeNotification\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport CardNotification from \"./CardNotification\";\r\nimport { useHistory } from \"react-router\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { setCount, setNotification,removeModifyNotification, getAllNotifications } from \"../../redux/actions/notificationsActions\";\r\nimport {BroadcastChannel} from 'broadcast-channel';\r\nimport { Typography } from \"@mui/material\";\r\n\r\nconst DropdownNotification = () => {\r\n\r\n    const dispatch = useDispatch();\r\n    const classes = useStyles();\r\n    const notificacionReducer = useSelector((state) => state.notificationReducer.notifications);\r\n    const [openNotification, setOpenNotification] = useState(false);\r\n    const counterNotification = useSelector(state => state.notificationReducer.countNotification);\r\n    const modifyNotificationsReducer = useSelector(state => state.notificationReducer.modifyNotifications);\r\n    const history = useHistory();\r\n    const allNotificationsViewed = notificacionReducer?.notification?.every(notification => notification.viewed === true);\r\n\r\n    /***SHOW NOTIFICATION LIST */\r\n    const handleClickAway = () => {\r\n        setOpenNotification(false);\r\n    };\r\n\r\n    const handleClick = () => {\r\n        dispatch(setNotification(0));\r\n        setOpenNotification((prev) => !prev);\r\n    };\r\n    /************END SHOW NOTIFICATION */\r\n\r\n     //***Notification prueba */\r\n    const channel = new BroadcastChannel('displayed-messages');\r\n    channel.onmessage= function(event){\r\n        setTimeout(function(){        \r\n             dispatch(getAllNotifications({email: window.localStorage.getItem('email')}));\r\n         }, 3000);\r\n    }\r\n\r\n/*** */\r\n\r\n    useEffect(() => {\r\n        let notReview = notificacionReducer?.notification?.filter(x=>!x.viewed);\r\n        if(notReview != undefined){\r\n            dispatch(setCount(notReview.length))\r\n        }\r\n    }, [notificacionReducer])\r\n\r\n    useEffect(()=>{\r\n        if(modifyNotificationsReducer){\r\n            dispatch(removeModifyNotification(false));\r\n            dispatch(getAllNotifications({email: window.localStorage.getItem('email')}));\r\n        }\r\n    },[modifyNotificationsReducer])\r\n\r\n    return (\r\n        <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway}>\r\n            <div style={{ position: \"relative\" }}>\r\n                {counterNotification > 0 ?\r\n                    <BadgeNotification\r\n                        childrenItem={\r\n                            <IconButton\r\n                                style={{ padding: '0px' }}\r\n                                edge=\"start\"\r\n                                className={classes.menuButtonRight}\r\n                                color=\"inherit\"\r\n                                onClick={handleClick}\r\n                            >\r\n                                <NotificationsIcon />\r\n                            </IconButton>}\r\n                        countNotification={counterNotification}\r\n                    />\r\n                    :\r\n                    <IconButton\r\n                        style={{ padding: '0px' }}\r\n                        edge=\"start\"\r\n                        className={classes.menuButtonRight}\r\n                        color=\"inherit\"\r\n                        onClick={handleClick}\r\n                    >\r\n                        <NotificationsIcon />\r\n                    </IconButton>\r\n                }\r\n                {openNotification ? (\r\n                    <div className={classes.dropdownNotification} style={{ width: '330px' }}>\r\n\r\n                        <div className={classes.heightDivRegisters}>\r\n                            <div style={{ display: 'flex', justifyContent: allNotificationsViewed ? 'space-evenly' : 'flex-start', alignItems: 'center' }}>\r\n                                <Button\r\n                                    onClick={() => { history.push('/AllNotifications') }}\r\n                                    className={`${classes.customButtomNotification} ${classes.lightLinearGradient}`}\r\n                                    style={{ marginTop: \"10px\", boxShadow: '0px 2px 8px 0 #585858', marginBottom: \"10px\" }}>\r\n                                    Ver todas\r\n                                </Button>\r\n                                {\r\n                                    allNotificationsViewed &&\r\n                                    <Typography className={`${classes.txtSubtitle}`} style={{ fontSize: '11px', fontWeight: 'bold' }}>\r\n                                        No hay notificaciones sin leer\r\n                                    </Typography>\r\n                                }\r\n                            </div>\r\n                            { notificacionReducer?.notification?.map((item, i) => (\r\n                                item.viewed ? \"\" : \r\n                                    <CardNotification key={i}  notification={item} position={i} />\r\n                            ))}\r\n                        </div>\r\n\r\n                    </div>)\r\n                    : \"\"}\r\n            </div>\r\n        </ClickAwayListener>);\r\n\r\n\r\n};\r\n\r\nexport default DropdownNotification;\r\n\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport {\r\n  CircularProgress,\r\n  FormControl,\r\n  IconButton,\r\n  Typography,\r\n} from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport \"../DialogActivities/modalactivities.css\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomizedInputs from \"../../controls/InputCustom/CustomizedInputs\";\r\nimport { showMessageModal, validate } from \"../../utils/utilsFunctions\";\r\nimport {  registerUser } from \"../../redux/actions/registerUsersActions\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nconst ModalRegisterProfileAfiliado = (props) => {\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const { title, description, observation, info, open, onClose, modalconfirm, crossDarkColor,\r\n    functionConfirm, itemConfirm, modalLogout, buttonType, handleClick, empty, customClass, modalRegister, customBackgroundDialog, customBackgroundDialogContent, loading, ...other } = props;\r\n\r\n  const [enrollment, setEnrollment] = useState(\"\");\r\n  const [credential, setCredential] = useState(\"\");\r\n  const [type, setType] = useState(\"\");\r\n  const [birthDate, setbirthDate] = useState(new Date());\r\n  const [dni, setDni] = useState(\"\");\r\n  const { screen } = useResizeScreen();\r\n  const userTypeValidation = useSelector((state) => state.registerUsersReducer.userTypeValidation);\r\n\r\n  const personalDataReducer = useSelector(state => state.personalDataReducer);\r\n  const campoObligatorio = \"*Campo obligatorio\";\r\n  const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n  const errorMessage = useSelector((state) => state.registerUsersReducer.msgError);\r\n  const registerReduxState = useSelector((state) => state.registerUsersReducer);\r\n \r\n\r\n\r\n  const [aditionalDataErrors, setAditionalDataErrors] = useState({\r\n    enrollment:\r\n      userTypeValidation?.perfil?.trim() == \"MEDICO\" ||\r\n        userTypeValidation?.perfil?.trim() == \"AFILIADO-MEDICO\"\r\n        ? campoObligatorio\r\n        : \"\",\r\n  });\r\n\r\n  useEffect(() => {\r\n    if (personalDataReducer?.fullData?.afiliado?.documentos != undefined) {\r\n      setType(personalDataReducer?.fullData?.afiliado?.documentos?.[0]?.documentoTipoCodigo)\r\n      setDni(personalDataReducer?.fullData?.afiliado?.documentos?.[0]?.documentoNumero)\r\n      setbirthDate(personalDataReducer?.fullData?.afiliado?.fechaNacimiento)\r\n    }\r\n\r\n  }, [personalDataReducer?.fullData?.afiliado?.documentos])\r\n\r\n  useEffect(() => {\r\n    if (errorMessage?.length > 0) {\r\n      setErrorMessageModal(true);\r\n    } \r\n  }, [errorMessage]);\r\n\r\n  useEffect(() => {\r\n    if (registerReduxState?.registerUser?.confirmacion) {\r\n      window.location.replace(\"/MedicalProfile\");\r\n    }\r\n  }, [registerReduxState?.registerUser?.confirmacion]);\r\n\r\n\r\n  const closeModal = () => {\r\n    setErrorMessageModal(false);\r\n  };\r\n\r\n \r\n\r\n  const validateOnlyNumbers = (credentialNumber) => {\r\n    return credentialNumber?.match(/^\\d*$/);\r\n  };\r\n\r\n  const isAditionalDataValidForm = () =>\r\n    Object.values(aditionalDataErrors).every((x) => x === \"\");\r\n\r\n\r\n  const loguinEnrollment = () => {\r\n\r\n    if (isAditionalDataValidForm()) {\r\n      const email = window.localStorage.getItem(\"email\");\r\n\r\n      let perfilSeleccionado = \"MEDICO\";\r\n\r\n      let request = {\r\n        mail: email,\r\n        tipoRegistracion: perfilSeleccionado,\r\n        telefono: \"\",\r\n        tipoDocumento: type,\r\n        nroDocumento: dni,\r\n        nroCredencial: credential,\r\n        fechaNacimiento: birthDate,\r\n        matricula: enrollment,\r\n      };\r\n      dispatch(registerUser(request));\r\n    }\r\n  };\r\n\r\n\r\n  const handleChangeEnrollment = (e) => {\r\n    e.preventDefault();\r\n    setEnrollment(e.target.value);\r\n  };\r\n\r\n  const handleOnBlurEnrollment = () => {\r\n    validate(\r\n      \"enrollment\",\r\n      campoObligatorio,\r\n      enrollment,\r\n      setAditionalDataErrors,\r\n      aditionalDataErrors\r\n    );\r\n    enrollment?.length > 6 &&\r\n      setAditionalDataErrors({\r\n        ...aditionalDataErrors,\r\n        enrollment: \"*El campo debe tener como máximo 6 números\",\r\n      });\r\n    !validateOnlyNumbers(enrollment) &&\r\n      setAditionalDataErrors({\r\n        ...aditionalDataErrors,\r\n        enrollment: \"*El campo debe tener sólo números\",\r\n      });\r\n  };\r\n\r\n\r\n  const handleClose = () => {\r\n    onClose(false);\r\n  };\r\n\r\n\r\n  const confirm = () => {\r\n    functionConfirm(itemConfirm);\r\n    onClose(false);\r\n  };\r\n\r\n  const renderEnrollmentInput = () => {\r\n    return (\r\n      <>\r\n        <FormControl className={` ${classes.inputLoginProfile} `} variant=\"standard\" style={{ marginTop: \"-145px\",marginRight:\"-150px\",margin:\"center\" }}>\r\n          <CustomizedInputs\r\n            name=\"enrollment\"\r\n            label={<span style={{ color: 'white',fontSize:\"15px\", marginLeft: screen.sWidth < 768 ? \"80px\":\"110px\" }}>NUMERO DE MATRICULA</span>}  \r\n            value={enrollment}\r\n            onChange={handleChangeEnrollment}\r\n            onBlur={handleOnBlurEnrollment}\r\n          />\r\n        </FormControl>\r\n      </>\r\n    );\r\n  };\r\n\r\n  const buttonNotConfirm = () => {\r\n    return modalRegister ?\r\n      <CustomButton\r\n        title=\"NO\"\r\n        className={classes.buttonNotConfirmModal}\r\n        onClick={handleClick}\r\n      /> :\r\n      <CustomButton\r\n        title=\"NO\"\r\n        className={classes.buttonNotConfirmModal}\r\n        onClick={handleClose}\r\n      />;\r\n  };\r\n\r\n\r\n\r\n  const modalLogoutFunction = () => {\r\n    let jsxBtn = (\r\n      <CustomButton\r\n        title=\"SI\"\r\n        className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n        onClick={confirm}\r\n      />);\r\n    if (modalLogout) {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          onClick={loguinEnrollment}\r\n          disabled={!isAditionalDataValidForm()}\r\n\r\n        />\r\n      );\r\n    } else if (buttonType === 'submit') {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          type={buttonType}\r\n          onClick={handleClick}\r\n        />\r\n      );\r\n    }\r\n    else if (modalRegister) {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          type={buttonType}\r\n          onClick={handleClose}\r\n        />\r\n      );\r\n    }\r\n\r\n    return jsxBtn;\r\n  };\r\n\r\n  const bodyModal = () => {\r\n    const DEFAULT = (\r\n      <>\r\n      </>\r\n    );\r\n    const BODY = {\r\n      'modalconfirm': (\r\n        <div style={{ textAlign: \"center\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\",marginTop:\"10px\" }}>\r\n          {renderEnrollmentInput()}\r\n          {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon,  classes.contentDialogTitle, closeModal)}\r\n          {modalLogoutFunction()}\r\n          {buttonNotConfirm()}\r\n        </div>\r\n      ),\r\n      'empty': ''\r\n    };\r\n    let response = DEFAULT;\r\n    if (modalconfirm)\r\n      response = BODY['modalconfirm'];\r\n    else if (empty)\r\n      response = BODY['empty'];\r\n\r\n    return response;\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <Dialog\r\n        onClose={handleClose}\r\n        aria-labelledby=\"customized-dialog-title\"\r\n        open={open}\r\n        id=\"backDropActivities\"\r\n        {...other}\r\n      >\r\n        <div id=\"modalActivities\">\r\n          {!modalRegister &&\r\n            <IconButton\r\n              aria-label=\"close\"\r\n              className={crossDarkColor ? classes.closeActivitiesButton : classes.closeButton}\r\n              onClick={handleClose}\r\n            >\r\n              <CloseIcon />\r\n            </IconButton>\r\n          }\r\n\r\n          <DialogTitle\r\n            id=\"customized-dialog-title\"\r\n            className={`${classes.contentDialogModalRegisterProfile} ${customClass} ${customBackgroundDialog}`}\r\n            style={{ textAlign: \"center\" }}\r\n            onClose={handleClose}\r\n          >\r\n            <Typography className={classes.titleDialogActivities} style={{ fontWeight: \"600\" }}>\r\n              {title}\r\n            </Typography>\r\n          </DialogTitle>\r\n\r\n          <DialogContent className={`${classes.contentDialogModalRegisterProfile} ${customClass} ${customBackgroundDialogContent}`} style={{ paddingTop: \"10px\" }}>\r\n            <Typography style={{ paddingBottom: \"20px\" }}>\r\n              {\r\n                loading ? (\r\n                  <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.whiteCircularProgress}`}>\r\n                    <CircularProgress />\r\n                  </div>\r\n                ) : description\r\n              }\r\n            </Typography>\r\n            <Typography style={{ paddingBottom: \"20px\" }}>\r\n              {observation}\r\n            </Typography>\r\n            {bodyModal()}\r\n          </DialogContent>\r\n\r\n        </div>\r\n      </Dialog>\r\n    </>\r\n  );\r\n};\r\nexport default ModalRegisterProfileAfiliado;\r\n","\r\nimport ModalRegisterProfileAfiliado from \"../DialogRegisterProfile/ModalRegisterProfileAfiliado\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nconst ModalProfile = ({ isOpen, setOpen }) => {\r\n\r\n    const { screen } = useResizeScreen();\r\n\r\n    return <>\r\n    { isOpen ?\r\n        <ModalRegisterProfileAfiliado\r\n            style={{margin:\"center\"}}\r\n            title={\r\n                <div style={{ marginTop:  screen.sWidth < 768 ? \"0px\" :'20px', fontSize:\"19px\" }}>\r\n                    No se encuentra registrado como Medico\r\n                </div>\r\n            }            description={\r\n                <div style={{ textAlign: 'center',marginBottom:\"40px\", marginTop:\"-15px\" }}>\r\n                    ¿Desea registrarse?\r\n                </div>\r\n            }\r\n            open={isOpen}\r\n            onClose={setOpen}\r\n            modalconfirm={true}\r\n            modalLogout={true}\r\n            \r\n        />\r\n        : \"\"}\r\n</>;\r\n};\r\n\r\nexport default ModalProfile;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport clsx from \"clsx\";\r\nimport DevicesOutlinedIcon from '@material-ui/icons/DevicesOutlined';\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport List from \"@material-ui/core/List\";\r\nimport { Divider, Button, Box, Dialog, DialogContent } from \"@material-ui/core\";\r\nimport MonetizationOnOutlinedIcon from '@material-ui/icons/MonetizationOnOutlined';\r\nimport DescriptionOutlinedIcon from '@material-ui/icons/DescriptionOutlined';\r\nimport PhoneInTalkOutlinedIcon from '@material-ui/icons/PhoneInTalkOutlined';\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport FilterNoneOutlinedIcon from '@material-ui/icons/FilterNoneOutlined';\r\nimport ContactMailOutlinedIcon from '@material-ui/icons/ContactMailOutlined';\r\nimport AccountCircleOutlinedIcon from '@material-ui/icons/AccountCircleOutlined';\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\n\r\n/* Icons */\r\nimport ArticleOutlinedIcon from '@material-ui/icons/ArticleOutlined';\r\nimport HomeOutlinedIcon from '@material-ui/icons/HomeOutlined';\r\nimport NotesIcon from \"@material-ui/icons/Notes\";\r\nimport PersonIcon from \"@material-ui/icons/Person\";\r\nimport ViewListIcon from \"@material-ui/icons/ViewList\";\r\nimport SupportAgentOutlinedIcon from '@material-ui/icons/SupportAgentOutlined';\r\nimport EventAvailableIcon from \"@material-ui/icons/EventAvailable\";\r\nimport PhoneIphoneIcon from \"@material-ui/icons/PhoneIphone\";\r\nimport PhoneIcon from \"@material-ui/icons/Phone\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\nimport CheckIcon from \"@material-ui/icons/Check\";\r\nimport AddBoxOutlinedIcon from '@material-ui/icons/AddBoxOutlined';\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { AuthConsumer } from \"../../auth/providers/authProvider\";\r\nimport LogoutIcon from '@material-ui/icons/Logout';\r\nimport logo from \"../../assets/images/logo.png\";\r\nimport ModalLogOut from \"./ModalLogOut\";\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport CreditScoreOutlinedIcon from '@material-ui/icons/CreditScoreOutlined';\r\nimport WarningAmberOutlinedIcon from '@material-ui/icons/WarningAmberOutlined';\r\nimport PeopleAltOutlinedIcon from '@material-ui/icons/PeopleAltOutlined';\r\nimport ContactPhoneOutlinedIcon from '@material-ui/icons/ContactPhoneOutlined';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getAllNotifications } from \"../../redux/actions/notificationsActions\";\r\nimport ItemMenu from \"./ItemMenu\";\r\nimport DropdownNotification from \"./DropdownNotification\";\r\nimport EmergencyModal from \"../HomeLogged/EmergencyModal\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport { getFullData } from \"../../redux/actions/personalDataActions\";\r\nimport { getConfigurations } from \"../../redux/actions/configurationAction\";\r\nimport { getCards } from \"../../redux/actions/cardActions\";\r\nimport NotAccessModal from \"../HomeLogged/NotAccessModal\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport BuildCircleIcon from '@mui/icons-material/BuildCircle';\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport { verifyTypeOfUser, verifyRegister,verifyRegisterMedical } from \"../../redux/actions/registerUsersActions\";\r\nimport ModalProfile from \"./ModalProfile\";\r\n\r\nconst Menu = () => {\r\n  const dispatch = useDispatch();\r\n  const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n  const classes = useStyles();\r\n  const [maintenanceModal, setMaintenanceModal] = useState(false);\r\n  const [maintenanceMessage, setMaintenanceMessage] = useState('');\r\n  const { screen } = useResizeScreen();\r\n  const [openLogout, setOpenLogout] = useState();\r\n  const notificacionReducer = useSelector((state) => state.notificationReducer.notificacions);\r\n  const personalDataReducer = useSelector(state => state.personalDataReducer);\r\n  const [openModalEmergency, setOpenModalEmergency] = useState(false);\r\n  const history = useHistory();\r\n  const drawerOpenerRef = useRef();\r\n  const [openNotAccessModal, setOpenNotAccessModal] = useState(false);\r\n  const affiliatePlanDescription = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n  const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n  const [hasPermission, setHasPermission] = useState(false);\r\n  const [type, setType] = useState(\"\");\r\n  const [dni, setDni] = useState(\"\");\r\n  const [birthDate, setbirthDate] = useState(new Date());\r\n  const [openProfile, setOpenProfile] = useState(); \r\n\r\n  const userTypeValidation = useSelector(\r\n    (state) => state.registerUsersReducer.userTypeValidation\r\n  );\r\n\r\n  const registerReduxState = useSelector((state) => state.registerUsersReducer);\r\n\r\n\r\n  useEffect(() => {\r\n    if (personalDataReducer?.fullData?.afiliado?.documentos != undefined) {\r\n      setType(personalDataReducer?.fullData?.afiliado?.documentos?.[0]?.documentoTipoCodigo)\r\n      setDni(personalDataReducer?.fullData?.afiliado?.documentos?.[0]?.documentoNumero)\r\n      setbirthDate(personalDataReducer?.fullData?.afiliado?.fechaNacimiento)\r\n    }\r\n\r\n  }, [personalDataReducer?.fullData?.afiliado?.documentos])\r\n\r\n\r\n  useEffect(() => {\r\n    const email = window.localStorage.getItem(\"email\");\r\n\r\n    const request = {\r\n      tipoDocumento: type,\r\n      nroDocumento: dni,\r\n      fechaNacimiento: birthDate,\r\n      mail: email\r\n\r\n    };\r\n    dispatch(verifyTypeOfUser(request));\r\n    dispatch(verifyRegisterMedical(request));\r\n  }, [type, dni, birthDate]);\r\n\r\n\r\n  useEffect(() => {\r\n    dispatch(getConfigurations());\r\n    if (notificacionReducer?.notification.length != 0) {\r\n      dispatch(getAllNotifications({ email: window.localStorage.getItem('email') }));\r\n    }\r\n    dispatch(getLimitPlan());\r\n    dispatch(getCards());\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    verifyPermission(limitPlanReducer, affiliatePlanDescription, \"Reintegros\", setHasPermission);\r\n  }, [limitPlanReducer, affiliatePlanDescription, hasPermission]);\r\n\r\n  useEffect(() => {\r\n    checkMaintenanceMode();\r\n  }, []);\r\n\r\n  const handleLogout = () => {\r\n    history.push('/logout');\r\n  }\r\n\r\n  const handleProfile = () => {\r\n    const { estado } = registerReduxState?.registerMedicalValidation;\r\n  \r\n    if (estado !== \"ACTIVO\") {\r\n      setOpenProfile(prevState => !prevState);\r\n    } else {\r\n      window.location.replace(\"/MedicalProfile\");\r\n\r\n    }\r\n  };\r\n\r\n\r\n  const checkMaintenanceMode = () => {\r\n    const maintenanceMode = configurationReduxState?.filter(configuration => configuration?.id == 'onOffMantenimiento');\r\n    const maintenanceMessage = configurationReduxState?.filter(configuration => configuration?.id == 'mensajeMantenimiento');\r\n\r\n    if (maintenanceMode?.[0]?.valor == 'Activo') {\r\n      setMaintenanceMessage(maintenanceMessage?.[0]?.valor);\r\n      setMaintenanceModal(true);\r\n    }\r\n  }\r\n\r\n  useEffect(() => {\r\n    checkMaintenanceMode();\r\n  }, [configurationReduxState])\r\n\r\n  const showMaintenanceMessage = () => {\r\n    return (\r\n      <div className={classes.borderWhite} style={{ left: '20px' }}>\r\n        <Dialog\r\n          disableEscapeKeyDown={true}\r\n          onBackdropClick={false}\r\n          onClose={setMaintenanceModal}\r\n          aria-labelledby='customized-dialog-title'\r\n          open={maintenanceModal}\r\n          id='maintenanceModal'>\r\n          <Box display=\"flex\" id='cancelModal'>\r\n            <div style={{ alignSelf: 'center' }}>\r\n              <DialogContent className={classes.contentDialogTitle}>\r\n                <section className={classes.maintenanceDialogContentContainer}>\r\n                  <BuildCircleIcon style={{ fontSize: '50px', marginBottom: '20px' }} className={classes.quickAccessIcon} />\r\n                  <div className={classes.maintenanceMessageContentContainer}>\r\n                    <span>{maintenanceMessage}</span>\r\n                  </div>\r\n                  <CustomButton title='ACEPTAR' onClick={handleLogout} customClass={classes.maintenanceButton} />\r\n                </section>\r\n              </DialogContent>\r\n            </div>\r\n          </Box>\r\n        </Dialog>\r\n      </div>\r\n    );\r\n  }\r\n\r\n  //State for Drawer Open or Close\r\n  const [open, setOpen] = useState(true);\r\n  const DrawerOpen = useCallback(() => {\r\n    setOpen(prevState => !prevState);\r\n  }, [open]);\r\n\r\n  const handleClickAway = () => {\r\n    if (screen.sWidth <= 768 ) {\r\n      setOpen(false);\r\n    }\r\n  };\r\n\r\n  //Lists of items in Drawer\r\n  const listItems = (\r\n    <List>\r\n      <AuthConsumer>\r\n        {({ isAuthenticated }) => {\r\n          if (!isAuthenticated()) {\r\n            return (<>\r\n              <ItemMenu Link={Link} Titulo=\"Inicio\" Icon={<HomeOutlinedIcon />} Redirect=\"/\"></ItemMenu>\r\n              <Divider classes={{ root: classes.divider }} />\r\n            </>);\r\n          }\r\n        }\r\n        }\r\n      </AuthConsumer>\r\n      <AuthConsumer>\r\n        {({ isAuthenticated }) => {\r\n          if (isAuthenticated()) {\r\n            return (\r\n              <>\r\n                <ItemMenu emergency={true} setOpenModalEmergency={setOpenModalEmergency} Titulo=\"Urgencias\" Icon={<PhoneInTalkOutlinedIcon />}></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Turnos\" Icon={<AddBoxOutlinedIcon />} Redirect=\"/AppointmentHome\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Autorizaciones\" Icon={<DescriptionOutlinedIcon />} Redirect=\"/Authorizations\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                {\r\n                  hasPermission ?                   \r\n                  <ItemMenu Link={Link} Titulo=\"Reintegros\" Icon={<MonetizationOnOutlinedIcon />} Redirect=\"/Refunds\"></ItemMenu>\r\n                  :\r\n                  <ItemMenu notAccess={true} setOpenNotAccessModal={setOpenNotAccessModal} Titulo=\"Reintegros\" Icon={<MonetizationOnOutlinedIcon />}></ItemMenu>\r\n                }\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Médico virtual\" Icon={<DevicesOutlinedIcon />} Redirect=\"/VirtualDoctor\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Credenciales\" Icon={<ContactMailOutlinedIcon />} Redirect=\"/Credentials\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Datos médicos\" Icon={<FilterNoneOutlinedIcon />} Redirect=\"/MedicalData\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Datos y afiliaciones\" Icon={<AccountCircleOutlinedIcon />} Redirect=\"/PersonalData\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Cobertura\" Icon={<ArticleOutlinedIcon />} Redirect=\"/Coverage\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo={\"Teléfonos útiles\"} Icon={<SupportAgentOutlinedIcon />} Redirect=\"/phones\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n              </>\r\n            );\r\n          }\r\n        }}\r\n      </AuthConsumer>\r\n      <ItemMenu Link={Link} Titulo={'Planes de Cobertura'} Icon={<EventAvailableIcon />} Redirect={\"/plans\"}></ItemMenu>\r\n      <Divider classes={{ root: classes.divider }} />\r\n      <ItemMenu Link={Link} Titulo=\"Cartilla\" Icon={<ViewListIcon />} Redirect=\"/MedicalRecords\"></ItemMenu>\r\n      <Divider classes={{ root: classes.divider }} />\r\n      <AuthConsumer>\r\n        {({ isAuthenticated }) => {\r\n          if (isAuthenticated()) {\r\n            return (\r\n              <>\r\n                <ItemMenu Link={Link} Titulo=\"Facturación\" Icon={<CreditScoreOutlinedIcon />} Redirect=\"/Billing\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <Button target=\"_blank\" rel=\"noopener noreferrer\" href={`${configurationReduxState?.filter(x => x.id === 'reclamoConLogin')[0]?.valor}`}\r\n                  startIcon={<WarningAmberOutlinedIcon />}\r\n                  className={`${classes.icon} ${classes.listItemsStyles} ${classes.multiline} ${classes.buttonBlankClaims}`}\r\n                  size={\"large\"}>Reclamos\r\n                </Button>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Contactanos\" Icon={<ContactPhoneOutlinedIcon />} Redirect=\"/ContactUs\"></ItemMenu>\r\n                <Divider classes={{ root: classes.divider }} />\r\n                <ItemMenu Link={Link} Titulo=\"Preguntas frecuentes\" Icon={<QuestionAnswerOutlinedIcon />} Redirect=\"/FrequentQuestionsPage\"></ItemMenu>\r\n              </>\r\n            );\r\n          } else {\r\n            return (<>\r\n              <ItemMenu Link={Link} Titulo={\"Teléfonos útiles\"} Icon={<PhoneIcon />} Redirect=\"/phones\"></ItemMenu>\r\n              <Divider classes={{ root: classes.divider }} />\r\n              <ItemMenu Link={Link} Titulo=\"Contactar a un asesor\" Icon={<PhoneIphoneIcon />} Redirect=\"/contactadvisor\"></ItemMenu>\r\n              <Divider classes={{ root: classes.divider }} />\r\n              <ItemMenu Link={Link} Titulo=\"Nuestras sedes\" Icon={<LocationCityIcon />} Redirect=\"/headquarters\"></ItemMenu>\r\n              <Divider classes={{ root: classes.divider }} />\r\n              <ItemMenu Link={Link} Titulo=\"Actividades\" Icon={<CheckIcon />} Redirect=\"/activities\"></ItemMenu>\r\n              <Divider classes={{ root: classes.divider }} />\r\n            </>);\r\n          }\r\n        }}\r\n      </AuthConsumer>\r\n      {\r\n        screen.sWidth < 768 ? <>\r\n          <Divider classes={{ root: classes.divider }} />\r\n          <ItemMenu Link={Link} Titulo=\"Baja del servicio - Arrepentimiento\" Icon={<ClearIcon />} Ref={true} Redirect={window.env.URL_LowService}></ItemMenu>\r\n          <Divider classes={{ root: classes.divider }} />\r\n          <ItemMenu Link={Link} Titulo=\"Defensa de las y los consumidores. Reclamos\" Icon={<PeopleAltOutlinedIcon />} Ref={true} Redirect=\"/consumercomplaint\"></ItemMenu>\r\n        </>\r\n          : ''\r\n      }\r\n      <div className={classes.menuSubscription}>\r\n        <Typography className={classes.multiline}>\r\n          {\" \"}{\"Recibe las notificaciones de Luis Pasteur\"}{\" \"}\r\n        </Typography>\r\n        <div className='onesignal-customlink-container'></div>\r\n      </div>\r\n    </List >\r\n  );\r\n\r\n  const handleClickLogOut = () => {\r\n    setOpenLogout(prevState => !prevState);\r\n  };\r\n\r\n  if (document.getElementById('loadingDiv')) {\r\n    setTimeout(() => {\r\n      document.getElementById('loadingDiv')?.remove();\r\n    }, 120);\r\n  }\r\n\r\n\r\n  useEffect(() => {\r\n    let numberPerson = window.localStorage.getItem(\"numeroPersona\");\r\n    if (numberPerson) {\r\n      dispatch(getFullData({ numeroPersona: numberPerson }));\r\n    }\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (screen.sWidth <= 768) {\r\n      setOpen(false);\r\n    } else {\r\n      setOpen(true);\r\n    }\r\n  }, [screen.sWidth]);\r\n\r\n  //Appbar and drawer implementation with icons,lists.\r\n  return (\r\n    <>\r\n      {showMaintenanceMessage()}\r\n      <div className={classes.root}>\r\n        <CssBaseline />\r\n        <ClickAwayListener\r\n      onClickAway={handleClickAway}\r\n    >\r\n        <AppBar\r\n          position=\"fixed\"\r\n          elevation={0}\r\n          className={clsx(classes.appBar, { [classes.appBarShift]: open })}\r\n        >\r\n          <Toolbar className={`${classes.toolbar}`}>\r\n            {screen.sWidth <= 768 &&\r\n              <IconButton\r\n                ref={drawerOpenerRef}\r\n                color=\"inherit\"\r\n                maria-label=\"open drawer\"\r\n                onClick={DrawerOpen}\r\n                edge=\"start\"\r\n                className={clsx(classes.menuButton, open)}\r\n              >\r\n                <NotesIcon />\r\n              </IconButton>\r\n            }\r\n            <AuthConsumer>\r\n              {({ isAuthenticated }) => {\r\n                if (isAuthenticated()) {\r\n                  \r\n                  return (\r\n                    <>\r\n                      <div className={classes.divHeaderLogo}>\r\n                        <IconButton onClick={() => { history.push('/'); }}>\r\n                          <img style={{ height: '90px' }} src={logo} alt=\"logo\" />\r\n                        </IconButton>\r\n                      </div>\r\n                      <section className={`${classes.rightSectionMenu}`}>\r\n                        {screen.sWidth > 768 &&(\r\n                          <article style={{ display: 'flex', flex: '1 1 100%', flexWrap: 'wrap', paddingRight: '20px' }}>\r\n                            <Typography style={{ color: 'black', width: '100%', justifyContent: 'flex-end', display: 'flex' }}>\r\n                              {window.localStorage.getItem(\"userName\").replace(\"_\", \" \")}\r\n                            </Typography>\r\n                            <Typography style={{ color: 'black', fontWeight: 'bold', width: '100%', justifyContent: 'flex-end', display: 'flex' }}>\r\n                              Plan {personalDataReducer?.fullData?.afiliado?.planDescripcion?.trim()}\r\n                            </Typography>\r\n                          </article>\r\n                        )}\r\n                        <DropdownNotification />\r\n\r\n                        {userTypeValidation?.perfil === \"AFILIADO-MEDICO\" && (\r\n                            <IconButton\r\n                              edge='start'\r\n                              className={classes.menuButtonRight}\r\n                              color='inherit'\r\n                              onClick={handleProfile}\r\n                            >\r\n                              <PersonIcon style={{ flex: '1 1 100%', marginLeft:\"-7px\" }} />\r\n                              <span style={{ marginLeft:\"-7px\" }} className={classes.txtLogIn}>Afiliado</span>\r\n                            </IconButton>\r\n                          )}\r\n                  \r\n                        <IconButton\r\n                          style={{marginLeft:\"-7px\"}}\r\n                          edge=\"start\"\r\n                          className={classes.menuButtonRight}\r\n                          color=\"inherit\"\r\n                          onClick={handleClickLogOut}\r\n                        >\r\n                          <LogoutIcon />\r\n                        </IconButton>\r\n                      </section>\r\n                    </>\r\n                  );\r\n                \r\n                } else {\r\n                  return (\r\n                    <>\r\n                    <div className={classes.divHeaderLogo}>\r\n                    <IconButton onClick={() => { history.push('/'); }}>\r\n                        <img style={{ height: '90px'}} src={logo} alt=\"logo\" />\r\n                      </IconButton>\r\n                    </div>\r\n                      {screen.sWidth > 768 &&\r\n                        <Box className={`${classes.boxHeaderBtn} ${classes.boxHeaderBtnFix}`}>\r\n                          <CustomButton\r\n                            href={`${configurationReduxState?.filter(x => x.id === 'bajaServicio')[0]?.valor}`}\r\n                            target=\"_blank\"\r\n                            rel='noopener noreferer'\r\n                            title=\"BAJA DEL SERVICIO - ARREPENTIMIENTO\"\r\n                            customClass={`${classes.customHeaderBtn} ${classes.lightLinearGradient} ${classes.customHeaderBtnFix}`}\r\n                          />\r\n                          <CustomButton\r\n                            href={`${configurationReduxState?.filter(x => x.id === 'reclamoSinLogin')[0]?.valor}`}\r\n                            target=\"_blank\"\r\n                            rel='noopener noreferer'\r\n                            title=\"DEFENSA DE LAS Y LOS CONSUMIDORES. RECLAMOS\"\r\n                            customClass={`${classes.customHeaderBtn} ${classes.customHeaderBtnFix} ${classes.whiteAndBlueBtn}`}\r\n                          />\r\n                        </Box>}\r\n                      {\r\n                        configurationReduxState !== undefined ?\r\n                          <IconButton\r\n                            edge='start'\r\n                            className={classes.menuButtonRight}\r\n                            color='inherit'\r\n                            component={Link}\r\n                            to={'/login'}>\r\n                            <PersonIcon style={{ flex: '1 1 100%' }} />\r\n                            <span className={classes.txtLogIn}>Iniciar Sesion</span>\r\n                          </IconButton>\r\n                        :\r\n                          <CircularProgress size={40} style ={{marginLeft:\"40px\"}}sx={{ color: '#fff', marginRight: '30px' }} />\r\n                      }\r\n                    </>);\r\n                }\r\n              }}\r\n            </AuthConsumer>\r\n          </Toolbar>\r\n        </AppBar>\r\n        </ClickAwayListener>\r\n        <Drawer\r\n          className={`${classes.drawerMenu}`}\r\n          variant=\"persistent\"\r\n          anchor=\"left\"\r\n          open={open}\r\n          classes={{ paper: `${classes.drawerPaperMenu} ${classes.customScroll}` }}\r\n        >\r\n          {listItems}\r\n        </Drawer>\r\n      </div>\r\n      <ModalLogOut isOpen={openLogout} setOpen={setOpenLogout} />\r\n      <EmergencyModal isOpen={openModalEmergency} setOpen={setOpenModalEmergency} />\r\n      <NotAccessModal isOpen={openNotAccessModal} setOpen={setOpenNotAccessModal} />\r\n      <ModalProfile isOpen={openProfile} setOpen={setOpenProfile} />\r\n\r\n    </>\r\n  );\r\n};\r\n\r\nexport default Menu;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getCards() {\r\n    return {\r\n        type: actionTypes.GET_CARDS,\r\n        payload: '',\r\n    };\r\n}","import Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\n\r\nconst GenericModal = (props) => {\r\n    const { open, setClose, customId, customClass, customWidth } = props;\r\n    const classes = useStyles();\r\n\r\n    function handleClose() {\r\n        setClose(prevState => !prevState)\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <Dialog\r\n                open={open}\r\n                onClose={handleClose}\r\n                id={customId}\r\n                sx={{\r\n                    '& .MuiPaper-root': {\r\n                        borderRadius: '15px',\r\n                    },\r\n                }}\r\n                maxWidth={customWidth}\r\n            >\r\n                <IconButton\r\n                    aria-label=\"close\"\r\n                    className={classes.closeModal}\r\n                    onClick={handleClose}\r\n                >\r\n                    <CloseIcon />\r\n                </IconButton>\r\n\r\n                <DialogContent className={customClass}>\r\n                    {props.children}\r\n                </DialogContent>\r\n            </Dialog>\r\n        </>\r\n    );\r\n}\r\n\r\nexport default GenericModal;","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getAllCredentialsAction(numeroPersona) {\r\n    return {\r\n        type: actionTypes.GET_ALL_CREDENTIALS,\r\n        payload: numeroPersona,\r\n    };\r\n}","import { Tab } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst ItemTab = (props) => {\r\n  const classes = useStyles();\r\n  return (\r\n    <Tab\r\n      className={classes.itemTab}\r\n      component=\"a\"\r\n      onClick={(event) => {\r\n        event.preventDefault();\r\n      }}\r\n      {...props}\r\n    />\r\n  );\r\n};\r\n\r\nexport default ItemTab;\r\n","import React from \"react\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport \"./modalactivities.css\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { updateTag } from \"../../redux/actions/personPlayerActions\";\r\nimport { CircularProgress } from \"@mui/material\";\r\n\r\nconst ModalActivities = (props) => {\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const { title, description, observation, info, open, onClose, modalconfirm, crossDarkColor,\r\n    functionConfirm, itemConfirm, modalLogout, buttonType, handleClick, empty, customClass, modalRegister, customBackgroundDialog, customBackgroundDialogContent, loading, ...other } = props;\r\n\r\n  const handleClose = () => {\r\n    onClose(false);\r\n  };\r\n\r\n  const removePlayerAndLogout = () => {\r\n    let playerId = window.localStorage.getItem('playerId');\r\n    let user = window.localStorage.getItem('email');\r\n    dispatch(updateTag({ user: user, playerId: playerId, action: \"LOGOUT\" }));\r\n    window.localStorage.clear();\r\n    window.sessionStorage.clear();\r\n    window.location.replace(\"/logout\");\r\n  };\r\n\r\n  const confirm = () => {\r\n    functionConfirm(itemConfirm);\r\n    onClose(false);\r\n  };\r\n\r\n  const buttonNotConfirm = () => {\r\n    return modalRegister ?\r\n      <CustomButton\r\n        title=\"NO\"\r\n        className={classes.buttonNotConfirmModal}\r\n        onClick={handleClick}\r\n      /> :\r\n      <CustomButton\r\n        title=\"NO\"\r\n        className={classes.buttonNotConfirmModal}\r\n        onClick={handleClose}\r\n      />;\r\n  };\r\n\r\n\r\n\r\n  const modalLogoutFunction = () => {\r\n    let jsxBtn = (\r\n      <CustomButton\r\n        title=\"SI\"\r\n        className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n        onClick={confirm}\r\n      />);\r\n    if (modalLogout) {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          onClick={removePlayerAndLogout}\r\n\r\n        />\r\n      );\r\n    } else if (buttonType === 'submit') {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          type={buttonType}\r\n          onClick={handleClick}\r\n        />\r\n      );\r\n    }\r\n    else if (modalRegister) {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          type={buttonType}\r\n          onClick={handleClose}\r\n        />\r\n      );\r\n    }\r\n\r\n    return jsxBtn;\r\n  };\r\n\r\n  const bodyModal = () => {\r\n    const DEFAULT = (\r\n      <>\r\n      </>\r\n    );\r\n    const BODY = {\r\n      'modalconfirm': (\r\n        <div style={{ textAlign: \"center\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }}>\r\n          {modalLogoutFunction()}\r\n          {buttonNotConfirm()}\r\n        </div>\r\n      ),\r\n      'empty': ''\r\n    };\r\n    let response = DEFAULT;\r\n    if (modalconfirm)\r\n      response = BODY['modalconfirm'];\r\n    else if (empty)\r\n      response = BODY['empty'];\r\n\r\n    return response;\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <Dialog\r\n        onClose={handleClose}\r\n        aria-labelledby=\"customized-dialog-title\"\r\n        open={open}\r\n        id=\"backDropActivities\"\r\n        {...other}\r\n      >\r\n        <div id=\"modalActivities\">\r\n          {!modalRegister &&\r\n            <IconButton\r\n              aria-label=\"close\"\r\n              className={crossDarkColor ? classes.closeActivitiesButton : classes.closeButton}\r\n              onClick={handleClose}\r\n            >\r\n              <CloseIcon />\r\n            </IconButton>\r\n          }\r\n\r\n          <DialogTitle\r\n            id=\"customized-dialog-title\"\r\n            className={`${classes.contentDialogTitle} ${customClass} ${customBackgroundDialog}`}\r\n            style={{ textAlign: \"center\" }}\r\n            onClose={handleClose}\r\n          >\r\n            <Typography className={classes.titleDialogActivities} style={{ fontWeight: \"600\" }}>\r\n              {title}\r\n            </Typography>\r\n          </DialogTitle>\r\n\r\n          <DialogContent className={`${classes.contentDialogTitle} ${customClass} ${customBackgroundDialogContent}`} style={{ paddingTop: \"10px\" }}>\r\n            <Typography style={{ paddingBottom: \"20px\" }}>\r\n              {\r\n                loading ? (\r\n                  <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.whiteCircularProgress}`}>\r\n                    <CircularProgress />\r\n                  </div>\r\n                ) : description\r\n              }\r\n            </Typography>\r\n            <Typography style={{ paddingBottom: \"20px\" }}>\r\n              {observation}\r\n            </Typography>\r\n            {bodyModal()}\r\n          </DialogContent>\r\n\r\n        </div>\r\n      </Dialog>\r\n    </>\r\n  );\r\n};\r\nexport default ModalActivities;\r\n","/* MEDICAL RECORDS */\r\nexport const SET_SELECTED_FILTERS_VALUES = \"SET_SELECTED_FILTERS_VALUES\";\r\nexport const SET_MODEL_FILTERS_VALUES = \"SET_MODEL_FILTERS_VALUES\";\r\n\r\nexport const SUCCESS_GET_FILTERS_VALUES = \"SUCCESS_GET_FILTERS_VALUES\";\r\nexport const FAILURE_GET_FILTERS_VALUES = \"FAILURE_GET_FILTERS_VALUES\";\r\nexport const GET_FILTERS_VALUES = \"GET_FILTERS_VALUES\";\r\n\r\nexport const GET_LOCALIDADES_BARRIOS = \"GET_LOCALIDADES_BARRIOS\";\r\nexport const SUCCESS_GET_LOCALIDADES_BARRIOS =\r\n  \"SUCCESS_GET_LOCALIDADES_BARRIOS\";\r\nexport const FAILURE_GET_LOCALIDADES_BARRIOS = \"FAILURE_GET_LOCALIDADES_BARRIOS\";\r\n\r\nexport const GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS =\r\n  \"GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS\";\r\nexport const SUCCESS_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS =\r\n  \"SUCCESS_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS\";\r\nexport const FAILURE_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS = \"FAILURE_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS\";\r\n\r\nexport const SUCCESS_GET_PRESTADORES_RESULT = \"SUCCESS_GET_PRESTADORES_RESULT\";\r\nexport const GET_PRESTADORES_CARTILLA = \"GET_PRESTADORES_CARTILLA\";\r\nexport const FAILURE_GET_PRESTADORES_RESULT = \"FAILURE_GET_PRESTADORES_RESULT\";\r\n\r\nexport const GET_PERFIL_COMPLETO = \"GET_PERFIL_COMPLETO\";\r\nexport const SUCCESS_GET_PERFIL_COMPLETO = \"SUCCESS_GET_PERFIL_COMPLETO\";\r\nexport const FAILURE_GET_PERFIL_COMPLETO = \"FAILURE_GET_PERFIL_COMPLETO\";\r\n\r\nexport const CLEAN_MODEL_MEDICAL_RECORDS = 'CLEAN_MODEL_MEDICAL_RECORDS';\r\n\r\nexport const SET_LOADING_MEDICAL_RECORDS = 'SET_LOADING_MEDICAL_RECORDS';\r\n\r\nexport const CLEAN_PERFIL_COMPLETO = 'CLEAN_PERFIL_COMPLETO';\r\n\r\n/****************************************************** */\r\n\r\n/* TURNOS */\r\nexport const GET_AFILLIATED_APPOINTMENTS = \"GET_AFILLIATED_APPOINTMENTS\";\r\nexport const SUCCESS_GET_AFILLIATED_APPOINTMENTS =\r\n  \"GET_AFILLIATED_APPOINTMENTS\";\r\nexport const FAILURE_GET_AFILLIATED_APPOINTMENTS = \"FAILURE_GET_AFILLIATED_APPOINTMENTS\";\r\n\r\nexport const GET_AFILLIATED_APPOINTMENTS_NEXT =\r\n  \"GET_AFILLIATED_APPOINTMENTS_NEXT\";\r\nexport const SUCCESS_GET_AFILLIATED_APPOINTMENTS_NEXT =\r\n  \"GET_AFILLIATED_APPOINTMENTS_NEXT\";\r\nexport const FAILURE_GET_AFILLIATED_APPOINTMENTS_NEXT = \"FAILURE_GET_AFILLIATED_APPOINTMENTS_NEXT\";\r\n\r\nexport const GET_AFILLIATED_APPOINTMENTS_RECORD =\r\n  \"GET_AFILLIATED_APPOINTMENTS_RECORD\";\r\nexport const SUCCESS_GET_AFILLIATED_APPOINTMENTS_RECORD =\r\n  \"GET_AFILLIATED_APPOINTMENTS_RECORD\";\r\nexport const FAILURE_GET_AFILLIATED_APPOINTMENTS_RECORD = \"FAILURE_GET_AFILLIATED_APPOINTMENTS_RECORD\";\r\n\r\nexport const GET_APPOINTMENTS_FAVORITE = \"GET_APPOINTMENTS_FAVORITE\";\r\nexport const SUCCES_GET_APPOINTMENTS_FAVORITE =\r\n  \"SUCCES_GET_APPOINTMENTS_FAVORITE\";\r\nexport const FAILURE_GET_APPOINTMENTS_FAVORITE = \"FAILURE_GET_APPOINTMENTS_FAVORITE\";\r\n\r\nexport const GET_DATA_GROUP_FAMILY = \"GET_DATA_GROUP_FAMILY\";\r\nexport const SUCCES_GET_DATA_GROUP_FAMILY = \"SUCCES_GET_DATA_GROUP_FAMILY\";\r\nexport const FAILURE_GET_DATA_GROUP_FAMILY = \"FAILURE_GET_DATA_GROUP_FAMILY\";\r\n\r\nexport const GET_DATA_FILTER_APPOINTMENT = \"GET_DATA_FILTER_APPOINTMENT\";\r\nexport const SUCCES_GET_DATA_FILTER_APPOINTMENT = \"SUCCES_GET_DATA_FILTER_APPOINTMENT\";\r\nexport const FAILURE_GET_DATA_FILTER_APPOINTMENT = \"FAILURE_GET_DATA_FILTER_APPOINTMENT\";\r\n\r\nexport const GET_APPOINTMENTS_CANCELED = \"GET_APPOINTMENTS_CANCELED\";\r\nexport const SUCCES_GET_APPOINTMENTS_CANCELED =\r\n  \"SUCCES_GET_APPOINTMENTS_CANCELED\";\r\nexport const FAILURE_GET_APPOINTMENTS_CANCELED = \"FAILURE_GET_APPOINTMENTS_CANCELED\";\r\n\r\nexport const GET_APPOINTMENTS_AB = \"GET_APPOINTMENTS_AB\";\r\nexport const SUCCES_GET_APPOINTMENTS_AB = \"SUCCES_GET_APPOINTMENTS_AB\";\r\nexport const FAILURE_GET_APPOINTMENTS_AB = \"FAILURE_GET_APPOINTMENTS_AB\";\r\n\r\nexport const GET_ANSWER_QUESTION = \"GET_ANSWER_QUESTION\";\r\nexport const SUCCES_ANSWER_QUESTION = \"SUCCES_GET_ANSWER_QUESTION\";\r\nexport const FAILURE_ANSWER_QUESTION = \"FAILURE_GET_ANSWER_QUESTION\";\r\n\r\nexport const GET_SPECIALTY_LIST = \"GET_SPECIALTY_LIST\";\r\nexport const SUCCESS_GET_SPECIALTY_LIST = \"SUCCESS_GET_SPECIALTY_LIST\";\r\nexport const FAILURE_GET_SPECIALTY_LIST = \"FAILURE_GET_SPECIALTY_LIST\";\r\n\r\nexport const GET_MEDICAL_CENTERS = \"GET_MEDICAL_CENTERS\";\r\nexport const SUCCESS_GET_MEDICAL_CENTERS = \"SUCCESS_GET_MEDICAL_CENTERS\";\r\nexport const FAILURE_GET_MEDICAL_CENTERS = \"FAILURE_GET_MEDICAL_CENTERS\";\r\n\r\nexport const GET_NEXT_AVAILABLE_APPOINTMENTS = \"GET_NEXT_AVAILABLE_APPOINTMENTS\";\r\nexport const SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS = \"SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS\";\r\nexport const FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS = \"FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS\";\r\n\r\nexport const GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR = \"GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR\";\r\nexport const SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR = \"SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR\";\r\nexport const FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR = \"FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR\";\r\n\r\nexport const GET_STEPS = 'GET_STEPS';\r\nexport const NEXT_STEP = \"NEXT_STEP\";\r\nexport const PREV_STEP = \"PREV_STEP\";\r\nexport const SET_ACTUAL_STEP = 'SET_ACTUAL_STEP';\r\n\r\nexport const SET_MODEL_TO_SAVE_APPOINTMENT = 'SET_MODEL_TO_SAVE_APPOINTMENT';\r\nexport const GET_MODEL_TO_SAVE_APPOINTMENT = 'GET_MODEL_TO_SAVE_APPOINTMENT';\r\n\r\nexport const SAVE_APPOINTMENT = 'SAVE_APPOINTMENT';\r\nexport const SUCCESS_SAVE_APPOINTMENT = 'SUCCESS_SAVE_APPOINTMENT';\r\nexport const FAILURE_SAVE_APPOINTMENT = 'FAILURE_SAVE_APPOINTMENT';\r\n\r\nexport const GET_EMERGENCY_NUMBERS = 'GET_EMERGENCY_NUMBERS';\r\nexport const SUCCESS_GET_EMERGENCY_NUMBERS = 'SUCCESS_GET_EMERGENCY_NUMBERS';\r\nexport const FAILURE_GET_EMERGENCY_NUMBERS = 'FAILURE_GET_EMERGENCY_NUMBERS';\r\n\r\nexport const GET_APPOINTMENTS_CONFIRMED = 'GET_APPOINTMENTS_CONFIRMED';\r\nexport const SUCCESS_GET_APPOINTMENTS_CONFIRMED = 'SUCCESS_GET_APPOINTMENTS_CONFIRMED';\r\nexport const FAILURE_GET_APPOINTMENTS_CONFIRMED = 'FAILURE_GET_APPOINTMENTS_CONFIRMED';\r\n\r\nexport const GET_FULL_GROUP_FAMILY_APPOINTMENT = \"GET_FULL_GROUP_FAMILY_APPOINTMENT\";\r\nexport const SUCCESS_GET_FULL_GROUP_FAMILY_APPOINTMENT = \"SUCCESS_GET_FULL_GROUP_FAMILY_APPOINTMENT\";\r\nexport const FAILURE_GET_FULL_GROUP_FAMILY_APPOINTMENT = \"FAILURE_GET_FULL_GROUP_FAMILY_APPOINTMENT\";\r\n\r\nexport const CLEAR_MODEL_APPOINTMENT = \"CLEAR_MODEL_APPOINTMENT\";\r\n\r\nexport const CLEAR_AFFILLIATE = \"CLEAR_AFFILLIATE\";\r\n\r\nexport const SET_MODIFY_APPOINTMENT = \"SET_MODIFY_APPOINTMENT\";\r\n\r\nexport const CLEAR_APPOINTMENT_MSG_ERROR = \"CLEAR_APPOINTMENT_MSG_ERROR\";\r\n\r\nexport const GET_SPECIALTIES_LIST = \"GET_SPECIALTIES_LIST\";\r\nexport const SUCCESS_GET_SPECIALTIES_LIST = \"SUCCESS_GET_SPECIALTIES_LIST\";\r\nexport const FAILURE_GET_SPECIALTIES_LIST = \"FAILURE_GET_SPECIALTIES_LIST\";\r\n\r\nexport const GET_DOCTORS_LIST = \"GET_DOCTORS_LIST\";\r\nexport const SUCCESS_GET_DOCTORS_LIST = \"SUCCESS_GET_DOCTORS_LIST\";\r\nexport const FAILURE_GET_DOCTORS_LIST = \"FAILURE_GET_DOCTORS_LIST\";\r\n\r\nexport const GET_FREE_DOCTOR_APPOINTMENTS_LIST = \"GET_FREE_DOCTOR_APPOINTMENTS_LIST\";\r\nexport const SUCCESS_GET_FREE_DOCTOR_APPOINTMENTS_LIST = \"SUCCESS_GET_FREE_DOCTOR_APPOINTMENTS_LIST\";\r\nexport const FAILURE_GET_FREE_DOCTOR_APPOINTMENTS_LIST = \"FAILURE_GET_FREE_DOCTOR_APPOINTMENTS_LIST\";\r\n\r\n\r\nexport const GET_MEDICAL_AGENDA = \"GET_MEDICAL_AGENDA\";\r\nexport const SUCCESS_GET_MEDICAL_AGENDA = \"SUCCESS_GET_MEDICAL_AGENDA\";\r\nexport const FAILURE_GET_MEDICAL_AGENDA = \"FAILURE_GET_MEDICAL_AGENDA\";\r\n\r\n/****************************************************** */\r\n\r\n/*********************PERSONAL DATA******************** */\r\n\r\nexport const GET_TYPE_OF_CONTACT = 'GET_TYPE_OF_CONTACT';\r\nexport const SUCCESS_GET_TYPE_OF_CONTACT = 'SUCCESS_GET_TYPE_OF_CONTACT';\r\nexport const FAILURE_GET_TYPE_OF_CONTACT = 'FAILURE_GET_TYPE_OF_CONTACT';\r\n\r\nexport const GET_TYPE_OF_CONTACT_PHONE = 'GET_TYPE_OF_CONTACT_PHONE';\r\nexport const SUCCESS_GET_TYPE_OF_CONTACT_PHONE = 'SUCCESS_GET_TYPE_OF_CONTACT_PHONE';\r\nexport const FAILURE_GET_TYPE_OF_CONTACT_PHONE = 'FAILURE_GET_TYPE_OF_CONTACT_PHONE';\r\n\r\nexport const GET_TYPE_OF_CONTACT_MAIL = 'GET_TYPE_OF_CONTACT_MAIL';\r\nexport const SUCCESS_GET_TYPE_OF_CONTACT_MAIL = 'SUCCESS_GET_TYPE_OF_CONTACT_MAIL';\r\nexport const FAILURE_GET_TYPE_OF_CONTACT_MAIL = 'FAILURE_GET_TYPE_OF_CONTACT_MAIL';\r\n\r\nexport const GET_CONTACTDATA_OF_AFFILIATED = 'GET_CONTACTDATA_OF_AFFILIATED';\r\nexport const SUCCESS_GET_CONTACTDATA_OF_AFFILIATED = 'SUCCESS_GET_CONTACTDATA_OF_AFFILIATED';\r\nexport const FAILURE_GET_CONTACTDATA_OF_AFFILIATED = 'FAILURE_GET_CONTACTDATA_OF_AFFILIATED';\r\n\r\nexport const GET_TYPES_DOCUMENTS = \"GET_TYPES_DOCUMENTS\";\r\nexport const SUCCESS_GET_TYPES_DOCUMENTS = \"SUCCESS_GET_TYPES_DOCUMENTS\";\r\nexport const FAILURE_GET_TYPES_DOCUMENTS = \"FAILURE_GET_TYPES_DOCUMENTS\";\r\n\r\nexport const GET_CIVIL_STATUS = \"GET_CIVIL_STATUS\";\r\nexport const SUCCESS_GET_CIVIL_STATUS = \"SUCCESS_GET_CIVIL_STATUS\";\r\nexport const FAILURE_GET_CIVIL_STATUS = \"FAILURE_GET_CIVIL_STATUS\";\r\n\r\nexport const GET_NATIONALITY = \"GET_NATIONALITY\";\r\nexport const SUCCESS_GET_NATIONALITY = \"SUCCESS_GET_NATIONALITY\";\r\nexport const FAILURE_GET_NATIONALITY = \"FAILURE_GET_NATIONALITY\";\r\n\r\nexport const GET_FULL_DATA = 'GET_FULL_DATA';\r\nexport const SUCCESS_GET_FULL_DATA = 'SUCCESS_GET_FULL_DATA';\r\nexport const FAILURE_GET_FULL_DATA = 'FAILURE_GET_FULL_DATA';\r\n\r\nexport const ABM_FULL_DATA = 'ABM_FULL_DATA';\r\nexport const SUCCESS_ABM_FULL_DATA = 'SUCCESS_ABM_FULL_DATA';\r\nexport const FAILURE_ABM_FULL_DATA = 'FAILURE_ABM_FULL_DATA';\r\n\r\nexport const GET_CREDENTIALS = 'GET_CREDENTIALS';\r\nexport const SUCCESS_GET_CREDENTIALS = 'SUCCESS_GET_CREDENTIALS';\r\nexport const FAILURE_GET_CREDENTIALS = 'FAILURE_GET_CREDENTIALS';\r\n\r\nexport const GET_HOBBIES = 'GET_HOBBIES';\r\nexport const SUCCESS_GET_HOBBIES = 'SUCCESS_GET_HOBBIES';\r\nexport const FAILURE_GET_HOBBIES = 'FAILURE_GET_HOBBIES';\r\n\r\nexport const GET_DEPORTES = 'GET_DEPORTES';\r\nexport const SUCCESS_GET_DEPORTES = 'SUCCESS_GET_DEPORTES';\r\nexport const FAILURE_GET_DEPORTES = 'FAILURE_GET_DEPORTES';\r\n/****************************************************** */\r\n\r\n/* REQUEST SUCCESS */\r\nexport const SEND_REQUEST_SUCCESS = \"SEND_REQUEST_SUCCESS\";\r\n\r\n/* REQUEST FAILURE */\r\nexport const SEND_REQUEST_FAILURE = \"SEND_REQUEST_FAILURE\";\r\nexport const RESET_SEND_REQUEST_FAILURE = \"RESET_SEND_REQUEST_FAILURE\";\r\n/****************************************************** */\r\n\r\nexport const GET_DEMO_REQUEST = \"GET_DEMO_REQUEST\";\r\nexport const GET_DEMO_SUCCESS = \"GET_DEMO_SUCCESS\";\r\n\r\n/*********************MEDICAL DATA******************** */\r\n/* PHONES */\r\nexport const GET_PHONES = \"GET_PHONES\";\r\nexport const GET_SHIFT_PHONES = \"GET_SHIFT_PHONES\";\r\nexport const SUCCES_SHIFT_PHONES = \"SUCCES_SHIFT_PHONES\";\r\nexport const FAILURE_SHIFT_PHONES = \"FAILURE_SHIFT_PHONES\";\r\nexport const SUCCES_PHONES = \"SUCCES_GET_PHONES\";\r\nexport const FAILURE_PHONES = \"FAILURE_GET_PHONES\";\r\n\r\n//WeightAndHeight\r\n\r\nexport const GET_DATA_WHEIGHT_HEIGHT = \"GET_DATA_WHEIGHT_HEIGHT\";\r\nexport const SUCCESS_GET_DATA_WHEIGHT_HEIGHT = \"SUCCESS_GET_DATA_WHEIGHT_HEIGHT\";\r\nexport const FAILURE_GET_DATA_WHEIGHT_HEIGHT = \"FAILURE_GET_DATA_WHEIGHT_HEIGHT\";\r\n\r\nexport const AB_DATA_WHEIGHT_HEIGHT = \"AB_WHEIGHT_HEIGHT\";\r\nexport const SUCCESS_AB_WHEIGHT_HEIGHT = \"SUCCESS_AB_WHEIGHT_HEIGHT\";\r\nexport const FAILURE_AB_WHEIGHT_HEIGHT = \"FAILURE_AB_WHEIGHT_HEIGHT\";\r\n\r\n//VitalParameters\r\n\r\nexport const GET_VITAL_PARAMETERS = \"GET_VITAL_PARAMETERS\";\r\nexport const SUCCESS_GET_VITAL_PARAMETERS = \"SUCCESS_GET_VITAL_PARAMETERS\";\r\nexport const FAILURE_GET_VITAL_PARAMETERS = \"FAILURE_GET_VITAL_PARAMETERS\";\r\n\r\nexport const AB_VITAL_PARAMETERS = \"AB_VITAL_PARAMETERS\";\r\nexport const SUCCESS_AB_VITAL_PARAMETERS = \"SUCCESS_AB_VITAL_PARAMETERS\";\r\nexport const FAILURE_AB_VITAL_PARAMETERS = \"FAILURE_AB_VITAL_PARAMETERS\";\r\n\r\n\r\n/*PROGRAMS*/\r\n\r\nexport const GET_PROGRAMS = \"GET_PROGRAMS\";\r\nexport const SUCCESS_GET_PROGRAMS = \"SUCCESS_GET_PROGRAMS\";\r\nexport const FAILURE_GET_PROGRAMS = \"FAILURE_GET_PROGRAMS\";\r\n\r\n/*Allergies*/\r\n\r\nexport const GET_ALLERGIES_PARAMS = \"GET_ALLERGIES_PARAMS\";\r\nexport const SUCCESS_GET_ALLERGIES_PARAMS = \"SUCCESS_GET_ALLERGIES_PARAMS\";\r\nexport const FAILURE_GET_ALLERGIES_PARAMS = \"FAILURE_GET_ALLERGIES_PARAMS\";\r\n\r\nexport const GET_AFFILIATED_ALLERGIES = \"GET_AFFILIATED_ALLERGIES\";\r\nexport const SUCCESS_GET_AFFILIATED_ALLERGIES = \"SUCCESS_GET_AFFILIATED_ALLERGIES\";\r\nexport const FAILURE_GET_AFFILIATED_ALLERGIES = \"FAILURE_GET_AFFILIATED_ALLERGIES\";\r\n\r\nexport const ABM_ALLERGIES = \"ABM_ALLERGIES\";\r\nexport const SUCCESS_ABM_ALLERGIES = \"SUCCESS_ABM_ALLERGIES\";\r\nexport const FAILURE_ABM_ALLERGIES = \"FAILURE_ABM_ALLERGIES\";\r\n\r\nexport const GET_AFFILIATED_PHONES = \"GET_AFFILIATED_PHONES\";\r\nexport const SUCCESS_GET_AFFILIATED_PHONES = \"SUCCESS_GET_AFFILIATED_PHONES\";\r\nexport const FAILURE_GET_AFFILIATED_PHONES = \"FAILURE_GET_AFFILIATED_PHONES\";\r\n\r\nexport const ABM_MD_PHONES = \"ABM_MD_PHONES\";\r\nexport const SUCCESS_ABM_MD_PHONES = \"SUCCESS_ABM_MD_PHONES\";\r\nexport const FAILURE_ABM_MD_PHONES = \"FAILURE_ABM_MD_PHONES\";\r\n\r\n/* FACTOR GROUP */\r\n\r\nexport const ABM_FACTOR_GROUP = 'ABM_FACTOR_GROUP';\r\nexport const SUCCESS_ABM_FACTOR_GROUP = 'SUCCESS_ABM_FACTOR_GROUP';\r\nexport const FAILURE_ABM_FACTOR_GROUP = 'FAILURE_ABM_FACTOR_GROUP';\r\n\r\nexport const GET_FACTOR_GROUP = 'GET_FACTOR_GROUP';\r\nexport const SUCCESS_GET_FACTOR_GROUP = 'SUCCESS_GET_FACTOR_GROUP';\r\nexport const FAILURE_GET_FACTOR_GROUP = 'FAILURE_GET_FACTOR_GROUP';\r\n\r\nexport const GET_FACTOR_GROUP_PARAMS = 'GET_FACTOR_GROUP_PARAMS';\r\nexport const SUCCESS_GET_FACTOR_GROUP_PARAMS = 'SUCCESS_GET_FACTOR_GROUP_PARAMS';\r\nexport const FAILURE_GET_FACTOR_GROUP_PARAMS = 'FAILURE_GET_FACTOR_GROUP_PARAMS';\r\n\r\n/* CHRONIC DISEASES */\r\n\r\nexport const ABM_CHRONIC_DISEASES = 'ABM_CHRONIC_DISEASES';\r\nexport const SUCCESS_ABM_CHRONIC_DISEASES = 'SUCCESS_ABM_CHRONIC_DISEASES';\r\nexport const FAILURE_ABM_CHRONIC_DISEASES = 'FAILURE_ABM_CHRONIC_DISEASES';\r\n\r\nexport const GET_CHRONIC_DISEASES = 'GET_CHRONIC_DISEASES';\r\nexport const SUCCESS_GET_CHRONIC_DISEASES = 'SUCCESS_GET_CHRONIC_DISEASES';\r\nexport const FAILURE_GET_CHRONIC_DISEASES = 'FAILURE_GET_CHRONIC_DISEASES';\r\n\r\nexport const GET_CHRONIC_DISEASES_PARAMS = 'GET_CHRONIC_DISEASES_PARAMS';\r\nexport const SUCCESS_GET_CHRONIC_DISEASES_PARAMS = 'SUCCESS_GET_CHRONIC_DISEASES_PARAMS';\r\nexport const FAILURE_GET_CHRONIC_DISEASES_PARAMS = 'FAILURE_GET_CHRONIC_DISEASES_PARAMS';\r\n\r\n/* CHRONIC MEDICATION */\r\n\r\nexport const ABM_CHRONIC_MEDICATION = 'ABM_CHRONIC_MEDICATION';\r\nexport const SUCCESS_ABM_CHRONIC_MEDICATION = 'SUCCESS_ABM_CHRONIC_MEDICATION';\r\nexport const FAILURE_ABM_CHRONIC_MEDICATION = 'FAILURE_ABM_CHRONIC_MEDICATION';\r\n\r\nexport const GET_CHRONIC_MEDICATION = 'GET_CHRONIC_MEDICATION';\r\nexport const SUCCESS_GET_CHRONIC_MEDICATION = 'SUCCESS_GET_CHRONIC_MEDICATION';\r\nexport const FAILURE_GET_CHRONIC_MEDICATION = 'FAILURE_GET_CHRONIC_MEDICATION';\r\n\r\n/* VACCINE */\r\n\r\nexport const GET_VACCINE = 'GET_VACCINE';\r\nexport const SUCCESS_GET_VACCINE = 'SUCCESS_GET_VACCINE';\r\nexport const FAILURE_GET_VACCINE = 'FAILURE_GET_VACCINE';\r\n\r\n\r\n\r\n/* Receta  */\r\n\r\nexport const GET_RECIPE = 'GET_RECIPE';\r\nexport const SUCCESS_GET_RECIPE = 'SUCCESS_GET_RECIPE';\r\nexport const FAILURE_GET_RECIPE = 'FAILURE_GET_RECIPE';\r\n\r\nexport const GET_RECIPE_FILES = 'GET_RECIPE_FILES';\r\nexport const SUCCESS_GET_RECIPE_FILES = 'SUCCESS_GET_RECIPE_FILES';\r\nexport const FAILURE_GET_RECIPE_FILES = 'FAILURE_GET_RECIPE_FILES';\r\n\r\n\r\n/****************************************************** */\r\n\r\n\r\n/**LABORATORY STUDIES */\r\nexport const GET_LABORATORY_STUDIES = \"GET_LABORATORY_STUDIES\";\r\nexport const SUCCESS_GET_LABORATORY_STUDIES = \"SUCCESS_GET_LABORATORY_STUDIES\";\r\nexport const FAILURE_GET_LABORATORY_STUDIES = \"FAILURE_GET_LABORATORY_STUDIES\";\r\n\r\nexport const GET_DETAIL_LABORATORY_STUDIES = \"GET_DETAIL_LABORATORY_STUDIES\";\r\nexport const SUCCESS_GET_DETAIL_LABORATORY = \"SUCCESS_GET_DETAIL_LABORATORY_STUDIES\";\r\nexport const FAILURE_GET_DETAIL_LABORATORY = \"FAILURE_GET_DETAIL_LABORATORY_STUDIES\";\r\n\r\n/**REGISTER */\r\nexport const GET_DATA_REGISTER_USER = \"GET_DATA_REGISTER\";\r\nexport const SUCCESS_GET_DATA_REGISTER_USER = \"SUCCESS_GET_DATA_REGISTER_USER\";\r\nexport const FAILURE_GET_DATA_REGISTER_USER = \"FAILURE_GET_DATA_REGISTER_USER\";\r\n\r\nexport const ADD_DATA_REGISTER_USER = \"ADD_DATA_REGISTER_USER\";\r\nexport const SUCCESS_ADD_DATA_REGISTER_USER = \"SUCCESS_ADD_DATA_REGISTER_USER\";\r\nexport const FAILURE_ADD_DATA_REGISTER_USER = \"FAILURE_ADD_DATA_REGISTER_USER\";\r\n\r\nexport const DELETE_DATA_REGISTER_USER = \"DELETE_DATA_REGISTER_USER\";\r\nexport const SUCCESS_DELETE_DATA_REGISTER_USER = \"DELETE_DATA_REGISTER_USER\";\r\nexport const FAILURE_DELETE_DATA_REGISTER_USER = \"FAILURE_DELETE_DATA_REGISTER_USER\";\r\n\r\nexport const MODIFY_DATA_REGISTER_USER = \"MODIFY_DATA_REGISTER_USER\";\r\nexport const SUCCESS_MODIFY_DATA_REGISTER_USER = \"MODIFY_DATA_REGISTER_USER\";\r\nexport const FAILURE_MODIFY_DATA_REGISTER_USER = \"FAILURE_MODIFY_DATA_REGISTER_USER\";\r\n\r\nexport const REGISTER_USER = 'REGISTER_USER';\r\nexport const SUCCESS_REGISTER_USER = 'SUCCESS_REGISTER_USER';\r\nexport const FAILURE_REGISTER_USER = 'FAILURE_REGISTER_USER';\r\n\r\nexport const VERIFY_REGISTER = 'VERIFY_REGISTER';\r\nexport const SUCCESS_VERIFY_REGISTER = 'SUCCESS_VERIFY_REGISTER';\r\nexport const FAILURE_VERIFY_REGISTER = 'FAILURE_VERIFY_REGISTER';\r\n\r\nexport const VERIFY_REGISTER_MEDICAL = 'VERIFY_REGISTER_MEDICAL';\r\nexport const SUCCESS_VERIFY_REGISTER_MEDICAL = 'SUCCESS_VERIFY_REGISTER_MEDICAL';\r\nexport const FAILURE_VERIFY_REGISTER_MEDICAL = 'FAILURE_VERIFY_REGISTER_MEDICAL';\r\n\r\nexport const VALIDATE_TYPE_OF_USER = 'VALIDATE_TYPE_OF_USER';\r\nexport const SUCCESS_VALIDATE_TYPE_OF_USER = 'SUCCESS_VALIDATE_TYPE_OF_USER';\r\nexport const FAILURE_VALIDATE_TYPE_OF_USER = 'FAILURE_VALIDATE_TYPE_OF_USER';\r\n\r\n/*******COVERAGE*******/\r\n\r\nexport const GET_TYPE_COVERAGE_PARAMETERS = 'GET_TYPE_COVERAGE_PARAMETERS';\r\nexport const SUCCESS_GET_TYPE_COVERAGE_PARAMETERS = 'SUCCESS_GET_TYPE_COVERAGE_PARAMETERS';\r\nexport const FAILURE_GET_TYPE_COVERAGE_PARAMETERS = 'FAILURE_GET_TYPE_COVERAGE_PARAMETERS';\r\n\r\nexport const GET_AREA_PARAMETERS = 'GET_AREA_PARAMETERS';\r\nexport const SUCCESS_GET_AREA_PARAMETERS = 'SUCCESS_GET_AREA_PARAMETERS';\r\nexport const FAILURE_GET_AREA_PARAMETERS = 'FAILURE_GET_AREA_PARAMETERS';\r\n\r\nexport const POST_REFUND_COVERAGE = 'POST_REFUND_COVERAGE';\r\nexport const SUCCESS_POST_REFUND_COVERAGE = 'SUCCESS_POST_REFUND_COVERAGE';\r\nexport const FAILURE_POST_REFUND_COVERAGE = 'FAILURE_POST_REFUND_COVERAGE';\r\n\r\nexport const GET_ALL_COVERAGE_PLANS = 'GET_ALL_COVERAGE_PLANS';\r\nexport const SUCCESS_GET_ALL_COVERAGE_PLANS = 'SUCCESS_GET_ALL_COVERAGE_PLANS';\r\nexport const FAILURE_GET_ALL_COVERAGE_PLANS = 'FAILURE_GET_ALL_COVERAGE_PLANS';\r\n\r\n/********VIRTUAL DOCTOR*********/\r\n\r\nexport const POST_CALL_DOCTOR = 'POST_CALL_DOCTOR';\r\nexport const SUCCESS_POST_CALL_DOCTOR = 'SUCCESS_POST_CALL_DOCTOR';\r\nexport const FAILURE_POST_CALL_DOCTOR = 'FAILURE_POST_CALL_DOCTOR';\r\n\r\n/********CONTACT US*********/\r\n\r\nexport const POST_CONTACT_US = 'POST_CONTACT_US';\r\nexport const SUCCESS_POST_CONTACT_US = 'SUCCESS_POST_CONTACT_US';\r\nexport const FAILURE_POST_CONTACT_US = 'FAILURE_POST_CONTACT_US';\r\n\r\n\r\n/*********************NOTIFICATIONS******************** */\r\n\r\nexport const GET_ALL_NOTIFICATION = 'GET_ALL_NOTIFICATION';\r\nexport const SUCCESS_ALL_GET_NOTIFICATION = 'SUCCESS_ALL_GET_NOTIFICATION';\r\nexport const FAILURE_ALL_GET_NOTIFICATION = 'FAILURE_ALL_GET_NOTIFICATION';\r\n\r\nexport const GET_UPDATE_ALL_NOTIFICATION = 'GET_UPDATE_ALL_NOTIFICATION';\r\nexport const SUCCESS_UPDATE_ALL_GET_NOTIFICATION = 'SUCCESS_UPDATE_ALL_GET_NOTIFICATION';\r\nexport const FAILURE_UPDATE_ALL_GET_NOTIFICATION = 'FAILURE_UPDATE_ALL_GET_NOTIFICATION';\r\n\r\nexport const GET_NOTIFICATION = 'GET_NOTIFICATION';\r\nexport const SUCCESS_GET_NOTIFICATION = 'SUCCESS_GET_NOTIFICATION';\r\nexport const FAILURE_GET_NOTIFICATION = 'FAILURE_GET_NOTIFICATION';\r\n\r\nexport const MODIFY_NOTIFICATION = 'MODIFY_NOTIFICATION';\r\nexport const SUCCESS_MODIFY_NOTIFICATION = 'SUCCESS_MODIFY_NOTIFICATION';\r\nexport const FAILURE_MODIFY_NOTIFICATION = 'FAILURE_MODIFY_NOTIFICATION';\r\nexport const RESET_MODIFY_NOTIFICATION = 'RESET_MODIFY_NOTIFICATION';\r\n\r\n\r\nexport const GET_NOTIFICATIONS = 'GET_NOTIFICATIONS';\r\nexport const SET_NOTIFICATIONS = 'SET_NOTIFICATIONS';\r\n\r\nexport const SELECT_NOTIFICATION = 'SELECT_NOTIFICATION';\r\nexport const SUCCESS_SELECT_NOTIFICATION = 'SUCCESS_SELECT_NOTIFICATION';\r\nexport const FAILURE_SELECT_NOTIFICATION = 'FAILURE_SELECT_NOTIFICATION';\r\n\r\nexport const SET_COUNT_NOTIFICATION = 'SET_COUNT_NOTIFICATION';\r\nexport const SUCCESS_SET_COUNT_NOTIFICATION = 'SUCCESS_SET_COUNT_NOTIFICATION';\r\nexport const FAILURE_SET_COUNT_NOTIFICATION = 'FAILURE_SET_COUNT_NOTIFICATION';\r\n\r\nexport const HASH_NOTIFICATION = 'HASH_NOTIFICATION';\r\nexport const SUCCESS_HASH_NOTIFICATION = 'SUCCESS_HASH_NOTIFICATION';\r\nexport const FAILURE_HASH_NOTIFICATION = 'FAILURE_HASH_NOTIFICATION';\r\n\r\n/*********************ACTIVITIES******************** */\r\nexport const GET_ALL_ACTIVITIES = 'GET_ALL_ACTIVITIES';\r\nexport const SUCCESS_GET_ALL_ACTIVITIES = 'SUCCESS_GET_ALL_ACTIVITIES';\r\nexport const FAILURE_GET_ALL_FAILURE = 'FAILURE_GET_ALL_FAILURE';\r\n\r\n/*********************CREDENTIALS******************** */\r\n\r\nexport const GET_ALL_CREDENTIALS = 'GET_ALL_CREDENTIALS';\r\nexport const SUCCESS_GET_ALL_CREDENTIALS = 'SUCCESS_GET_ALL_CREDENTIALS';\r\nexport const FAILURE_GET_ALL_CREDENTIALS = 'FAILURE_GET_ALL_CREDENTIALS';\r\n/*********************PROCEDURES******************** */\r\nexport const GET_PROCEDURES = 'GET_PROCEDURES';\r\nexport const SUCCESS_GET_PROCEDURES = 'SUCCESS_GET_PROCEDURES';\r\nexport const FAILURE_GET_PROCEDURES = 'FAILURE_GET_PROCEDURES';\r\n\r\nexport const POST_PROCEDURE = 'POST_PROCEDURE';\r\nexport const SUCCESS_POST_PROCEDURE = 'SUCCESS_POST_PROCEDURE';\r\nexport const FAILURE_POST_PROCEDURE = 'FAILURE_POST_PROCEDURE';\r\n\r\nexport const GET_SOLICITUD_BAJA = 'GET_SOLICITUD_BAJA';\r\nexport const SUCCESS_GET_SOLICITUD_BAJA = 'SUCCESS_GET_SOLICITUD_BAJA';\r\nexport const FAILURE_GET_SOLICITUD_BAJA = 'FAILURE_GET_SOLICITUD_BAJA';\r\n\r\nexport const GET_DATOS_RECUPERA = 'GET_DATOS_RECUPERA';\r\nexport const SUCCESS_GET_DATOS_RECUPERA = 'SUCCESS_GET_DATOS_RECUPERA';\r\nexport const FAILURE_GET_DATOS_RECUPERA = 'FAILURE_GET_DATOS_RECUPERA';\r\n\r\nexport const GET_MOTIVOS_BAJA = 'GET_MOTIVOS_BAJA';\r\nexport const SUCCESS_GET_MOTIVOS_BAJA = 'SUCCESS_GET_MOTIVOS_BAJA';\r\nexport const FAILURE_GET_MOTIVOS_BAJA = 'FAILURE_GET_MOTIVOS_BAJA';\r\n\r\nexport const POST_REQUEST_LOW = 'POST_REQUEST_LOW';\r\nexport const SUCCESS_POST_REQUEST_LOW = 'SUCCESS_POST_REQUEST_LOW';\r\nexport const FAILURE_POST_REQUEST_LOW = 'FAILURE_POST_REQUEST_LOW';\r\n//**FILES BLOB ACTION */\r\n\r\nexport const GET_FILE = 'GET_FILE';\r\nexport const SUCCESS_GET_FILE = 'SUCCESS_GET_FILE';\r\nexport const FAILURE_GET_FILE = 'FAILURE_GET_FILE';\r\n\r\n/**CHANGE PLAN */\r\n\r\nexport const GET_CHANGE_PLAN = 'GET_CHANGE_PLAN';\r\nexport const SUCCESS_GET_CHANGE_PLAN = 'SUCCESS_GET_CHANGE_PLAN';\r\nexport const FAILURE_GET_CHANGE_PLAN = 'FAILURE_GET_CHANGE_PLAN';\r\n\r\nexport const GET_MOTIVOS_BAJA_PLAN = 'GET_MOTIVOS_BAJA_PLAN';\r\nexport const SUCCESS_GET_MOTIVOS_BAJA_PLAN = 'SUCCESS_GET_MOTIVOS_BAJA_PLAN';\r\nexport const FAILURE_GET_MOTIVOS_BAJA_PLAN = 'FAILURE_GET_MOTIVOS_BAJA_PLAN';\r\n\r\nexport const GET_PLAN = 'GET_PLAN';\r\nexport const SUCCESS_GET_PLAN = 'SUCCESS_GET_PLAN';\r\nexport const FAILURE_GET_PLAN = 'FAILURE_GET_PLAN';\r\n\r\nexport const POST_CHANGE_PLAN = 'POST_CHANGE_PLAN';\r\nexport const SUCCESS_POST_CHANGE_PLAN = 'SUCCESS_POST_CHANGE_PLAN';\r\nexport const FAILURE_POST_CHANGE_PLAN = 'FAILURE_POST_CHANGE_PLAN';\r\n\r\nexport const PERMISSION_LOW = 'PERMISSION_LOW';\r\nexport const SUCCESS_PERMISSION_LOW = 'SUCCESS_PERMISSION_LOW';\r\nexport const FAILURE_PERMISSION_LOW = 'FAILURE_PERMISSION_LOW';\r\n\r\nexport const CLEAN_POST_PROCEDURE_SELECTOR = 'CLEAN_POST_PROCEDURE_SELECTOR';\r\n\r\n/*Prevention Control*/\r\n\r\nexport const POST_PREVENTIONS = 'POST_PREVENTIONS';\r\nexport const SUCCESS_POST_PREVENTIONS = 'SUCCESS_POST_PREVENTIONS';\r\nexport const FAILURE_POST_PREVENTIONS = 'FAILURE_POST_PREVENTIONS';\r\n\r\n/**personPlayer */\r\nexport const DELETE_PERSON_PLAYER = 'DELETE_PERSON_PLAYER';\r\nexport const SUCCESS_DELETE_PERSON_PLAYER = 'SUCCESS_DELETE_PERSON_PLAYER';\r\nexport const FAILURE_DELETE_PERSON_PLAYER = 'FAILURE_DELETE_PERSON_PLAYER';\r\n\r\n/**Way To Pay */\r\nexport const GET_WAYTOPAY = 'GET_WAYTOPAY';\r\nexport const SUCCESS_GET_WAYTOPAY = 'SUCCESS_GET_WAYTOPAY';\r\nexport const FAILURE_GET_WAYTOPAY = 'FAILURE_GET_WAYTOPAY';\r\n\r\n/**Authorizations**/\r\nexport const SET_AUTHORIZATION_DETAILS = 'SET_AUTHORIZATION_DETAILS';\r\nexport const GET_AUTHORIZATION_DETAILS = 'GET_AUTHORIZATION_DETAILS';\r\n\r\nexport const GET_AUTHORIZATIONS_TYPEATTACHED = 'GET_AUTHORIZATIONS_TYPEATTACHED';\r\nexport const SUCCESS_GET_AUTHORIZATIONS_TYPEATTACHED = 'SUCCESS_GET_AUTHORIZATIONS_TYPEATTACHED';\r\nexport const FAILURE_GET_AUTHORIZATIONS_TYPEATTACHED = 'FAILURE_GET_AUTHORIZATIONS_TYPEATTACHED';\r\n\r\nexport const GET_AUTHORIZATIONS_ATTACHED = 'GET_AUTHORIZATIONS_ATTACHED';\r\nexport const SUCCESS_GET_AUTHORIZATIONS_ATTACHED = 'SUCCESS_GET_AUTHORIZATIONS_ATTACHED';\r\nexport const FAILURE_GET_AUTHORIZATIONS_ATTACHED = 'FAILURE_GET_AUTHORIZATIONS_ATTACHED';\r\n\r\nexport const POST_AUTHORIZATIONS_ATTACHED = 'POST_AUTHORIZATIONS_ATTACHED';\r\nexport const SUCCESS_POST_AUTHORIZATIONS_ATTACHED = 'SUCCESS_POST_AUTHORIZATIONS_ATTACHED';\r\nexport const FAILURE_POST_AUTHORIZATIONS_ATTACHED = 'FAILURE_POST_AUTHORIZATIONS_ATTACHED';\r\n\r\nexport const GET_AUTHORIZATIONS_AFFILIATE = 'GET_AUTHORIZATIONS_AFFILIATE';\r\nexport const SUCCESS_GET_AUTHORIZATIONS_AFFILIATE = 'SUCCESS_GET_AUTHORIZATIONS_AFFILIATE';\r\nexport const FAILURE_GET_AUTHORIZATIONS_AFFILIATE = 'FAILURE_GET_AUTHORIZATIONS_AFFILIATE';\r\n\r\nexport const DOWNLOAD_ATTACHMENTS = 'DOWNLOAD_ATTACHMENTS';\r\nexport const SUCCESS_DOWNLOAD_ATTACHMENTS = 'SUCCESS_DOWNLOAD_ATTACHMENTS';\r\nexport const FAILURE_DOWNLOAD_ATTACHMENTS = 'FAILURE_DOWNLOAD_ATTACHMENTS';\r\n\r\nexport const DOWNLOAD_AUTHORIZATION = 'DOWNLOAD_AUTHORIZATION';\r\nexport const SUCCESS_DOWNLOAD_AUTHORIZATION = 'SUCCESS_DOWNLOAD_AUTHORIZATION';\r\nexport const FAILURE_DOWNLOAD_AUTHORIZATION = 'FAILURE_DOWNLOAD_AUTHORIZATION';\r\n\r\nexport const CANCEL_AUTHORIZATION = 'CANCEL_AUTHORIZATION';\r\nexport const SUCCESS_CANCEL_AUTHORIZATION = 'SUCCESS_CANCEL_AUTHORIZATION';\r\nexport const FAILURE_CANCEL_AUTHORIZATION = 'FAILURE_CANCEL_AUTHORIZATION';\r\n\r\n/**Comments**/\r\nexport const GET_COMMENTS = 'GET_COMMENTS';\r\nexport const SUCCESS_GET_COMMENTS = 'SUCCESS_GET_COMMENTS';\r\nexport const FAILURE_GET_COMMENTS = 'FAILURE_GET_COMMENTS';\r\n\r\nexport const PUSH_COMMENTS = 'PUSH_COMMENTS';\r\nexport const SUCCESS_PUSH_COMMENTS = 'SUCCESS_PUSH_COMMENTS';\r\nexport const FAILURE_PUSH_COMMENTS = 'FAILURE_PUSH_COMMENTS';\r\n\r\nexport const GET_READ_COMMENTS = 'GET_READ_COMMENTS';\r\nexport const SUCCESS_GET_READ_COMMENTS = 'SUCCESS_GET_READ_COMMENTS';\r\nexport const FAILURE_GET_READ_COMMENTS = 'FAILURE_GET_READ_COMMENTS';\r\n\r\nexport const GET_AUTHORIZATIONS_DETAILS = 'GET_AUTHORIZATIONS_DETAILS';\r\nexport const SUCCESS_GET_AUTHORIZATIONS_DETAILS = 'SUCCESS_GET_AUTHORIZATIONS_DETAILS';\r\nexport const FAILURE_GET_AUTHORIZATIONS_DETAILS = 'FAILURE_GET_AUTHORIZATIONS_DETAILS';\r\n\r\nexport const GET_AUTHORIZATION_DETAIL = 'GET_AUTHORIZATION_DETAIL';\r\nexport const SUCCESS_GET_AUTHORIZATION_DETAIL = 'SUCCESS_GET_AUTHORIZATION_DETAIL';\r\nexport const FAILURE_GET_AUTHORIZATION_DETAIL = 'FAILURE_GET_AUTHORIZATION_DETAIL';\r\n\r\n/*Direct Debit */\r\nexport const GET_ENABLED_DIRECTDEBIT = 'GET_ENABLED_DIRECTDEBIT';\r\nexport const SUCCESS_GET_ENABLED_DIRECTDEBIT = 'SUCCESS_GET_ENABLED_DIRECTDEBIT';\r\nexport const FAILURE_GET_ENABLED_DIRECTDEBIT = 'FAILURE_GET_ENABLED_DIRECTDEBIT';\r\n\r\nexport const GET_DIRECTDEBIT = 'GET_DIRECTDEBIT';\r\nexport const SUCCESS_GET_DIRECTDEBIT = 'SUCCESS_GET_DIRECTDEBIT';\r\nexport const FAILURE_GET_DIRECTDEBIT = 'FAILURE_GET_DIRECTDEBIT';\r\n\r\nexport const AB_DIRECTDEBIT = 'AB_DIRECTDEBIT';\r\nexport const SUCCESS_AB_DIRECTDEBIT = 'SUCCESS_AB_DIRECTDEBIT';\r\nexport const FAILURE_AB_DIRECTDEBIT = 'FAILURE_AB_DIRECTDEBIT';\r\n\r\nexport const SET_AB_DIRECTDEBIT = 'SET_AB_DIRECTDEBIT';\r\n\r\nexport const SUCCESS_UPDATE_TAG = 'SUCCESS_UPDATE_TAG';\r\nexport const FAILURE_UPDATE_TAG = 'FAILURE_UPDATE_TAG';\r\nexport const UPDATE_TAG = 'UPDATE_TAG';\r\n\r\n/*Facturacion*/\r\n\r\nexport const GET_BILLINGS = 'GET_BILLINGS';\r\nexport const SUCCESS_GET_BILLINGS = 'SUCCESS_GET_BILLINGS';\r\nexport const FAILURE_GET_BILLINGS = 'FAILURE_GET_BILLINGS';\r\n\r\nexport const GET_BILLINGS_FILES = 'GET_BILLINGS_FILES';\r\nexport const SUCCESS_GET_BILLINGS_FILES = 'SUCCESS_GET_BILLINGS_FILES';\r\nexport const FAILURE_GET_BILLINGS_FILES = 'FAILURE_GET_BILLINGS_FILES';\r\n\r\n/*Model Authorization Request*/\r\n\r\nexport const SET_MODEL_AUTH_REQUEST = 'SET_MODEL_AUTH_REQUEST';\r\nexport const CLEAR_MODEL_REQUEST = 'CLEAR_MODEL_REQUEST';\r\nexport const GET_STEPS_AUTH_REQUEST = 'GET_STEPS_AUTH_REQUEST';\r\nexport const SET_ACTUAL_STEP_AUTH_REQUEST = 'SET_ACTUAL_STEP_AUTH_REQUEST';\r\nexport const NEXT_STEP_AUTH_REQUEST = 'NEXT_STEP_AUTH_REQUEST';\r\nexport const PREV_STEP_AUTH_REQUEST = 'PREV_STEP_AUTH_REQUEST';\r\nexport const CLEAR_MODEL_DETAILS_AUTH = 'CLEAR_MODEL_DETAILS_AUTH';\r\n\r\nexport const GET_PARAMS_AUTH_REQUEST = 'GET_PARAMS_AUTH_REQUEST';\r\nexport const SUCCESS_GET_PARAMS_AUTH_REQUEST = 'SUCCESS_GET_PARAMS_AUTH_REQUEST';\r\nexport const FAILURE_GET_PARAMS_AUTH_REQUEST = 'FAILURE_GET_PARAMS_AUTH_REQUEST';\r\n\r\nexport const POST_AUTHORIZATIONS_REQUEST = 'POST_AUTHORIZATIONS_REQUEST';\r\nexport const SUCCESS_POST_AUTHORIZATIONS_REQUEST = 'SUCCESS_POST_AUTHORIZATIONS_REQUEST';\r\nexport const FAILURE_POST_AUTHORIZATIONS_REQUEST = 'FAILURE_POST_AUTHORIZATIONS_REQUEST';\r\n\r\nexport const CLEAR_HISTORIAL_REQUEST = 'CLEAR_HISTORIAL_REQUEST';\r\n\r\n/* Reintegros */\r\nexport const GET_REFUNDS = 'GET_REFUNDS';\r\nexport const SUCCESS_GET_REFUNDS = 'SUCCESS_GET_REFUNDS';\r\nexport const FAILURE_GET_REFUNDS = 'FAILURE_GET_REFUNDS';\r\n\r\nexport const GET_REFUND_DETAILS = 'GET_REFUND_DETAILS';\r\nexport const SUCCESS_GET_REFUND_DETAILS = 'SUCCESS_GET_REFUND_DETAILS';\r\nexport const FAILURE_GET_REFUND_DETAILS = 'FAILURE_GET_REFUND_DETAILS';\r\n\r\nexport const GET_REFUND_ATTACHMENTS = 'GET_REFUND_ATTACHMENTS';\r\nexport const SUCCESS_GET_REFUND_ATTACHMENTS = 'SUCCESS_GET_REFUND_ATTACHMENTS';\r\nexport const FAILURE_GET_REFUND_ATTACHMENTS = 'FAILURE_GET_REFUND_ATTACHMENTS';\r\n\r\nexport const GET_REFUND_COMMENTS = 'GET_REFUND_COMMENTS';\r\nexport const SUCCESS_GET_REFUND_COMMENTS = 'SUCCESS_GET_REFUND_COMMENTS';\r\nexport const FAILURE_GET_REFUND_COMMENTS = 'FAILURE_GET_REFUND_COMMENTS';\r\n\r\nexport const GET_DETAILS_ATTACHMENTS = 'GET_DETAILS_ATTACHMENTS';\r\nexport const SUCCESS_GET_DETAILS_ATTACHMENTS = 'SUCCESS_DETAILS_ATTACHMENTS';\r\nexport const FAILURE_GET_DETAILS_ATTACHMENTS = 'FAILURE_DETAILS_ATTACHMENTS';\r\n\r\nexport const GET_REFUND_TYPE_ATTACHED = 'GET_REFUND_TYPE_ATTACHED';\r\nexport const SUCCESS_GET_REFUND_TYPE_ATTACHED = 'SUCCESS_GET_REFUND_TYPE_ATTACHED';\r\nexport const FAILURE_GET_REFUND_TYPE_ATTACHED = 'FAILURE_GET_REFUND_TYPE_ATTACHED';\r\n\r\nexport const PUSH_REFUND_COMMENTS = 'PUSH_REFUND_COMMENTS';\r\nexport const SUCCESS_PUSH_REFUND_COMMENTS = 'SUCCESS_PUSH_REFUND_COMMENTS';\r\nexport const FAILURE_PUSH_REFUND_COMMENTS = 'FAILURE_PUSH_REFUND_COMMENTS';\r\n\r\nexport const POST_REFUND_ATTACHED = 'POST_REFUND_ATTACHED';\r\nexport const SUCCESS_POST_REFUND_ATTACHED = 'SUCCESS_POST_REFUND_ATTACHED';\r\nexport const FAILURE_POST_REFUND_ATTACHED = 'FAILURE_POST_REFUND_ATTACHED';\r\n\r\n/* Encuesta */\r\nexport const GET_COUNTER_SURVEY = 'GET_COUNTER_SURVEY';\r\nexport const SUCCESS_GET_COUNTER_SURVEY = 'SUCCESS_GET_COUNTER_SURVEY';\r\nexport const FAILURE_GET_COUNTER_SURVEY = 'FAILURE_GET_COUNTER_SURVEY';\r\n\r\nexport const SEND_SURVEY = 'SEND_SURVEY';\r\nexport const SUCCESS_SEND_SURVEY = 'SUCCESS_SEND_SURVEY';\r\nexport const FAILURE_SEND_SURVEY = 'FAILURE_SEND_SURVEY';\r\n\r\nexport const CLEAR_COUNTER_SURVEY = 'CLEAR_COUNTER_SURVEY';\r\n\r\n/* Campañas */\r\nexport const GET_CAMPAIGN = \"GET_CAMPAIGN\";\r\nexport const SUCCESS_GET_CAMPAIGN = \"SUCCESS_GET_CAMPAIGN\";\r\nexport const FAILURE_GET_CAMPAIGN = \"FAILURE_GET_CAMPAIGN\";\r\n\r\n//coimoiun\r\n\r\nexport const GET_COMMUNICATION = \"GET_COMMUNICATION\";\r\nexport const SUCCESS_GET_COMMUNICATION = \"SUCCESS_GET_COMMUNICATION\";\r\nexport const FAILURE_GET_COMMUNICATION = \"FAILURE_GET_COMMUNICATION\";\r\n\r\nexport const GET_COMMUNICATIONS = 'GET_COMMUNICATIONS';\r\nexport const SET_COMMUNICATIONS = 'SET_COMMUNICATIONS';\r\n\r\n/*Noticias */\r\nexport const GET_ALL_NEWS = 'GET_ALL_NEWS';\r\nexport const SUCCESS_GET_ALL_NEWS = 'SUCCESS_GET_ALL_NEWS';\r\nexport const FAILURE_GET_ALL_NEWS = 'FAILURE_GET_ALL_NEWS';\r\n\r\n\r\nexport const AB_ACCOUNT_REFUND = 'AB_ACCOUNT_REFUND';\r\nexport const SUCCESS_AB_ACCOUNT_REFUND = 'SUCCESS_AB_ACCOUNT_REFUND';\r\nexport const FAILURE_AB_ACCOUNT_REFUND = 'FAILURE_AB_ACCOUNT_REFUND';\r\n\r\nexport const GET_ACCOUNT_REFUNDS = 'GET_ACCOUNT_REFUNDS';\r\nexport const SUCCESS_GET_ACCOUNT_REFUNDS = 'SUCCESS_GET_ACCOUNT_REFUNDS';\r\nexport const FAILURE_GET_ACCOUNT_REFUNDS = 'FAILURE_GET_ACCOUNT_REFUNDS';\r\n\r\nexport const GET_PARAMETERS_REFUNDS = 'GET_PARAMETERS_REFUNDS';\r\nexport const SUCCESS_GET_PARAMETERS_REFUNDS = 'SUCCESS_GET_PARAMETERS_REFUNDS';\r\nexport const FAILURE_GET_PARAMETERS_REFUNDS = 'FAILURE_GET_PARAMETERS_REFUNDS';\r\n\r\nexport const SET_MODEL_REFUNDS = 'SET_MODEL_REFUNDS';\r\nexport const CLEAR_MODEL_REFUNDS = 'CLEAR_MODEL_REFUNDS';\r\nexport const CLEAR_STATE_REFUNDS = 'CLEAR_STATE_REFUNDS';\r\nexport const CLEAR_POST_REFUNDS = 'CLEAR_POST_REFUNDS';\r\nexport const CLEAR_MSG_ERROR = 'CLEAR_MSG_ERROR';\r\n\r\nexport const POST_REFUNDS = 'POST_REFUNDS';\r\nexport const SUCCESS_POST_REFUNDS = 'SUCCESS_POST_REFUNDS';\r\nexport const FAILURE_POST_REFUNDS = 'FAILURE_POST_REFUNDS';\r\n\r\nexport const CANCEL_REFUND = 'CANCEL_REFUND';\r\nexport const SUCCESS_CANCEL_REFUND = 'SUCCESS_CANCEL_REFUND';\r\nexport const FAILURE_CANCEL_REFUND = 'FAILURE_CANCEL_REFUND';\r\n\r\nexport const POST_READ_REFUNDS_COMMENTS = 'POST_READ_REFUNDS_COMMENTS';\r\nexport const SUCCESS_POST_READ_REFUNDS_COMMENTS = 'SUCCESS_POST_READ_REFUNDS_COMMENTS';\r\nexport const FAILURE_POST_READ_REFUNDS_COMMENTS = 'FAILURE_POST_READ_REFUNDS_COMMENTS';\r\n\r\nexport const SET_REFUNDS_FILTERS = 'SET_REFUNDS_FILTERS';\r\nexport const CLEAR_REFUNDS_FILTERS = 'CLEAR_REFUNDS_REFUNDS_FILTERS';\r\n\r\n/* Sedes */\r\nexport const GET_ALL_HEADQUATERS = 'GET_ALL_HEADQUATERS';\r\nexport const SUCCESS_GET_ALL_HEADQUATERS = 'SUCCESS_GET_ALL_HEADQUATERS';\r\nexport const FAILURE_GET_ALL_HEADQUATERS = 'FAILURE_GET_ALL_HEADQUATERS';\r\n\r\nexport const DOWNLOAD_REFUND = 'DOWNLOAD_REFUND';\r\nexport const SUCCESS_DOWNLOAD_REFUND = 'SUCCESS_DOWNLOAD_REFUND';\r\nexport const FAILURE_DOWNLOAD_REFUND = 'FAILURE_DOWNLOAD_REFUND';\r\n\r\n/* Configurations */\r\nexport const GET_CONFIGURATIONS = 'GET_CONFIGURATIONS';\r\nexport const SUCCESS_GET_CONFIGURATIONS = 'SUCCESS_GET_CONFIGURATIONS';\r\nexport const FAILURE_GET_CONFIGURATIONS = 'FAILURE_GET_CONFIGURATIONS';\r\n\r\nexport const GET_CONFIGURATION_BY_ID = 'GET_CONFIGURATION_BY_ID';\r\nexport const SUCCESS_GET_CONFIGURATION_BY_ID = 'SUCCESS_GET_CONFIGURATION_BY_ID';\r\nexport const FAILURE_GET_CONFIGURATION_BY_ID = 'FAILURE_GET_CONFIGURATION_BY_ID';\r\n\r\nexport const GET_CONFIGURATION_LOW_SERVICE_BY_ID = 'GET_CONFIGURATION_LOW_SERVICE_BY_ID';\r\nexport const SUCCESS_GET_CONFIGURATION_LOW_SERVICE_BY_ID = 'SUCCESS_GET_CONFIGURATION_LOW_SERVICE_BY_ID';\r\nexport const FAILURE_GET_CONFIGURATION_LOW_SERVICE_BY_ID = 'FAILURE_GET_CONFIGURATION_LOW_SERVICE_BY_ID';\r\n\r\nexport const GET_CONFIGURATION_RECLAMO_BY_ID = 'GET_CONFIGURATION_RECLAMO_BY_ID';\r\nexport const SUCCESS_GET_CONFIGURATION_RECLAMO_BY_ID = 'SUCCESS_GET_CONFIGURATION_RECLAMO_BY_ID';\r\nexport const FAILURE_GET_CONFIGURATION_RECLAMO_BY_ID = 'FAILURE_GET_CONFIGURATION_RECLAMO_BY_ID';\r\n\r\n/** Cards */\r\nexport const GET_CARDS = 'GET_CARDS';\r\nexport const SUCCESS_GET_CARDS = 'SUCCESS_GET_CARDS';\r\nexport const FAILURE_GET_CARDS = 'FAILURE_GET_CARDS';\r\n\r\nexport const CLEAR_ABM_MODEL = 'CLEAR_ABM_MODEL';\r\n\r\nexport const CLEAN_VIRTUAL_DOCTOR_MODEL = 'CLEAN_VIRTUAL_DOCTOR_MODEL';\r\n\r\n/** Pharmaceutical form */\r\nexport const GET_PHARMACEUTICAL_FORM = 'GET_PHARMACEUTICAL_FORM';\r\nexport const SUCCESS_GET_PHARMACEUTICAL_FORM = 'SUCCESS_GET_PHARMACEUTICAL_FORM';\r\nexport const FAILURE_GET_PHARMACEUTICAL_FORM = 'FAILURE_GET_PHARMACEUTICAL_FORM';\r\n\r\n/** PlanPdf */\r\n\r\nexport const GET_PLANPDF_BY_PLANCODE = 'GET_PLANPDF_BY_PLANCODE';\r\nexport const SUCCESS_GET_PLANPDF_BY_PLANCODE = 'SUCCESS_GET_PLANPDF_BY_PLANCODE';\r\nexport const FAILURE_GET_PLANPDF_BY_PLANCODE = 'FAILURE_GET_PLANPDF_BY_PLANCODE';\r\n\r\n/** Practicas */\r\nexport const GET_PRACTICAS = 'GET_PRACTICAS';\r\nexport const SUCCESS_GET_PRACTICAS = 'SUCCESS_GET_PRACTICAS';\r\nexport const FAILURE_GET_PRACTICAS = 'FAILURE_GET_PRACTICAS';\r\n\r\n/** Telemedicine Appointments */\r\nexport const GET_TELEMEDICINE = 'GET_TELEMEDICINE';\r\nexport const SUCCESS_GET_TELEMEDICINE = 'SUCCESS_GET_TELEMEDICINE';\r\nexport const FAILURE_GET_TELEMEDICINE = 'FAILURE_GET_TELEMEDICINE';\r\n\r\nexport const SET_TELEMEDICINE_PARAMS = 'SET_TELEMEDICINE_PARAMS';\r\nexport const GET_TELEMEDICINE_PARAMS = 'GET_TELEMEDICINE_PARAMS';\r\n\r\nexport const CLEAR_STATE = 'CLEAR_STATE';\r\n\r\n/** Cap And Copay Links */\r\n\r\nexport const GET_CAPANDCOPAYLINK_BY_PLANCODE = 'GET_CAPANDCOPAYLINK_BY_PLANCODE';\r\nexport const SUCCESS_GET_CAPANDCOPAYLINK_BY_PLANCODE = 'SUCCESS_GET_CAPANDCOPAYLINK_BY_PLANCODE';\r\nexport const FAILURE_GET_CAPANDCOPAYLINK_BY_PLANCODE = 'FAILURE_GET_CAPANDCOPAYLINK_BY_PLANCODE';\r\n\r\n\r\n/** Program Requirements And Forms */\r\n\r\nexport const GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM = 'GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM';\r\nexport const SUCCESS_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM = 'SUCCESS_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM';\r\nexport const FAILURE_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM = 'FAILURE_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM';\r\n\r\n\r\nexport const GET_MEDICAL_PROGRAMS = 'GET_MEDICAL_PROGRAMS';\r\nexport const SUCCESS_GET_MEDICAL_PROGRAMS = 'SUCCESS_GET_MEDICAL_PROGRAMS';\r\nexport const FAILURE_GET_MEDICAL_PROGRAMS = 'FAILURE_GET_MEDICAL_PROGRAMS';\r\n\r\n\r\n/** Limitar Planes **/\r\nexport const FAILURE_GET_LIMIT_PLAN = \"FAILURE_GET_LIMIT_PLAN\";\r\nexport const SUCCESS_GET_LIMIT_PLAN = \"SUCCESS_GET_LIMIT_PLAN\";\r\nexport const GET_LIMIT_PLAN = \"GET_LIMIT_PLAN\";\r\n\r\nexport const FAILURE_POST_LIMIT_PLAN = \"FAILURE_POST_LIMIT_PLAN\";\r\nexport const SUCCESS_POST_LIMIT_PLAN = \"SUCCESS_POST_LIMIT_PLAN\";\r\nexport const POST_LIMIT_PLAN = \"POST_LIMIT_PLAN\";\r\n\r\nexport const FAILURE_PUT_LIMIT_PLAN = \"FAILURE_PUT_LIMIT_PLAN\";\r\nexport const SUCCESS_PUT_LIMIT_PLAN = \"SUCCESS_PUT_LIMIT_PLAN\";\r\nexport const PUT_LIMIT_PLAN = \"PUT_LIMIT_PLAN\";\r\n\r\nexport const FAILURE_DELETE_LIMIT_PLAN = \"FAILURE_DELETE_LIMIT_PLAN\";\r\nexport const SUCCESS_DELETE_LIMIT_PLAN = \"SUCCESS_DELETE_LIMIT_PLAN\";\r\nexport const DELETE_LIMIT_PLAN = \"DELETE_LIMIT_PLAN\";\r\n\r\n","import { useAppInsightsContext } from \"./AppInsightsContext\";\r\n\r\nexport default function useTrackPageView(\r\n    pageName\r\n) {\r\n    const reactPlugin = useAppInsightsContext()\r\n\r\n    const trackPageView = () => {\r\n        const data = {\r\n            name: pageName ?? document.title,\r\n            uri: location.pathname\r\n        };\r\n\r\n        const email = localStorage.getItem(\"email\");\r\n        if (email?.length > 1) {\r\n            data.properties = { email }\r\n        }\r\n\r\n        reactPlugin.trackPageView(data)\r\n\r\n        return data;\r\n\r\n    }\r\n\r\n    return trackPageView;\r\n}","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getTypesOfContact(affiliated) {\r\n  return {\r\n    type: actionTypes.GET_TYPE_OF_CONTACT,\r\n    payload: affiliated,\r\n  };\r\n}\r\n\r\nexport function getTypesOfContactPhone(affiliated) {\r\n  return {\r\n    type: actionTypes.GET_TYPE_OF_CONTACT_PHONE,\r\n    payload: affiliated,\r\n  };\r\n}\r\n\r\nexport function getTypesOfContactMail(affiliated) {\r\n  return {\r\n    type: actionTypes.GET_TYPE_OF_CONTACT_MAIL,\r\n    payload: affiliated,\r\n  };\r\n}\r\n\r\nexport function getContactData(affiliated) {\r\n  return {\r\n    type: actionTypes.GET_CONTACTDATA_OF_AFFILIATED,\r\n    payload: affiliated,\r\n  };\r\n}\r\n\r\nexport function getTypesDocuments(params) {\r\n  return {\r\n    type: actionTypes.GET_TYPES_DOCUMENTS,\r\n    payload: params,\r\n  };\r\n\r\n}\r\nexport function getCivilStatus() {\r\n  return {\r\n    type: actionTypes.GET_CIVIL_STATUS,\r\n    payload: \"\",\r\n  };\r\n}\r\n\r\nexport function getNationalities() {\r\n  return {\r\n    type: actionTypes.GET_NATIONALITY,\r\n    payload: \"\",\r\n  };\r\n}\r\n\r\nexport function getFullData(affiliated) {\r\n  return {\r\n    type: actionTypes.GET_FULL_DATA,\r\n    payload: affiliated\r\n  };\r\n}\r\n\r\nexport function abmFullData(params) {\r\n  return {\r\n    type: actionTypes.ABM_FULL_DATA,\r\n    payload: params,\r\n  };\r\n}\r\n\r\nexport function getCredentials(params) {\r\n  return {\r\n    type: actionTypes.GET_CREDENTIALS,\r\n    payload: params,\r\n  };\r\n}\r\n\r\nexport function getHobbies(params) {\r\n  return {\r\n    type: actionTypes.GET_HOBBIES,\r\n    payload: params,\r\n  };\r\n}\r\n\r\nexport function getDeportes(params) {\r\n  return {\r\n    type: actionTypes.GET_DEPORTES,\r\n    payload: params,\r\n  };\r\n}\r\n\r\nexport function clearAbmModel() {\r\n  return {\r\n    type: actionTypes.CLEAR_ABM_MODEL,\r\n    payload: \"\"\r\n  };\r\n}","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getProcedures(param) {\r\n  return {\r\n    type: actionTypes.GET_PROCEDURES,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function postProcedures(param) {\r\n  return {\r\n    type: actionTypes.POST_PROCEDURE,\r\n    payload: param\r\n  };\r\n}\r\n\r\nexport function getDataAffiliatesBaja(param) {\r\n  return {\r\n    type: actionTypes.GET_DATOS_RECUPERA,\r\n    payload: param\r\n  };\r\n}\r\n\r\nexport function getMotivosBaja() {\r\n  return {\r\n    type: actionTypes.GET_MOTIVOS_BAJA,\r\n    payload: \"\"\r\n  };\r\n}\r\n\r\nexport function getSolicitudBaja() {\r\n  return {\r\n    type: actionTypes.GET_SOLICITUD_BAJA,\r\n    payload: \"\"\r\n  };\r\n}\r\n\r\nexport function getFile(param) {\r\n  return {\r\n    type: actionTypes.GET_FILE,\r\n    payload: param\r\n  };\r\n}\r\n\r\nexport function postRequestLow(param) {\r\n  return {\r\n    type: actionTypes.POST_REQUEST_LOW,\r\n    payload: param\r\n  };\r\n}\r\n\r\nexport function getChangePlan() {\r\n  return {\r\n    type: actionTypes.GET_CHANGE_PLAN,\r\n    payload: \"\",\r\n  };\r\n}\r\n\r\nexport function getMotiveLowPlan() {\r\n  return {\r\n    type: actionTypes.GET_MOTIVOS_BAJA_PLAN,\r\n    payload: \"\",\r\n  };\r\n}\r\n\r\n\r\nexport function getPlans(param) {\r\n  return {\r\n    type: actionTypes.GET_PLAN,\r\n    payload: param,\r\n  };\r\n}\r\n\r\n\r\nexport function postChangePlan(param) {\r\n  return {\r\n    type: actionTypes.POST_CHANGE_PLAN,\r\n    payload: param,\r\n  };\r\n}\r\n\r\n\r\nexport function getPermisionLow(param) {\r\n  return {\r\n    type: actionTypes.PERMISSION_LOW,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function cleanPostProcedureSelector() {\r\n  return {\r\n    type: actionTypes.CLEAN_POST_PROCEDURE_SELECTOR,\r\n    payload: \"\"\r\n  };\r\n}\r\n","\r\n// In production, we register a service worker to serve assets from local cache.\r\nimport axios from \"axios\";\r\nimport { BroadcastChannel } from 'broadcast-channel';\r\nconst url = window.env.URL_SERVICE;\r\nconst idOneSignal = window.env.AppId;\r\nconst Urltag = '/Bus/UpdateTagUserDevice';\r\n\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n  window.location.hostname === 'localhost' ||\r\n  // [::1] is the IPv6 localhost address.\r\n  window.location.hostname === '[::1]' ||\r\n  // 127.0.0.1/8 is considered localhost for IPv4.\r\n  window.location.hostname.match(\r\n    /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n  )\r\n);\r\n\r\nexport const UpdateTagSubscription = (param) => {\r\n  return axios\r\n    .post(`${url}${Urltag}`, param)\r\n    .then((response) => {\r\n      console.log(response);\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      console.log(error);\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport default function register() {\r\n\r\n  if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n    // The URL constructor is available in all browsers that support SW.\r\n    const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n    if (publicUrl.origin !== window.location.origin) {\r\n      // Our service worker won't work if PUBLIC_URL is on a different origin\r\n      // from what our page is served on. This might happen if a CDN is used to\r\n      // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n      return;\r\n    }\r\n\r\n    window.addEventListener('load', () => {\r\n      window.OneSignal = window.OneSignal || [];\r\n      OneSignal.push(function () {\r\n        OneSignal.init({\r\n          appId: idOneSignal,\r\n          promptOptions: {\r\n            customlink: {\r\n              enabled: true, /* Required to use the Custom Link */\r\n              style: \"button\", /* Has value of 'button' or 'link' */\r\n              size: \"medium\", /* One of 'small', 'medium', or 'large' */\r\n              color: {\r\n                button: '#077BCB', /* Color of the button background if style = \"button\" */\r\n                text: '#FFFFFF', /* Color of the prompt's text */\r\n              },\r\n              text: {\r\n                subscribe: \"Suscribirme\", /* Prompt's text when not subscribed */\r\n                unsubscribe: \"Desuscribirme\", /* Prompt's text when subscribed */\r\n                explanation: \"\", /* Optional text appearing before the prompt button */\r\n              },\r\n              unsubscribeEnabled: true, /* Controls whether the prompt is visible after subscription */\r\n            }\r\n          }\r\n        });\r\n        OneSignal.getUserId(function (userId) {\r\n          window.localStorage.setItem('playerId', userId);\r\n        });\r\n        OneSignal.on('subscriptionChange', function (isSubscribed) {\r\n          if (isSubscribed) {\r\n            var user = window.localStorage.getItem('email');\r\n            var player = window.localStorage.getItem('playerId');\r\n            var data = { User: user, PlayerId: player, Action: \"SUBSCRIBTION\" };\r\n            UpdateTagSubscription(data);\r\n          }\r\n        });\r\n        OneSignal.on('notificationDisplay', function (event) {\r\n          const channel = new BroadcastChannel('displayed-messages');\r\n          channel.postMessage({ msg: 'new notification from SERVICE-WORKER', element: event });\r\n        });\r\n        OneSignal.on('notificationDismiss', function (event) {\r\n        });\r\n        OneSignal.push([\"addListenerForNotificationOpened\", function (data) {\r\n          window.location.replace(window.env.URL_PUBLIC_MOBILE);\r\n        }]);\r\n        OneSignal.on('notificationDismiss', function (event) {\r\n        });\r\n        OneSignal.push([\"addListenerForNotificationOpened\", function (data) {\r\n          window.location.replace(window.env.URL_PUBLIC_MOBILE);\r\n        }]);\r\n        //subscription\r\n      });\r\n      OneSignal.push([\"addListenerForNotificationOpened\", function (data) {\r\n      }]);\r\n      const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n      if (isLocalhost) {\r\n        // This is running on localhost. Lets check if a service worker still exists or not.\r\n        checkValidServiceWorker(swUrl);\r\n\r\n        // Add some additional logging to localhost, pointing developers to the\r\n        // service worker/PWA documentation.\r\n        navigator.serviceWorker.ready.then(() => {\r\n          console.log(\r\n            'This web app is being served cache-first by a service ' +\r\n            'worker. To learn more, visit https://goo.gl/SC7cgQ'\r\n          );\r\n        });\r\n      } else {\r\n        // Is not local host. Just register service worker\r\n        registerValidSW(swUrl);\r\n      }\r\n    }, { passive: true });\r\n  }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n  navigator.serviceWorker\r\n    .register(swUrl)\r\n    .then(registration => {\r\n      registration.onupdatefound = () => {\r\n        const installingWorker = registration.installing;\r\n        installingWorker.onstatechange = () => {\r\n          if (installingWorker.state === 'installed') {\r\n            if (navigator.serviceWorker.controller) {\r\n              // At this point, the old content will have been purged and\r\n              // the fresh content will have been added to the cache.\r\n              // It's the perfect time to display a \"New content is\r\n              // available; please refresh.\" message in your web app.\r\n              console.log('New content is available; please refresh.');\r\n            } else {\r\n              // At this point, everything has been precached.\r\n              // It's the perfect time to display a\r\n              // \"Content is cached for offline use.\" message.\r\n              console.log('Content is cached for offline use.');\r\n            }\r\n            navigator.serviceWorker.addEventListener('message', function (event) {\r\n              console.log(event.data.message); // Hello World !\r\n            });\r\n          }\r\n        };\r\n      };\r\n    })\r\n    .catch(error => {\r\n      console.error('Error during service worker registration:', error);\r\n    });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n  // Check if the service worker can be found. If it can't reload the page.\r\n  fetch(swUrl)\r\n    .then(response => {\r\n      // Ensure service worker exists, and that we really are getting a JS file.\r\n      if (\r\n        response.status === 404 ||\r\n        response.headers.get('content-type').indexOf('javascript') === -1\r\n      ) {\r\n        // No service worker found. Probably a different app. Reload the page.\r\n        navigator.serviceWorker.ready.then(registration => {\r\n          registration.unregister().then(() => {\r\n            window.location.reload();\r\n          });\r\n        });\r\n      } else {\r\n        // Service worker found. Proceed as normal.\r\n        registerValidSW(swUrl);\r\n      }\r\n    })\r\n    .catch(() => {\r\n      console.log(\r\n        'No internet connection found. App is running in offline mode.'\r\n      );\r\n    });\r\n}\r\n\r\nexport function unregister() {\r\n  if ('serviceWorker' in navigator) {\r\n    navigator.serviceWorker.ready.then(registration => {\r\n      registration.unregister();\r\n    });\r\n  }\r\n}\r\n\r\nfunction messageToClient(client, data) {\r\n  return new Promise(function (resolve, reject) {\r\n    const channel = new MessageChannel();\r\n\r\n    channel.port1.onmessage = function (event) {\r\n      if (event.data.error) {\r\n        reject(event.data.error);\r\n      } else {\r\n        resolve(event.data);\r\n      }\r\n    };\r\n\r\n    client.postMessage(JSON.stringify(data), [channel.port2]);\r\n  });\r\n}\r\n\r\nself.addEventListener('push', function (event) {\r\n  if (event && event.data) {\r\n    self.pushData = event.data.json();\r\n    if (self.pushData) {\r\n      event.waitUntil(self.registration.showNotification(self.pushData.title, {\r\n        body: self.pushData.body,\r\n        icon: self.pushData.data ? self.pushData.data.icon : null\r\n      }).then(function () {\r\n        clients.matchAll({ type: 'window' }).then(function (clientList) {\r\n          if (clientList.length > 0) {\r\n            messageToClient(clientList[0], {\r\n              message: self.pushData.body // suppose it is: \"Hello World !\"\r\n            });\r\n          }\r\n        });\r\n      }));\r\n    }\r\n  }\r\n});\r\n\r\n","import * as React from \"react\";\r\n\r\nimport { AuthConsumer } from \"./providers/authProvider\";\r\n\r\nexport const Callback = () => (\r\n   \r\n    <AuthConsumer>\r\n        \r\n        {({ signinRedirectCallback }) => {\r\n            signinRedirectCallback();\r\n            return <div style={{display:\"flex\", justifyContent:\"center\"}}></div>;\r\n        }}\r\n    </AuthConsumer>\r\n);\r\n\r\n\r\n\r\nexport default Callback;","\r\nimport { CircularProgress } from \"@material-ui/core\";\r\nimport React from \"react\";\r\n\r\nimport { AuthConsumer } from \"./providers/authProvider\";\r\n\r\nexport const SilentRenew = () => (\r\n    <AuthConsumer>\r\n        {({ signinSilentCallback }) => {\r\n           signinSilentCallback();\r\n            return <div style={{display:\"flex\", justifyContent:\"center\"}}><CircularProgress /></div>;\r\n        }}\r\n    </AuthConsumer>\r\n);\r\n\r\nexport default SilentRenew;","/* /src/components/auth/logout.jsx */\r\n\r\nimport * as React from \"react\";\r\nimport { AuthConsumer } from \"./providers/authProvider\";\r\n\r\nexport const Logout = () => (\r\n    <AuthConsumer>\r\n        {({ logout }) => {\r\n            logout();\r\n        }}\r\n    </AuthConsumer>\r\n);\r\n\r\nexport default Logout;","/* /src/components/auth/logout.jsx */\r\n\r\nimport * as React from \"react\";\r\nimport { AuthConsumer } from \"./providers/authProvider\";\r\n\r\nexport const Login = () => (\r\n    <AuthConsumer>\r\n        {({ signinRedirect }) => {\r\n            signinRedirect();\r\n        }}\r\n    </AuthConsumer>\r\n);\r\n\r\nexport default Login;\r\n\r\n","import React from \"react\";\r\nimport Accordion from \"@material-ui/core/Accordion\";\r\nimport AccordionSummary from \"@material-ui/core/AccordionSummary\";\r\nimport AccordionDetails from \"@material-ui/core/AccordionDetails\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport \"./accordion.css\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { formatPhoneNumber } from \"../../utils/utilsFunctions\";\r\n\r\n\r\n\r\nconst ButtonPhones = (props) => {\r\n  const classes = useStyles();\r\n\r\n  const lastItemNumber = (list, obj) => {\r\n    let res = false;\r\n    let lastNumber = list[list?.length - 1].value;\r\n    if (lastNumber === obj) {\r\n      res = true\r\n    }\r\n    return res;\r\n  }\r\n\r\n  return (\r\n    <div\r\n      className={classes.accordionButton}\r\n      id=\"accordion\">\r\n      {props.listItems?.map((item, i) => (\r\n        <Accordion expanded={true} key={i} className={classes.accordionItem} >\r\n          <AccordionSummary\r\n            key={i}\r\n          >\r\n            <Typography key={i} className={classes.headingTextBPhone}>\r\n              {item.title}\r\n            </Typography>\r\n          </AccordionSummary>\r\n          <AccordionDetails key={i}>\r\n            {item.numbers.map((val, index) => (\r\n              <a key={val} href={`tel:${formatPhoneNumber(val.value)?.replace(/[^\\w]/gi, '')}`} className={classes.telBPhone}>\r\n                {lastItemNumber(item.numbers, val.value) ?\r\n                  <Typography paragraph className={classes.telBPhone}>\r\n                    {formatPhoneNumber(val.value, false)}\r\n                  </Typography>\r\n                  :\r\n                  <>\r\n                    <Typography paragraph className={classes.telBPhone}>\r\n                    {formatPhoneNumber(val.value, false)}\r\n                    </Typography>\r\n                  </>\r\n                }\r\n              </a>\r\n            ))}\r\n          </AccordionDetails>\r\n        </Accordion>\r\n  ))\r\n}\r\n    </div >\r\n  );\r\n};\r\n\r\nexport default ButtonPhones;\r\n","import { Box, Typography } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nconst Header = ({ title, subtitle, textError, colorTitle, heightTitle, zIndexTitle, positionTitle }) => {\r\n  const classes = useStyles();\r\n  const resizeScreen = useResizeScreen();\r\n\r\n  const Responsive = (type) => {\r\n    let width = resizeScreen.screen.sWidth;\r\n    switch (type) {\r\n      case \"firstBoxHeader\":\r\n        if (width <= 1000)\r\n          return `${classes.noneBoxShadow} ${classes.mainTitle}`;\r\n        break;\r\n      case \"header\":\r\n        if (width <= 1000)\r\n          return `${classes.boxHeaderMobile} ${classes.mainTitle}`;\r\n        break;\r\n      case \"filters\":\r\n        if (width <= 1000) return `${classes.boxHeaderFiltersMobile}`;\r\n        break;\r\n      default:\r\n        break;\r\n    }\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <Box\r\n        paddingTop=\"40px\"\r\n        justifyContent=\"center\"\r\n        style={{ height: heightTitle, zIndex: zIndexTitle, position: positionTitle, backgroundColor: 'white' }}\r\n        className={`${classes.bottomBoxShadow} ${Responsive(\"firstBoxHeader\")}`}\r\n      >\r\n        <Box\r\n          justifyContent=\"center\"\r\n          display=\"flex\"\r\n          className={`${classes.bottomBoxShadow} ${Responsive(\"header\")}`}\r\n        >\r\n          <Typography\r\n            variant=\"h5\"\r\n            style={{\r\n              paddingBottom: \"23px\",\r\n              position: \"absolute\",\r\n              color: colorTitle,\r\n            }}\r\n            className={classes.mainTitle}\r\n          >\r\n            {title}\r\n          </Typography>\r\n        </Box>\r\n        <Box\r\n          display=\"flex\"\r\n          paddingTop=\"50px\"\r\n          justifyContent=\"center\"\r\n          flex=\"0 0 85%\"\r\n          className={`${Responsive(\"filters\")}`}\r\n        >\r\n          {subtitle !== null ? subtitle : \"\"}\r\n        </Box>\r\n      </Box>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default Header;\r\n","import React, { useState, useEffect } from 'react';\r\nimport ButtonPhones from '../../components/ButtonPhones/ButtonPhones';\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport { getPhones } from \"../../redux/actions/phonesUtilsActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport { Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst UsefulPhones = () => {\r\n  const classes = useStyles();\r\n  const { screen } = useResizeScreen();\r\n  const [ hasPermission, setHasPermission ] = useState(false);\r\n  const dispatch = useDispatch();\r\n  const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n  const items = useSelector(state => state.phonesReducer);\r\n  const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n  const [loading, setLoading] = useState(true);\r\n  const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n  const trackPageView = useTrackPageView(\"Teléfonos Útiles\");\r\n\r\n  useEffect(() => {\r\n    verifyPermission(limitPlanReducer, affiliatePlan, \"Teléfonos Útiles\", setHasPermission);\r\n  }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n  useEffect(() => {\r\n    trackPageView();\r\n    setLoading(true);\r\n    dispatch(getPhones());\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    dispatch(getLimitPlan());\r\n  }, []);\r\n\r\n  function show(condition) {\r\n    var res;\r\n    if(condition) {\r\n        res = (\r\n          <ButtonPhones listItems={items?.phoneList} />\r\n        );\r\n    } else {\r\n        res = (notAccessToThisModule());\r\n    }\r\n    return res;\r\n  }\r\n\r\n  useEffect(() => {\r\n    if (Object.values(items?.phoneList).length > 0) {\r\n      setLoading(false);\r\n    }\r\n  }, [items]);\r\n\r\n  return (\r\n    <>\r\n      <Menu />\r\n      {screen.sWidth < 768 ?\r\n        <Header title='Teléfonos útiles' colorTitle=\"#0075C9\" />\r\n        :\r\n        <>\r\n          <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n            <Typography className={`${classes.titlePhoneFix}`}>\r\n              Teléfonos útiles\r\n            </Typography>\r\n          </div>\r\n        </>\r\n      }\r\n      <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n        <Typography className={classes.paragraphUsefulPhones}>\r\n          Si estás desde tu celular, presioná en el número que precises llamar\r\n        </Typography>\r\n      </div>\r\n      {\r\n        loading || loadingPermission && affiliatePlan?\r\n          <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%', paddingTop: '10px' }}>\r\n            <CircularProgress />\r\n          </div>\r\n        :\r\n          (\r\n            show(hasPermission)\r\n          )\r\n      }\r\n    </>\r\n  );\r\n};\r\n\r\nexport default UsefulPhones;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function getPhones() {\r\n    return {\r\n        type: actionTypes.GET_PHONES,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function getShiftPhone() {\r\n    \r\n    return {\r\n        type: actionTypes.GET_SHIFT_PHONES,\r\n        payload: ''\r\n    };\r\n}","import useStyles from '../../assets/styles/styles';\r\n\r\nimport ImageList from '@material-ui/core/ImageList';\r\nimport ImageListItem from '@material-ui/core/ImageListItem';\r\nimport ImageListItemBar from '@material-ui/core/ImageListItemBar';\r\n\r\nimport CustomButton from '../../controls/Button/CustomButton';\r\n\r\n\r\nexport default function Banner(props) {\r\n  const classes = useStyles();\r\n  return (\r\n    <>\r\n      <ImageList\r\n        className={`${classes.imageBanner}`}>\r\n        {props?.items?.map((item, i) => (\r\n          <ImageListItem key={i}\r\n            style={{ height: \"320px\" }}>\r\n            <img src={item?.img} alt={item?.title} style={{ objectFit: \"fill\" }}/>\r\n            <ImageListItemBar\r\n              className={`${classes.cardContent} ${classes.titleBanner}`}\r\n              style={{ height: \"60px\" }}\r\n              title={item?.title}\r\n              key={i}\r\n            />\r\n          </ImageListItem>\r\n        )\r\n        )}\r\n      </ImageList>\r\n      {(props?.hasButton && props?.items !== undefined) && <a href={props?.items[0]?.link} style={{ textDecoration: 'none' }} >\r\n        <CustomButton\r\n          title={\"Conocelo\"}\r\n          customClass={`${classes.customBtnMaps} ${classes.lightLinearGradient}`}\r\n          style={{\r\n            position: \"absolute\",\r\n            top: \"435px\",\r\n            right: \"40px\",\r\n          }}\r\n        />\r\n      </a>}\r\n    </>\r\n  );\r\n}\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getRefundParameters() {\r\n    return {\r\n        type: actionTypes.GET_TYPE_COVERAGE_PARAMETERS,\r\n        payload: '',\r\n    };\r\n}\r\n\r\nexport function getAreaParameters(params) {\r\n    if (params == undefined)\r\n        params = '';\r\n\r\n    return {\r\n        type: actionTypes.GET_AREA_PARAMETERS,\r\n        payload: params,\r\n    };\r\n}\r\n\r\nexport function postRefundCoverage(params) {\r\n    return {\r\n        type: actionTypes.POST_REFUND_COVERAGE,\r\n        payload: params\r\n    };\r\n}\r\n\r\nexport function getAllCoveragePlans(param = '') {\r\n    return {\r\n        type: actionTypes.GET_ALL_COVERAGE_PLANS,\r\n        payload: param\r\n    };\r\n}","import React, { useEffect, useState } from 'react';\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport Header from \"../../components/GenericHeader/Header\";\r\nimport Banner from \"../../components/Banner/Banner\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport CardPhoto from '../../components/CardPhoto/CardPhoto';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAllCoveragePlans } from '../../redux/actions/coverageActions';\r\nimport { isAuthenticated, notAccessToThisModule, verifyPermission } from '../../utils/utilsFunctions';\r\nimport { CircularProgress } from '@material-ui/core';\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\n\r\nconst CoveragePlans = () => {\r\n  const { screen } = useResizeScreen();\r\n  const dispatch = useDispatch();\r\n  const coveragePlansReduxState = useSelector(state => state.coverageReducer.getCoveragePlans);\r\n  const [bannerItem, setBannerItem] = useState([]);\r\n  const [item, setItem] = useState([]);\r\n  const [loading, setLoading] = useState(true);\r\n  const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n  const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n  const [hasPermission, setHasPermission] = useState(false);\r\n  const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n\r\n  const trackPageView = useTrackPageView(\"Planes de Cobertura\")\r\n\r\n  useEffect(() => {\r\n    verifyPermission(limitPlanReducer, affiliatePlan, \"Planes de Cobertura\", setHasPermission);\r\n  }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n  useEffect(() => {\r\n    trackPageView();\r\n\r\n    setLoading(true);\r\n    if (isAuthenticated()) {\r\n      let params = {\r\n        type: 'Authorize',\r\n        numeroPersona: window.localStorage.getItem('numeroPersona')\r\n      };\r\n      return dispatch(getAllCoveragePlans(params));\r\n    } else {\r\n      return dispatch(getAllCoveragePlans());\r\n    }\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (Object.values(coveragePlansReduxState).length > 0) {\r\n      let auxBanner = coveragePlansReduxState?.coveragePlan?.filter(x => x?.coverage?.position).map(itemBanner => {\r\n        return {\r\n          ...itemBanner?.coverage,\r\n          img: itemBanner?.coverage?.image64,\r\n          title: `Plan ${itemBanner?.coverage?.planCode}`,\r\n          URL: itemBanner?.coverage?.link\r\n        };\r\n      });\r\n      let auxItem = coveragePlansReduxState?.coveragePlan?.filter(x => !x?.coverage?.position).map(itemFiltered => {\r\n        return {\r\n          img: itemFiltered?.coverage?.image64,\r\n          URL: itemFiltered?.coverage?.link,\r\n          title: `Plan ${itemFiltered?.coverage?.planCode}`\r\n        };\r\n      });\r\n      setItem(auxBanner);\r\n      setBannerItem(auxItem);\r\n      setLoading(false);\r\n    }\r\n  }, [coveragePlansReduxState]);\r\n\r\n  useEffect(() => {\r\n    dispatch(getLimitPlan());\r\n  }, []);\r\n\r\n  function componentToShow(condition) {\r\n    var response;\r\n    if (condition) {\r\n      response = (\r\n        <>\r\n          {bannerItem !== undefined &&\r\n            <Banner items={bannerItem} hasButton={false} ></Banner>\r\n          }\r\n          <CardPhoto\r\n            listCard={item}\r\n            countCard={item?.length}\r\n            hasButton={false}\r\n            hasDetail={true}\r\n            isNotPlan={false}\r\n            alternateColor={true}\r\n          />\r\n        </>\r\n      );\r\n    } else {\r\n      response = (notAccessToThisModule());\r\n    }\r\n    return response;\r\n  }\r\n\r\n  return (\r\n    <div>\r\n      <Menu />\r\n      <Header title=\"Planes de Cobertura\" colorTitle=\"#0075C9\" heightTitle=\"140px\" />\r\n      {loading || loadingPermission && affiliatePlan ?\r\n        <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n        :\r\n        (componentToShow(hasPermission))\r\n      }\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default CoveragePlans;\r\n","import * as actionTypes from '../consts/actionTypes';\r\n\r\nexport function getActivities(param = '') {\r\n    return {\r\n        type: actionTypes.GET_ALL_ACTIVITIES,\r\n        payload: param\r\n    };\r\n}","import React, { useEffect, useState } from 'react';\r\nimport {\r\n  Box,\r\n  Button,\r\n  CircularProgress,\r\n} from \"@material-ui/core\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport Header from \"../../components/GenericHeader/Header\";\r\nimport Banner from \"../../components/Banner/Banner\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport CardPhoto from '../../components/CardPhoto/CardPhoto';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getActivities } from \"../../redux/actions/activitiesActions\";\r\nimport parse from 'html-react-parser';\r\nimport { isAuthenticated } from '../../utils/utilsFunctions';\r\nimport  useTrackPageView  from \"../../utils/useTrackPageView\";\r\n\r\nconst Activities = () => {\r\n  const classes = useStyles();\r\n  const screenSize = useResizeScreen();\r\n  const dispatch = useDispatch();\r\n  const [showMore, setShowMore] = useState(false);\r\n  const activities = useSelector(state => state?.activitiesReducer?.activities?.activity);\r\n  const [card, setCard] = useState([])\r\n  const [banner, setBanner] = useState([])\r\n  const trackPageView = useTrackPageView(\"Actividades\");\r\n\r\n  useEffect(() => {\r\n    trackPageView();\r\n    if (isAuthenticated()) {\r\n      dispatch(getActivities('Authorize'));\r\n    } else {\r\n      dispatch(getActivities())\r\n    }\r\n  }, [])\r\n\r\n  useEffect(() => {\r\n    let imgBanner = activities?.find((item) => { return item?.panelPosition === 0 })\r\n    let imgResponse = [{ title: imgBanner?.title, img: imgBanner?.image }]\r\n    setBanner(imgResponse);\r\n    let activity = activities?.filter(x => x?.panelPosition === 1).map((item) => {\r\n      return {\r\n        title: item?.title,\r\n        subtitle: \"\",\r\n        description: parse(item?.description),\r\n        observation: \"\",\r\n        info: \"\",\r\n        img: item?.image,\r\n      }\r\n    })\r\n    setCard(activity);\r\n  }, [activities])\r\n\r\n  const handleClick = (e) => {\r\n    e.preventDefault();\r\n    if (showMore) {\r\n      setShowMore(false);\r\n    }\r\n    else {\r\n      setShowMore(true);\r\n\r\n    }\r\n  };\r\n\r\n  const addShowMore = () => {\r\n    if (card !== undefined) {\r\n      return (showMore ?\r\n        <CardPhoto listCard={card} countCard={card?.length}\r\n          hasButton={true} hasDetail={false} />\r\n        :\r\n        <CardPhoto listCard={card} countCard={3} hasButton={false} hasDetail={false} />);\r\n    }\r\n  };\r\n\r\n  const addShowMoreButton = () => {\r\n    return (showMore ? (\r\n      <Button className={classes.txtBtnShowMore} onClick={handleClick}>\r\n        {\"VER MENOS\"}\r\n      </Button>\r\n    ) : (\r\n      <Button className={classes.txtBtnShowMore} onClick={handleClick}>\r\n        {\"VER MÁS >\"}\r\n      </Button>\r\n    ));\r\n  };\r\n\r\n  const mobileScreen = () => {\r\n    if (screenSize.screen.sWidth <= \"768\") {\r\n      return (<CardPhoto\r\n        listCard={card}\r\n        countCard={card?.length}\r\n        hasButton={true}\r\n        hasDetail={false}\r\n        isNotPlan={true} />)\r\n    }\r\n    else {\r\n      return (addShowMore())\r\n    }\r\n  }\r\n  return (\r\n    <>\r\n      <Menu />\r\n      <Header title=\"Actividades\" colorTitle=\"#0075C9\" heightTitle=\"140px\" />\r\n      {activities !== undefined ?\r\n        <>\r\n          < Banner\r\n            items={banner}>\r\n          </Banner>\r\n          {screenSize.screen.sWidth >= \"768\" &&\r\n            <Box\r\n              display=\"flex\"\r\n              justifyContent=\"flex-end\"\r\n              paddingLeft=\"34px\"\r\n              paddingRight=\"56px\"\r\n              minHeight=\"44px\"\r\n            >\r\n              {addShowMoreButton()}\r\n            </Box>\r\n          }\r\n          {mobileScreen()}\r\n        </>\r\n        :\r\n        (<div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n          <CircularProgress />\r\n        </div>)\r\n      }\r\n    </>\r\n  );\r\n};\r\n\r\nexport default Activities;\r\n","import { useState } from \"react\";\r\n\r\nconst useFilters = (initialValues) => {\r\n  const [values, setValues] = useState(initialValues);\r\n  const [errors, setErrors] = useState({});\r\n\r\n  const handleChange = (e) => {\r\n    const { name, value } = e.target;\r\n\r\n    setValues({ ...values, [name]: value });\r\n  };\r\n\r\n  return { values, setValues, errors, setErrors, handleChange };\r\n};\r\n\r\nexport default useFilters;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function setSelectedFiltersCartilla(selectedFilters) {\r\n  return {\r\n    type: actionTypes.SET_SELECTED_FILTERS_VALUES,\r\n    payload: selectedFilters,\r\n  };\r\n}\r\n\r\nexport function setModelFiltersCartilla(modelSelected) {\r\n  return {\r\n    type: actionTypes.SET_MODEL_FILTERS_VALUES,\r\n    payload: modelSelected,\r\n  };\r\n}\r\n\r\nexport function getPrestadoresCartilla(filtersCartilla) {\r\n  return {\r\n    type: actionTypes.GET_PRESTADORES_CARTILLA,\r\n    payload: filtersCartilla,\r\n  };\r\n}\r\n\r\nexport function getFiltersValues(param) {\r\n  return {\r\n    type: actionTypes.GET_FILTERS_VALUES,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getLocalidadesBarrios(codigo) {\r\n  return {\r\n    type: actionTypes.GET_LOCALIDADES_BARRIOS,\r\n    payload: codigo,\r\n  };\r\n}\r\n\r\nexport function getEspecialidadesEstudios(codigo) {\r\n  return {\r\n    type: actionTypes.GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS,\r\n    payload: codigo,\r\n  };\r\n}\r\n\r\nexport function getPerfilCompleto(providerCode) {\r\n  return {\r\n    type: actionTypes.GET_PERFIL_COMPLETO,\r\n    payload: providerCode,\r\n  };\r\n}\r\n\r\nexport const getDataFailure = (error) => {\r\n  return {\r\n    type: actionTypes.SEND_REQUEST_FAILURE,\r\n    payload: {},\r\n    error: error,\r\n  };\r\n};\r\n\r\nexport const cleanModelMedicalRecords = () => {\r\n  return {\r\n    type: actionTypes.CLEAN_MODEL_MEDICAL_RECORDS,\r\n    payload: ''\r\n  };\r\n};\r\n\r\nexport const setLoadingSearchMedicalRecord = (param) => {\r\n  return {\r\n    type: actionTypes.SET_LOADING_MEDICAL_RECORDS,\r\n    payload: param\r\n  };\r\n};\r\n\r\nexport const cleanPerfilCompleto = () => {\r\n  return {\r\n    type: actionTypes.CLEAN_PERFIL_COMPLETO,\r\n    payload: ''\r\n  };\r\n};","import {\r\n  FormHelperText,\r\n  TextField,\r\n  Autocomplete as MuiAutocomplete,\r\n} from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport \"./autocomplete.css\";\r\n\r\nconst Autocomplete = (props) => {\r\n  const {\r\n    label,\r\n    name,\r\n    value,\r\n    option,\r\n    customClass,\r\n    onChange,\r\n    error,\r\n    selected,\r\n    loading,\r\n    autocompleteProp,\r\n    ...other\r\n  } = props;\r\n  const classes = useStyles();\r\n\r\n  const fun = (params) => {\r\n    params.inputProps.autoComplete = autocompleteProp;\r\n    return (\r\n      <TextField\r\n        name={name}\r\n        label={label}\r\n        variant=\"outlined\"\r\n        autoComplete='nope'\r\n        className={`${classes.buttonsHeadersFilters} ${classes.textBtnFilter} ${customClass}`}\r\n        id=\"combo\"\r\n        {...params}\r\n      />\r\n    );\r\n  };\r\n  return (\r\n    <>\r\n      <MuiAutocomplete\r\n        clearOnEscape\r\n        options={option}\r\n        getOptionLabel={(optionVal) => optionVal?.itemDescripcion}\r\n        autoComplete\r\n        value={selected ? selected : option?.itemCodigo}\r\n        onChange={onChange}\r\n        className={`${classes.buttonsHeadersFilters}`}\r\n        name={name}\r\n        loading={loading} /* Verificar, si viene vacio deja de cargar */\r\n        {...other}\r\n        renderInput={(params) => fun(params)}\r\n        id=\"combo-box-filters\"\r\n      />\r\n      {error !== \"\" ? (\r\n        <FormHelperText className={classes.errorText}>{error}</FormHelperText>\r\n      ) : (\r\n        \"\"\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default Autocomplete;\r\n","import { Grid, TextField } from \"@material-ui/core\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport Autocomplete from \"../../controls/Autocomplete/Autocomplete\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst MedicalForm = (props) => {\r\n    const { handleSubmit, setOptionsCartilla, planes, errors,\r\n        zonas, tipoPrestador,\r\n        loading, userPlan, filtersCartilla,\r\n        handleCleanSearch, modelCartilla,\r\n        selectedValues,\r\n        setModelCartilla,\r\n        disableAlphabeticSearch,\r\n        setSelectedValues, disableZone, values,\r\n        disableCity, disableProvider, disable,\r\n        btnDisabled, setValues } = props;\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const [resetLocaltiesSelection, setResetLocaltiesSelection] = useState(0);\r\n\r\n    function Responsive() {\r\n        let width = screen.sWidth;\r\n        if (width <= 1000) return `${classes.divFiltersMobile} `;\r\n    }\r\n\r\n    function disableFunction(propDisabled) {\r\n        return propDisabled ? classes.disableTextField : classes.enableTextField;\r\n    }\r\n\r\n    function setOptionsCity(filtersCartillaValues) {\r\n        if (filtersCartillaValues.localidadesBarrios?.localidadBarrio !== undefined) {\r\n            var localities;\r\n            localities = filtersCartillaValues.localidadesBarrios?.localidadBarrio.sort(function (a, b) {\r\n                if (a.itemDescripcion > b.itemDescripcion) {\r\n                  return 1;\r\n                }\r\n                if (a.itemDescripcion < b.itemDescripcion) {\r\n                  return -1;\r\n                }\r\n                return 0;\r\n              });\r\n            return localities;\r\n        } else {\r\n            return [\"\"];\r\n        }\r\n    }\r\n\r\n    function setOptionsEspecialidadesEstudios(filtersCartillaEstudiosValues) {\r\n        if (\r\n            filtersCartillaEstudiosValues.especialidadesEstudios\r\n                ?.especialidadesEstudios !== undefined\r\n        ) {\r\n            return filtersCartillaEstudiosValues.especialidadesEstudios\r\n                ?.especialidadesEstudios;\r\n        } else {\r\n            return [\"\"];\r\n        }\r\n    }\r\n\r\n    function verifyZone(zoneValue) {\r\n        if (zoneValue === \"101\") {\r\n            return \"BARRIO\";\r\n        } else if (zoneValue === null) {\r\n            return \"LOCALIDAD/BARRIO\";\r\n        } else {\r\n            return \"LOCALIDAD\";\r\n        }\r\n    }\r\n\r\n    function verifyLabelEspecialidad(providerValue) {\r\n        if (providerValue === \"140\") {\r\n            return \"ESTUDIOS COMPLEMENTARIOS\";\r\n        } else {\r\n            return \"ESPECIALIDAD\";\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        setResetLocaltiesSelection(prev => prev + 1);\r\n    }, [selectedValues?.zone])\r\n\r\n    return (\r\n        <Fragment>\r\n            <form\r\n                style={{ flexWrap: \"wrap\" }}\r\n                className={`${classes.divFilterBtn} ${Responsive()}`}\r\n                onSubmit={handleSubmit}\r\n            >\r\n                <>\r\n                    <Grid className={classes.gridContainerCartilla} container>\r\n                        <Grid\r\n                            item\r\n                            xl={8}\r\n                            md={8}\r\n                            xs={12}\r\n                            sm={6}\r\n                            style={{ padding: \"10px 10px\", maxWidth: '300px' }}\r\n                        >\r\n                            <Autocomplete\r\n                                autocompleteProp='nope'\r\n                                label=\"PLAN\"\r\n                                name=\"plan\"\r\n                                option={planes}\r\n                                customClass={classes.enableTextField}\r\n                                onChange={(event, newValue) => {\r\n                                    setOptionsCartilla(\r\n                                        \"plan\",\r\n                                        \"FiltroPlan\",\r\n                                        newValue,\r\n                                        \"string\"\r\n                                    );\r\n                                }}\r\n                                error={errors.plan}\r\n                                loading={loading}\r\n                                selected={userPlan}\r\n                            />\r\n                        </Grid>\r\n                        <Grid\r\n                            item\r\n                            xl={8}\r\n                            md={8}\r\n                            xs={12}\r\n                            sm={6}\r\n                            style={{ padding: \"10px 10px\", maxWidth: '300px' }}\r\n                        >\r\n                            <Autocomplete\r\n                                autocompleteProp='nope'\r\n                                label=\"ZONA\"\r\n                                name=\"zone\"\r\n                                option={zonas}\r\n                                onChange={(event, newValue) => {\r\n                                    setOptionsCartilla(\"zone\", \"FiltroZona\", newValue, \"int\");\r\n                                }}\r\n                                error={errors.zone}\r\n                                loading={loading}\r\n                                disabled={disableZone}\r\n                                customClass={disableFunction(disableZone)}\r\n                                selected={{ itemCodigo: modelCartilla?.FiltroZona, itemDescripcion: selectedValues?.zone }}\r\n                            />\r\n                        </Grid>\r\n                        <Grid\r\n                            item\r\n                            xl={8}\r\n                            md={8}\r\n                            xs={12}\r\n                            sm={6}\r\n                            style={{ padding: \"10px 10px\", maxWidth: '300px' }}\r\n                        >\r\n                            <div style={{ marginTop: '5px', color: 'red', fontSize:'12px' , marginLeft:'15px'}}>\r\n                                {selectedValues.city.length >= 5 ? \"Máximo a seleccionar 5 localidades\" : \"\"}\r\n                            </div>\r\n                            <Autocomplete\r\n                                key={resetLocaltiesSelection} \r\n                                disableCloseOnSelect\r\n                                autocompleteProp='nope'\r\n                                label={verifyZone(values?.zone)}\r\n                                name=\"city\"\r\n                                disabled={disableCity}\r\n                                customClass={disableFunction(disableCity)}\r\n                                option={setOptionsCity(filtersCartilla)}\r\n                                onChange={(event, newValue) => {\r\n                                    setOptionsCartilla(\r\n                                        \"city\",\r\n                                        \"FiltroLocalidad\",\r\n                                        newValue,\r\n                                        \"array\"\r\n                                    );\r\n                                }}\r\n                                error={errors?.city}\r\n                                loading={loading}\r\n                                selectedValues={selectedValues?.city}\r\n                                multiple\r\n                                sx={{\r\n                                    '& .MuiAutocomplete-tag': {\r\n                                      color: '#0075C9',\r\n                                      backgroundColor: '#f2f2f2'\r\n                                    },\r\n                                    '& .MuiChip-deleteIcon': {\r\n                                        color: '#0075C9 !important'\r\n                                    }\r\n                                }}\r\n                            />\r\n                        </Grid>\r\n                        <Grid\r\n                            item\r\n                            xl={8}\r\n                            md={8}\r\n                            xs={12}\r\n                            sm={6}\r\n                            style={{ padding: \"10px 10px\", maxWidth: '300px' }}\r\n                        >\r\n                            <Autocomplete\r\n                                autocompleteProp='nope'\r\n                                label=\"TIPO DE PRESTADOR\"\r\n                                name=\"provider\"\r\n                                option={tipoPrestador}\r\n                                onChange={(event, newValue) => {\r\n                                    setOptionsCartilla(\r\n                                        \"provider\",\r\n                                        \"FiltroTipoPrestador\",\r\n                                        newValue,\r\n                                        \"string\"\r\n                                    );\r\n                                }}\r\n                                error={errors.provider}\r\n                                disabled={disableProvider}\r\n                                customClass={disableFunction(disableProvider)}\r\n                                selected={{ itemCodigo: modelCartilla?.FiltroTipoPrestador, itemDescripcion: selectedValues?.provider?.trim() }}\r\n                            />\r\n                        </Grid>\r\n                        <Grid\r\n                            item\r\n                            xl={8}\r\n                            md={8}\r\n                            xs={12}\r\n                            sm={6}\r\n                            style={{ padding: \"10px 10px\", maxWidth: '300px' }}\r\n                        >\r\n                            <Autocomplete\r\n                                autocompleteProp='nope'\r\n                                label={verifyLabelEspecialidad(values.provider)}\r\n                                name=\"department\"\r\n                                disabled={disable}\r\n                                customClass={disableFunction(disable)}\r\n                                option={setOptionsEspecialidadesEstudios(filtersCartilla)}\r\n                                onChange={(event, newValue) => {\r\n                                    if (values.provider === \"140\") {\r\n                                        setOptionsCartilla(\r\n                                            \"department\",\r\n                                            \"FiltroEstudioComplementario\",\r\n                                            newValue,\r\n                                            \"int\"\r\n                                        );\r\n                                    } else {\r\n                                        setOptionsCartilla(\r\n                                            \"department\",\r\n                                            \"FiltroEspecialidad\",\r\n                                            newValue,\r\n                                            \"string\"\r\n                                        );\r\n                                    }\r\n                                }}\r\n                                error={errors.department}\r\n                                loading={loading}\r\n                                selected={{ itemCodigo: modelCartilla?.FiltroEspecialidad, itemDescripcion: selectedValues?.department?.trim() }}\r\n                            />\r\n                        </Grid>\r\n                        <Grid\r\n                            item\r\n                            xl={8}\r\n                            md={8}\r\n                            xs={12}\r\n                            sm={6}\r\n                            style={{ padding: \"10px 10px\", maxWidth: '300px' }}\r\n                        >\r\n                            <TextField\r\n                                id=\"alphabeticalSearch\"\r\n                                style={{ width: \"100%\" }}\r\n                                label=\"BUSQUEDA ALFABETICA\"\r\n                                name=\"alphabeticalSearch\"\r\n                                className={`${classes.buttonsHeadersFilters} ${classes.textBtnFilter} ${disableFunction(disableAlphabeticSearch)}`}\r\n                                onChange={(event) => {\r\n                                    setValues({\r\n                                        ...values,\r\n                                        alphabeticalSearch: event.target.value,\r\n                                    });\r\n                                    setSelectedValues({\r\n                                        ...selectedValues,\r\n                                        alphabeticalSearch: event.target.value,\r\n                                    });\r\n                                    setModelCartilla({\r\n                                        ...modelCartilla,\r\n                                        FiltroRazonSocial: event.target.value,\r\n                                    });\r\n                                }}\r\n                                value={values.alphabeticalSearch}\r\n                                disabled={disableAlphabeticSearch}\r\n                            />\r\n                        </Grid>\r\n                    </Grid>\r\n                    <Grid\r\n                        xl={12}\r\n                        style={{\r\n                            display: \"flex\",\r\n                            justifyContent: \"center\",\r\n                            padding: \"20px 0px\",\r\n                            flex: \"0 0 100%\",\r\n                            flexWrap: 'wrap'\r\n                        }}\r\n                    >\r\n                        <CustomButton\r\n                            typeButton=\"header\"\r\n                            type=\"submit\"\r\n                            title=\"BUSCAR\"\r\n                            disabled={btnDisabled}\r\n                            customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                            style={{ margin: '8px' }}\r\n                        />\r\n                        <CustomButton\r\n                            typeButton=\"header\"\r\n                            onClick={handleCleanSearch}\r\n                            title=\"LIMPIAR\"\r\n                            customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                            style={{ margin: '8px' }}\r\n                        />\r\n                    </Grid>\r\n                </>\r\n            </form>\r\n        </Fragment>\r\n    );\r\n};\r\n\r\nexport default React.memo(MedicalForm);","import React, { useEffect, useState } from \"react\";\r\nimport useFilters from \"../../hooks/useFilters\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport \"./medicalFilters.css\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n  cleanPerfilCompleto,\r\n  getEspecialidadesEstudios,\r\n  getLocalidadesBarrios,\r\n  getPrestadoresCartilla,\r\n  setLoadingSearchMedicalRecord,\r\n  setModelFiltersCartilla,\r\n  setSelectedFiltersCartilla\r\n} from \"../../redux/actions/medicalRecords\";\r\nimport { useHistory } from \"react-router\";\r\nimport { isAuthenticated } from \"../../utils/utilsFunctions\";\r\nimport MedicalForm from \"./MedicalForm\";\r\n\r\nconst modelFiltersCartilla = {\r\n  Titular: null,\r\n  Miembro: window.localStorage.getItem('numeroPersona'),\r\n  FiltroTipoPrestador: \"\",\r\n  FiltroEspecialidad: 0,\r\n  FiltroEstudioComplementario: 0,\r\n  FiltroPlan: 0,\r\n  FiltroZona: 0,\r\n  FiltroLocalidad: [],\r\n  FiltroRazonSocial: \"\",\r\n  Count: 0,\r\n  Skip: 0,\r\n};\r\n\r\nconst filtersSelected = {\r\n  plan: \"\",\r\n  zone: \"\",\r\n  city: \"\",\r\n  provider: \"\",\r\n  department: \"\",\r\n  alphabeticalSearch: \"\",\r\n};\r\n\r\nconst MedicalFilters = ({ isMobile, setNotFound, loadingSearch, setLoadingSearch }) => {\r\n  const dispatch = useDispatch();\r\n  const filtersCartilla = useSelector((state) => state.cartillaReducer);\r\n  const resizeScreen = useResizeScreen();\r\n  const { values, setValues, errors, setErrors } = useFilters(filtersCartilla.filters);\r\n  const [modelCartilla, setModelCartilla] = useState(modelFiltersCartilla);\r\n  const [selectedValues, setSelectedValues] = useState(filtersSelected);\r\n  const [btnDisabled, setBtnDisabled] = useState(false);\r\n  const [disable, setDisable] = useState(true);\r\n  const [loading, setLoading] = useState(false);\r\n  const [disableCity, setDisableCity] = useState(true);\r\n  const personalDataReducer = useSelector(state => state.personalDataReducer);\r\n  const [userPlan, setUserPlan] = useState({ value: \"\", label: \"\" });\r\n  const [disableZone, setDisableZone] = useState(true);\r\n  const [count, setCount] = useState(0);\r\n  const [disableProvider, setDisableProvider] = useState(true);\r\n  const [disableAlphabeticSearch, setDisableAlphabeticSearch] = useState(true);\r\n  const history = useHistory();\r\n  const [planes, setPlanes] = useState([{ itemCodigo: 0, itemDescripcion: '' }]);\r\n  const [zonas, setZonas] = useState([{ itemCodigo: 0, itemDescripcion: '' }]);\r\n  const [tipoPrestador, setTipoPrestador] = useState([{ itemCodigo: 0, itemDescripcion: '' }]);\r\n\r\n  const handleSubmit = (e) => {\r\n    e.preventDefault();\r\n    validateSubmit({ dispatch, setNotFound, setBtnDisabled, values, setErrors, modelCartilla, selectedValues, history, setModelCartilla });\r\n  };\r\n\r\n  const resetLocalidadBarrio = () => {\r\n    setValues({ ...values, city: \"\" });\r\n    setModelCartilla({\r\n      ...modelCartilla,\r\n      FiltroLocalidad: [],\r\n    });\r\n    setSelectedValues({\r\n      ...selectedValues,\r\n      city: \"\",\r\n    });\r\n  };\r\n\r\n  const setOptionsCartilla = (name, nameModel, newValueItem, typeValue) => {\r\n    setValueFunction({\r\n      name, nameModel, newValueItem, typeValue, dispatch, setValues,\r\n      values, setModelCartilla, modelCartilla, setSelectedValues, selectedValues, setUserPlan, count\r\n    });\r\n  };\r\n\r\n  const handleCleanSearch = () => {\r\n    setSelectedValues(filtersSelected);\r\n    setValues({\r\n      alphabeticalSearch: \"\",\r\n      city: \"\",\r\n      department: \"\",\r\n      plan: \"\",\r\n      provider: \"\",\r\n      zone: 0\r\n    });\r\n    dispatch(setSelectedFiltersCartilla({\r\n      alphabeticalSearch: \"\",\r\n      city: \"\",\r\n      department: \"\",\r\n      plan: \"\",\r\n      provider: \"\",\r\n      zone: \"\",\r\n    }));\r\n    dispatch(setModelFiltersCartilla({\r\n      Count: 0,\r\n      FiltroEspecialidad: 0,\r\n      FiltroEstudioComplementario: 0,\r\n      FiltroLocalidad: [],\r\n      FiltroPlan: \"\",\r\n      FiltroRazonSocial: \"\",\r\n      FiltroTipoPrestador: \"\",\r\n      FiltroZona: 0,\r\n      Miembro: \"\",\r\n    }));\r\n    setUserPlan({ itemCodigo: '', itemDescripcion: '' });\r\n    dispatch(cleanPerfilCompleto());\r\n  };\r\n\r\n  const validateLocalStorage = () => {\r\n    if (window.localStorage.getItem(\"modelCartilla\") && window.localStorage.getItem(\"selectedValues\") && window.localStorage.getItem(\"values\")) {\r\n      let auxSelected = JSON.parse(window.localStorage.getItem(\"selectedValues\"));\r\n      let auxModelCartilla = JSON.parse(window.localStorage.getItem(\"modelCartilla\"));\r\n      setSelectedValues(auxSelected);\r\n      setModelCartilla(auxModelCartilla);\r\n      setValues(JSON.parse(window.localStorage.getItem(\"values\")));\r\n      setUserPlan({ itemCodigo: auxModelCartilla?.FiltroPlan, itemDescripcion: auxSelected?.plan });\r\n    } else {\r\n      setUserPlan(null);\r\n    }\r\n  };\r\n\r\n  const resetCity = () => {\r\n    if (!validateLocalStorageBool()) {\r\n      setValues({ ...values, city: '' });\r\n      setModelCartilla({\r\n        ...modelCartilla,\r\n        FiltroLocalidad: []\r\n      });\r\n      setSelectedValues({\r\n        ...selectedValues,\r\n        city: ''\r\n      });\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    validateLocalStorage();\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    setBtnDisabled(false);\r\n    setNotFoundFunction(resizeScreen, setNotFound);\r\n  }, [selectedValues]);\r\n\r\n  useEffect(() => {\r\n    setLoadingFunction(filtersCartilla, setLoading);\r\n  }, [filtersCartilla.filters]);\r\n\r\n  useEffect(() => {\r\n    if (values?.plan > 0) {\r\n      setDisableZone(false);\r\n    } else {\r\n      setDisableZone(true);\r\n      setDisableProvider(true);\r\n      setDisableCity(true);\r\n      setDisableAlphabeticSearch(true);\r\n      setDisable(true);\r\n      if (!validateLocalStorageBool()) {\r\n        resetLocalidadBarrio();\r\n        resetEstudiosEspecialidadValues(setValues, values, setSelectedValues, selectedValues, setModelCartilla, modelCartilla);\r\n      }\r\n    }\r\n  }, [values?.plan]);\r\n\r\n  useEffect(() => {\r\n    if (values?.zone > 0) {\r\n      setDisableCity(false);\r\n    } else {\r\n      setDisableProvider(true);\r\n      setDisableCity(true);\r\n      setDisableAlphabeticSearch(true);\r\n      setDisable(true);\r\n      if (!validateLocalStorageBool()) {\r\n        resetLocalidadBarrio();\r\n        resetEstudiosEspecialidadValues(setValues, values, setSelectedValues, selectedValues, setModelCartilla, modelCartilla);\r\n      }\r\n    }\r\n    resetCity();\r\n  }, [values?.zone]);\r\n\r\n  useEffect(() => {\r\n    if (values?.city !== null && values?.city?.length > 0) {\r\n      setDisableProvider(false);\r\n    } else {\r\n      setDisableProvider(true);\r\n      setDisableAlphabeticSearch(true);\r\n      setDisable(true);\r\n      if (!validateLocalStorageBool()) {\r\n        resetLocalidadBarrio();\r\n        resetEstudiosEspecialidadValues(setValues, values, setSelectedValues, selectedValues, setModelCartilla, modelCartilla);\r\n      }\r\n    }\r\n  }, [values?.city]);\r\n\r\n  useEffect(() => {\r\n    if (values.provider > 0) {\r\n      setDisable(false);\r\n      setDisableAlphabeticSearch(false);\r\n    } else {\r\n      setDisable(true);\r\n      setDisableAlphabeticSearch(true);\r\n      if (!validateLocalStorageBool()) {\r\n        resetEstudiosEspecialidadValues(setValues, values, setSelectedValues, selectedValues, setModelCartilla, modelCartilla);\r\n      }\r\n    }\r\n    validatePharmacyAndOptics(setDisable, values, modelCartilla, setModelCartilla, selectedValues, setSelectedValues, setValues);\r\n  }, [values?.provider]);\r\n\r\n  useEffect(() => {\r\n    if (window.localStorage.getItem(\"numeroPersona\") && Object.values(personalDataReducer?.fullData).length > 0) {\r\n      let userPlanAux = {\r\n        itemCodigo: personalDataReducer?.fullData?.afiliado?.planCodigo.toString(),\r\n        itemDescripcion: personalDataReducer?.fullData?.afiliado?.planDescripcion?.trim()\r\n      };\r\n\r\n      setUserPlan(userPlanAux);\r\n      setOptionsCartilla(\r\n        \"plan\",\r\n        \"FiltroPlan\",\r\n        userPlanAux,\r\n        \"string\"\r\n      );\r\n    }\r\n  }, [personalDataReducer?.fullData]);\r\n\r\n  useEffect(() => {\r\n    if (userPlan?.itemCodigo !== '') {\r\n      setDisableZone(false);\r\n      setCount(prevState => prevState + 1);\r\n    }\r\n  }, [userPlan]);\r\n\r\n  useEffect(() => {\r\n    if (filtersCartilla?.filters?.plan?.length > 0) {\r\n      let aux = [];\r\n      if (isAuthenticated()) {\r\n        filtersCartilla.filters.plan.map(item => {\r\n          let plan = { itemCodigo: item.planCodigo, itemDescripcion: item.planDescripcion.trim() };\r\n          aux.push(plan);\r\n        });\r\n      } else {\r\n        filtersCartilla.filters.plan.filter(x => x.planVisibleSinLogueo === true).map(item => {\r\n          let plan = { itemCodigo: item.planCodigo, itemDescripcion: item.planDescripcion.trim() };\r\n          aux.push(plan);\r\n        });\r\n      }\r\n      let aux2 = [];\r\n      filtersCartilla.filters.zona.map(item => {\r\n        let zona = { itemCodigo: item.zonaCodigo, itemDescripcion: item.zonaDescripcion.trim() };\r\n        aux2.push(zona);\r\n      });\r\n      let aux3 = [];\r\n      filtersCartilla.filters.tipoPrestador.map(item => {\r\n        let prestador = { itemCodigo: item.tipoPrestadorCodigo, itemDescripcion: item.tipoPrestadorDescripcion.trim() };\r\n        aux3.push(prestador);\r\n      });\r\n      setPlanes(aux);\r\n      setZonas(aux2);\r\n      setTipoPrestador(aux3);\r\n    }\r\n  }, [filtersCartilla.filters]);\r\n\r\n  return (\r\n    <>\r\n      {!isMobile && filtersCartilla.filters !== undefined &&\r\n        (\r\n          <MedicalForm\r\n            handleSubmit={handleSubmit}\r\n            setOptionsCartilla={setOptionsCartilla}\r\n            planes={planes} errors={errors}\r\n            setPlanes={setPlanes}\r\n            zonas={zonas} tipoPrestador={tipoPrestador}\r\n            setZonas={setZonas}\r\n            setTipoPrestador={setTipoPrestador}\r\n            loading={loading}\r\n            userPlan={userPlan}\r\n            filtersCartilla={filtersCartilla}\r\n            handleCleanSearch={handleCleanSearch}\r\n            modelCartilla={modelCartilla}\r\n            selectedValues={selectedValues}\r\n            setModelCartilla={setModelCartilla}\r\n            disableAlphabeticSearch={disableAlphabeticSearch}\r\n            setSelectedValues={setSelectedValues}\r\n            disableZone={disableZone}\r\n            values={values}\r\n            disableCity={disableCity}\r\n            disableProvider={disableProvider}\r\n            disable={disable}\r\n            btnDisabled={btnDisabled}\r\n            setValues={setValues}\r\n          />\r\n        )\r\n      }\r\n    </>\r\n  );\r\n};\r\nexport default React.memo(MedicalFilters);\r\n\r\nfunction validateValues(filterValues) {\r\n  let temp = {};\r\n  temp.plan = filterValues.plan > 0 ? \"\" : \"*Campo obligatorio\";\r\n  temp.zone = filterValues.zone > 0 ? \"\" : \"*Campo obligatorio\";\r\n  temp.city = filterValues.city && filterValues.city.length > 0 ? \"\" : '*Campo obligatorio';\r\n  temp.provider = filterValues.provider && filterValues.provider.length > 0 ? \"\" : \"*Campo obligatorio\";\r\n  if (filterValues.provider === '070' || filterValues.provider === '160' || filterValues.provider === '210') {\r\n    temp.department = '';\r\n  } else {\r\n    temp.department = filterValues.department && filterValues.department.length > 0 ? \"\" : \"*Campo obligatorio\";\r\n  }\r\n  return temp;\r\n}\r\n\r\nfunction validatePharmacyAndOptics(setDisable, values, modelCartilla, setModelCartilla, selectedValues, setSelectedValues, setValues) {\r\n  if (values.provider === '070' || values.provider === '160' || values.provider === '210') {\r\n    setDisable(true);\r\n  }\r\n  if (!validateLocalStorageBool()) {\r\n    setModelCartilla({ ...modelCartilla, FiltroEspecialidad: null });\r\n    setValues({ ...values, department: '' });\r\n    setSelectedValues({\r\n      ...selectedValues,\r\n      department: '',\r\n    });\r\n  }\r\n}\r\n\r\nfunction validateSubmit({ dispatch, setNotFound, setBtnDisabled, values, setErrors, modelCartilla, selectedValues, history, setModelCartilla }) {\r\n  if (validate(values, setErrors)) {\r\n    dispatch(cleanPerfilCompleto());\r\n    dispatch(setLoadingSearchMedicalRecord(true));\r\n    setNotFound(true);\r\n    setBtnDisabled(true);\r\n    dispatch(getPrestadoresCartilla(modelCartilla));\r\n    dispatch(setSelectedFiltersCartilla(selectedValues));\r\n    dispatch(setModelFiltersCartilla(modelCartilla));\r\n    let aux = {};\r\n    aux.city = values.city;\r\n    aux.department = values.department;\r\n    aux.plan = values.plan;\r\n    aux.provider = values.provider;\r\n    aux.zone = values.zone;\r\n    window.localStorage.setItem(\"modelCartilla\", JSON.stringify(modelCartilla));\r\n    window.localStorage.setItem(\"selectedValues\", JSON.stringify(selectedValues));\r\n    window.localStorage.setItem(\"values\", JSON.stringify(aux));\r\n    history.push('/MedicalRecords?type=Records');\r\n  }\r\n}\r\n\r\nfunction setLoadingFunction(filtersCartilla, setLoading) {\r\n  if (filtersCartilla.filters != undefined) {\r\n    setLoading(true);\r\n  }\r\n}\r\n\r\nfunction validateLocalStorageBool() {\r\n  let response = false;\r\n  if (window.localStorage.getItem(\"modelCartilla\") && window.localStorage.getItem(\"selectedValues\") && window.localStorage.getItem(\"values\")) {\r\n    response = true;\r\n  }\r\n  return response;\r\n}\r\n\r\nconst changeLocalties = props => {\r\n  const {\r\n    values, name, newValueItem, modelCartilla,\r\n    nameModel, selectedValues, setModelCartilla,\r\n    setSelectedValues, setValues\r\n  } = props;\r\n\r\n  if (newValueItem?.length > 5) {\r\n    newValueItem?.pop();\r\n  }\r\n\r\n  setValues({ ...values, [name]: newValueItem?.map(item => item?.itemCodigo) });\r\n\r\n  setModelCartilla({\r\n    ...modelCartilla,\r\n    [nameModel]: newValueItem?.map(item => Number.parseInt(item?.itemCodigo)),\r\n  });\r\n\r\n  setSelectedValues({\r\n    ...selectedValues,\r\n    [name]: newValueItem?.map(item => item?.itemDescripcion)?.join(', '),\r\n  });\r\n}\r\n\r\nconst changeIntInputs = props => {\r\n  const {\r\n    values, name, newValueItem, modelCartilla,\r\n    nameModel, selectedValues, setModelCartilla,\r\n    setSelectedValues, setValues, dispatch\r\n  } = props;\r\n\r\n  setValues({ ...values, [name]: newValueItem?.itemCodigo });\r\n\r\n  setModelCartilla({\r\n    ...modelCartilla,\r\n    [nameModel]: Number.parseInt(newValueItem?.itemCodigo),\r\n  });\r\n\r\n  setSelectedValues({\r\n    ...selectedValues,\r\n    [name]: newValueItem?.itemDescripcion,\r\n  });\r\n\r\n  if (name === \"zone\") {\r\n    dispatch(getLocalidadesBarrios(newValueItem?.itemCodigo));\r\n  }\r\n}\r\n\r\nconst changeStringInputs = props => {\r\n  const {\r\n    values, name, newValueItem, modelCartilla,\r\n    nameModel, selectedValues, setModelCartilla,\r\n    setSelectedValues, setValues, dispatch, setUserPlan\r\n  } = props;\r\n\r\n  setValues({ ...values, [name]: newValueItem?.itemCodigo });\r\n\r\n  setModelCartilla({\r\n    ...modelCartilla,\r\n    [nameModel]: newValueItem?.itemCodigo,\r\n  });\r\n\r\n  setSelectedValues({\r\n    ...selectedValues,\r\n    [name]: newValueItem?.itemDescripcion,\r\n  });\r\n\r\n  if (name === \"provider\") {\r\n    dispatch(getEspecialidadesEstudios(newValueItem?.itemCodigo));\r\n  } else if (name === \"plan\") {\r\n    setUserPlan({ itemCodigo: newValueItem?.itemCodigo, itemDescripcion: newValueItem?.itemDescripcion });\r\n  }\r\n}\r\n\r\nconst resetValues = props => {\r\n  const {\r\n    setValues, values, setSelectedValues,\r\n    selectedValues, setModelCartilla, modelCartilla, name,\r\n    nameModel, newValueItem, count, setUserPlan\r\n  } = props;\r\n\r\n  if (name === \"department\") {\r\n    resetEstudiosEspecialidadValues(setValues, values, setSelectedValues, selectedValues, setModelCartilla, modelCartilla);\r\n  } else {\r\n    if (name === \"plan\" && count > 0) {\r\n      setUserPlan({ itemCodigo: '', itemDescripcion: '' });\r\n    }\r\n    let aux = newValueItem;\r\n\r\n    if (aux == null) {\r\n      aux = '';\r\n    }\r\n\r\n    if (name === \"zone\") {\r\n      setValues({ ...values, [name]: aux, city: \"\", FiltroLocalidad: [] });\r\n\r\n      setModelCartilla({\r\n        ...modelCartilla,\r\n        [nameModel]: aux,\r\n        FiltroLocalidad: [],\r\n        city: \"\"\r\n      });\r\n\r\n      setSelectedValues({\r\n        ...selectedValues,\r\n        [name]: aux,\r\n        city: \"\",\r\n        FiltroLocalidad: [],\r\n      });\r\n    } else if (name === \"provider\") {\r\n      setValues({ ...values, department: '', [name]: aux });\r\n\r\n      setModelCartilla({\r\n        ...modelCartilla,\r\n        FiltroEstudioComplementario: 0,\r\n        FiltroEspecialidad: null,\r\n        [nameModel]: aux,\r\n      });\r\n\r\n      setSelectedValues({\r\n        ...selectedValues,\r\n        provider: '',\r\n        [name]: aux,\r\n      });\r\n    }\r\n    else {\r\n      setValues({ ...values, [name]: aux, FiltroLocalidad: [], city : \"\", zone: [] });\r\n\r\n      setModelCartilla({\r\n        ...modelCartilla,\r\n        [nameModel]: aux,\r\n        FiltroLocalidad: [],\r\n        city : \"\",\r\n      });\r\n\r\n      setSelectedValues({\r\n        ...selectedValues,\r\n        [name]: aux,\r\n        FiltroLocalidad: [],\r\n        city : \"\",\r\n      });\r\n    }\r\n  }\r\n}\r\n\r\nfunction setValueFunction(props) {\r\n  const { newValueItem, typeValue } = props;\r\n\r\n  if (newValueItem !== null) {\r\n    switch (typeValue) {\r\n      case \"array\":\r\n        changeLocalties(props);\r\n        break;\r\n\r\n      case \"int\":\r\n        changeIntInputs(props);\r\n        break;\r\n\r\n      case \"string\":\r\n        changeStringInputs(props);\r\n        break;\r\n\r\n      default:\r\n        break;\r\n    }\r\n  } else {\r\n    resetValues(props);\r\n  }\r\n  resetLocalStorage();\r\n}\r\n\r\nfunction resetLocalStorage() {\r\n  window.localStorage.removeItem(\"modelCartilla\");\r\n  window.localStorage.removeItem(\"selectedValues\");\r\n  window.localStorage.removeItem(\"values\");\r\n}\r\n\r\nfunction validate(values, setErrors) {\r\n  let temp = validateValues(values);\r\n  setErrors({\r\n    ...temp,\r\n  });\r\n  return Object.values(temp).every((value) => value == \"\");\r\n}\r\n\r\nfunction setNotFoundFunction(resizeScreen, setNotFound) {\r\n  if (resizeScreen.screen.sWidth > 768) {\r\n    setNotFound(false);\r\n  }\r\n}\r\n\r\nfunction resetEstudiosEspecialidadValues(setValues, values, setSelectedValues, selectedValues, setModelCartilla, modelCartilla) {\r\n  setValues({ ...values, department: null });\r\n  setSelectedValues({\r\n    ...selectedValues,\r\n    department: \"\",\r\n  });\r\n\r\n  setModelCartilla({\r\n    ...modelCartilla,\r\n    FiltroEstudioComplementario: 0,\r\n  });\r\n\r\n  setModelCartilla({\r\n    ...modelCartilla,\r\n    FiltroEspecialidad: 0,\r\n  });\r\n}","import { Typography, IconButton } from \"@material-ui/core\";\r\nimport useStyles from '../../assets/styles/styles';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\n\r\nconst FormHeader = ({ title, subtitle, handleGoTo }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const setBackgroundMobile = () => {\r\n        let cssClass = '';\r\n        if (screen.sWidth <= 768)\r\n            cssClass = classes.titlePersonalDataForm;\r\n        return cssClass;\r\n    };\r\n    return (\r\n        <div\r\n            className={`${setBackgroundMobile()}`}\r\n            style={{ paddingTop: '5px', display: \"flex\", alignItems: \"center\", paddingBottom: screen.sWidth <= 768 && \"5px\", marginBottom: \"10px\" }}>\r\n            {\r\n                screen.sWidth <= 768 &&\r\n                <IconButton onClick={handleGoTo}>\r\n                    <ArrowBackIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"25px\", marginBottom: \"5px\" }} />\r\n                </IconButton>\r\n            }\r\n            <div>\r\n                <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase', paddingTop: '20px', paddingBottom: \"10px\", marginLeft: screen.sWidth < 768 ? '25px': 'auto'  }}>\r\n                    {title}\r\n                </Typography>\r\n                <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleBox}`} style={{ paddingTop: '20px', paddingBottom: \"10px\"  }}>\r\n                    {subtitle}\r\n                </Typography>\r\n            </div>\r\n        </div>);\r\n};\r\n\r\nexport default FormHeader;\r\n","import ModalActivities from \"../DialogActivities/ModalActivities\";\r\n\r\nconst SaveModal = ({ isOpen, setOpen, type, onClick, titleModal, descriptionModal, modalRegister, escapeKeyDown, backdropClick }) => {\r\n\r\n    return <>\r\n        {isOpen ?\r\n            <ModalActivities\r\n                title={titleModal}\r\n                description={descriptionModal}\r\n                open={isOpen}\r\n                onClose={setOpen}\r\n                modalconfirm={true}\r\n                modalLogout={false}\r\n                buttonType={type}\r\n                handleClick={onClick}\r\n                modalRegister={modalRegister}\r\n                disableEscapeKeyDown={escapeKeyDown}\r\n                onBackdropClick={backdropClick}\r\n            />\r\n            : \"\"}\r\n    </>;\r\n};\r\n\r\nexport default SaveModal;","import ModalActivities from \"../DialogActivities/ModalActivities\";\r\n\r\nconst ConfirmModal = ({ isOpen, setOpen, description, titleModal, errorClass, escapeKeyDown, backdropClick }) => {\r\n    return <>\r\n        {isOpen ?\r\n            <ModalActivities\r\n                style={{textAlign: \"center\"}}\r\n                title={titleModal}\r\n                description={description}\r\n                open={isOpen}\r\n                onClose={setOpen}\r\n                empty={true}\r\n                customClass={errorClass}\r\n                disableEscapeKeyDown={escapeKeyDown}\r\n                onBackdropClick={backdropClick}\r\n            />\r\n            : \"\"}\r\n    </>;\r\n};\r\n\r\nexport default ConfirmModal;","import React from 'react';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nimport { InputLabel, MenuItem, FormControl, Select, IconButton } from \"@material-ui/core\";\r\n\r\nconst CustomSelect = (props) => {\r\n    const { customClassList, btn, handleClickLabel, ...other } = props;\r\n    const screenSize = useResizeScreen();\r\n    const classes = useStyles();\r\n\r\n    function required() {\r\n        if (props.required) {\r\n            return <span style={{ color: '#ff0000' }}>*</span>;\r\n        }\r\n    }\r\n\r\n    function isBtn() {\r\n        let response = (<InputLabel className={`${classes.inputLabelSelectForms} ${props.inputLabelClass}`} shrink htmlFor=\"bootstrap-input\">\r\n            {props.label} {required()}\r\n        </InputLabel>);\r\n        if (btn) {\r\n            response = (<IconButton onClick={handleClickLabel} style={{ padding: '3px' }}>\r\n                <InputLabel className={`${classes.inputLabelSelectForms} ${props.inputLabelClass}`} shrink htmlFor=\"bootstrap-input\">\r\n                    {props.label} {required()}\r\n                </InputLabel>\r\n            </IconButton>);\r\n        }\r\n        return response;\r\n    }\r\n\r\n    return (screenSize.screen.sWidth > \"900\" ?\r\n        <FormControl {...other} sx={{ m: 1, minWidth: \"250px\" }} style={{ width: \"250px\" }}>\r\n            {isBtn()}\r\n            <Select\r\n                label=''\r\n                placeholder={props.placeholder}\r\n                className= {`${props.formControlClass}`}\r\n                name={props.name}\r\n                disabled={props.disable}\r\n                value={props.selected}\r\n                onChange={props.onChange}\r\n                displayEmpty\r\n                inputProps={{ 'aria-label': 'Without label' }}\r\n                MenuProps={{ classes: { paper: customClassList } }}\r\n\r\n            >\r\n                {props.list?.map((item, i) => (\r\n                    <MenuItem key={i} value={item.value}>{item.label}</MenuItem>\r\n                ))}\r\n\r\n            </Select>\r\n        </FormControl> :\r\n        <FormControl {...other} >\r\n            {isBtn()}\r\n            <Select disabled={props.disable} style={{ marginTop: \"15px\", width: \"90% \", marginLeft: \"5%\" }}\r\n                label=''\r\n                className= {`${props.formControlClass}`}\r\n                name={props.name}\r\n                value={props.selected}\r\n                onChange={props.onChange}\r\n                displayEmpty\r\n                inputProps={{ 'aria-label': 'Without label' }}\r\n                classes={{ root: props.customClass }}\r\n                MenuProps={{ classes: { paper: customClassList } }}\r\n\r\n            >\r\n                {props.list?.map((item, i) => (\r\n                    <MenuItem key={i} value={item.value}>{item.label}</MenuItem>\r\n                ))}\r\n\r\n            </Select>\r\n        </FormControl >\r\n    );\r\n};\r\n\r\nexport default CustomSelect","import { useEffect } from \"react\";\r\n\r\nexport default function useMessageModal(defaultModal, setMessageModal, errorMessageRedux) {\r\n    let response = {\r\n        modalTitle: defaultModal.defaultModalTitle,\r\n        modalDescription: defaultModal.defaultModalDescription,\r\n        modalIcon: defaultModal.defaultModalIcon,\r\n        modalErrorClass: defaultModal.defaultModalErrorClass\r\n    };\r\n    useEffect(() => {\r\n        if (errorMessageRedux !== '') {\r\n            response.modalTitle = setMessageModal.setModalTitle;\r\n            response.modalDescription = setMessageModal.setModalDescription;\r\n            response.modalIcon = setMessageModal.setModalIcon;\r\n            response.modalErrorClass = setMessageModal.setModalErrorClass;\r\n        }\r\n    }, [errorMessageRedux])\r\n    return response;\r\n}","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n\r\nexport function getDataWheightHeight(param) {\r\n  return {\r\n    type: actionTypes.GET_DATA_WHEIGHT_HEIGHT,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function ABWheightHeight(param) {\r\n  return {\r\n    type: actionTypes.AB_DATA_WHEIGHT_HEIGHT,\r\n    payload: param,\r\n  };\r\n}\r\n\r\n\r\nexport function ABvitalParameters(param) {\r\n  return {\r\n    type: actionTypes.AB_VITAL_PARAMETERS,\r\n    payload: param,\r\n  };\r\n}\r\nexport function getVitalParameters(param) {\r\n  return {\r\n    type: actionTypes.GET_VITAL_PARAMETERS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getAffiliateEnrollments(param) {\r\n  return {\r\n    type: actionTypes.GET_PROGRAMS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getAllergiesParams() {\r\n  return {\r\n    type: actionTypes.GET_ALLERGIES_PARAMS,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function getAffiliatedAllergies(affiliated) {\r\n  return {\r\n    type: actionTypes.GET_AFFILIATED_ALLERGIES,\r\n    payload: affiliated\r\n  };\r\n}\r\n\r\nexport function abmAllergies(allergy) {\r\n  return {\r\n    type: actionTypes.ABM_ALLERGIES,\r\n    payload: allergy\r\n  };\r\n}\r\n\r\nexport function getMDPhones(affiliated) {\r\n  return {\r\n    type: actionTypes.GET_AFFILIATED_PHONES,\r\n    payload: affiliated\r\n  };\r\n}\r\n\r\nexport function abmMDPhones(affiliated) {\r\n  return {\r\n    type: actionTypes.ABM_MD_PHONES,\r\n    payload: affiliated\r\n  };\r\n}\r\n\r\n\r\nexport function getLaboratoryStudies(param) {\r\n  return {\r\n    type: actionTypes.GET_LABORATORY_STUDIES,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getDetailLaboratoryStudies(param) {\r\n  return {\r\n    type: actionTypes.GET_DETAIL_LABORATORY_STUDIES,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function abmFactorGroup(affiliated) {\r\n  return {\r\n    type: actionTypes.ABM_FACTOR_GROUP,\r\n    payload: affiliated\r\n  };\r\n}\r\n\r\nexport function getFactorGroup(param) {\r\n  return {\r\n    type: actionTypes.GET_FACTOR_GROUP,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getGroupFactorParams() {\r\n  return {\r\n    type: actionTypes.GET_FACTOR_GROUP_PARAMS,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function abmChronicDiseases(affiliated) {\r\n  return {\r\n    type: actionTypes.ABM_CHRONIC_DISEASES,\r\n    payload: affiliated\r\n  };\r\n}\r\n\r\nexport function getChronicDiseases(param) {\r\n  return {\r\n    type: actionTypes.GET_CHRONIC_DISEASES,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getChronicDiseasesParams() {\r\n  return {\r\n    type: actionTypes.GET_CHRONIC_DISEASES_PARAMS,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function abmChronicMedication(affiliated) {\r\n  return {\r\n    type: actionTypes.ABM_CHRONIC_MEDICATION,\r\n    payload: affiliated\r\n  };\r\n}\r\n\r\nexport function getChronicMedication(param) {\r\n  return {\r\n    type: actionTypes.GET_CHRONIC_MEDICATION,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getVaccine(param) {\r\n  return {\r\n    type: actionTypes.GET_VACCINE,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getPharmaceuticalForm() {\r\n  return {\r\n    type: actionTypes.GET_PHARMACEUTICAL_FORM,\r\n    payload: ''\r\n  };\r\n}\r\n\r\n\r\nexport function getRecipe(param) {\r\n  return {\r\n    type: actionTypes.GET_RECIPE,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getAffiliateRecipeFiles(param) {\r\n  return {\r\n      type: actionTypes.GET_RECIPE_FILES,\r\n      payload: param\r\n  };\r\n}\r\n","import React, { Fragment, useEffect, useState } from 'react';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { Button, Divider, FormControl, FormHelperText } from '@material-ui/core';\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport SaveModal from '../../PersonalData/SaveModal';\r\nimport ConfirmModal from '../../PersonalData/ConfirmModal';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport ControlPointIcon from '@material-ui/icons/ControlPoint';\r\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport useMessageModal from '../../../hooks/useMessageModal';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { abmChronicDiseases } from '../../../redux/actions/medicalDataAction';\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\n\r\nconst ChronicDiseasesForm = ({ disease, setDisease, disabled, setDisabled }) => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const [error, setError] = useState({});\r\n    const [open, setOpen] = useState(false);\r\n    const [openConfirmModal, setOpenConfirmModal] = useState(false);\r\n    const errorMessageDisease = useSelector(state => state.medicalDataReducer?.msgError);\r\n    const defaultModalDisease = {\r\n        defaultModalTitle: 'Enviado correctamente',\r\n        defaultModalDescription: 'Los cambios han sido realizados.',\r\n        defaultModalIcon: <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n        defaultModalErrorClass: ''\r\n    };\r\n    const setMessageModalDisease = {\r\n        setModalTitle: 'Ocurrió un error',\r\n        setModalDescription: 'Ocurrió un error al enviar los datos.',\r\n        setModalIcon: <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n        setModalErrorClass: classes.backgroundError\r\n    };\r\n    const { modalTitle, modalDescription, modalIcon, modalErrorClass } = useMessageModal(defaultModalDisease, setMessageModalDisease, errorMessageDisease);\r\n    const [auxDisease, setAuxDisease] = useState({\r\n        enfermedadDescripcion: ''\r\n    });\r\n    const [auxSpecify, setAuxSpecify] = useState({\r\n        enfermedadDescripcion: ''\r\n    });\r\n    const [mode, setMode] = useState(false);\r\n    const [removeDisease, setRemoveDisease] = useState('');\r\n    const [listEnfermedades, setEnfermedades] = useState([]);\r\n    const chronicDiseaseParams = useSelector(state => state.medicalDataReducer?.chronicDiseasesParams);\r\n    const abmChronicDiseasesSelector = useSelector(state => state.medicalDataReducer.abmChronicDiseases);\r\n\r\n    useEffect(() => {\r\n        if (abmChronicDiseasesSelector?.confirmacion) {\r\n            setOpenConfirmModal(true);\r\n            setOpen(false);\r\n        }\r\n    }, [abmChronicDiseasesSelector])\r\n\r\n    const handleDeleteDisease = (diseaseItem) => (e) => {\r\n        e.preventDefault();\r\n        setRemoveDisease(diseaseItem);\r\n        setMode(false);\r\n        setOpen(prevState => !prevState);\r\n    };\r\n\r\n    const handleChangeSpecify = () => (e) => {\r\n        const { value } = e.target;\r\n        const newEnf = { enfermedadDescripcion: value };\r\n        setAuxSpecify(newEnf);\r\n    };\r\n\r\n    const handleChangeSelect = () => (e) => {\r\n        const { value } = e.target;\r\n        const newEnf = { enfermedadDescripcion: value };\r\n        setAuxDisease(newEnf);\r\n    };\r\n\r\n    const handleClickModal = () => {\r\n        if (validateForm(auxDisease, auxSpecify)) {\r\n            setMode(true);\r\n            addDisease();\r\n            setOpen(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        let listParameters = [];\r\n        chronicDiseaseParams?.enfermedades?.map((item, i) => (\r\n            listParameters.push({ value: item.enfermedadDescripcion, label: item.enfermedadDescripcion })\r\n        ));\r\n        setEnfermedades(listParameters);\r\n    }, [chronicDiseaseParams?.enfermedades]);\r\n\r\n    function addDisease() {\r\n        if (auxDisease.enfermedadDescripcion === 'OTRO') {\r\n            disease.push(auxSpecify);\r\n        }\r\n        else {\r\n            disease.push(auxDisease);\r\n        }\r\n    }\r\n\r\n    function validateForm(dis, spec) {\r\n        const tempDisease = dis;\r\n        const tempSpecify = spec;\r\n        let aux = [];\r\n        let validation = [];\r\n        let Obj = {};\r\n        if (tempDisease?.enfermedadDescripcion === 'OTRO') {\r\n            Obj.enfermedadDescripcion = tempSpecify?.enfermedadDescripcion ? '' : '*Campo obligatorio';\r\n        }\r\n        else {\r\n            Obj.enfermedadDescripcion = tempDisease?.enfermedadDescripcion ? '' : '*Campo obligatorio';\r\n        }\r\n        aux = Obj;\r\n        if (Object.values(aux).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n        setError(aux);\r\n        return Object.values(validation).every((valid) => valid === true);\r\n    }\r\n\r\n    function addABMModel() {\r\n        let res = auxDisease?.enfermedadDescripcion;\r\n        if (auxSpecify != '' && auxSpecify?.enfermedadDescripcion != '' && auxSpecify?.enfermedadDescripcion !== undefined) {\r\n            res = auxSpecify?.enfermedadDescripcion;\r\n        }\r\n        return res;\r\n    }\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (mode) {\r\n            if (validateForm(auxDisease, auxSpecify)) {\r\n                const enfermedad = addABMModel();\r\n                dispatch(abmChronicDiseases({\r\n                    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                    enfermedadDescripcion: enfermedad,\r\n                    modo: \"A\"\r\n                }));\r\n            }\r\n            setDisabled(prevState => !prevState);\r\n            cleanInput();\r\n        }\r\n\r\n        else {\r\n            const enfermedadDesc = removeDisease?.enfermedadDescripcion;\r\n            dispatch(abmChronicDiseases({\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                enfermedadDescripcion: enfermedadDesc,\r\n                modo: \"B\"\r\n            }));\r\n        }\r\n        setOpen(prevState => !prevState);\r\n    };\r\n\r\n    function cleanInput() {\r\n        const diseaseInput = [{\r\n            enfermedadDescripcion: '',\r\n        }];\r\n        setAuxDisease(diseaseInput);\r\n        setAuxSpecify(diseaseInput);\r\n    }\r\n\r\n    const handleAddItem = () => {\r\n        if (validateForm(auxDisease, auxSpecify)) {\r\n            addDisease();\r\n            const enfermedad = addABMModel();\r\n            dispatch(abmChronicDiseases({\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                enfermedadDescripcion: enfermedad,\r\n                modo: \"A\"\r\n            }));\r\n            setOpenConfirmModal(prevState => !prevState);\r\n            setDisabled(prevState => !prevState);\r\n            cleanInput();\r\n        }\r\n        setTimeout(() => {\r\n            handleNew()\r\n        }, 1000);\r\n    };\r\n\r\n    const errorOther = () => {\r\n        let res = '';\r\n        if (!auxDisease?.enfermedadDescripcion === 'OTRO') {\r\n            res = error?.enfermedadDescripcion;\r\n        }\r\n        return res;\r\n    };\r\n\r\n    function handleNew() {\r\n        setDisabled(prevState => !prevState);\r\n    }\r\n\r\n    function showChronicDiseases() {\r\n        let componentToShow;\r\n        if(disabled) {\r\n            componentToShow = disease?.map((item, i) => {\r\n                return (\r\n                    <Fragment key={i}>\r\n                        <div className={classes.formChronicDisease}>\r\n                            <FormControl className={`${classes.formControlAddress}`} variant=\"standard\">\r\n                                <CustomizedInputs\r\n                                    name=\"enfermedadDescripcion\"\r\n                                    value={item?.enfermedadDescripcion}\r\n                                    disabled={disabled}\r\n                                    label='ENFERMEDAD'/>\r\n                            </FormControl>\r\n                            <div style={{ display: \"flex\", alignItems: \"center\", marginTop: '10px' }}>\r\n                                <Button onClick={handleDeleteDisease(item)} >\r\n                                    <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858' }} />\r\n                                </Button>\r\n                            </div>\r\n                        </div>\r\n                    </Fragment>\r\n                );\r\n            }\r\n            )\r\n        } else {\r\n            componentToShow = <>\r\n                <FormControl className={classes.formControlChronicMedicationForm} variant=\"standard\">\r\n                    <CustomSelect\r\n                        name='enfermedadDescripcion'\r\n                        selected={auxDisease?.enfermedadDescripcion}\r\n                        disabled={disabled}\r\n                        list={listEnfermedades}\r\n                        onChange={handleChangeSelect()}\r\n                        label={\"ENFERMEDAD\"} />\r\n                    < FormHelperText className={classes.errorText}>{errorOther()}</FormHelperText>\r\n                </FormControl>\r\n                {auxDisease?.enfermedadDescripcion === 'OTRO' &&\r\n                    <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                        <CustomizedInputs\r\n                            name=\"enfermedadDescripcion\"\r\n                            onChange={handleChangeSpecify()}\r\n                            disabled={disabled}\r\n                            label='ESPECIFICACION' />\r\n                        < FormHelperText className={classes.errorText}>{error?.enfermedadDescripcion}</FormHelperText>\r\n                    </FormControl>\r\n                }\r\n            </>\r\n        }\r\n        return componentToShow;\r\n    }\r\n\r\n    return (\r\n        chronicDiseaseParams?.enfermedades !== undefined ?\r\n            <>\r\n                <form onSubmit={handleSubmit} className={classes.chronicDiseaseform}>\r\n                    { showChronicDiseases() }\r\n                    {!disabled &&\r\n                        <div style={{ justifyContent: 'flex-start', width: '100%' }}>\r\n                            <Button onClick={handleAddItem} >\r\n                                <ControlPointIcon className={`${classes.ShowMoreArrowIcon}`} />\r\n                            </Button>\r\n                        </div>}\r\n\r\n                    <Divider className={classes.formDivider} />\r\n                    <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                        {!disabled &&\r\n                            <div style={{marginBottom: \"50px\"}}>\r\n                                <CustomButton\r\n                                    customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                    title='cancelar'\r\n                                    onClick={handleNew}\r\n                                />\r\n                                <CustomButton\r\n                                    customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                    title='Guardar'\r\n                                    onClick={handleClickModal}\r\n                                />\r\n                            </div>\r\n                        }\r\n                    </div>\r\n                    <SaveModal isOpen={open} setOpen={setOpen} type='submit' onClick={handleSubmit}\r\n                        titleModal={\r\n                            <>\r\n                                <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                                </div>\r\n                                <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    Confirmar envío de datos\r\n                                </div>\r\n                            </>\r\n                        }\r\n                        descriptionModal=\"¿Deseas confirmar los cambios?\"\r\n                    />\r\n                </form>\r\n                <ConfirmModal isOpen={openConfirmModal} setOpen={setOpenConfirmModal} errorClass={modalErrorClass}\r\n                    titleModal={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                {modalIcon}\r\n                            </div>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                {modalTitle}\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    description={modalDescription} />\r\n            </> :\r\n            (\r\n                <div>\r\n                    <NotFound\r\n                        style={{\r\n                            display: \"flex\",\r\n                            justifyContent: \"center\",\r\n                            alignItems: \"center\",\r\n                        }}\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span className={classes.notAppointment}>\r\n                                    No se encontraron resultados\r\n                                </span>\r\n                            </div>\r\n                        }\r\n                        wsItem={chronicDiseaseParams?.enfermedades}\r\n                        fullItem={chronicDiseaseParams?.enfermedades}\r\n                    />\r\n                </div>\r\n            )\r\n    );\r\n};\r\nexport default React.memo(ChronicDiseasesForm, (prevState, nextState) => {\r\n    return prevState.disease === nextState.disease && prevState.disabled === nextState.disabled;\r\n});\r\n\r\n","import { Divider, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport { useEffect, useState } from \"react\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport ChronicDiseasesForm from \"./ChronicDiseasesForm\";\r\nimport { getChronicDiseases, getChronicDiseasesParams } from \"../../../redux/actions/medicalDataAction\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { handleGoToPersonalMedicalData, showMessageModal } from \"../../../utils/utilsFunctions\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\n\r\n\r\nconst param = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    count: 100,\r\n    skip: 0\r\n}\r\n\r\nconst ChronicDiseases = () => {\r\n    const { screen } = useResizeScreen();\r\n\r\n    const abmReduxState = useSelector(state => state.medicalDataReducer?.abmChronicDiseases);\r\n\r\n    const classes = useStyles();\r\n\r\n    const [disabled, setDisabled] = useState(true); \r\n    const [loading, setLoading] = useState(true);\r\n    const [disease, setDisease] = useState([]);\r\n    const dispatch = useDispatch();\r\n    const chronicDisease = useSelector(state => state.medicalDataReducer?.chronicDiseases);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n    const errorMessage = useSelector(state => state.medicalDataReducer?.msgError);\r\n\r\n    useEffect(() => {\r\n        dispatch(getChronicDiseases(param));\r\n        dispatch(getChronicDiseasesParams(param));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        setDisease(chronicDisease?.enfermedades)\r\n        setLoading(false);\r\n    }, [chronicDisease?.enfermedades]);\r\n\r\n\r\n    useEffect(() => {\r\n        getDataOfWS();\r\n    },[abmReduxState]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage?.length > 0) {\r\n            setErrorMessageModal(true);\r\n        }\r\n        setLoading(true);\r\n    }, [errorMessage]);\r\n\r\n    function getDataOfWS() {\r\n\r\n        dispatch(getChronicDiseases(param));\r\n        dispatch(getChronicDiseasesParams(param));\r\n    }\r\n\r\n\r\n    function handleNew() {\r\n        setDisabled(prevState => !prevState);\r\n    }\r\n\r\n    function formHeader() {\r\n        let res = {\r\n            title: 'Enfermedades Cronicas',\r\n            subtitle: 'Información sin carácter sanitario conforme ley Nº 26529'\r\n        };\r\n        if (screen.sWidth < 768) {\r\n            res.title = 'MIS DATOS MEDICOS';\r\n            res.subtitle = 'Información sin carácter sanitario conforme ley Nº 26529';\r\n        }\r\n        return res;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={formHeader().title} subtitle={formHeader().subtitle} handleGoTo={handleGoToPersonalMedicalData}/>\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} style={{ marginBottom: '20px' }} />\r\n            }\r\n            {disabled &&\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'flex-start' }}>\r\n                    {screen.sWidth <= 768 ?\r\n                        <>\r\n                            <Typography\r\n                                className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`}\r\n                                style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex', paddingLeft: screen.sWidth < 768 && '5px' }}>\r\n                                ENFERMEDADES CRONICAS\r\n                            </Typography>\r\n                        </>\r\n                        :\r\n                        \"\"\r\n                    }\r\n                    <>\r\n                        <CustomButton\r\n                            onClick={handleNew}\r\n                            title={\"NUEVO \"}\r\n                            style={{ position: 'absolute', right: \"5%\" }}\r\n                            customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                        />\r\n                    </>\r\n                </div>\r\n            }\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n                <ChronicDiseasesForm disease={disease} setDisease={setDisease} disabled={disabled} setDisabled={setDisabled} handleNew={handleNew} />\r\n            }\r\n            {chronicDisease?.enfermedades?.length === 0 && disabled && chronicDisease !== undefined &&\r\n                <Typography\r\n                    className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                    style={{ marginLeft: \"30px\", marginTop: \"15px\" }}>\r\n                    {\"No se encontraron resultados\"}\r\n                </Typography>}\r\n\r\n            {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon, classes.contentDialogTitle, handleGoToPersonalMedicalData)}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default ChronicDiseases;","import React, { useState, useEffect, Fragment, useCallback } from 'react';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { CircularProgress, FormControl, FormHelperText } from '@material-ui/core';\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport SaveModal from '../../PersonalData/SaveModal';\r\nimport ConfirmModal from '../../PersonalData/ConfirmModal';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { abmFactorGroup, getFactorGroup, getGroupFactorParams } from '../../../redux/actions/medicalDataAction';\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\n\r\nconst FactorGroupForm = ({ disabled, setDisabled }) => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const [error, setError] = useState({});\r\n    const [open, setOpen] = useState(false);\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n    const factor = useSelector(state => state.medicalDataReducer?.factorGroup);\r\n    const factorParams = useSelector(state => state.medicalDataReducer?.factorGroupParams);\r\n    const postGroupFactor = useSelector(state => state.medicalDataReducer?.abmFactorGroup);\r\n    const [listGroup, setListGroup] = useState([]);\r\n    const [groupSelected, setGroupSelected] = useState('');\r\n    const [listFactor, setListFactor] = useState([]);\r\n    const [factorSelected, setFactorSelected] = useState('');\r\n    const [modelABM, setModelABM] = useState();\r\n    const [loading, setLoading] = useState(false);\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n\r\n    const param = {\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        count: 10,\r\n        skip: 0\r\n    };\r\n\r\n    const handleChangeGroup = () => e => {\r\n        const { value } = e.target;\r\n        setGroupSelected(value);\r\n    };\r\n\r\n    const handleChangeFactor = () => e => {\r\n        const { value } = e.target;\r\n        setFactorSelected(value);\r\n    };\r\n\r\n    const handleClickModal = () => {\r\n        var modelGroup = listGroup?.filter(x => x.value === groupSelected);\r\n        var modelFactor = listFactor?.filter(x => x.value === factorSelected);\r\n        var factorGroup = {\r\n            grupo: modelGroup[0]?.label,\r\n            factor: modelFactor[0]?.label\r\n        };\r\n        if (validate(factorGroup)) {\r\n            setModelABM({ ...modelABM, factorGroup });\r\n            setOpen(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        var modelGroup = listGroup?.filter(x => x.value === groupSelected);\r\n        var modelFactor = listFactor?.filter(x => x.value === factorSelected);\r\n        var factorGroup = {\r\n            grupo: modelGroup[0]?.label,\r\n            factor: modelFactor[0]?.label\r\n        };\r\n        setLoading(true);\r\n        if (validate(factorGroup)) {\r\n            dispatch(abmFactorGroup({\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                grupo: factorGroup?.grupo,\r\n                factor: factorGroup?.factor,\r\n                modo: \"A\"\r\n            }));\r\n            setOpen(prevState => !prevState);\r\n            setOpenConfirm(prevState => !prevState);\r\n        }\r\n        setDisabled(prevState => !prevState);\r\n    };\r\n\r\n\r\n    function validate(object) {\r\n        var temp = object;\r\n        let aux = [];\r\n        var validation = [];\r\n        var Obj = {};\r\n        Obj.grupo = temp.grupo ? '' : '*Campo obligatorio';\r\n        Obj.factor = temp.factor ? '' : '*Campo obligatorio';\r\n        aux = Obj;\r\n        if (Object.values(aux).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n        setError(aux);\r\n        return Object.values(validation).every((valid) => valid === true);\r\n    }\r\n\r\n    useEffect(() => {\r\n        var group = factorParams?.grupoFactor?.map((item, i) => {\r\n            return ({\r\n                value: i,\r\n                label: item.grupoDescripcion.trim()\r\n            });\r\n        });\r\n        setListGroup(group);\r\n        if (Object.values(factor).length > 0) {\r\n            var auxGroup = group?.filter(x => x.label === factor?.grupoFactor[0]?.grupo);\r\n            if (auxGroup !== undefined && auxGroup?.length !== 0) {\r\n                setGroupSelected(auxGroup[0]?.value);\r\n            }\r\n        }\r\n    }, [factorParams, factor]);\r\n\r\n    useEffect(() => {\r\n        var aux = listGroup?.filter(x => x.value === groupSelected);\r\n        var factorAux = factorParams?.grupoFactor?.filter(x => x.grupoDescripcion.trim() === aux[0]?.label).map((item) => {\r\n            return {\r\n                factor: item.factor\r\n            };\r\n        });\r\n        if (factorAux !== undefined) {\r\n            var factores = factorAux[0]?.factor?.map((item, i) => {\r\n                return ({\r\n                    value: i,\r\n                    label: item.factorDescripcion.trim()\r\n                });\r\n            });\r\n            setListFactor(factores);\r\n        }\r\n    }, [groupSelected]);\r\n\r\n    useEffect(() => {\r\n        if (factor?.length !== 0) {\r\n            var auxGroup = listGroup?.filter(x => x.label === factor?.grupoFactor[0]?.grupo);\r\n            if (auxGroup !== undefined && auxGroup?.length !== 0) {\r\n                setGroupSelected(auxGroup[0]?.value);\r\n            }\r\n        }\r\n    }, [listGroup]);\r\n\r\n    useEffect(() => {\r\n        if (factor?.length !== 0) {\r\n            var auxFactor = listFactor?.filter(x => x.label === factor?.grupoFactor[0]?.factor);\r\n            if (auxFactor !== undefined && auxFactor?.length !== 0) {\r\n                setFactorSelected(auxFactor[0]?.value);\r\n            }\r\n        }\r\n    }, [listFactor]);\r\n\r\n    useEffect(() => {\r\n        if (postGroupFactor?.confirmacion) {\r\n            setModalTitle('Enviado correctamente');\r\n            setModalDescription('Los cambios han sido realizados.');\r\n            setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass('');\r\n            setLoading(false);\r\n            dispatch(getGroupFactorParams());\r\n            dispatch(getFactorGroup(param));\r\n        }\r\n        else if (!postGroupFactor?.confirmacion && postGroupFactor?.confirmacion !== undefined) {\r\n            setModalTitle('Ocurrió un error');\r\n            setModalDescription('Ocurrió un error al enviar los datos.');\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass(classes.backgroundError);\r\n            setLoading(false);\r\n        }\r\n    }, [postGroupFactor]);\r\n\r\n    const handleBack = () => {\r\n        setDisabled(prevState => !prevState);\r\n        dispatch(getFactorGroup(param));\r\n    };\r\n\r\n    const formFactorGroup = useCallback(() => {\r\n        return (\r\n            <Fragment>\r\n                <FormControl className={`${classes.formControlCustomSelectRefunds}`} variant=\"standard\">\r\n                    <CustomSelect\r\n                        name={'grupo'}\r\n                        label={'GRUPO'}\r\n                        list={listGroup}\r\n                        selected={groupSelected}\r\n                        onChange={handleChangeGroup()}\r\n                        disabled={disabled}\r\n                    />\r\n                    <FormHelperText className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error?.grupo}</FormHelperText>\r\n                </FormControl>\r\n\r\n                <FormControl className={`${classes.formControlCustomSelectRefunds}`} variant=\"standard\">\r\n                    <CustomSelect\r\n                        name={'factor'}\r\n                        label={'FACTOR'}\r\n                        list={listFactor}\r\n                        selected={factorSelected}\r\n                        onChange={handleChangeFactor()}\r\n                        disabled={disabled}\r\n                    />\r\n                    <FormHelperText className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error?.factor}</FormHelperText>\r\n                </FormControl>\r\n            </Fragment>\r\n        );\r\n    }, [groupSelected, listGroup, listFactor, factorSelected, disabled]);\r\n\r\n    return (\r\n        factorParams?.grupoFactor !== undefined ?\r\n            (<>\r\n                <form onSubmit={handleSubmit} className={`${classes.addressForm} ${classes.centerFactorGroupFormMobile}`}>\r\n                    {formFactorGroup()}\r\n                    <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                        {!disabled && screen.sWidth <= 768 ?\r\n                            <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n                                <>\r\n                                    <CustomButton\r\n                                        title=\"CANCELAR\"\r\n                                        customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                        onClick={handleBack}\r\n                                        style={{ marginRight: \"10px\", marginLeft: \"45px\" }}\r\n                                    />\r\n                                </>\r\n                                <CustomButton\r\n                                    customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                    title='Guardar'\r\n                                    onClick={handleClickModal}\r\n                                    style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"10px\" }}\r\n                                />\r\n                            </div>\r\n                            :\r\n                            (!disabled &&\r\n                                <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n                                    <CustomButton\r\n                                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                        title='Guardar'\r\n                                        onClick={handleClickModal}\r\n                                        style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"10px\" }}\r\n                                    />\r\n                                </div>\r\n                            )\r\n                        }\r\n                    </div>\r\n                </form>\r\n                <SaveModal isOpen={open} setOpen={setOpen} type='submit' onClick={handleSubmit}\r\n                    titleModal={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                            </div>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                Confirmar envío de datos\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    descriptionModal=\"¿Deseas confirmar los cambios?\" />\r\n                <ConfirmModal isOpen={openConfirm} setOpen={setOpenConfirm} errorClass={errorClass}\r\n                    titleModal={loading ?\r\n                        (<>\r\n                            <span>Espere un momento...</span>\r\n                        </>)\r\n                        :\r\n                        (<>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                {modalIcon}\r\n                            </div>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                {modalTitle}\r\n                            </div>\r\n                        </>)\r\n                    }\r\n                    description={loading ?\r\n                        (<div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}>\r\n                            <CircularProgress color={'inherit'} />\r\n                        </div>)\r\n                        :\r\n                        (modalDescription)\r\n                    }\r\n                />\r\n            </>) : (\r\n                <NotFound\r\n                    style={{\r\n                        display: 'flex',\r\n                        justifyContent: 'center',\r\n                        alignItems: 'center',\r\n                    }}\r\n                    customMsg={\r\n                        <div className={classes.contentNotFound}>\r\n                            <span className={classes.notAppointment}>\r\n                                No tiene acceso a este modulo\r\n                            </span>\r\n                        </div>\r\n                    }\r\n                    wsItem={factorParams?.grupoFactor}\r\n                    fullItem={factorParams}\r\n                />\r\n            )\r\n\r\n    );\r\n};\r\n\r\nexport default React.memo(FactorGroupForm);\r\n","import React from 'react';\r\nimport { CircularProgress } from '@material-ui/core';\r\n\r\nconst SpinnerLoading = () => {\r\n    return (\r\n        <>\r\n            <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%', paddingTop: '10px' }}>\r\n                <CircularProgress />\r\n            </div>\r\n        </>\r\n    )\r\n}\r\n\r\nexport default SpinnerLoading","import { Button, Divider, Typography } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport { useEffect, useLayoutEffect, useState } from \"react\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport FactorGroupForm from \"./FactorGroupForm\";\r\nimport { getFactorGroup, getGroupFactorParams } from \"../../../redux/actions/medicalDataAction\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { handleGoToPersonalMedicalData, showMessageModal } from \"../../../utils/utilsFunctions\";\r\nimport SpinnerLoading from \"../../LoadingPage/SpinnerLoading\";\r\n\r\nconst param = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    count: 10,\r\n    skip: 0\r\n}\r\n\r\nconst FactorGroup = () => {\r\n    const { screen } = useResizeScreen();\r\n    const dispatch = useDispatch();\r\n    const classes = useStyles();\r\n    const [disabled, setDisabled] = useState(true);\r\n    const factor = useSelector(state => state.medicalDataReducer?.factorGroup);\r\n    const [factorGroup, setFactorGroup] = useState(factor.grupoFactor);\r\n    const [isLoading, setIsLoading] = useState(true);\r\n    const errorMessage = useSelector(state => state.medicalDataReducer.msgError);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n\r\n    useLayoutEffect(() => {\r\n        dispatch(getGroupFactorParams())\r\n        dispatch(getFactorGroup(param));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        setFactorGroup(factor.grupoFactor);\r\n        setIsLoading(false);\r\n    }, [factor.grupoFactor]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage?.length > 0) {\r\n            setErrorMessageModal(true);\r\n        }\r\n        setIsLoading(true);\r\n    }, [errorMessage]);\r\n\r\n    function formHeaderText() {\r\n        var response = {\r\n            titleHeader: 'Grupo y Factor',\r\n            subtitleHeader: 'Información sin carácter sanitario conforme ley Nº 26529'\r\n        };\r\n        if (screen.sWidth < 768) {\r\n            response.titleHeader = 'Mis datos medicos';\r\n            response.subtitleHeader = 'Información sin carácter sanitario conforme ley Nº 26529';\r\n        }\r\n        return response;\r\n    }\r\n\r\n    const handleEdit = (e) => {\r\n        e.preventDefault();\r\n        setDisabled(prevState => !prevState);\r\n        dispatch(getFactorGroup(param));\r\n    };\r\n\r\n    const customsIcons = () => {\r\n        if (disabled) {\r\n            return (\r\n                <Button onClick={handleEdit}>\r\n                    <EditIcon className={`${classes.ShowMoreArrowIcon}`} />\r\n                </Button>\r\n            );\r\n        }\r\n\r\n    };\r\n\r\n    function createForm(){\r\n        return (\r\n            <>\r\n                <FormHeader title={formHeaderText().titleHeader} subtitle={formHeaderText().subtitleHeader} handleGoTo={handleGoToPersonalMedicalData} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            {disabled ?\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                    {screen.sWidth <= 768 ?\r\n                        <>\r\n                            <Typography\r\n                                className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`}\r\n                                style={{ textTransform: 'uppercase', marginLeft: \"10%\", marginTop: \"20px\" }}>\r\n                                GRUPO Y FACTOR\r\n                            </Typography>\r\n                            {customsIcons()}\r\n                        </>\r\n                        :\r\n                        <>\r\n                            <CustomButton\r\n                                title=\"EDITAR\"\r\n                                customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                onClick={handleEdit}\r\n                                style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"10px\" }}\r\n                            />\r\n                        </>\r\n                    }\r\n                </div> :\r\n\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                    {screen.sWidth <= 768 ?\r\n                        <> \r\n                            <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', marginTop: \"20px\" }}>\r\n                                GRUPO Y FACTOR\r\n                            </Typography>\r\n                            {customsIcons()}\r\n                        </>\r\n                        :\r\n                        <>\r\n                            <CustomButton\r\n                                title=\"CANCELAR\"\r\n                                customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                onClick={handleEdit}\r\n                                style={{ marginRight: \"10px\", marginLeft: \"45px\" }}\r\n                            />\r\n                        </>\r\n                    }\r\n                </div>\r\n            }\r\n            <FactorGroupForm factorGroup={factorGroup} setFactorGroup={setFactorGroup} disabled={disabled} setDisabled={setDisabled} />\r\n            {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon, classes.contentDialogTitle, handleGoToPersonalMedicalData)}\r\n            </>\r\n        );\r\n    }\r\n\r\n    return (\r\n        <>\r\n            {\r\n                isLoading ? <SpinnerLoading/> : createForm()\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default FactorGroup;","export function useFormHeaderText(titleDesktop, subtitleDesktop, titleMobile, subtitleMobile, sWidth) {\r\n    let response = {\r\n        titleHeader: titleDesktop,\r\n        subtitleHeader: subtitleDesktop\r\n    };\r\n    if (sWidth < 768) {\r\n        response.titleHeader = titleMobile;\r\n        response.subtitleHeader = subtitleMobile;\r\n    }\r\n    return response;\r\n}","\r\n\r\nexport function setArrayList(allergy, setTypeOfAllergies) {\r\n    let allergiesArray = [];\r\n    if (allergy?.length > 0 || allergy.length > 0) {\r\n        allergy?.forEach(item => {\r\n            let allergyObj = {};\r\n            allergyObj.value = item.allergyCodigo;\r\n            allergyObj.label = item.allergyDescripcion;\r\n            allergiesArray.push(allergyObj);\r\n        });\r\n        setTypeOfAllergies(allergiesArray);\r\n    }\r\n}\r\n\r\nexport function validate(inputAllergy, selectAllergy, setError, flag) {\r\n    let temp = selectAllergy;\r\n    let aux = [];\r\n    let validation = [];\r\n    Object.values(temp).forEach((item, i) => {\r\n        let allergyObj = {};\r\n        if (flag) {\r\n            allergyObj.alergiaCodigo = item.alergiaCodigo.toString() ? '' : '*Campo obligatorio';\r\n            allergyObj.alergiaDescripcion = item.alergiaDescripcion ? '' : '*Campo obligatorio';\r\n            if (item.alergiaDescripcion === 'OTRA') {\r\n                allergyObj.alergiaDetalle = validateInput(inputAllergy);\r\n            } else {\r\n                allergyObj.alergiaDetalle = '';\r\n            }\r\n            aux.push(allergyObj);\r\n            if (Object.values(aux[i]).every((x) => x === \"\")) {\r\n                validation.push(true);\r\n            } else {\r\n                validation.push(false);\r\n            }\r\n        } else {\r\n            validation.push(true);\r\n        }\r\n    });\r\n    setError(aux);\r\n    return Object.values(validation).every((valid) => valid === true);\r\n}\r\n\r\nexport function validateInput(input) {\r\n    let aux = input?.alergiaDetalle?.trimEnd();\r\n    let response = '*Campo obligatorio';\r\n    if (input !== '' && aux !== '')\r\n        response = '';\r\n    return response;\r\n}\r\n\r\nexport function addAllergy(addSelect, addInput, allergies) {\r\n    let responseAllergy = allergies;\r\n    if (addSelect !== '') {\r\n        responseAllergy = [...allergies, ...addSelect];\r\n        if (addInput !== '' && addInput[0]?.alergiaDetalle !== '') {\r\n            responseAllergy = [...allergies, { ...addInput }];\r\n        }\r\n    }\r\n    return responseAllergy;\r\n}\r\n\r\nexport function addABMItem(addSelect, addInput) {\r\n    let response = addSelect[0].alergiaDescripcion;\r\n    if (addInput !== '' && addInput[0]?.alergiaDetalle !== '') {\r\n        response = addInput.alergiaDetalle;\r\n    }\r\n    return response;\r\n}\r\n\r\nexport function removeItem(setAllergy, allergy, allergyItem) {\r\n    let allergyWOItem = allergy;\r\n    if (allergyItem !== '') {\r\n        allergyWOItem = allergy?.filter(x => x !== allergyItem);\r\n    }\r\n    setAllergy(allergyWOItem);\r\n}\r\n\r\nexport function cleanSelect(setAddSelect, setAddInput) {\r\n    let allergySelected = [{\r\n        alergiaCodigo: 0,\r\n        alergiaDescripcion: '',\r\n        alergiaDetalle: ''\r\n    }];\r\n    setAddSelect(allergySelected);\r\n    setAddInput(allergySelected);\r\n}","import React, { Fragment, useEffect, useState } from 'react';\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport ConfirmModal from '../../PersonalData/ConfirmModal';\r\nimport SaveModal from '../../PersonalData/SaveModal';\r\nimport { FormControl, Button, FormHelperText, Switch, FormGroup, FormControlLabel, Typography } from '@material-ui/core';\r\nimport CustomizedInputs from '../../../controls/InputCustom/CustomizedInputs';\r\n\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\r\nimport AddCircleOutlinedIcon from '@material-ui/icons/AddCircleOutlined';\r\n\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport useMessageModal from '../../../hooks/useMessageModal';\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport { addABMItem, addAllergy, cleanSelect, removeItem, validate } from './Utils/utilsFuncions';\r\nimport { abmAllergies } from '../../../redux/actions/medicalDataAction';\r\n\r\n\r\nconst AllergiesForm = ({ allergy, setAllergy, addItemScreen, setAddItemScreen }) => {\r\n    const classes = useStyles();\r\n    const errorMessage = useSelector(state => state?.medicalDataReducer?.msgError);\r\n    const dispatch = useDispatch();\r\n\r\n    const [open, setOpen] = useState(false);\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n\r\n    const [error, setError] = useState(\r\n        {\r\n            alergiaCodigo: '',\r\n            alergiaDescripcion: '',\r\n            alergiaDetalle: ''\r\n        },\r\n    );\r\n    const defaultModal = {\r\n        defaultModalTitle: 'Enviado correctamente',\r\n        defaultModalDescription: 'Los cambios han sido realizados.',\r\n        defaultModalIcon: <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n        defaultModalErrorClass: ''\r\n    };\r\n    const setMessageModal = {\r\n        setModalTitle: 'Ocurrió un error',\r\n        setModalDescription: 'Ocurrio un error al enviar los datos.',\r\n        setModalIcon: <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n        setModalErrorClass: classes.backgroundError\r\n    };\r\n    const { modalTitle, modalDescription, modalIcon, modalErrorClass } = useMessageModal(defaultModal, setMessageModal, errorMessage);\r\n    const allergiesAffiliates = useSelector(state => state.medicalDataReducer.affiliatedAllergies);\r\n    const allergiesParams = useSelector(state => state.medicalDataReducer.allergiesParams);\r\n    const abmAllergiesSelector = useSelector(state => state.medicalDataReducer.abmAllergies);\r\n\r\n    const [typeOfAllergies, setTypeOfAllergies] = useState([]);\r\n    const [switchState, setSwitchState] = useState(false);\r\n\r\n    const [addInput, setAddInput] = useState('');\r\n    const [addSelect, setAddSelect] = useState([{\r\n        alergiaCodigo: 0,\r\n        alergiaDescripcion: '',\r\n        alergiaDetalle: ''\r\n    }]);\r\n    const [flag, setFlag] = useState(false);\r\n    const [remove, setRemove] = useState('');\r\n    const [swStatus, setSwState] = useState(null);\r\n\r\n    useEffect(() => {\r\n        if (abmAllergiesSelector?.confirmacion) {\r\n            setOpenConfirm(false);\r\n            setOpen(false);\r\n        }\r\n    }, [abmAllergiesSelector?.confirmacion])\r\n\r\n    useEffect(() => {\r\n        let listParameters = [];\r\n        allergiesParams?.alergia?.map((item, i) => (\r\n            listParameters.push({ value: item.alergiaDescripcion, label: item.alergiaDescripcion })\r\n        ));\r\n        listParameters?.push({ value: \"OTRA\", label: \"OTRA\" })\r\n        setTypeOfAllergies(listParameters);\r\n    }, []);\r\n\r\n    const handleSwitchChange = (e) => {\r\n        const { checked } = e.target;\r\n        let switchStatus = 'N';\r\n        if (checked) {\r\n            switchStatus = 'S';\r\n        }\r\n        dispatch(abmAllergies({\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            alergiaDescripcion: \"\",\r\n            shockAnafilactico: switchStatus,\r\n            modo: \"M\"\r\n        }));\r\n        setSwState(switchStatus);\r\n        setSwitchState(prevState => !prevState);\r\n    };\r\n\r\n    const handleChangeInput = (e) => {\r\n        const { value } = e.target;\r\n        let allergyToAdd = {\r\n            alergiaCodigo: 'OTRA',\r\n            alergiaDescripcion: 'OTRA',\r\n            alergiaDetalle: value\r\n        };\r\n        setAddInput(allergyToAdd);\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (validate(addInput, addSelect, setError, flag)) {\r\n            if (flag) {\r\n                let allergies = addAllergy(addSelect, addInput, allergy);\r\n                let item = addABMItem(addSelect, addInput);\r\n                setAllergy(allergies);\r\n                dispatch(abmAllergies({\r\n                    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                    alergiaDescripcion: item,\r\n                    shockAnafilactico: swStatus,\r\n                    modo: \"A\"\r\n                }));\r\n                setAddItemScreen(prevState => !prevState);\r\n            } else {\r\n                removeItem(setAllergy, allergy, remove);\r\n                let item = remove.alergiaDescripcion;\r\n                if (item.alergiaDescripcion === 'OTRA')\r\n                    item = remove.alergiaDetalle;\r\n                dispatch(abmAllergies({\r\n                    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                    alergiaDescripcion: item,\r\n                    shockAnafilactico: swStatus,\r\n                    modo: \"B\"\r\n                }));\r\n                setRemove('');\r\n            }\r\n            cleanSelect(setAddSelect, setAddInput);\r\n            setOpen(false);\r\n        }\r\n    };\r\n\r\n    const handleClickModal = () => {\r\n        if (validate(addInput, addSelect, setError, true)) {\r\n            setFlag(true);\r\n            setOpen(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    const handleRemoveItem = (allergyItem) => (e) => {\r\n        e.preventDefault();\r\n        setRemove(allergyItem);\r\n        setOpen(prevState => !prevState);\r\n        setFlag(false);\r\n    };\r\n\r\n    const handleChangeSelect = (listToFilter) => (e) => {\r\n        const { value } = e.target;\r\n        let description = listToFilter?.filter(x => x.value === value);\r\n        let allergySelected = [{\r\n            alergiaCodigo: value,\r\n            alergiaDescripcion: value,\r\n            alergiaDetalle: ''\r\n        }];\r\n        setAddSelect(allergySelected);\r\n    };\r\n\r\n    const handleAddItem = (e) => {\r\n        e.preventDefault();\r\n        if (validate(addInput, addSelect, setError, true)) {\r\n            let allergies = addAllergy(addSelect, addInput, allergy);\r\n            setAllergy(allergies);\r\n            let item = addABMItem(addSelect, addInput);\r\n\r\n            dispatch(abmAllergies({\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                alergiaDescripcion: item,\r\n                shockAnafilactico: swStatus,\r\n                modo: \"A\"\r\n            }));\r\n            cleanSelect(setAddSelect, setAddInput);\r\n            setOpenConfirm(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        setSwitchState(allergiesAffiliates?.shockAnafilactico === 'S');\r\n        setSwState(allergiesAffiliates?.shockAnafilactico);\r\n    }, [allergiesAffiliates?.shockAnafilactico]);\r\n\r\n    useEffect(() => {\r\n        let listParameters = [];\r\n        allergiesParams?.alergia?.map((item, i) => (\r\n            listParameters.push({ value: item.alergiaDescripcion, label: item.alergiaDescripcion })\r\n        ));\r\n        listParameters?.push({ value: \"OTRA\", label: \"OTRA\" })\r\n        setTypeOfAllergies(listParameters)\r\n    }, [allergiesParams?.alergia]);\r\n\r\n    const handleShowAddItemScreen = (e) => {\r\n        e.preventDefault();\r\n        window.location.reload();\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <form onSubmit={handleSubmit} className={classes.chronicDiseaseform} style={{ justifyContent: 'flex-start' }}>\r\n                {!addItemScreen ?\r\n                    <>\r\n                        <FormControl required component=\"fieldset\" className={`${classes.formControlsEmergency} ${classes.formControlSelect} ${classes.formControlSwitchAllergies}`}>\r\n                            <FormGroup>\r\n                                <FormControlLabel\r\n                                    labelPlacement=\"start\"\r\n                                    control={\r\n                                        <Switch\r\n                                            onChange={handleSwitchChange}\r\n                                            color=\"primary\"\r\n                                            name='shockAnafilactico'\r\n                                            inputProps={{ 'aria-label': 'primary checkbox' }}\r\n                                            checked={switchState}\r\n                                        />}\r\n                                    label={\r\n                                        <Typography className={`${classes.txtFilter} ${classes.txtEllipsis}`}>ANTECEDENTES DE SHOCK ANAFILACTICO</Typography>\r\n                                    }\r\n                                />\r\n                            </FormGroup>\r\n                        </FormControl>\r\n                        {allergy?.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                    <div className={`${classes.divEmergencyPhonesForm} ${classes.divCustomSelectHobbies} ${classes.divAllergiesForm}`} >\r\n                                        <div className={classes.divFormControlsEmergency}>\r\n                                            <CustomizedInputs name={`alergiaDetalle-${i}`} value={item?.alergiaDetalle || item?.alergiaDescripcion} disabled={true} />\r\n                                        </div>\r\n                                        <div className={classes.quarterCol} style={{ justifyContent: 'center' }}>\r\n                                            <Button onClick={handleRemoveItem(item)} >\r\n                                                <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858' }} />\r\n                                            </Button>\r\n                                        </div>\r\n                                    </div>\r\n                            </Fragment>\r\n                        ))}\r\n                    </>\r\n                    :\r\n                    <>\r\n                        <div className={`${classes.divEmergencyPhonesForm} ${classes.divCustomSelectHobbies} ${classes.divAllergiesForm}`} >\r\n                            <div className={classes.divFormControlsEmergency}>\r\n                                <>\r\n                                    <FormControl className={`${classes.formControlsEmergency} ${classes.formControlSelect}`} variant=\"standard\">\r\n                                        <CustomSelect name={`alergiaCodigo-alergiaDescripcion/0`} list={typeOfAllergies} selected={addSelect[0]?.alergiaCodigo} onChange={handleChangeSelect(typeOfAllergies)} />\r\n                                        <FormHelperText className={classes.errorText}>{error[0]?.alergiaDescripcion}</FormHelperText>\r\n                                    </FormControl>\r\n                                    {addSelect[0]?.alergiaDescripcion === 'OTRA' &&\r\n                                        <FormControl className={`${classes.formControlsEmergency}`} variant=\"standard\">\r\n                                            <CustomizedInputs name={`alergiaDetalle-0`} value={addInput?.alergiaDetalle} label='ESPECIFICAR' onChange={handleChangeInput} inputProps={{ maxLength: 30 }} />\r\n                                            <FormHelperText className={classes.errorText}>{error[0]?.alergiaDetalle}</FormHelperText>\r\n                                        </FormControl>\r\n                                    }\r\n                                </>\r\n                            </div>\r\n                        </div>\r\n                        <Button onClick={handleAddItem} >\r\n                            <AddCircleOutlinedIcon className={`${classes.ShowMoreArrowIcon}`} />\r\n                        </Button>\r\n\r\n                    </>\r\n                }\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                    {addItemScreen &&\r\n                        <div style={{ marginBottom: \"50px\" }}>\r\n                            <CustomButton\r\n                                customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                title='cancelar'\r\n                                onClick={handleShowAddItemScreen}\r\n                                style={{ marginRight: \"10px\", marginLeft: \"45px\" }}\r\n                            />\r\n                            <CustomButton\r\n                                customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"10px\" }}\r\n                                title='Guardar'\r\n                                onClick={handleClickModal}\r\n                            />\r\n                        </div>\r\n                    }\r\n                </div>\r\n                <SaveModal isOpen={open} setOpen={setOpen} type='submit' onClick={handleSubmit}\r\n                    titleModal={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                            </div>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                Confirmar envío de datos\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    descriptionModal=\"¿Deseas confirmar los cambios?\"\r\n                />\r\n            </form>\r\n            <ConfirmModal isOpen={openConfirm} setOpen={setOpenConfirm} errorClass={modalErrorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(AllergiesForm);\r\n","import { Typography, CircularProgress, Divider } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport { useEffect, useState } from \"react\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useFormHeaderText } from \"../../../hooks/useFormHeaderText\";\r\nimport AllergiesForm from \"./AllergiesForm\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getAffiliatedAllergies, getAllergiesParams } from \"../../../redux/actions/medicalDataAction\";\r\nimport { showMessageModal, handleGoToPersonalMedicalData } from \"../../../utils/utilsFunctions\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\n\r\n\r\nconst Allergies = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const { titleHeader, subtitleHeader } = useFormHeaderText('Alergias', 'Información sin carácter sanitario conforme ley Nº 26529', 'Mis datos medicos', 'Información sin carácter sanitario conforme ley Nº 26529', screen.sWidth);\r\n    const [addItemScreen, setAddItemScreen] = useState(false);\r\n    const dispatch = useDispatch();\r\n    const allergiesParams = useSelector(state => state.medicalDataReducer.affiliatedAllergies);\r\n    const [allergy, setAllergy] = useState(allergiesParams?.alergia);\r\n    const [loading, setLoading] = useState(true);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n    const errorMessage = useSelector(state => state.medicalDataReducer?.msgError);\r\n\r\n    const handleShowAddItemScreen = (e) => {\r\n        e.preventDefault();\r\n        setAddItemScreen(prevState => !prevState);\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getAllergiesParams());\r\n        dispatch(getAffiliatedAllergies({\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            count: 100,\r\n            skip: 0\r\n        }));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(allergiesParams).length > 0) {\r\n            setAllergy(allergiesParams?.alergias);\r\n            setLoading(false);\r\n        }\r\n    }, [allergiesParams?.alergias]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage?.length > 0) {\r\n            setErrorMessageModal(true);\r\n        }\r\n        setLoading(true);\r\n    }, [errorMessage]);\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={titleHeader} subtitle={subtitleHeader} handleGoTo={handleGoToPersonalMedicalData} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} style={{ marginBottom: '20px' }} />\r\n            }\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'flex-start' }}>\r\n                {screen.sWidth <= 768 &&\r\n                    <>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex' }}>\r\n                            Alergias\r\n                        </Typography>\r\n                    </>\r\n                }\r\n                {!addItemScreen &&\r\n                    <CustomButton\r\n                        onClick={handleShowAddItemScreen}\r\n                        title={\"NUEVO \"}\r\n                        style={{ position: 'absolute', right: \"5%\" }}\r\n                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                    />\r\n                }\r\n            </div>\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n                <AllergiesForm allergy={allergy} setAllergy={setAllergy} addItemScreen={addItemScreen} setAddItemScreen={setAddItemScreen} />\r\n            }\r\n            {allergiesParams?.alergias?.length === 0 && !addItemScreen && allergiesParams !== undefined &&\r\n                <Typography\r\n                    className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                    style={{ marginLeft: \"30px\", marginTop: \"15px\" }}>\r\n                    {\"No se encontraron resultados\"}\r\n                </Typography>}\r\n\r\n                {showMessageModal(\r\n                    errorMessage,\r\n                    errorMessageModal,\r\n                    setErrorMessageModal,\r\n                    classes.borderWhite,\r\n                    classes.quickAccessIcon,\r\n                    classes.contentDialogTitle,\r\n                    handleGoToPersonalMedicalData\r\n                )}\r\n\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Allergies;\r\n","import * as React from 'react';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport AdapterDateFns from '@material-ui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@material-ui/lab/LocalizationProvider';\r\nimport DateTimePicker from '@material-ui/lab/DateTimePicker';\r\nimport \"./DateTimerPickerStyle.css\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { es } from \"date-fns/locale\";\r\n\r\n\r\nconst CustomizedDateTimerPicker=(props)=>{\r\n  const classes = useStyles();\r\n\r\n  return (\r\n    <LocalizationProvider locale={es} dateAdapter={AdapterDateFns} >\r\n      <DateTimePicker className={classes.dateTimerPicker}\r\n      id={props.id}\r\n        renderInput={(props) => <TextField {...props} />}\r\n        label=\"\"\r\n        toolbarPlaceholder=\"\"\r\n        value={props.value}\r\n        onChange={(newValue) => {\r\n          props.setValue(newValue);\r\n        }}\r\n      />\r\n    </LocalizationProvider>\r\n  );\r\n}\r\n\r\nexport default CustomizedDateTimerPicker\r\n","import { FormControl, StyledEngineProvider, Typography } from \"@material-ui/core\";\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport { useState, useEffect } from 'react';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport CustomizedDateTimerPicker from \"../../../controls/DateTimerPicker/CustomizedDateTimerPicker\";\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport { format } from \"date-fns\";\r\nimport { es } from \"date-fns/locale\";\r\n\r\nconst FormWeight = (props) => {\r\n    const classes = useStyles();\r\n    const [weight, setWeight] = useState(null);\r\n    const [meters, setMeters] = useState(null);\r\n    const [centimeters, setCentimeters] = useState(null);\r\n    const [dateRegister, setDateRegister] = useState(new Date());\r\n    const { screen } = useResizeScreen();\r\n    const [errors, setErrors] = useState({});\r\n\r\n\r\n    useEffect(() => {\r\n        inicializeErrors();\r\n    }, [])\r\n\r\n    const setBackgroundMobile = () => {\r\n        let cssClass = '';\r\n        if (screen.sWidth <= 768)\r\n            cssClass = classes.titlePersonalDataForm;\r\n        return cssClass;\r\n    };\r\n\r\n    const handleCancel = () => {\r\n        setWeight(null);\r\n        setMeters(null);\r\n        setCentimeters(null);\r\n        props.setAdd(prevState => !prevState);\r\n    }\r\n\r\n    const inicializeErrors = () => {\r\n        let temp = {};\r\n        temp.weight = \"\";\r\n        temp.meters = \"\";\r\n        temp.centimeters = \"\";\r\n        setErrors(temp)\r\n    }\r\n\r\n    const handleSaveForm = (e) => {\r\n        e.preventDefault();\r\n        let param = {};\r\n        param.numeroPersona = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n        param.peso = weight;\r\n        param.tallaMetros = meters;\r\n        param.tallaCentimetros = centimeters;\r\n        param.registracionFechaHora = format(dateRegister, \"yyyy-MM-dd\") + \" \" + dateRegister.toLocaleTimeString();\r\n        param.modo = \"A\";\r\n        if (validate(param)) {\r\n            props.setForm(param);\r\n            props.setAction(\"ALTA\");\r\n            props.setOpenConfirm(prevState => !prevState);\r\n        }\r\n    }\r\n\r\n    const validate = (param) => {\r\n        let temp = validateValues(param);\r\n        setErrors({\r\n            ...temp,\r\n        });\r\n        return Object.values(temp).every((value) => value == \"\");\r\n    };\r\n\r\n    return (<>\r\n        <div className={`${setBackgroundMobile()}`} style={{ paddingTop: '60px', marginBottom: \"20px\" }}>\r\n            <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase' }}>\r\n                MIS DATOS MEDICOS\r\n            </Typography>\r\n            <Typography className={classes.subtitleBox} style={{ marginLeft: \"20px\" }}>\r\n                Información sin carácter sanitario conforme ley Nº 26529\r\n            </Typography>\r\n        </div>\r\n        <div className={classes.headerSecundary} style={{ marginBottom: \"20px\" }}>\r\n            <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase', marginTop: \"10px\" }}>\r\n                PESO Y TALLA\r\n            </Typography>\r\n            {screen.sWidth > 800 ?\r\n                <div className={`${classes.BtnMobileWeight} `}>\r\n                    <CustomButton\r\n                        customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                        style={{ marginRight: \"15px\" }}\r\n                        title='cancelar'\r\n                        onClick={() => { handleCancel() }}\r\n                    />\r\n                    <CustomButton\r\n                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                        style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"10px\" }}\r\n                        title='Guardar'\r\n                        type='submit'\r\n                        onClick={handleSaveForm}\r\n                    />\r\n                </div> : \"\"}\r\n        </div>\r\n        <form className={classes.centerWeigthForm}>\r\n            <FormControl className={[classes.formWeigth, classes.customMarginForm]} variant=\"standard\">\r\n                <CustomizedInputs onChange={(e) => { setWeight(e.target.value) }} value={weight} label=\"PESO\" type=\"number\"\r\n                    onInput={(e) => {\r\n                        e.target.value = Math.max(0, parseInt(e.target.value)).toString().slice(0, 3)\r\n                    }}\r\n                />\r\n                {errors.weight != \"\" ? <span className={classes.spanError}>{errors.weight}</span> : \"\"}\r\n            </FormControl>\r\n\r\n            <FormControl className={classes.formWeigth} variant=\"standard\">\r\n                <div className={classes.spaceBetweenInputs}>\r\n\r\n                    <CustomizedInputs onChange={(e) => { setMeters(e.target.value) }} value={meters} label=\"TALLA METROS\" type=\"number\"\r\n                        onInput={(e) => {\r\n                            e.target.value = Math.max(0, parseInt(e.target.value)).toString().slice(0, 1)\r\n                        }}\r\n                    />\r\n                    <Typography style={{ textTransform: 'uppercase', marginTop: \"50px\" }}>\r\n                    </Typography>\r\n\r\n                    <CustomizedInputs onChange={(e) => { setCentimeters(e.target.value) }} value={centimeters} label=\"CENTIMETROS\" type=\"number\"\r\n                        onInput={(e) => {\r\n                            e.target.value = Math.max(0, parseInt(e.target.value)).toString().slice(0, 2)\r\n                        }}\r\n                    />\r\n                </div>\r\n\r\n                <div className={classes.flexRow}>\r\n                    {errors.meters != \"\" ? <span className={classes.spanError}>{errors.meters}</span> : \"\"}\r\n                    {errors.centimeters != \"\" ? <span className={classes.spanError}>{errors.centimeters}</span> : \"\"}\r\n                </div>\r\n\r\n            </FormControl>\r\n\r\n            <FormControl id=\"DateTimePicker\" className={[classes.formWeigth, classes.weigthDateTimePicker]} variant=\"standard\">\r\n                <InputLabel className={classes.labelDateTimerPicker} shrink htmlFor=\"bootstrap-input\">\r\n                    {\"FECHA Y HORA DE REGISTRACION\"}\r\n                </InputLabel>\r\n                <StyledEngineProvider locale={es} injectFirst >\r\n                    < CustomizedDateTimerPicker id=\"DateTimePicker\" setValue={setDateRegister} value={dateRegister} />\r\n                </StyledEngineProvider>\r\n            </FormControl>\r\n            {screen.sWidth < 800 ?\r\n                <div className={`${classes.BtnMobileWeight} `}>\r\n                    <CustomButton\r\n                        customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                        style={{ marginRight: \"15px\" }}\r\n                        title='cancelar'\r\n                        onClick={() => { handleCancel() }}\r\n                    />\r\n                    <CustomButton\r\n                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                        style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"10px\" }}\r\n                        title='Guardar' type='submit' onClick={handleSaveForm}\r\n                    />\r\n\r\n                </div> : \"\"}\r\n        </form>\r\n\r\n\r\n    </>)\r\n}\r\nexport default FormWeight\r\n\r\nfunction validateValues(param) {\r\n    let temp = {};\r\n    const campoObligatorio = \"*Este campo es obligatorio\";\r\n\r\n    if (param.peso == \"\" || param.peso == undefined) {\r\n        temp.weight = campoObligatorio;\r\n    } else if (param.peso < 3 || param.peso > 350) {\r\n        temp.weight = \"*El valor debe ser entre 3 y 350\";\r\n    }\r\n    if (param.tallaMetros == \"\" || param.tallaMetros == undefined) {\r\n        temp.meters = campoObligatorio;\r\n    } else if (param.tallaMetros < 0 || param.tallaMetros > 2) {\r\n        temp.meters = \"*El valor debe ser entre 0 y 2\";\r\n    }\r\n    if (param.tallaCentimetros == \"\" || param.tallaCentimetros == undefined) {\r\n        temp.centimeters = campoObligatorio;\r\n    } else if (param.tallaCentimetros < 0 || param.tallaCentimetros > 99) {\r\n        temp.centimeters = \"*El valor debe ser entre 0 y 99\";\r\n    }\r\n    return temp;\r\n}\r\n\r\n","import { Card as MuiCard, CardContent, } from \"@material-ui/core\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport BadgeNotification from \"../../Notification/BadgeNotification\";\r\n\r\nconst MovementsCard = ({ headerIcon, description, buttonZone, index, count, customHeaderColor, buttonsInHeader, headerButtons, blueBox = true }) => {\r\n    const classes = useStyles();\r\n    return <>\r\n        <MuiCard key={index} className={`${classes.card} ${classes.movementsCards}`} style={{ borderRadius: '10px' }}>\r\n            <CardContent style={{ padding: '8px' }} className={classes.cardContentMuiCard}>\r\n                <div className={classes.divCardContent}>\r\n                    {count !== undefined && count > 0 ?\r\n                        <BadgeNotification\r\n                            customWidth='100%'\r\n                            customClass={classes.authorizationNotifications}\r\n                            childrenItem={\r\n                                <section className={`${classes.lightLinearGradientReverse} ${classes.headerIconCard} ${classes.sectionHeaderCard} ${customHeaderColor}`}>\r\n                                    <div style={{ width: \"100%\" }}>\r\n                                        {headerIcon}\r\n                                    </div>\r\n                                </section>\r\n                            }\r\n                            countNotification={count}\r\n                        />\r\n                        :\r\n                        <>\r\n                            {blueBox &&\r\n                                <section className={`${classes.lightLinearGradientReverse} ${classes.headerIconCard} ${classes.sectionHeaderCard} ${customHeaderColor}`}>\r\n                                    <div style={{ width: \"100%\" }}>\r\n                                        {headerIcon}\r\n                                    </div>\r\n                                    {buttonsInHeader && headerButtons}\r\n                                </section>\r\n                            }\r\n                        </>\r\n                    }\r\n                    <section className={`${classes.descriptionCard}`} style={{ flex: !blueBox && '0 0 100%' }}>\r\n                        <div>\r\n                            {description}\r\n                        </div>\r\n                        {(buttonsInHeader && !blueBox) && headerButtons}\r\n                    </section>\r\n                </div>\r\n                {buttonZone}\r\n            </CardContent>\r\n        </MuiCard>\r\n    </>;\r\n};\r\n\r\nexport default MovementsCard;","import { useEffect, useState } from 'react';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport {\r\n    Typography,\r\n    Divider,\r\n    Accordion,\r\n    AccordionSummary,\r\n    AccordionDetails,\r\n    ClickAwayListener,\r\n    Zoom,\r\n    FormControl,\r\n    TextField,\r\n    IconButton,\r\n    CircularProgress,\r\n} from \"@material-ui/core\";\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\r\nimport TuneIcon from '@material-ui/icons/Tune';\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport LocalizationProvider from \"@material-ui/lab/LocalizationProvider\";\r\nimport MobileDatePicker from '@material-ui/lab/MobileDatePicker';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\r\nimport { getDataWheightHeight } from './../../../redux/actions/medicalDataAction';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport MovementsCard from \"../../Billing/Movements/MovementsCard\";\r\nimport HeaderCard from '../../Billing/Movements/HeaderCard';\r\nimport { es } from \"date-fns/locale\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { handleGoToPersonalMedicalData } from \"../../../utils/utilsFunctions\";\r\n\r\nconst WeightAndHeigth = (props) => {\r\n    const today = new Date();\r\n    today.setMonth(-6);\r\n    const dispatch = useDispatch();\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [open, setOpen] = useState(false);\r\n    const [dateStart, setDateStart] = useState(today);\r\n    const [dateEnd, setDateEnd] = useState(new Date());\r\n    const [listRegister, setListRegister] = useState([]);\r\n    const [lastRecord, setLastRecord] = useState(null);\r\n    const [skip, setSkip] = useState(0);\r\n    const [initial, setInitial] = useState(true);\r\n    const medicalData = useSelector(state => state.medicalDataReducer);\r\n    const [loading, setLoading] = useState(true);\r\n\r\n    useEffect(() => {\r\n        if (medicalData.weightHeight?.pesoTalla !== undefined && medicalData.weightHeight?.pesoTalla?.length > 0) {\r\n\r\n            if (listRegister.length !== 0) {\r\n                const newRegisters = listRegister;\r\n                medicalData.weightHeight.pesoTalla.forEach(element => {\r\n                    newRegisters.push(element);\r\n                });\r\n                setListRegister(newRegisters);\r\n            } else {\r\n                //solo ingresa la primera vez\r\n                if (initial) {\r\n                    setLastRecord(medicalData.weightHeight.pesoTalla[0]);\r\n                    setInitial(false);\r\n                }\r\n                setListRegister(medicalData.weightHeight.pesoTalla);\r\n            }\r\n\r\n        }\r\n        setLoading(false);\r\n    }, [medicalData.weightHeight]);\r\n\r\n    useEffect(() => {\r\n        setLoading(true);\r\n        callToServices(false, true);\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        filterDate();\r\n    }, [dateEnd]);\r\n\r\n    useEffect(() => {\r\n        filterDate();\r\n    }, [dateStart]);\r\n\r\n    const filterDate = () => {\r\n        setListRegister([]);\r\n        setSkip(0);\r\n        callToServices(true);\r\n    };\r\n\r\n    const handleClickExpanded = (i, item) => (e) => {\r\n        if (e.target.innerText === \"VER MAS\") {\r\n            e.target.innerText = \"VER MENOS\";\r\n        }\r\n        else {\r\n            e.target.innerText = \"VER MAS\";\r\n        }\r\n    };\r\n\r\n    const lastRecordCard = () => {\r\n        return (\r\n            <>\r\n            \r\n                <MovementsCard\r\n                    buttonsInHeader={false}\r\n                    headerIcon={\r\n                        <HeaderCard\r\n                            day={lastRecord?.fechaFormateada?.nombreDia}\r\n                            numberDay={lastRecord?.fechaFormateada?.dia}\r\n                            month={parseInt(lastRecord?.registracionFechaHora?.substring(5, 7))}\r\n                            year={lastRecord?.registracionFechaHora?.substr(0, 4)}\r\n                        />\r\n                    }\r\n                    description={\r\n                        <>\r\n                            <Typography\r\n                                style={{ fontWeight: \"600\", color: '#0075c9' }} className={`${classes.txtCardDescription} `}\r\n                            >\r\n                                <span style={{ fontSize: '1rem' }}>\r\n                                    {`Hora: ${lastRecord?.registracionFechaHora?.substr(lastRecord?.registracionFechaHora?.indexOf(\"T\") + 1, 5)} hs`}\r\n                                </span>\r\n                            </Typography>\r\n\r\n                            <Typography\r\n                                style={{ fontWeight: \"600\" }}\r\n                                className={`${classes.subTitleMedicalData}`}\r\n                            >\r\n                                <span style={{ fontSize: '1rem' }}>\r\n                                    {\"PESO Y TALLA\"}\r\n                                </span>\r\n                            </Typography>\r\n\r\n                            <div style={{ lineHeight: \".5\" }}>\r\n                                <Typography\r\n                                    style={{ fontSize: \"10px\", display: \"inline\", marginBottom: \"0\", paddingBottom: \"0\" }}\r\n                                    className={`${classes.txtSubtitleCalendar}`}\r\n                                >\r\n                                    {\"PESO: \"}\r\n                                </Typography>\r\n                                <Typography\r\n                                    style={{ fontSize: \"10px\", display: \"inline\", marginBottom: \"0\", paddingBottom: \"0\" }}\r\n                                    className={`${classes.txtCardDescription}`}\r\n                                >\r\n                                    {lastRecord?.peso + \" KG\"}\r\n                                </Typography>\r\n                            </div>\r\n                            <div style={{ lineHeight: \".5\" }}>\r\n                                <Typography\r\n                                    style={{ fontSize: \"10px\", display: \"inline\", marginBottom: \"0\", paddingBottom: \"0\" }}\r\n                                    className={`${classes.txtSubtitleCalendar}`}\r\n                                >\r\n                                    {\"TALLA METROS: \"}\r\n                                </Typography>\r\n                                <Typography\r\n                                    style={{ fontSize: \"10px\", display: \"inline\", marginBottom: \"0\", paddingBottom: \"0\" }}\r\n                                    className={`${classes.txtCardDescription}`}\r\n                                >\r\n                                    {lastRecord?.tallaMetros + \" mts\"}\r\n                                </Typography>\r\n                            </div>\r\n                            <div style={{ lineHeight: \".5\" }}>\r\n                                <Typography\r\n                                    style={{ fontSize: \"9.5px\", display: \"inline\", marginBottom: \"0\", paddingBottom: \"0\" }}\r\n                                    className={`${classes.txtSubtitleCalendar}`}\r\n                                >\r\n                                    {\"TALLA CENTIMETROS: \"}\r\n                                </Typography>\r\n                                <Typography\r\n                                    style={{ fontSize: \"10px\", display: \"inline\", marginBottom: \"0\", paddingBottom: \"0\" }}\r\n                                    className={`${classes.txtCardDescription}`}\r\n                                >\r\n                                    {lastRecord?.tallaCentimetros + \"cms\"}\r\n                                </Typography>\r\n                            </div>\r\n                            <div style={{ lineHeight: \".5\" }}>\r\n                                <Typography\r\n                                    style={{ fontSize: \"10px\", display: \"inline\", marginBottom: \"0\", paddingBottom: \"0\" }}\r\n                                    className={`${classes.txtSubtitleCalendar}`}\r\n                                >\r\n                                    {\"IMC: \"}\r\n                                </Typography>\r\n                                <Typography\r\n                                    style={{ fontSize: \"10px\", display: \"inline\", marginBottom: \"0\", paddingBottom: \"0\" }}\r\n                                    className={`${classes.txtCardDescription}`}\r\n                                >\r\n                                    {lastRecord?.imc + \" KG/M2\"}\r\n                                </Typography>\r\n                            </div>\r\n                        </>\r\n                    }\r\n                />\r\n            </>\r\n        );\r\n    };\r\n\r\n    const addAccordion = (i, item) => {\r\n        return (\r\n            <Accordion key={i} style={{ margin: \"10px\", padding: \"15px\" }}>\r\n                <AccordionSummary\r\n                    expandIcon={<CustomButton\r\n                                    customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                    style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"10px\", marginLeft: \"10px\" }}\r\n                                    title='ver mas'\r\n                                    onClick={handleClickExpanded(i, item)}\r\n                                />}\r\n                    aria-controls=\"panel1a-content\"\r\n                    id=\"panel1a-header\"\r\n                >\r\n                    <div style={{ width: \"100%\", display: \"flex\", justifyContent: \"space-between\" }}>\r\n                        <Typography className={classes.txtSubtitleCalendar}>\r\n                            {\"PESO Y TALLA\"}\r\n                        </Typography>\r\n                        <div id={i} style={{ display: \"flex\" }}>\r\n                            <Typography className={classes.txtSubtitleGray} style={{ marginLeft: \"7px\" }}>\r\n                                {`${item?.fechaFormateada?.dia} de ${item?.fechaFormateada?.mes} de ${item?.registracionFechaHora?.substr(0, 4)}`}\r\n                            </Typography>\r\n                            <IconButton className={classes.padding0} onClick={() => { handleDelete(item); }} style={{ marginRight: \"10px\" }}>\r\n                                <DeleteOutlineIcon />\r\n                            </IconButton>\r\n                        </div>\r\n                    </div>\r\n                </AccordionSummary>\r\n                <AccordionDetails>\r\n                    {<>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>{\"PESO:  \"}</Typography>\r\n                            <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`} style={{marginLeft: \"5px\"}}>{item.peso + \"kg\"}</Typography>\r\n\r\n                        </div>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>{\"TALLA METROS:  \"}</Typography>\r\n                            <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`} style={{marginLeft: \"5px\"}}>\r\n                                {`${item.tallaMetros}.${item.tallaCentimetros} mts`}\r\n                            </Typography>\r\n                        </div>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>{\"IMC: \"}</Typography>\r\n                            <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`} style={{marginLeft: \"5px\"}}>{item.imc + \"KG/M2\"}</Typography>\r\n                        </div>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>{\"FECHA:  \"}</Typography>\r\n                            <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`} style={{marginLeft: \"5px\"}}>\r\n                                {`${item?.fechaFormateada?.dia} de ${item?.fechaFormateada?.mes} de ${item?.registracionFechaHora?.substr(0, 4)}\r\n                                 ${item?.registracionFechaHora?.substr(item?.registracionFechaHora?.indexOf(\"T\") + 1, 5)}`}\r\n                            </Typography>\r\n                        </div>\r\n                    </>}\r\n                </AccordionDetails>\r\n            </Accordion>);\r\n    };\r\n\r\n    const filter = () => {\r\n        return (\r\n            <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway} >\r\n                <div style={{ position: \"relative\", marginRight: \"10px\" }}>\r\n                    <CustomButton\r\n                        title={\"\"}\r\n                        onClick={handleClick}\r\n                        icon={<TuneIcon style={{ marginRight: \"5px\" }} className={classes.iconFilter} />}\r\n                        customClass={`${classes.customHeaderBtn} ${classes.btnFilterAppointment}`}\r\n                    />\r\n                    {open ? (\r\n                        <Zoom in={open}>\r\n                        <div className={classes.dropdown}>\r\n                            <Typography className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>{\"PERIODO\"}</Typography>\r\n                            <Divider classes={{ root: classes.dividerFilter }} />\r\n                            {<div className={`${classes.headerFiltro} ${classes.marginTop}`}>\r\n                                <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }} className={classes.datePicker}>\r\n                                    <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"DESDE\"}</InputLabel>\r\n                                    <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n                                        <LocalizationProvider locale={es} style={{ width: \"100px\" }} dateAdapter={AdapterDateFns}>\r\n                                            <MobileDatePicker\r\n                                                cancelText=\"Cancelar\"\r\n                                                toolbarTitle=\"\"\r\n                                                format=\"dd/MM/YYYY\"\r\n                                                value={dateStart}\r\n                                                onChange={(newValue) => { setDateStart(newValue); }}\r\n                                                renderInput={(params) => <TextField {...params} />}\r\n                                            />\r\n                                        </LocalizationProvider>\r\n                                        <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                    </div>\r\n                                </FormControl>\r\n                                <FormControl style={{ width: \"150px\", marginLeft: \"10px\", paddingTop: \"10px\" }} className={classes.datePicker} >\r\n                                    <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"HASTA\"}</InputLabel>\r\n                                    <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n                                        <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}  >\r\n                                            <MobileDatePicker\r\n                                                cancelText=\"Cancelar\"\r\n                                                toolbarTitle=\"\"\r\n                                                format=\"dd/MM/YYYY\"\r\n                                                value={dateEnd}\r\n                                                onChange={(newValue) => { setDateEnd(newValue); }}\r\n                                                variant='outlined'\r\n                                                renderInput={(params) => <TextField {...params} />}\r\n                                            />\r\n                                        </LocalizationProvider>\r\n                                        <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                    </div>\r\n                                </FormControl>\r\n                            </div>}\r\n                        </div>\r\n                        </Zoom>)\r\n                        : \"\"}\r\n                </div>\r\n            </ClickAwayListener>);\r\n    };\r\n\r\n\r\n\r\n    const handleClickAway = () => {\r\n        setOpen(false);\r\n    };\r\n    const handleClick = () => {\r\n        setOpen((prev) => !prev);\r\n    };\r\n\r\n    const handleDelete = (item) => {\r\n        var param = {};\r\n        param.numeroPersona = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n        param.peso = item.peso;\r\n        param.tallaMetros = item.tallaMetros;\r\n        param.tallaCentimetros = item.tallaCentimetros;\r\n        param.registracionFechaHora = item.registracionFechaHora;\r\n        param.modo = \"B\";\r\n        props.setAction(\"BAJA\");\r\n        props.setForm(param);\r\n        props.setOpenConfirm(prevState => !prevState);\r\n    };\r\n    const scrollDiv = () => {\r\n        return (screen.sWidth < 800 ? classes.heightDivRegisters : \"\");\r\n    };\r\n\r\n    const handleScroll = (e) => {\r\n        const bottom = e.target.scrollHeight - e.target.scrollTop === e.target.clientHeight;\r\n        if (bottom) {\r\n            callToServices();\r\n        }\r\n    };\r\n\r\n    const callToServices = (tipoFecha, first) => {\r\n        let auxSkip = skip;\r\n        if (dateStart !== null && dateEnd !== null) {\r\n            if (tipoFecha || first) {\r\n                auxSkip = 0;\r\n            } else {\r\n                auxSkip += 10;\r\n            }\r\n            const paramGet = {\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                count: 10,\r\n                skip: parseInt(auxSkip),\r\n                fechaDesde: dateStart,\r\n                fechaHasta: dateEnd\r\n            };\r\n            setSkip(parseInt(auxSkip));\r\n            dispatch(getDataWheightHeight(paramGet));\r\n        }\r\n    };\r\n\r\n    const btnIcon = () => {\r\n        return (\r\n            <CustomButton\r\n                title={\"NUEVO \"}\r\n                onClick={() => { props.setAdd(prevState => !prevState); }}\r\n                customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                style={{margin: \"0 10px\"}}\r\n            />\r\n        );\r\n    }\r\n\r\n    function showLastRecord(condition) {\r\n        if (condition !== null) {\r\n            var response = (lastRecordCard());\r\n        } else {\r\n            response = (\r\n                <Typography\r\n                    className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                    style={{ marginLeft: \"20px\", marginTop: \"15px\" }}>{\"No se encontraron resultados\"}\r\n                </Typography>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    function btnVerMas(condition) {\r\n        if (condition > 800) {\r\n            var response = (\r\n                <div style={{ width: \"100%\" }} className={classes.BtnMobileWeight}>\r\n                    <CustomButton\r\n                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                        style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"10px\", marginBottom: \"10px\" }}\r\n                        title='ver mas'\r\n                        onClick={() => { callToServices(); }}\r\n                    />\r\n                </div>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    function showAccordion(condition) {\r\n        let response;\r\n        if (condition > 0) {\r\n            response = (\r\n                <> {\r\n                    listRegister?.map((item, i) => (\r\n                        <div\r\n                            className={`${classAccordion(screen.sWidth, classes)} ${classes.notRotateIcon}`}\r\n                            style={{ maxWidth: \"400px\" ,flexShrink: \"1\", alignItems: \"center\" }}>\r\n                            {addAccordion(i, item)}\r\n                        </div>\r\n                    ))}\r\n                    {\r\n                        listRegister?.length >= 10 &&\r\n                        btnVerMas(screen.sWidth)\r\n                    }\r\n                </>\r\n            );\r\n        } else {\r\n            response = (\r\n                <Typography\r\n                    className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                    style={{ marginLeft: \"20px\", marginTop: \"15px\" }}>\r\n                        {\"No se encontraron resultados\"}\r\n                </Typography>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    function showLastCardRecord(condition) {\r\n        var response;\r\n        if(condition > 768) {\r\n            response = (\r\n                <div\r\n                    className={widthClass(screen.sWidth, classes)}\r\n                    style={{marginLeft: \"28px\"}}\r\n                >\r\n                    {showLastRecord(lastRecord)}\r\n                </div>\r\n            );\r\n        } else {\r\n            response = (\r\n                <div\r\n                    className={widthClass(screen.sWidth, classes)}\r\n                    style={{display: \"flex\", justifyContent: (lastRecord !== null ? \"center\" : \"start\")}}\r\n                >\r\n                    {showLastRecord(lastRecord)}\r\n                </div>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n                <>\r\n                        {\r\n                            screen.sWidth <= 768 &&\r\n                            <div\r\n                                className={`${setBackgroundMobile(classes, screen.sWidth)}`}\r\n                                style={{ paddingTop: '50px', paddingBottom: \"40px\", display: \"flex\", alignItems: \"center\" }}>\r\n                                <IconButton onClick={handleGoToPersonalMedicalData}>\r\n                                    <ArrowBackIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"25px\" }} />\r\n                                </IconButton>\r\n                                <div>\r\n                                    <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase' }}>\r\n                                        MIS DATOS MEDICOS\r\n                                    </Typography>\r\n                                    <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleBox}`} style={{ marginRight: \"20px\"}}>\r\n                                        Información sin carácter sanitario conforme ley Nº 26529\r\n                                    </Typography>\r\n                                </div>\r\n                            </div>\r\n                        }\r\n                    <div className={classes.headerSecundary} style={{ marginBottom: \"20px\", display: \"grid\", gridTemplateColumns: \"1fr 1fr\" }}>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase'}}>\r\n                            PESO Y TALLA\r\n                        </Typography>\r\n                        <Typography\r\n                            className={`${classes.titleTurn} ${classes.subtitleBox}`}\r\n                            style={{\r\n                                marginLeft: \"20px\",\r\n                                gridRow: 2, marginTop: screen.sWidth <= 768 ? \"20px\" : \"\",\r\n                                fontSize: \"11px\"\r\n                            }}>\r\n                            Información sin carácter sanitario conforme ley Nº 26529\r\n                        </Typography>\r\n                        <div style={{ gridColumn: \"span 1\", justifySelf: \"right\" }} className={classes.headerFiltro}>\r\n                            {btnIcon()}\r\n                            {filter()}\r\n                        </div>\r\n                    </div>\r\n                    <div style={{ marginBottom: \"30px\" }}>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox}`} >\r\n                            MI ULTIMO REGISTRO\r\n                        </Typography>\r\n                        <Divider className={classes.formDivider} style={{marginBottom: \"20px\"}}/>\r\n                        {\r\n                            showLastCardRecord(screen.sWidth)\r\n                        }\r\n                    </div>\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase' }}>\r\n                        MIS REGISTROS ANTERIORES\r\n                    </Typography>\r\n                    <Divider className={classes.formDivider} style={{marginBottom: \"10px\"}} />\r\n                    <div\r\n                        className={`${classes.flexRowAcordion} ${scrollDiv()}`}\r\n                        onScroll={(e) => { handleScroll(e); }}\r\n                        style={{ justifyContent: screen.sWidth <= 768 && 'center', marginLeft: screen.sWidth > 768 && '12px' }} >\r\n                        { showAccordion(listRegister?.length) }\r\n                    </div>\r\n                </>\r\n            }\r\n        </>);\r\n};\r\n\r\nexport default WeightAndHeigth;\r\n\r\nfunction widthClass(width, classes) {\r\n    if (width <= 800) {\r\n        return classes.width100;\r\n    }\r\n    else if (width > 800 && width < 1250) {\r\n        return classes.width50;\r\n    }\r\n    else {\r\n        return classes.width25;\r\n    }\r\n}\r\n\r\nfunction classAccordion(swidth, classes) {\r\n    if (swidth > 800) {\r\n        return classes.AccordionWeightWeb;\r\n    }\r\n    else {\r\n        return classes.AccordionWeightMobile;\r\n    }\r\n}\r\n\r\nfunction setBackgroundMobile(classes, width) {\r\n    let cssClass = classes.displayNone;\r\n    if (width <= 768) {\r\n        cssClass = classes.titlePersonalDataForm;\r\n    }\r\n    return cssClass;\r\n}\r\n","import FormWeight from \"./FormWeight\";\r\nimport WeightAndHeigth from \"./WeightAndHeight\";\r\nimport {useState, useEffect } from 'react';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport ConfirmModal from \"../../PersonalData/ConfirmModal\";\r\nimport SaveModal from \"../../PersonalData/SaveModal\";\r\nimport {ABWheightHeight} from './../../../redux/actions/medicalDataAction'\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { handleGoToPersonalMedicalData, showMessageModal } from \"../../../utils/utilsFunctions\";\r\n\r\n\r\nconst HomeWeight=()=>{\r\n    const classes = useStyles();\r\n    const [add, setAdd]=useState(false);\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(null);\r\n    const [openConfirm, setOpenConfirm] = useState(null);\r\n    const [modalTitle, setModalTitle] = useState('Enviado correctamente');\r\n    const [modalDescription, setModalDescription] = useState(\"Los cambios han sido realizados, una vez validados por nuestro sector correspondiente observarás los cambios en el sistema.\");\r\n    const [modalIcon, setModalIcon] = useState(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [form, setForm] = useState({});\r\n    const[action, setAction]=useState(\"\");\r\n    const medicalData = useSelector(state => state.medicalDataReducer);\r\n    const errorMessage = useSelector(state => state.medicalDataReducer?.msgError);\r\n    const dispatch = useDispatch();\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n\r\n\r\n\r\n    useEffect(()=>{\r\n        if(medicalData.abweight.confirmacion != undefined){\r\n            if(medicalData.abweight.confirmacion){\r\n                setOpenConfirm(prevState => !prevState);\r\n                let titleModal= action == \"ALTA\" ?  'Enviado correctamente ' : 'Eliminado correctamente '\r\n                setModalTitle(titleModal);\r\n                setModalDescription(\"Los cambios han sido efectuados correctamente.\");\r\n                setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />        );\r\n                setErrorClass(\"\");\r\n                setOpenSendSuccess(prevState => !prevState);\r\n                if(action == \"ALTA\"){\r\n                    setAdd(prevState => !prevState)\r\n                }\r\n                window.location.reload();\r\n            }\r\n        }\r\n    },[medicalData.abweight])\r\n\r\n    useEffect(() => {\r\n        if (errorMessage?.length > 0) {\r\n            setErrorMessageModal(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    useEffect(() => {\r\n        setMessageModal(setModalTitle, setModalDescription, setModalIcon, setErrorClass, classes, errorMessage);\r\n    }, [errorMessage]);\r\n\r\n    function setMessageModal(setterModalTitle, setterModalDescription, setterModalIcon, setterErrorClass, cssClasses, errorMessageRedux) {\r\n        if (errorMessageRedux !== '') {\r\n            setterModalTitle('Ocurrió un error');\r\n            setterModalDescription('Ocurrio un error al enviar los datos.');\r\n            setterModalIcon(<CancelIcon className={`${cssClasses.quickAccessIcon} ${cssClasses.personalDataIcon}`} />);\r\n            setterErrorClass(cssClasses.backgroundError);\r\n        } \r\n    }\r\n\r\n    const sendForm=()=>{\r\n        dispatch(ABWheightHeight(form))\r\n    }\r\n\r\n    return(<> {add ? <FormWeight \r\n                            add={add} \r\n                            setAdd={setAdd} \r\n                            setModalTitle={setModalTitle}\r\n                            modalDescription={setModalDescription} \r\n                            modalIcon={setModalIcon}\r\n                            errorClass={errorClass}\r\n                            setErrorClass={setErrorClass}\r\n                            setOpenConfirm={setOpenConfirm}\r\n                            setForm={setForm}\r\n                            setAction={setAction}\r\n                    /> \r\n                    : \r\n                    <WeightAndHeigth  \r\n                            add={add} \r\n                            setAdd={setAdd} \r\n                            setModalTitle={setModalTitle}\r\n                            modalDescription={setModalDescription} \r\n                            modalIcon={setModalIcon}\r\n                            errorClass={errorClass}\r\n                            setErrorClass={setErrorClass}\r\n                            setOpenConfirm={setOpenConfirm}\r\n                            setForm={setForm}\r\n                            setAction={setAction}\r\n\r\n                    /> }\r\n            \r\n            <SaveModal  isOpen={openConfirm} setOpen={setOpenConfirm} type='submit' onClick={()=>{sendForm()}}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                           ¿ Esta seguro que desea continuar?\r\n                        </div>\r\n                    </>\r\n                }\r\n                descriptionModal=\"\"\r\n            />\r\n\r\n           \r\n        <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n            titleModal={\r\n                <>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        {modalIcon}\r\n                    </div>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        {modalTitle}\r\n                    </div>\r\n                </>\r\n            }\r\n            description={modalDescription} />\r\n\r\n            {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon, classes.contentDialogTitle, handleGoToPersonalMedicalData)}\r\n            </>     \r\n    \r\n          )\r\n\r\n}\r\nexport default HomeWeight","import { useEffect, useState, Fragment } from \"react\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport {\r\n  Button,\r\n  Divider,\r\n  FormControl,\r\n  FormHelperText,\r\n  Accordion,\r\n  AccordionSummary,\r\n  AccordionDetails,\r\n  Typography,\r\n} from \"@material-ui/core\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport SaveModal from \"../../PersonalData/SaveModal\";\r\nimport ConfirmModal from \"../../PersonalData/ConfirmModal\";\r\nimport CheckCircleOutlineIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport DeleteOutlineIcon from \"@material-ui/icons/DeleteOutline\";\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { abmChronicMedication, getChronicMedication } from \"../../../redux/actions/medicalDataAction\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport useMessageModal from \"../../../hooks/useMessageModal\";\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport { handleGoToPersonalMedicalData, showMessageModal } from \"../../../utils/utilsFunctions\";\r\n\r\nconst frecuencia = [\r\n  {\r\n    value: \"DIA\",\r\n    label: \"DIA\",\r\n  },\r\n  {\r\n    value: \"SEMANA\",\r\n    label: \"SEMANA\",\r\n  },\r\n  {\r\n    value: \"MES\",\r\n    label: \"MES\",\r\n  },\r\n];\r\n\r\nconst ChronicMedicationForm = ({ disabled, setDisabled }) => {\r\n  const classes = useStyles();\r\n  const { screen } = useResizeScreen();\r\n  const dispatch = useDispatch();\r\n  const campoObligatorio = \"*Campo obligatorio\";\r\n  const [error, setError] = useState({\r\n    medicamentoDescripcion: campoObligatorio,\r\n      medicamentoDosis: campoObligatorio,\r\n      medicamentoFormaFarmaceutica: campoObligatorio,\r\n      medicamentoCantidad: campoObligatorio,\r\n      medicamentoFrecuencia: campoObligatorio,\r\n  });\r\n  const [open, setOpen] = useState(false);\r\n  const [openConfirm, setOpenConfirm] = useState(false);\r\n  const [auxMedication, setAuxMedication] = useState({\r\n    medicamentoDescripcion: \"\",\r\n    medicamentoDosis: \"\",\r\n    medicamentoFormaFarmaceutica: \"\",\r\n    medicamentoCantidad: \"\",\r\n    medicamentoFrecuencia: \"\",\r\n    medicamentoObservacion: \"\",\r\n  });\r\n  const [medication, setMedication] = useState([]);\r\n\r\n  const errorMessageMedication = useSelector((state) => state.medicalDataReducer?.msgError);\r\n  const defaultModalMedication = {\r\n    defaultModalTitle: \"Enviado correctamente\",\r\n    defaultModalDescription: \"Los cambios han sido realizados.\",\r\n    defaultModalIcon: (\r\n      <CheckCircleOutlineIcon\r\n        className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`}\r\n      />\r\n    ),\r\n    defaultModalErrorClass: \"\",\r\n  };\r\n  const setMessageModalMedication = {\r\n    setModalTitle: \"Ocurrió un error\",\r\n    setModalDescription: \"Ocurrió un error al enviar los datos.\",\r\n    setModalIcon: (\r\n      <CancelIcon\r\n        className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`}\r\n      />\r\n    ),\r\n    setModalErrorClass: classes.backgroundError,\r\n  };\r\n  const { modalTitle, modalDescription, modalIcon, modalErrorClass } =\r\n    useMessageModal(\r\n      defaultModalMedication,\r\n      setMessageModalMedication,\r\n      errorMessageMedication\r\n    );\r\n  const [mode, setMode] = useState(false);\r\n  const [removeMedication, setRemoveMedication] = useState(\"\");\r\n  const chronicMedication = useSelector((state) => state.medicalDataReducer?.chronicMedication);\r\n  const pharmaceuticalForm = useSelector((state) => state.medicalDataReducer?.pharmaceuticalForm);\r\n  const [pharmFormList, setPharmFormList] = useState([{ value: 0, label: '' }]);\r\n  const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n\r\n  useEffect(() => {\r\n    if (errorMessageMedication?.length > 0) {\r\n      setErrorMessageModal(true);\r\n    }\r\n  }, [errorMessageMedication]);\r\n\r\n  useEffect(() => {\r\n    const param = {\r\n      numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n      count: 10,\r\n      skip: 0\r\n    };\r\n    dispatch(getChronicMedication(param));\r\n  }, [openConfirm, open])\r\n\r\n  function addMedication() {\r\n    if (medication !== undefined) {\r\n      medication.push(auxMedication);\r\n    }\r\n  }\r\n\r\n  const handleDelete = (medicationItem) => (e) => {\r\n    e.preventDefault();\r\n    const medicationWOItem = medication?.filter((x) => x !== medicationItem);\r\n    setMedication(medicationWOItem);\r\n    setRemoveMedication(medicationItem);\r\n    setMode(false);\r\n    setOpen((prevState) => !prevState);\r\n  };\r\n\r\n  const handleChangeInput = (pharmFormType) => (e) => {\r\n    const { name, value } = e.target;\r\n    if (value !== \"\") {\r\n      let values = { ...auxMedication, [name]: value };\r\n    if (pharmFormType) {\r\n      values = { ...auxMedication, [name]: pharmFormList[value]?.label };\r\n    }\r\n    setAuxMedication(values);\r\n    setError({...error, [name]: \"\"});\r\n    } else {\r\n      setError({...error, [name]: campoObligatorio});\r\n    }\r\n  };\r\n\r\n  const handleChangeChronicMedicationInput = () => (e) => {\r\n    if(e.target.value > 0 && e.target.value <= 9999999) {\r\n      e.target.value = Number.parseFloat(e.target.value)?.toFixed(2);\r\n      let values = { ...auxMedication, [e.target.name]: (e.target.value)?.toString()?.replace(',', '.') };\r\n      setError({ ...error, [e.target.name]: '' });\r\n      setAuxMedication(values);\r\n    } else if(e.target.value > 9999999) {\r\n      setError({ ...error, [e.target.name]: 'La dosis del medicamento excede el máximo' });\r\n    } else if(e.target.value <= 0) {\r\n      setError({ ...error, [e.target.name]: 'La dosis del medicamento debe ser mayor a 0' });\r\n    }\r\n  };\r\n\r\n  const handleClickModal = () => {\r\n    if (validateFormMedication(error)) {\r\n      setMode(true);\r\n      addMedication();\r\n      setOpen((prevState) => !prevState);\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    setMedication(chronicMedication?.medicamentos);\r\n  }, [chronicMedication?.medicamentos]);\r\n\r\n  useEffect(() => {\r\n    if (Object.values(pharmaceuticalForm).length > 0) {\r\n      if (pharmaceuticalForm?.confirmacion) {\r\n        let auxList = [];\r\n        Object.entries(pharmaceuticalForm?.formasFarmaceuticas).forEach((key) => {\r\n          let item = { value: key[0], label: key[1].formaFarmaceutica?.trimEnd() };\r\n          auxList.push(item);\r\n        });\r\n        setPharmFormList(auxList);\r\n      }\r\n    }\r\n  }, [pharmaceuticalForm]);\r\n\r\n  const handleSubmit = (e) => {\r\n    e.preventDefault();\r\n    if (mode) {\r\n      if (validateFormMedication(error)) {\r\n        dispatch(\r\n          abmChronicMedication({\r\n            numeroPersona: parseInt(\r\n              window.localStorage.getItem(\"numeroPersona\")\r\n            ),\r\n            medicamentoDescripcion: auxMedication?.medicamentoDescripcion?.trim(),\r\n            medicamentoDosis: Number.parseFloat(auxMedication?.medicamentoDosis),\r\n            medicamentoFormaFarmaceutica:\r\n              auxMedication?.medicamentoFormaFarmaceutica?.trim(),\r\n            medicamentoCantidad: Number.parseInt(\r\n              auxMedication?.medicamentoCantidad\r\n            ),\r\n            medicamentoFrecuencia: auxMedication?.medicamentoFrecuencia?.trim(),\r\n            medicamentoObservacion: auxMedication?.medicamentoObservacion?.trim(),\r\n            modo: \"A\",\r\n          })\r\n        );\r\n        setDisabled((prevState) => !prevState);\r\n      }\r\n    } else {\r\n      dispatch(\r\n        abmChronicMedication({\r\n          numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n          medicamentoDescripcion: removeMedication?.medicamentoDescripcion?.trim(),\r\n          medicamentoDosis: Number.parseFloat(removeMedication?.medicamentoDosis),\r\n          medicamentoFormaFarmaceutica:\r\n            removeMedication?.medicamentoFormaFarmaceutica?.trim(),\r\n          medicamentoCantidad: Number.parseInt(\r\n            removeMedication?.medicamentoCantidad\r\n          ),\r\n          medicamentoFrecuencia: removeMedication?.medicamentoFrecuencia?.trim(),\r\n          medicamentoObservacion: auxMedication?.medicamentoObservacion?.trim(),\r\n          modo: \"B\",\r\n        })\r\n      );\r\n    }\r\n    setOpen((prevState) => !prevState);\r\n    setOpenConfirm((prevState) => !prevState);\r\n  };\r\n\r\n  function validateFormMedication(object) {\r\n    const validation = [];\r\n    if (Object.values(object).every((x) => x === \"\")) {\r\n      validation.push(true);\r\n    } else {\r\n      validation.push(false);\r\n    }\r\n    setError(object);\r\n    return Object.values(validation).every((valid) => valid === true);\r\n  }\r\n\r\n  const accordionItem = (i, item) => {\r\n    return (\r\n      <>\r\n        <Accordion key={i}>\r\n          <AccordionSummary\r\n            expandIcon={<ExpandMoreIcon />}\r\n            aria-controls=\"panel1a-content\"\r\n            id=\"panel1a-header\"\r\n          >\r\n            <div\r\n              style={{\r\n                display: \"flex\",\r\n                width: \"100%\",\r\n                flexDirection: \"column\",\r\n              }}\r\n            >\r\n              {screen.sWidth <= 768 ?\r\n                <Typography className={classes.titleAccordionChronic}>\r\n                  {item.medicamentoDescripcion}\r\n                </Typography> :\r\n                <Typography className={classes.titleAccordionChronic}>\r\n                  {\"Descripcion\"}\r\n                </Typography>\r\n              }\r\n              <div style={{ width: \"100%\" }}>\r\n                <Divider className={classes.dividerMedicalCenter} />\r\n              </div>\r\n            </div>\r\n          </AccordionSummary>\r\n          <AccordionDetails>\r\n            {\r\n              <>\r\n                <div className={classes.displayFlex}>\r\n                  <Typography\r\n                    className={classes.detailsAccordionChronic}\r\n                  >{`FORMA FARMACEUTICA: ${item?.medicamentoFormaFarmaceutica}`}</Typography>\r\n                </div>\r\n                <div className={classes.displayFlex}>\r\n                  <Typography\r\n                    className={classes.detailsAccordionChronic}\r\n                  >{`DOSIS: ${Number.parseFloat(item?.medicamentoDosis).toFixed(2)}`}</Typography>\r\n                </div>\r\n                <div className={classes.displayFlex}>\r\n                  <Typography\r\n                    className={classes.detailsAccordionChronic}\r\n                  >{`CANTIDAD: ${item?.medicamentoCantidad}`}</Typography>\r\n                </div>\r\n                <div className={classes.displayFlex}>\r\n                  <Typography\r\n                    className={classes.detailsAccordionChronic}\r\n                  >{`FRECUENCIA: ${item?.medicamentoFrecuencia}`}</Typography>\r\n                </div>\r\n                <div className={classes.displayFlex}>\r\n                  <Typography\r\n                    className={classes.detailsAccordionChronic}\r\n                  >{`OBSERVACIONES: ${item?.medicamentoObservacion}`}</Typography>\r\n                </div>\r\n              </>\r\n            }\r\n          </AccordionDetails>\r\n        </Accordion>\r\n      </>\r\n    );\r\n  };\r\n\r\n  const addForm = (\r\n    <>\r\n      <FormControl\r\n        className={classes.formControlAddress}\r\n        variant=\"standard\"\r\n      >\r\n        <CustomizedInputs\r\n          name=\"medicamentoDescripcion\"\r\n          onChange={handleChangeInput()}\r\n          disabled={disabled}\r\n          label=\"MEDICAMENTO\"\r\n        />\r\n        <FormHelperText className={classes.errorText}>\r\n          {error?.medicamentoDescripcion}\r\n        </FormHelperText>\r\n      </FormControl>\r\n      <FormControl\r\n        className={classes.formControlAddress}\r\n        variant=\"standard\"\r\n      >\r\n        <CustomizedInputs\r\n          name=\"medicamentoDosis\"\r\n          onChange={handleChangeChronicMedicationInput()}\r\n          disabled={disabled}\r\n          label=\"DOSIS\"\r\n          type=\"number\"\r\n          inputMode=\"numeric\"\r\n        />\r\n        <FormHelperText className={classes.errorText}>\r\n          {error?.medicamentoDosis}\r\n        </FormHelperText>\r\n      </FormControl>\r\n      <FormControl\r\n        className={`${classes.formControlChronicMedicationForm}`}\r\n        variant=\"standard\"\r\n      >\r\n        <CustomSelect\r\n          name=\"medicamentoFormaFarmaceutica\"\r\n          disabled={disabled}\r\n          list={pharmFormList}\r\n          onChange={handleChangeInput(true)}\r\n          label=\"FORMA FARMACEUTICA\"\r\n        />\r\n        <FormHelperText className={classes.errorText}>\r\n          {error?.medicamentoFormaFarmaceutica}\r\n        </FormHelperText>\r\n      </FormControl>\r\n      <FormControl\r\n        className={classes.formControlAddress}\r\n        variant=\"standard\"\r\n      >\r\n        <CustomizedInputs\r\n          name=\"medicamentoCantidad\"\r\n          onChange={handleChangeInput()}\r\n          disabled={disabled}\r\n          type=\"number\"\r\n          label=\"CANTIDAD DE VECES\"\r\n        />\r\n        <FormHelperText className={classes.errorText}>\r\n          {error?.medicamentoCantidad}\r\n        </FormHelperText>\r\n      </FormControl>\r\n      <FormControl\r\n        className={`${classes.formControlChronicMedicationForm}`}\r\n        variant=\"standard\"\r\n      >\r\n        <CustomSelect\r\n          name=\"medicamentoFrecuencia\"\r\n          disabled={disabled}\r\n          list={frecuencia}\r\n          onChange={handleChangeInput()}\r\n          label={\"FRECUENCIA TEMPORAL\"}\r\n        />\r\n        <FormHelperText className={classes.errorText}>\r\n          {error?.medicamentoFrecuencia}\r\n        </FormHelperText>\r\n      </FormControl>\r\n    </>\r\n  );\r\n\r\n  const editForm = () => {\r\n    if (screen.sWidth <= 768) {\r\n      return (\r\n        <>\r\n          {addForm}\r\n          <FormControl\r\n            className={classes.formControlAddress}\r\n            variant=\"standard\"\r\n          >\r\n            <CustomizedInputs\r\n              name=\"medicamentoObservacion\"\r\n              onChange={handleChangeInput()}\r\n              disabled={disabled}\r\n              label=\"OBSERVACIONES\"\r\n              multiline\r\n              rows={6}\r\n              inputProps={{ maxLength: 200 }}\r\n            />\r\n            <FormHelperText className={classes.errorText}>\r\n              {error?.medicamentoObservacion}\r\n            </FormHelperText>\r\n          </FormControl>\r\n        </>\r\n      );\r\n    } else {\r\n      return (\r\n        <>\r\n          <div style={{ display: \"flex\", flexWrap: \"nowrap\" }}>\r\n            <div style={{ display: \"flex\", flexDirection: \"column\" }}>\r\n              {addForm}\r\n            </div>\r\n            <FormControl\r\n              className={classes.formControlAddress}\r\n              variant=\"standard\"\r\n            >\r\n              <CustomizedInputs\r\n                name=\"medicamentoObservacion\"\r\n                onChange={handleChangeInput()}\r\n                disabled={disabled}\r\n                label=\"OBSERVACIONES\"\r\n                multiline\r\n                rows={6}\r\n                inputProps={{ maxLength: 200 }}\r\n              />\r\n              <FormHelperText className={classes.errorText}>\r\n                {error?.medicamentoObservacion}\r\n              </FormHelperText>\r\n            </FormControl>\r\n          </div>\r\n        </>\r\n      );\r\n    }\r\n  };\r\n\r\n  function handleNew() {\r\n    setDisabled(prevState => !prevState);\r\n  }\r\n\r\n  function showChronicMedication() {\r\n    let show;\r\n    if(chronicMedication?.medicamentos !== undefined) {\r\n        show = medication?.map((item, i) =>\r\n        screen.sWidth <= 768 ? (\r\n          <Fragment key={i}>\r\n            <div\r\n              className={`${classes.divEmergencyPhonesForm} ${classes.divCustomSelectHobbies} ${classes.divAllergiesForm}`}\r\n              style={{ alignItems: 'center' }}>\r\n              <div className={classes.accordionMedicationMobile}>\r\n                {accordionItem(i, item)}\r\n              </div>\r\n\r\n              <div className={classes.quarterCol} style={{ justifyContent: 'end' }}>\r\n                <Button onClick={handleDelete(item)}>\r\n                  <DeleteOutlineIcon\r\n                    className={classes.ShowMoreArrowIcon}\r\n                    style={{ color: \"#002858\" }}\r\n                  />\r\n                </Button>\r\n              </div>\r\n            </div>\r\n          </Fragment>\r\n        ) : (\r\n          <Fragment key={i}>\r\n            <div className={classes.formChronicDisease}>\r\n              <FormControl\r\n                className={classes.formControlAddress}\r\n                variant=\"standard\"\r\n              >\r\n                <CustomizedInputs\r\n                  name=\"medicamentoDescripcion\"\r\n                  defaultValue={item?.medicamentoDescripcion}\r\n                  disabled={disabled}\r\n                  label=\"MEDICAMENTO\"\r\n                  style={{ marginBottom: \"10px\" }}\r\n                />\r\n                <div className={`${classes.accordionMedicationMobile}`} style={{ width: '100%' }}>\r\n                  {accordionItem(i, item)}\r\n                </div>\r\n                <FormHelperText className={classes.errorText}>\r\n                  {error[i]?.medicamentoDescripcion}\r\n                </FormHelperText>\r\n              </FormControl>\r\n              <div style={{ display: \"flex\", alignItems: \"start\", marginTop: '30px' }}>\r\n                <Button onClick={handleDelete(item)}>\r\n                  <DeleteOutlineIcon\r\n                    className={classes.ShowMoreArrowIcon}\r\n                    style={{ color: \"#002858\" }}\r\n                  />\r\n                </Button>\r\n              </div>\r\n            </div>\r\n          </Fragment>\r\n        )\r\n      )\r\n    } else {\r\n        show = <div>\r\n        <NotFound\r\n          style={{\r\n            display: \"flex\",\r\n            justifyContent: \"center\",\r\n            alignItems: \"center\",\r\n          }}\r\n          customMsg={\r\n            <div className={classes.contentNotFound}>\r\n              <span className={classes.notAppointment}>\r\n                No se encontraron resultados\r\n              </span>\r\n            </div>\r\n          }\r\n          wsItem={chronicMedication?.medicamentos}\r\n          fullItem={chronicMedication?.medicamentos}\r\n        />\r\n      </div>\r\n    }\r\n    return show;\r\n  }\r\n\r\n  return (\r\n    <>\r\n      <form onSubmit={handleSubmit} className={classes.formChronicMedication}>\r\n        {disabled ? (\r\n          <>\r\n            { showChronicMedication() }\r\n          </>\r\n        ) : (\r\n          editForm()\r\n        )}\r\n\r\n        <div\r\n          className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}\r\n        >\r\n          {!disabled && (\r\n            <div style={{ marginBottom: \"50px\" }}>\r\n              <CustomButton\r\n                customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                style={{ marginBottom: \"20px\", marginLeft: \"20px\" }}\r\n                title='cancelar'\r\n                onClick={handleNew}\r\n              />\r\n              <CustomButton\r\n                customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                style={{ marginBottom: \"20px\", marginLeft: \"20px\" }}\r\n                title=\"Guardar\"\r\n                onClick={handleClickModal}\r\n              />\r\n            </div>\r\n          )}\r\n        </div>\r\n        <SaveModal\r\n          isOpen={open}\r\n          setOpen={setOpen}\r\n          type=\"submit\"\r\n          onClick={handleSubmit}\r\n          titleModal={\r\n            <>\r\n              <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n                <CheckCircleOutlineIcon\r\n                  className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`}\r\n                />\r\n              </div>\r\n              <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n                Confirmar envío de datos\r\n              </div>\r\n            </>\r\n          }\r\n          descriptionModal=\"¿Deseas confirmar los cambios?\"\r\n        />\r\n      </form>\r\n      <ConfirmModal\r\n        isOpen={openConfirm}\r\n        setOpen={setOpenConfirm}\r\n        errorClass={modalErrorClass}\r\n        titleModal={\r\n          <>\r\n            <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n              {modalIcon}\r\n            </div>\r\n            <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n              {modalTitle}\r\n            </div>\r\n          </>\r\n        }\r\n        description={modalDescription}\r\n      />\r\n      {showMessageModal(errorMessageMedication, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon, classes.contentDialogTitle, handleGoToPersonalMedicalData)}\r\n    </>\r\n  );\r\n};\r\nexport default ChronicMedicationForm;\r\n","import { Divider, Typography, CircularProgress  } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport { useLayoutEffect, useState, useEffect } from \"react\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport ChronicMedicationForm from \"./ChronicMedicationForm\";\r\nimport { getChronicMedication, getPharmaceuticalForm } from \"../../../redux/actions/medicalDataAction\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { handleGoToPersonalMedicalData, showMessageModal } from \"../../../utils/utilsFunctions\";\r\n\r\nconst param = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    count: 10,\r\n    skip: 0\r\n};\r\n\r\nconst ChronicMedication = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const [disabled, setDisabled] = useState(true);\r\n    const dispatch = useDispatch();\r\n    const chronicMedication = useSelector((state) => state.medicalDataReducer?.chronicMedication);\r\n    const errorMessage = useSelector(state => state.medicalDataReducer.msgError);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n    const [loading, setLoading] = useState(true);\r\n\r\n\r\n    useLayoutEffect(() => {\r\n        dispatch(getPharmaceuticalForm());\r\n        dispatch(getChronicMedication(param));\r\n    }, []);\r\n\r\n    useEffect(() =>{\r\n        setLoading(false);\r\n    },[chronicMedication])\r\n\r\n    function formHeaderText() {\r\n        let response = {\r\n            titleHeader: 'Medicamentos Cronicos',\r\n            subtitleHeader: 'Información sin carácter sanitario conforme ley Nº 26529'\r\n        };\r\n        if (screen.sWidth < 768) {\r\n            response.titleHeader = 'Mis datos medicos';\r\n            response.subtitleHeader = 'Información sin carácter sanitario conforme ley Nº 26529';\r\n        }\r\n        return response;\r\n    }\r\n\r\n    const handleNew = (e) => {\r\n        e.preventDefault();\r\n        setDisabled(prevState => !prevState);\r\n    };\r\n\r\n    const customsIcons = () => {\r\n        if (disabled) {\r\n            return (\r\n                <CustomButton\r\n                    title=\"NUEVO\"\r\n                    customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                    style={{ marginBottom: \"20px\", marginLeft: \"20px\" }}\r\n                    onClick={handleNew}\r\n                />\r\n            );\r\n        }\r\n\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (errorMessage?.length > 0) {\r\n            setErrorMessageModal(true);\r\n        }\r\n        setLoading(true);\r\n    }, [errorMessage]);\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={formHeaderText().titleHeader} subtitle={formHeaderText().subtitleHeader} handleGoTo={handleGoToPersonalMedicalData} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            {disabled &&\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                    {screen.sWidth <= 768 ?\r\n                        <>\r\n                            <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', marginLeft: '5px' }}>\r\n                                MEDICAMENTOS CRONICOS\r\n                            </Typography>\r\n                            {customsIcons()}\r\n                        </>\r\n                        :\r\n                        <>\r\n                            <CustomButton\r\n                                title=\"NUEVO\"\r\n                                customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                style={{ marginBottom: \"20px\", marginLeft: \"20px\" }}\r\n                                onClick={handleNew}\r\n                            />\r\n                        </>\r\n                    }\r\n                </div>\r\n            }\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n            <ChronicMedicationForm disabled={disabled} setDisabled={setDisabled} />\r\n            }\r\n            {chronicMedication?.medicamentos?.length === 0 && disabled && chronicMedication !== undefined &&\r\n                <Typography\r\n                    className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                    style={{ marginLeft: \"30px\", marginTop: \"15px\" }}>\r\n                    {\"No se encontraron resultados\"}\r\n                </Typography>}\r\n\r\n            {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon, classes.contentDialogTitle, handleGoToPersonalMedicalData)}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default ChronicMedication;\r\n","import InputBase from '@material-ui/core/InputBase';\r\nimport { alpha, styled } from '@material-ui/core/styles';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport useStyles from '../../assets/styles/styles';\r\nimport FormControl from '@material-ui/core/FormControl';\r\n\r\nconst Input = styled(InputBase)(({ theme }) => ({\r\n    'label + &': {\r\n        marginTop: theme.spacing(3),\r\n    },\r\n    '& .MuiInputBase-input': {\r\n        position: 'relative',\r\n        borderRadius: 4,\r\n        border: '1px solid #ced4da',\r\n        backgroundColor: theme.palette.mode === 'light' ? '#fcfcfb' : '#2b2b2b',\r\n        padding: '10px 12px',\r\n        fontSize: 16,\r\n        transition: theme.transitions.create([\r\n            'border-color',\r\n            'background-color',\r\n            'box-shadow',\r\n        ]),\r\n        '&:focus': {\r\n            borderColor: theme.palette.primary.main,\r\n            boxShadow: `${alpha(theme.palette.primary.main, 0.25)} 0 0 0 0.2rem`,\r\n        },\r\n    },\r\n}));\r\n\r\nconst PhonesInput = (props) => {\r\n    const { ...other } = props;\r\n    const classes = useStyles();\r\n\r\n    function required() {\r\n        if (props.customRequired) {\r\n            return <span style={{ color: '#ff0000' }}>*</span>;\r\n        }\r\n    }\r\n\r\n    return (\r\n        <FormControl\r\n            className={`${classes.formControl} ${props.formControlClass}`}\r\n            variant=\"standard\">\r\n            <InputLabel\r\n                className={`${classes.inputLabelForms} ${props.inputLabelClass}`}\r\n                shrink\r\n                htmlFor=\"bootstrap-input\">\r\n                {props.label}{required()}\r\n            </InputLabel>\r\n            <Input {...other}\r\n                type={props.type}\r\n                disabled={props.disabled}\r\n                className={`${classes.customInput} ${props.customClass}`}\r\n                id=\"bootstrap-input\"\r\n            />\r\n        </FormControl>\r\n    );\r\n};\r\n\r\nexport default PhonesInput;","import { abmMDPhones } from \"../../../../redux/actions/medicalDataAction\";\r\n\r\nexport const handleClickModal = (phone, addItemScreen, addInput, setError, setFlag, setOpen) => (e) => {\r\n    e.preventDefault();\r\n    if (validates(phone, addItemScreen, addInput, setError, setFlag)) {\r\n        setOpen(prevState => !prevState);\r\n    }\r\n};\r\n\r\nexport function validate(phones, setError) {\r\n    const campoObligatorio = '*Campo obligatorio';\r\n    if(phones !== undefined){\r\n        const temp = phones;\r\n        const aux = [];\r\n        const validation = [];\r\n        Object.values(temp).forEach((item, i) => {\r\n            const phoneObj = {\r\n                telefonoPaisCodigo: item.telefonoPaisCodigo ? '' : campoObligatorio,\r\n                telefonoAreaCodigo: item.telefonoAreaCodigo ? '' : campoObligatorio,\r\n                telefonoNumero: item.telefonoNumero ? '' : campoObligatorio,\r\n                telefonoObservacion: item.telefonoObservacion ? '' : campoObligatorio\r\n            };\r\n            aux.push(phoneObj);\r\n            if (Object.values(aux[i]).every((x) => x === \"\")) {\r\n                validation.push(true);\r\n            } else {\r\n                validation.push(false);\r\n            }\r\n        });\r\n    if (phones === '') {\r\n        const phoneObj = {\r\n            telefonoPaisCodigo: campoObligatorio,\r\n            telefonoAreaCodigo: campoObligatorio,\r\n            telefonoNumero: campoObligatorio,\r\n            telefonoObservacion: campoObligatorio\r\n        };\r\n        aux.push(phoneObj);\r\n        validation.push(false);\r\n    }\r\n    setError(aux);\r\n    return Object.values(validation).every((valid) => valid === true);\r\n    }\r\n    return false;\r\n}\r\n\r\nexport function validates(phones, isAdd, phoneItem, setErrorFunction, setFlagFunction) {\r\n    let validateItem = validate(phones, setErrorFunction);\r\n    if (isAdd) {\r\n        validateItem = validate(phoneItem, setErrorFunction);\r\n        setFlagFunction(true);\r\n    }\r\n    return validateItem;\r\n}\r\n\r\nexport const handleRemoveItem = (phoneItem, phone, setPhone, dispatch, tipo) => (e) => {\r\n    e.preventDefault();\r\n    const phonesWOItem = phone?.filter(x => x !== phoneItem);\r\n    setPhone(phonesWOItem);\r\n    const aux = {\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        telefonoTipo: tipo,\r\n        modo: \"B\",\r\n        telefonoPaisCodigo: phoneItem?.telefonoPaisCodigo,\r\n        telefonoAreaCodigo: phoneItem?.telefonoAreaCodigo,\r\n        telefonoNumero: parseInt(phoneItem?.telefonoNumero),\r\n        telefonoInterno: 0,\r\n        telefonoObservacion: phoneItem?.telefonoObservacion,\r\n        telefonoCodigo: phoneItem?.telefonoCodigo\r\n    };\r\n    dispatch(abmMDPhones(aux));\r\n    setTimeout(() => { window.location.reload() }, 500);\r\n};\r\n\r\nexport const handleAddItem = (props) => (e) => {\r\n    e.preventDefault();\r\n    const { phone, addInput, addItemScreen, setError, setFlag, setOpenConfirm, setAddInput, setPhone } = props;\r\n    const aux = phone;\r\n    const phones = [...aux, ...addInput];\r\n    if (validates(phone, addItemScreen, addInput, setError, setFlag)) {\r\n        setPhone(phones);\r\n        setOpenConfirm(prevState => !prevState);\r\n        setAddInput([{\r\n            telefonoPaisCodigo: 0,\r\n            telefonoAreaCodigo: 0,\r\n            telefonoNumero: 0,\r\n            telefonoObservacion: ''\r\n        }]);\r\n    }\r\n};\r\n\r\nexport const handleChangeInput = (props) => (e) => {\r\n    const { name, value } = e.target;\r\n    const { position, i, phone, setPhone, addInput, setAddInput } = props;\r\n    const index = position ?? i;\r\n    changeInput(index, phone, name, value, setPhone, addInput, setAddInput);\r\n};\r\n\r\nexport function changeInput(position, phone, name, value, setPhone, addInput, setAddInput) {\r\n    if (position !== -1) {\r\n        const telefonoNumero = phone?.map((item, i) => {\r\n            if (position === i) {\r\n                return { ...item, [name.split('-')[0]]: value };\r\n            } else {\r\n                return item;\r\n            }\r\n        });\r\n        setPhone(telefonoNumero);\r\n    } else {\r\n        const addPhone = addInput.map((itemsOfPhone) => {\r\n            return { ...itemsOfPhone, [name.split('-')[0]]: value };\r\n        });\r\n        setAddInput(addPhone);\r\n    }\r\n}\r\n\r\nexport function submit(props) {\r\n    const { phone, setAddItemScreen, addInput, flag, setPhone, setAddInput, phoneType, dispatch } = props;\r\n    const aux = {\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        telefonoTipo: '',\r\n        modo: \"A\",\r\n        telefonoPaisCodigo: 0,\r\n        telefonoAreaCodigo: 0,\r\n        telefonoNumero: 0,\r\n        telefonoInterno: 0,\r\n        telefonoObservacion: '',\r\n        telefonoCodigo: 0\r\n    };\r\n    if (flag && phone !== undefined) {\r\n        setPhone([...phone, ...addInput]);\r\n        aux.telefonoTipo = phoneType;\r\n        aux.modo = \"A\";\r\n        aux.telefonoPaisCodigo = parseInt(addInput[0]?.telefonoPaisCodigo);\r\n        aux.telefonoAreaCodigo = parseInt(addInput[0]?.telefonoAreaCodigo);\r\n        aux.telefonoNumero = parseInt(addInput[0]?.telefonoNumero);\r\n        aux.telefonoInterno = 0;\r\n        aux.telefonoObservacion = addInput[0]?.telefonoObservacion;\r\n        aux.telefonoCodigo = 0;\r\n        dispatch(abmMDPhones(aux));\r\n        setAddInput([{\r\n            telefonoPaisCodigo: 0,\r\n            telefonoAreaCodigo: 0,\r\n            telefonoNumero: 0,\r\n            telefonoObservacion: ''\r\n        }]);\r\n        setAddItemScreen(prevState => !prevState);\r\n    } else {\r\n        Object.values(phone)?.forEach(item => modifyPhones(item, dispatch, aux, phoneType));\r\n    }\r\n}\r\n\r\nfunction modifyPhones(phone, dispatch, model, type) {\r\n    model.telefonoTipo = type;\r\n    model.modo = \"M\";\r\n    model.telefonoPaisCodigo = phone?.telefonoPaisCodigo;\r\n    model.telefonoAreaCodigo = phone?.telefonoAreaCodigo;\r\n    model.telefonoNumero = parseInt(phone?.telefonoNumero);\r\n    model.telefonoInterno = 0;\r\n    model.telefonoObservacion = phone?.telefonoObservacion;\r\n    model.telefonoCodigo = phone?.telefonoCodigo;\r\n    dispatch(abmMDPhones(model));\r\n}\r\n\r\nexport const WS_PARAMETERS_LENGTH = {\r\n    CodigoPais: 3,\r\n    CodigoArea: 5,\r\n    TelefonoNumero : 10,\r\n    TelefonoInterno: 5\r\n};","import React, { Fragment, useEffect, useState } from 'react';\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport ConfirmModal from '../../PersonalData/ConfirmModal';\r\nimport SaveModal from '../../PersonalData/SaveModal';\r\nimport { FormControl, Button, FormHelperText } from '@material-ui/core';\r\nimport PhonesInput from '../../../controls/InputCustom/PhonesInput';\r\n\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport PhoneIcon from '@material-ui/icons/Phone';\r\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\r\nimport AddCircleOutlinedIcon from '@material-ui/icons/AddCircleOutlined';\r\nimport { abmMDPhones } from \"../../../redux/actions/medicalDataAction\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport useMessageModal from '../../../hooks/useMessageModal';\r\nimport { handleAddItem, handleChangeInput, handleClickModal, validates, WS_PARAMETERS_LENGTH } from './Utils/phonesUtilsFunctions';\r\nimport NotFound from '../../HomeLogged/NotFound';\r\n\r\nconst PhonesForm = (props) => {\r\n    const { phone, setPhone, disabled, setDisabled, addItemScreen, setAddItemScreen, phoneType } = props;\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n\r\n    const postAffiliatedPhones = useSelector(state => state.medicalDataReducer);\r\n\r\n    const defaultModal = {\r\n        defaultModalTitle: 'Enviado correctamente',\r\n        defaultModalDescription: 'Los cambios han sido realizados.',\r\n        defaultModalIcon: <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n        defaultModalErrorClass: ''\r\n    };\r\n    const setMessageModal = {\r\n        setModalTitle: 'Ocurrió un error',\r\n        setModalDescription: 'Ocurrio un error al enviar los datos.',\r\n        setModalIcon: <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n        setModalErrorClass: classes.backgroundError\r\n    };\r\n\r\n    const errorMessage = useSelector(state => state.medicalDataReducer?.msgError);\r\n\r\n    const { modalTitle, modalDescription, modalIcon, modalErrorClass } = useMessageModal(defaultModal, setMessageModal, errorMessage);\r\n\r\n    const [open, setOpen] = useState(false);\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n    const [addInput, setAddInput] = useState([\r\n        {\r\n            telefonoPaisCodigo: 0,\r\n            telefonoAreaCodigo: 0,\r\n            telefonoNumero: 0,\r\n            telefonoObservacion: ''\r\n        }\r\n    ]);\r\n    const [flag, setFlag] = useState(false);\r\n\r\n    const [error, setError] = useState(\r\n        {\r\n            telefonoPaisCodigo: '',\r\n            telefonoAreaCodigo: '',\r\n            telefonoNumero: '',\r\n            telefonoObservacion: '',\r\n        },\r\n    );\r\n    const affiliatedPhones = useSelector(state => state.medicalDataReducer.affiliatedPhones);\r\n\r\n    const position = -1;\r\n\r\n    const handleRemoveItem = (phoneItem, phone, setPhone, dispatch, tipo) => (e) => {\r\n        e.preventDefault();\r\n        const phonesWOItem = phone?.filter(x => x !== phoneItem);\r\n\r\n        setPhone(phonesWOItem);\r\n\r\n        const aux = {\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            telefonoTipo: tipo,\r\n            modo: \"B\",\r\n            telefonoPaisCodigo: phoneItem?.telefonoPaisCodigo,\r\n            telefonoAreaCodigo: phoneItem?.telefonoAreaCodigo,\r\n            telefonoNumero: parseInt(phoneItem?.telefonoNumero),\r\n            telefonoInterno: 0,\r\n            telefonoObservacion: phoneItem?.telefonoObservacion?.trim(),\r\n            telefonoCodigo: phoneItem?.telefonoCodigo\r\n        };\r\n        dispatch(abmMDPhones(aux));\r\n    };\r\n\r\n    const submit = (submitObject) => {\r\n        const { phone, setAddItemScreen, addInput, flag, setPhone, setAddInput, phoneType, dispatch } = submitObject;\r\n\r\n        const aux = {\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            telefonoTipo: '',\r\n            modo: \"A\",\r\n            telefonoPaisCodigo: 0,\r\n            telefonoAreaCodigo: 0,\r\n            telefonoNumero: 0,\r\n            telefonoInterno: 0,\r\n            telefonoObservacion: '',\r\n            telefonoCodigo: 0\r\n        };\r\n\r\n        if (flag && phone !== undefined) {\r\n            setPhone([...phone, ...addInput]);\r\n            aux.telefonoTipo = phoneType;\r\n            aux.modo = \"A\";\r\n            aux.telefonoPaisCodigo = parseInt(addInput[0]?.telefonoPaisCodigo);\r\n            aux.telefonoAreaCodigo = parseInt(addInput[0]?.telefonoAreaCodigo);\r\n            aux.telefonoNumero = parseInt(addInput[0]?.telefonoNumero);\r\n            aux.telefonoInterno = 0;\r\n            aux.telefonoObservacion = addInput[0]?.telefonoObservacion?.trim();\r\n            aux.telefonoCodigo = 0;\r\n\r\n            dispatch(abmMDPhones(aux));\r\n\r\n            setAddInput([{\r\n                telefonoPaisCodigo: 0,\r\n                telefonoAreaCodigo: 0,\r\n                telefonoNumero: 0,\r\n                telefonoObservacion: ''\r\n            }]);\r\n\r\n            setAddItemScreen(prevState => !prevState);\r\n        } else {\r\n            Object.values(phone)?.forEach(item => modifyPhones(item, dispatch, aux, phoneType));\r\n        }\r\n    }\r\n\r\n    const modifyPhones = (phone, dispatch, model, type) => {\r\n        model.telefonoTipo = type;\r\n        model.modo = \"M\";\r\n        model.telefonoPaisCodigo = phone?.telefonoPaisCodigo;\r\n        model.telefonoAreaCodigo = phone?.telefonoAreaCodigo;\r\n        model.telefonoNumero = parseInt(phone?.telefonoNumero);\r\n        model.telefonoInterno = 0;\r\n        model.telefonoObservacion = phone?.telefonoObservacion?.trim();\r\n        model.telefonoCodigo = phone?.telefonoCodigo;\r\n\r\n        dispatch(abmMDPhones(model));\r\n    }\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (validates(phone, addItemScreen, addInput, setError, setFlag)) {\r\n            setOpen(prevState => !prevState);\r\n            setOpenConfirm(prevState => !prevState);\r\n            submit({ phone, setAddItemScreen, addInput, flag, setPhone, setAddInput, phoneType, dispatch });\r\n            setDisabled(true);\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (postAffiliatedPhones?.abmAffiliatedPhones?.confirmacion !== undefined && postAffiliatedPhones?.abmAffiliatedPhones?.confirmacion) {\r\n            setTimeout(() => {\r\n                window.location.reload()\r\n            }, 2000);\r\n        }\r\n    },[postAffiliatedPhones?.abmAffiliatedPhones]);\r\n\r\n    function handleNew() {\r\n        setDisabled(prevState => !prevState);\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <form onSubmit={handleSubmit} className={classes.addressForm} style={{ paddingLeft: '0', justifyContent: 'flex-start' }}>\r\n                {!addItemScreen ? <>\r\n                    {affiliatedPhones?.telefonos?.filter(x => x.telefonoTipo === phoneType)?.length > 0 ?\r\n                        phone?.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                <div className={`${classes.divEmergencyPhonesForm} ${classes.divCustomSelectHobbies}`} style={{marginLeft: \"15px\", alignItems: 'start'}} >\r\n                                    <div className={classes.quarterCol} style={{ justifyContent: 'center' }} >\r\n                                        <PhoneIcon className={`${classes.phoneIcon} ${classes.quickAccessIcon}`} style={{marginRight: \"15px\", marginTop: \"30px\"}} />\r\n                                    </div>\r\n                                    <div className={classes.divFormControlsEmergency}>\r\n                                        {disabled ?\r\n                                            <>\r\n                                                <FormControl className={classes.formControlsEmergency} variant=\"standard\">\r\n                                                    <PhonesInput\r\n                                                        name={`telefonoNumero-${i}`}\r\n                                                        value={`+${item?.telefonoPaisCodigo} ${item?.telefonoAreaCodigo} ${item?.telefonoNumero}`}\r\n                                                        label='TELEFONO'\r\n                                                        disabled={disabled}\r\n                                                    />\r\n                                                    <FormHelperText className={classes.errorText}>{error[i]?.telefonoNumero}</FormHelperText>\r\n                                                </FormControl>\r\n                                                <FormControl className={classes.formControlsEmergency} variant=\"standard\">\r\n                                                    <PhonesInput name={`telefonoObservacion-${i}`} value={item?.telefonoObservacion} label='DESCRIPCION' disabled={disabled} />\r\n                                                    <FormHelperText className={classes.errorText}>{error[i]?.telefonoObservacion}</FormHelperText>\r\n                                                </FormControl>\r\n                                            </>\r\n                                            :\r\n                                            <>\r\n                                                <FormControl className={classes.formControlsEmergency} variant=\"standard\">\r\n                                                    <div className={classes.divInputEmergencyPhones} >\r\n                                                        <div >\r\n                                                            <PhonesInput\r\n                                                                label='Cod. País'\r\n                                                                name={`telefonoPaisCodigo-${i}`}\r\n                                                                value={item?.telefonoPaisCodigo}\r\n                                                                disabled={disabled}\r\n                                                                onChange={handleChangeInput({ i, phone, setPhone, addInput, setAddInput })}\r\n                                                                onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                                                                inputProps={{ maxLength: WS_PARAMETERS_LENGTH.CodigoPais }}\r\n                                                            />\r\n                                                        </div>\r\n                                                        <div >\r\n                                                            <PhonesInput\r\n                                                                label='Cod. Area'\r\n                                                                name={`telefonoAreaCodigo-${i}`}\r\n                                                                value={item?.telefonoAreaCodigo}\r\n                                                                disabled={disabled}\r\n                                                                onChange={handleChangeInput({ i, phone, setPhone, addInput, setAddInput })}\r\n                                                                onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                                                                inputProps={{ maxLength: WS_PARAMETERS_LENGTH.CodigoArea }}\r\n                                                            />\r\n                                                        </div>\r\n                                                        <div className={classes.divInputPhone} >\r\n                                                            <PhonesInput\r\n                                                                label='Teléfono'\r\n                                                                name={`telefonoNumero-${i}`}\r\n                                                                value={item?.telefonoNumero}\r\n                                                                disabled={disabled}\r\n                                                                onChange={handleChangeInput({ i, phone, setPhone, addInput, setAddInput })}\r\n                                                                onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                                                                inputProps={{ maxLength: WS_PARAMETERS_LENGTH.TelefonoNumero }}\r\n                                                            />\r\n                                                        </div>\r\n                                                    </div>\r\n                                                    <FormHelperText className={classes.errorText}>{error[i]?.telefonoNumero}</FormHelperText>\r\n                                                </FormControl>\r\n                                                <FormControl className={classes.formControlsEmergency} variant=\"standard\">\r\n                                                    <PhonesInput name={`telefonoObservacion-${i}`} value={item?.telefonoObservacion} label='DESCRIPCION' onChange={handleChangeInput({ i, phone, setPhone, addInput, setAddInput })} disabled={disabled} />\r\n                                                    <FormHelperText className={classes.errorText}>{error[i]?.telefonoObservacion}</FormHelperText>\r\n                                                </FormControl>\r\n                                            </>\r\n                                        }\r\n                                    </div>\r\n                                    <div className={classes.quarterCol} style={{ justifyContent: 'center' }}>\r\n                                        <Button onClick={handleRemoveItem(item, phone, setPhone, dispatch, phoneType)} >\r\n                                            <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858', marginTop: \"30px\" }} />\r\n                                        </Button>\r\n                                    </div>\r\n                                </div>\r\n                            </Fragment>\r\n                        ))\r\n                        :\r\n                        <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%' }}>\r\n                            <NotFound customMsg={\r\n                                <div className={classes.contentNotFound}>\r\n                                    <span>No se encontraron resultados</span>\r\n                                </div>\r\n                            }\r\n                                wsItem={affiliatedPhones?.telefonos}\r\n                                fullItem={affiliatedPhones?.telefonos}\r\n                            />\r\n                        </div>\r\n                    }\r\n                </> :\r\n                    <div className={`${classes.divEmergencyPhonesForm} ${classes.divCustomSelectHobbies} ${classes.divFlexPhones}`} >\r\n                        <div className={classes.quarterCol} style={{ justifyContent: 'center' }} >\r\n                            <PhoneIcon className={`${classes.phoneIcon} ${classes.quickAccessIcon}`} style={{ margin: '0 15px' }} />\r\n                        </div>\r\n                        <div className={classes.divFormControlsEmergency}>\r\n                            <FormControl className={classes.formControlsEmergency} variant=\"standard\">\r\n                                <div style={{ display: 'flex' }}>\r\n                                    <div className={classes.inputContactDataBefore} style={{ display: 'flex' }}>\r\n                                        <PhonesInput\r\n                                            label='Cod. País'\r\n                                            name={`telefonoPaisCodigo-0`}\r\n                                            value={addInput?.telefonoPaisCodigo}\r\n                                            onChange={handleChangeInput({ position, phone, setPhone, addInput, setAddInput })}\r\n                                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                                            inputProps={{ maxLength: WS_PARAMETERS_LENGTH.CodigoPais }}\r\n                                        />\r\n                                    </div>\r\n                                    <div className={classes.inputContactDataBefore} style={{ display: 'flex', marginRight: '0 !important', marginInlineLeft: '0 !important' }}>\r\n                                        <PhonesInput\r\n                                            label='Cod. Area'\r\n                                            name={`telefonoAreaCodigo-0`}\r\n                                            value={addInput?.telefonoAreaCodigo}\r\n                                            onChange={handleChangeInput({ position, phone, setPhone, addInput, setAddInput })}\r\n                                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                                            inputProps={{ maxLength: WS_PARAMETERS_LENGTH.CodigoArea }}\r\n                                        />\r\n                                    </div>\r\n                                    <div className={classes.inputContactData} style={{ display: 'flex' }}>\r\n                                        <PhonesInput\r\n                                            label='Teléfono'\r\n                                            name={`telefonoNumero-0`}\r\n                                            value={addInput?.telefonoNumero}\r\n                                            onChange={handleChangeInput({ position, phone, setPhone, addInput, setAddInput })}\r\n                                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                                            inputProps={{ maxLength: WS_PARAMETERS_LENGTH.TelefonoNumero }}\r\n                                        />\r\n                                    </div>\r\n                                </div>\r\n                                <FormHelperText className={classes.errorText}>{error[0]?.telefonoNumero}</FormHelperText>\r\n                            </FormControl>\r\n                            <FormControl className={`${classes.formControlsEmergency} ${classes.formControlTelefonoObsevacion}`} variant=\"standard\">\r\n                                <PhonesInput name={`telefonoObservacion-0`} value={addInput?.telefonoObservacion} onChange={handleChangeInput({ position, phone, setPhone, addInput, setAddInput })} label='DESCRIPCION' />\r\n                                <FormHelperText className={classes.errorText}>{error[0]?.telefonoObservacion}</FormHelperText>\r\n                            </FormControl>\r\n                        </div>\r\n                        <Button onClick={handleAddItem({ phone, addInput, addItemScreen, setError, setFlag, setOpenConfirm, setAddInput, setPhone })}>\r\n                            <AddCircleOutlinedIcon className={`${classes.ShowMoreArrowIcon}`} />\r\n                        </Button>\r\n                    </div>\r\n                }\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                    {(!disabled) &&\r\n                        <div style={{ marginBottom: \"50px\" }}>\r\n                            <CustomButton\r\n                                customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                style={{ marginBottom: \"10px\" }}\r\n                                title='cancelar'\r\n                                onClick={handleNew}\r\n                            />\r\n                            <CustomButton\r\n                                customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                title='Guardar'\r\n                                onClick={handleClickModal(phone, addItemScreen, addInput, setError, setFlag, setOpen)}\r\n                                style={{ marginBottom: \"10px\" }}\r\n                            />\r\n                        </div>\r\n                    }\r\n\r\n                    {(addItemScreen && disabled) &&\r\n                        <div style={{ marginBottom: \"50px\" }}>\r\n                            <CustomButton\r\n                                customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                style={{ marginBottom: \"10px\" }}\r\n                                title='cancelar'\r\n                                onClick={() => { setAddItemScreen(false) }}\r\n                            />\r\n                            <CustomButton\r\n                                customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                style={{ marginBottom: \"10px\" }}\r\n                                title='Guardar'\r\n                                onClick={handleClickModal(phone, addItemScreen, addInput, setError, setFlag, setOpen)}\r\n                            />\r\n                        </div>\r\n                    }\r\n                </div>\r\n                <SaveModal isOpen={open} setOpen={setOpen} type='submit' onClick={handleSubmit}\r\n                    titleModal={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                            </div>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                Confirmar envío de datos\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    descriptionModal=\"¿Deseas confirmar los cambios?\"\r\n                />\r\n            </form>\r\n            <ConfirmModal isOpen={openConfirm} setOpen={setOpenConfirm} errorClass={modalErrorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(PhonesForm);\r\n","import { Divider, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport PhonesForm from \"./PhonesForm\";\r\nimport { useEffect, useState } from \"react\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useFormHeaderText } from \"../../../hooks/useFormHeaderText\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getMDPhones } from \"../../../redux/actions/medicalDataAction\";\r\nimport { handleGoToPersonalMedicalData, showMessageModal } from \"../../../utils/utilsFunctions\";\r\n\r\nconst Phones = ({ type }) => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const affiliatedPhones = useSelector(state => state.medicalDataReducer.affiliatedPhones);\r\n    const [disabled, setDisabled] = useState(true);\r\n    const [phone, setPhone] = useState([]);\r\n    const [title, setTitle] = useState('');\r\n    const { titleHeader, subtitleHeader } = useFormHeaderText(title,\r\n        'Información sin carácter sanitario conforme ley Nº 26529',\r\n        'Mis datos medicos',\r\n        'Información sin carácter sanitario conforme ley Nº 26529',\r\n        screen.sWidth);\r\n    const [addItemScreen, setAddItemScreen] = useState(false);\r\n    const [phoneType, setPhoneType] = useState('');\r\n    const errorMessage = useSelector(state => state.medicalDataReducer.msgError);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n    const [loading, setLoading] = useState(true);\r\n\r\n    const handleEdit = (e) => {\r\n        e.preventDefault();\r\n        setDisabled(prevState => !prevState);\r\n    };\r\n\r\n    const handleShowAddItemScreen = (e) => {\r\n        e.preventDefault();\r\n        setAddItemScreen(prevState => !prevState);\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (affiliatedPhones?.telefonos !== undefined) {\r\n            setPhone(affiliatedPhones?.telefonos)\r\n        }\r\n    }, [affiliatedPhones?.telefonos])\r\n\r\n    useEffect(() =>{\r\n        setLoading(false);\r\n    }, [affiliatedPhones]);\r\n\r\n    useEffect(() => {\r\n        return (() => {\r\n            setPhone([]);\r\n        })\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (type === 'EmergencyPhones') {\r\n        setLoading(true);\r\n            dispatch(getMDPhones({\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                telefonoTipo: 'EMERGENCIA',\r\n                count: 10,\r\n                skip: 0\r\n            }));\r\n            setTitle('Mis telefonos de emergencia');\r\n            setPhoneType('EMERGENCIA');\r\n            const emergencia = affiliatedPhones?.telefonos?.filter(x => x.telefonoTipo === 'EMERGENCIA');\r\n            if (affiliatedPhones?.telefonos !== undefined) {\r\n                setPhone(emergencia);\r\n            }\r\n            else {\r\n                setPhone([]);\r\n            }\r\n        }\r\n        else {\r\n        setLoading(true);\r\n            dispatch(getMDPhones({\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                telefonoTipo: 'CONTACTO',\r\n                count: 10,\r\n                skip: 0\r\n            }));\r\n            setTitle('Mis telefonos de contacto');\r\n            setPhoneType('CONTACTO');\r\n            const contacto = affiliatedPhones?.telefonos?.filter(x => x.telefonoTipo === 'CONTACTO');\r\n            if (affiliatedPhones?.telefonos !== undefined) {\r\n                setPhone(contacto);\r\n            }\r\n            else {\r\n                setPhone([]);\r\n            }\r\n        }\r\n        return (() => {\r\n            setPhone([]);\r\n        })\r\n    }, [type]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage?.length > 0) {\r\n            setErrorMessageModal(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={title} subtitle={subtitleHeader} handleGoTo={handleGoToPersonalMedicalData} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                {(disabled && !addItemScreen) && (affiliatedPhones?.telefonos?.length > 0) &&\r\n                    (\r\n                        screen.sWidth <= 768 ?\r\n\r\n                            <>\r\n                                <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase' }}>\r\n                                    {title}\r\n                                </Typography>\r\n                                <CustomButton\r\n                                    title=\"EDITAR\"\r\n                                    customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                    onClick={handleEdit}\r\n                                    style={{margin: \"0 10px\"}}\r\n                                />\r\n                            </>\r\n\r\n\r\n                            :\r\n                            <>\r\n                                <CustomButton\r\n                                    title=\"EDITAR\"\r\n                                    customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                    onClick={handleEdit}\r\n                                    style={{margin: \"0 10px\"}}\r\n                                />\r\n                            </>\r\n                    )\r\n                }\r\n                {!addItemScreen && disabled &&\r\n                    <CustomButton\r\n                    onClick={handleShowAddItemScreen}\r\n                    title={\"NUEVO \"}\r\n                    customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                />\r\n                }\r\n            </div>\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n            <PhonesForm\r\n                phone={phone}\r\n                setPhone={setPhone}\r\n                disabled={disabled}\r\n                setDisabled={setDisabled}\r\n                addItemScreen={addItemScreen}\r\n                setAddItemScreen={setAddItemScreen}\r\n                phoneType={phoneType} />\r\n            }\r\n            {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon, classes.contentDialogTitle, handleGoToPersonalMedicalData)}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Phones;\r\n","import React, { useState } from 'react';\r\nimport { FormControl, InputBase, InputLabel } from \"@material-ui/core\";\r\nimport { usePlacesWidget } from \"react-google-autocomplete\";\r\nimport { alpha, styled } from '@material-ui/core/styles';\r\nimport useStyle from '../../assets/styles/styles';\r\nconst googleApiKey = window.env.GOOGLE_API_KEY;\r\nconst CustomTextFieldInput = styled(InputBase)(({ theme }) => ({\r\n    'label + &': {\r\n        marginTop: theme.spacing(3),\r\n    },\r\n    '& .MuiInputBase-input': {\r\n        borderRadius: 4,\r\n        position: 'relative',\r\n        backgroundColor: theme.palette.mode === 'light' ? '#fcfcfb' : '#2b2b2b',\r\n        border: '1px solid #ced4da',\r\n        fontSize: 16,\r\n        padding: '10px 12px',\r\n        transition: theme.transitions.create([\r\n            'border-color',\r\n            'background-color',\r\n            'box-shadow',\r\n        ]),\r\n        // Use the system font instead of the default Roboto font.\r\n        fontFamily: [\r\n            '-apple-system',\r\n            'BlinkMacSystemFont',\r\n            '\"Segoe UI\"',\r\n            'Roboto',\r\n            '\"Helvetica Neue\"',\r\n            'Arial',\r\n            'sans-serif',\r\n            '\"Apple Color Emoji\"',\r\n            '\"Segoe UI Emoji\"',\r\n            '\"Segoe UI Symbol\"',\r\n        ].join(','),\r\n        '&:focus': {\r\n            boxShadow: `${alpha(theme.palette.primary.main, 0.25)} 0 0 0 0.2rem`,\r\n            borderColor: theme.palette.primary.main,\r\n        },\r\n    },\r\n}));\r\nconst GMapsAutocomplete = ({ handleChange, value, handlePlaceSelected, placeholder, disabled, label }) => {\r\n    const classes = useStyle();\r\n    const { ref: materialRef } = usePlacesWidget({\r\n        apiKey: googleApiKey,\r\n        onPlaceSelected: handlePlaceSelected,\r\n        inputAutocompleteValue: \"country\",\r\n        options: {\r\n            types: [\"geocode\", \"establishment\"],\r\n            componentRestrictions: 'ar',\r\n        },\r\n        language: 'es',\r\n        onChange: handleChange,\r\n        value: value\r\n    });\r\n\r\n    \r\n    function required(){\r\n        if (require) {\r\n            return <span style={{color: '#ff0000' }}>*</span>;\r\n        }\r\n    }\r\n\r\n    return <>\r\n        <FormControl className={classes.formControl} variant=\"standard\">\r\n            <inputLabel className={classes.inputLabelForms} htmlFor=\"customTextFieldInput\">\r\n                {label} {required()}\r\n            </inputLabel>\r\n            <CustomTextFieldInput disabled={ disabled ? true : false} placeholder={placeholder} inputRef={materialRef} className={classes.customInput} id=\"customTextFieldInput\" />\r\n        </FormControl>\r\n    </>;\r\n};\r\n\r\nexport default GMapsAutocomplete;","import React, { useState, Fragment, useEffect } from 'react';\r\nimport { Button, Divider, FormControl, Typography, FormHelperText, Box, Grid } from \"@material-ui/core\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport GMapsAutocomplete from \"../../../controls/GMapsAutocomplete/GMapsAutocomplete\";\r\nimport ControlPointIcon from '@material-ui/icons/ControlPoint';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport SaveModal from '../SaveModal';\r\nimport ConfirmModal from '../ConfirmModal';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { abmFullData } from '../../../redux/actions/personalDataActions';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\n\r\nconst Form = ({ affiliateAddress, setAffiliateAddress, typeOfAddress, disabled, editMode, setEditMode, handleCancel }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const errorMessage = useSelector(state => state.personalDataReducer?.msgError);\r\n\r\n    const [modalTitle, setModalTitle] = useState('Enviado correctamente');\r\n    const [modalDescription, setModalDescription] = useState(\"Los cambios han sido realizados, una vez validados por nuestro sector correspondiente observarás los cambios en el sistema.\");\r\n    const [modalIcon, setModalIcon] = useState(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n    const [errorClass, setErrorClass] = useState('');\r\n\r\n    const [open, setOpen] = useState(false);\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n    const dispatch = useDispatch();\r\n    const [fullAddressDisabled, setFullAddressDisabled] = useState({\r\n        'Particular': true,\r\n        'Laboral': true,\r\n        'Facturacion': true\r\n    });\r\n    const [error, setError] = useState({\r\n        calleDescripcion: '',\r\n        calleNumero: '',\r\n        provinciaDescripcion: '',\r\n        localidadDescripcion: '',\r\n        codigoPostal: '',\r\n        barrioDescripcion: ''\r\n    });\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (validate(affiliateAddress?.domicilios, setError)) {\r\n            let aux = affiliateAddress;\r\n            aux.documentos = [];\r\n            aux.telefonos = [];\r\n            aux.mails = [];\r\n            aux.deportes = [];\r\n            aux.hobbies = [];\r\n            let domicilios = aux?.domicilios;\r\n            domicilios.forEach((item, i) => {\r\n                delete item.domicilioTipoDescripcion;\r\n                delete item.provinciaCodigo;\r\n                delete item.localidadCodigo;\r\n                delete item.barrioCodigo;\r\n                item.codigoPostal = item.calleCodigo;\r\n                delete item.calleCodigo;\r\n            });\r\n            delete aux.cuentasReintegro;\r\n            aux.domicilios = domicilios;\r\n            let modelToSend = {\r\n                informacion: aux,\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            };\r\n            dispatch(abmFullData(modelToSend));\r\n            setOpen(prevState => !prevState);\r\n            setOpenConfirm(prevState => !prevState);\r\n            setTimeout(() => {\r\n                window.location.reload();\r\n            }, 5000);\r\n        }\r\n    };\r\n\r\n    const handleChangeInput = (position) => (e) => {\r\n        const { name, value } = e.target;\r\n        let domicilios = affiliateAddress?.domicilios.map((item, i) => {\r\n            if (position == i) {\r\n                return { ...item, [name]: value };\r\n            } else {\r\n                return item;\r\n            }\r\n        });\r\n        setAffiliateAddress({ ...affiliateAddress, domicilios });\r\n        validate(affiliateAddress?.domicilios, setError);\r\n    };\r\n\r\n    const handleAddAddress = (codeType, description) => (e) => {\r\n        e.preventDefault();\r\n        let auxAddress = affiliateAddress?.domicilios ?? [];\r\n        let addressToAdd = [{\r\n            domicilioTipoCodigo: codeType,\r\n            domicilioTipoDescripcion: description,\r\n            calleDescripcion: '',\r\n            calleNumero: '',\r\n            provinciaDescripcion: \"\",\r\n            localidadDescripcion: \"\",\r\n            codigoPostal: '',\r\n            barrioDescripcion: \"\",\r\n            calleDepartamento: '',\r\n            callePiso: '',\r\n            domicilioModo: 'A'\r\n        }];\r\n        let domicilios = [...auxAddress, ...addressToAdd];\r\n        setAffiliateAddress({ ...affiliateAddress, domicilios });\r\n        setFullAddressDisabled(prevState => ({ ...prevState, [description]: !prevState[description] }));\r\n    };\r\n\r\n    const handleEditFullAddress = (type) => (e) => {\r\n        e.preventDefault();\r\n        setFullAddressDisabled(prevState => ({ ...prevState, [type]: !prevState[type] }));\r\n        setEditMode(prevState => ({ ...prevState, [type]: !prevState[type] }));\r\n    };\r\n\r\n    const handleClickModal = () => {\r\n        if (validate(affiliateAddress?.domicilios, setError))\r\n            setOpen(prevState => !prevState);\r\n    };\r\n\r\n    useEffect(() => {\r\n        setMessageModal(setModalTitle, setModalDescription, setModalIcon, setErrorClass, classes, errorMessage);\r\n    }, [errorMessage]);\r\n\r\n    function setMessageModal(setterModalTitle, setterModalDescription, setterModalIcon, setterErrorClass, cssClasses, errorMessageRedux) {\r\n        if (errorMessageRedux !== '') {\r\n            setterModalTitle('Ocurrió un error');\r\n            setterModalDescription('Ocurrió un error al enviar los datos');\r\n            setterModalIcon(<CancelIcon className={`${cssClasses.quickAccessIcon} ${cssClasses.personalDataIcon}`} />);\r\n            setterErrorClass(cssClasses.backgroundError);\r\n        } else {\r\n            setterModalTitle('Enviado correctamente');\r\n            setterModalDescription(\"Los cambios han sido realizados, una vez validados por nuestro sector correspondiente observarás los cambios en el sistema.\");\r\n            setterModalIcon(<CheckCircleOutlineIcon className={`${cssClasses.quickAccessIcon} ${cssClasses.personalDataIcon}`} />);\r\n            setterErrorClass('');\r\n        }\r\n    }\r\n\r\n    return <>\r\n        <form onSubmit={handleSubmit}>\r\n            {affiliateAddress?.domicilios?.map((item, i) => (\r\n                <Fragment key={i}>\r\n                    <Box style={{ margin: '35px' }}>\r\n                        <Grid container spacing={2} columns={12}>\r\n                            {editMode[item.domicilioTipoDescripcion?.trimEnd()] ?\r\n                                <>\r\n                                    <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                        <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                            <CustomizedInputs name='calleDescripcion' label='DIRECCIÓN' value={item?.calleDescripcion} onChange={handleChangeInput(i)} />\r\n                                            <FormHelperText className={classes.errorText}>{error[i]?.calleDescripcion}</FormHelperText>\r\n                                            <Typography\r\n                                                component={Button}\r\n                                                onClick={handleEditFullAddress(item?.domicilioTipoDescripcion?.trimEnd())}\r\n                                                disabled={false}\r\n                                                style={{ justifyContent: 'flex-start' }}\r\n                                                className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm}`}>\r\n                                                Buscar con Google Maps\r\n                                            </Typography>\r\n                                        </FormControl>\r\n                                    </Grid>\r\n                                    <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                        <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                            <CustomizedInputs name='calleNumero' value={item?.calleNumero} label='ALTURA' onChange={handleChangeInput(i)} />\r\n                                            <FormHelperText className={classes.errorText}>{error[i]?.calleNumero}</FormHelperText>\r\n                                        </FormControl>\r\n                                    </Grid>\r\n                                </>\r\n                                :\r\n                                <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                    <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                        <GMapsAutocomplete\r\n                                            handlePlaceSelected={(selected) => handlePlaceSelected(selected, item?.domicilioTipoCodigo, item?.domicilioTipoDescripcion?.trimEnd(), affiliateAddress, setAffiliateAddress, setFullAddressDisabled, setEditMode)}\r\n                                            handleChange={handleChangeInput(i)}\r\n                                            value={`${item?.calleDescripcion} ${item?.calleNumero}`}\r\n                                            placeholder={`${item?.calleDescripcion} ${item?.calleNumero}`}\r\n                                            disabled={disabled}\r\n                                            label='DIRECCION'\r\n                                            require={true}\r\n                                        />\r\n                                        <Typography\r\n                                            component={Button}\r\n                                            onClick={handleEditFullAddress(item?.domicilioTipoDescripcion?.trimEnd())}\r\n                                            disabled={disabled ? true : false}\r\n                                            style={{ justifyContent: 'flex-start' }}\r\n                                            className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm}`}\r\n                                        >Modificar direccion\r\n                                        </Typography>\r\n                                    </FormControl>\r\n                                </Grid>\r\n                            }\r\n                            <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                    <CustomizedInputs\r\n                                        name='provinciaDescripcion'\r\n                                        value={item?.provinciaDescripcion}\r\n                                        onChange={handleChangeInput(i)}\r\n                                        disabled={fullAddressDisabled[item?.domicilioTipoDescripcion?.trimEnd()]}\r\n                                        label='PROVINCIA' />\r\n                                    <FormHelperText className={classes.errorText}>{error[i]?.provinciaDescripcion}</FormHelperText>\r\n                                </FormControl>\r\n                            </Grid>\r\n                            <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                    <CustomizedInputs\r\n                                        id='localidadDescripcion'\r\n                                        name='localidadDescripcion'\r\n                                        value={item?.localidadDescripcion}\r\n                                        onChange={handleChangeInput(i)}\r\n                                        disabled={fullAddressDisabled[item?.domicilioTipoDescripcion?.trimEnd()]}\r\n                                        label='LOCALIDAD' />\r\n                                    <FormHelperText className={classes.errorText}>{error[i]?.localidadDescripcion}</FormHelperText>\r\n                                </FormControl>\r\n                            </Grid>\r\n                            <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                    <CustomizedInputs\r\n                                        id=''\r\n                                        name='codigoPostal'\r\n                                        value={item?.codigoPostal}\r\n                                        onChange={handleChangeInput(i)}\r\n                                        disabled={fullAddressDisabled[item?.domicilioTipoDescripcion?.trimEnd()]}\r\n                                        label='CODIGO POSTAL' />\r\n                                    <FormHelperText className={classes.errorText}>{error[i]?.codigoPostal}</FormHelperText>\r\n                                </FormControl>\r\n                            </Grid>\r\n                            <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                    <CustomizedInputs\r\n                                        id=''\r\n                                        name='barrioDescripcion'\r\n                                        value={item?.barrioDescripcion}\r\n                                        onChange={handleChangeInput(i)}\r\n                                        disabled={fullAddressDisabled[item?.domicilioTipoDescripcion?.trimEnd()]}\r\n                                        label='BARRIO' />\r\n                                    <FormHelperText className={classes.errorText}>{error[i]?.barrioDescripcion}</FormHelperText>\r\n                                </FormControl>\r\n                            </Grid>\r\n                            {editMode[item?.domicilioTipoDescripcion?.trimEnd()] ?\r\n                                <>\r\n                                    <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                        <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                            <CustomizedInputs\r\n                                                id=''\r\n                                                name='callePiso'\r\n                                                value={item?.callePiso}\r\n                                                label='PISO'\r\n                                                onChange={handleChangeInput(i)}\r\n                                                disabled={fullAddressDisabled[item?.domicilioTipoDescripcion?.trimEnd()]} />\r\n                                        </FormControl>\r\n                                    </Grid>\r\n                                    <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                        <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                            <CustomizedInputs\r\n                                                id=''\r\n                                                name='calleDepartamento'\r\n                                                value={item?.calleDepartamento}\r\n                                                onChange={handleChangeInput(i)}\r\n                                                disabled={fullAddressDisabled[item?.domicilioTipoDescripcion?.trimEnd()]}\r\n                                                label='DEPARTAMENTO' />\r\n                                        </FormControl>\r\n                                    </Grid>\r\n                                </>\r\n                                :\r\n                                <Grid item xs={12} sm={12} md={4} lg={3}>\r\n                                    <FormControl className={`${classes.formControlAddress} ${classes.width100}`} variant=\"standard\">\r\n                                        <CustomizedInputs\r\n                                            id=''\r\n                                            value={`${item?.callePiso?.trimEnd()}-${item?.calleDepartamento?.trimEnd()}`}\r\n                                            disabled={fullAddressDisabled[item?.domicilioTipoDescripcion?.trimEnd()]}\r\n                                            label='PISO | DEPARTAMENTO' />\r\n                                    </FormControl>\r\n                                </Grid>\r\n                            }\r\n                        </Grid>\r\n                    </Box>\r\n                </Fragment>\r\n            ))}\r\n            {!disabled &&\r\n                typeOfAddress?.map((item, i) => (\r\n                    <Fragment key={i}>\r\n                        {!affiliateAddress?.domicilios?.some(x => x.domicilioTipoCodigo === item?.tipoContactoCodigo) &&\r\n                            (\r\n                                <div style={{ justifyContent: 'flex-start', width: '100%', margin: screen.sWidth < 768 ? '5px' : '35px', marginLeft: screen.sWidth < 768 ? '9px' : '30px' }}>\r\n                                    <Button onClick={handleAddAddress(item?.tipoContactoCodigo, item?.tipoContactoDescripcion)}>\r\n                                        Agregar domicilio {item?.tipoContactoDescripcion} <ControlPointIcon className={classes.ShowMoreArrowIcon} />\r\n                                    </Button>\r\n                                    <Divider className={classes.formDivider} style={{ margin: screen.sWidth < 768 ? '15px' : 'auto' }} />\r\n                                </div>\r\n                            )\r\n                        }\r\n                    </Fragment>\r\n                ))\r\n            }\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ margin: \"35px\" }}>\r\n                {screen.sWidth <= 768 && !disabled && (\r\n                    <div style={{ marginBottom: \"18px\" }} >\r\n                        <CustomButton customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`} title='Cancelar' type='button' onClick={handleCancel} />\r\n                    </div>\r\n                )}\r\n                {!disabled && (\r\n                    <div >\r\n                        <CustomButton style={{ marginBottom: \"20px\" }} customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient}`} title='Guardar' onClick={handleClickModal} />\r\n                    </div>\r\n                )}\r\n            </div>\r\n\r\n            <SaveModal isOpen={open} setOpen={setOpen} type='submit' onClick={handleSubmit}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            Confirmar envío de datos\r\n                        </div>\r\n                    </>\r\n                }\r\n                descriptionModal=\"Si modificaste tus datos personales en breve recibirás la confirmación del cambio, luego de validarse la misma por parte del sector de Afiliaciones.\"\r\n            />\r\n        </form>\r\n        <ConfirmModal isOpen={openConfirm} setOpen={setOpenConfirm} errorClass={errorClass}\r\n            titleModal={\r\n                <>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        {modalIcon}\r\n                    </div>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        {modalTitle}\r\n                    </div>\r\n                </>\r\n            }\r\n            description={modalDescription} />\r\n    </>;\r\n};\r\n\r\nexport default Form;\r\n\r\n\r\nfunction validate(address, setError) {\r\n    let temp = address;\r\n    let aux = [];\r\n    let validation = [];\r\n    Object.values(temp).forEach((item, i) => {\r\n        let addressObj = {};\r\n        addressObj.calleDescripcion = item.calleDescripcion ? '' : '*Campo obligatorio';\r\n        addressObj.calleNumero = item.calleNumero ? '' : '*Campo obligatorio';\r\n        addressObj.provinciaDescripcion = item.provinciaDescripcion ? '' : '*Campo obligatorio';\r\n        addressObj.localidadDescripcion = item.localidadDescripcion ? '' : '*Campo obligatorio';\r\n        addressObj.codigoPostal = item.codigoPostal ? '' : '*Campo obligatorio';\r\n        addressObj.barrioDescripcion = item.barrioDescripcion ? '' : '*Campo obligatorio';\r\n        aux.push(addressObj);\r\n        if (Object.values(aux[i]).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n    });\r\n    setError(aux);\r\n    return Object.values(validation).every((valid) => valid === true);\r\n}\r\n\r\n\r\nfunction handlePlaceSelected(selected, type, description, affiliateAddress, setAffiliateAddress, setFullAddressDisabled, setEditMode) {\r\n    let data = { street_number: '' };\r\n    selected?.address_components?.map(item => {\r\n        data = { ...data, [item?.types[0]]: item?.long_name };\r\n    });\r\n    let auxLat = selected?.geometry?.location?.lat();\r\n    let auxLng = selected?.geometry?.location?.lng();\r\n    let auxAddress = affiliateAddress?.domicilios?.filter(x => x.domicilioTipoCodigo === type);\r\n    let addressWithOutType = affiliateAddress?.domicilios?.filter(x => x.domicilioTipoCodigo !== type);\r\n    auxAddress[0].calleDescripcion = data?.route ?? '';\r\n    auxAddress[0].calleNumero = data.street_number ?? '';\r\n    auxAddress[0].provinciaDescripcion = data.administrative_area_level_1 ?? '';\r\n    auxAddress[0].localidadDescripcion = data.administrative_area_level_2 ?? '';\r\n    auxAddress[0].barrioDescripcion = data.locality ?? '';\r\n    auxAddress[0].codigoPostal = data.postal_code ?? '';\r\n    auxAddress[0].linkGeoreferencia = `https://www.google.com/maps/dir/${auxLat},${auxLng}`;\r\n    let domicilios = [...auxAddress, ...addressWithOutType];\r\n    domicilios = domicilios.sort((f, b) => { return f.domicilioTipoCodigo - b.domicilioTipoCodigo; });\r\n    setAffiliateAddress({ ...affiliateAddress, domicilios });\r\n    if (!Object.values(auxAddress[0]).every((x) => x === \"\")) {\r\n        setFullAddressDisabled(prevState => ({ ...prevState, [description]: !prevState[description] }));\r\n        setEditMode(prevState => ({ ...prevState, [description]: !prevState[description] }));\r\n    }\r\n}\r\n","import { Button, Divider, CircularProgress } from \"@material-ui/core\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport React, { useState, useEffect, useLayoutEffect } from \"react\";\r\nimport FormHeader from \"../FormHeader\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Form from \"./Form\";\r\nimport { handleGoToPersonalData } from \"../../../utils/utilsFunctions\";\r\n\r\nconst AddressForm = () => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [disabled, setDisabled] = useState(true);\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const [affiliateAddress, setAffiliateAddress] = useState([]);\r\n    const typeOfAddress = useSelector(state => state.personalDataReducer);\r\n    const [editMode, setEditMode] = useState({});\r\n    const [loading, setLoading] = useState(true);\r\n\r\n    const handleEdit = (e) => {\r\n        setDisabled(prevState => !prevState);\r\n    };\r\n\r\n    const handleCancel = (e) => {\r\n        window.location.reload()\r\n    };\r\n\r\n    function setDataOfWS() {\r\n        if (Object.values(fullPersonalData?.fullData)?.length > 0) {\r\n            let aux = fullPersonalData?.fullData?.afiliado;\r\n            aux?.domicilios?.forEach((item, i) => {\r\n                item.domicilioModo = \"M\";\r\n            });\r\n            setAffiliateAddress(aux);\r\n            setLoading(false);\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        let aux = {};\r\n        typeOfAddress?.address?.tipoContacto?.forEach((item) => {\r\n            aux[item.tipoContactoDescripcion?.trimEnd()] = false;\r\n        });\r\n        setEditMode(aux);\r\n    }, []);\r\n\r\n    useLayoutEffect(() => {\r\n        setLoading(true);\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        setDataOfWS();\r\n\r\n        return (() => {\r\n            setDataOfWS();\r\n        });\r\n    }, [fullPersonalData?.fullData?.afiliado]);\r\n\r\n    return <>\r\n        <FormHeader title='Particular' handleGoTo={handleGoToPersonalData} />\r\n        {\r\n            screen.sWidth > 768 &&\r\n            <Divider className={classes.formDivider} />\r\n        }\r\n        {disabled ?\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                {screen.sWidth <= 768 ?\r\n                <>\r\n                    <Button onClick={handleEdit}>\r\n                        <CreateIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"25px\", marginLeft: \"600%\" }} />\r\n                    </Button>\r\n                </>\r\n                    :\r\n                    (screen.sWidth > 768 && disabled ?\r\n                        (<CustomButton\r\n                            title=\"EDITAR\"\r\n                            customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                            onClick={handleEdit}\r\n                        />) :\r\n                        \"\"\r\n                    )\r\n                }\r\n            </div> :\r\n            (screen.sWidth > 768 &&\r\n            <CustomButton\r\n                title=\"CANCELAR\"\r\n                customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                onClick={handleCancel}\r\n                style={{ marginLeft: '80%', marginTop: \"10px\", fontSize: \"10px\" }}\r\n            />)\r\n        }\r\n\r\n        {loading ?\r\n            <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n            :\r\n            <Form\r\n                affiliateAddress={affiliateAddress}\r\n                setAffiliateAddress={setAffiliateAddress}\r\n                typeOfAddress={typeOfAddress?.address?.tipoContacto}\r\n                disabled={disabled}\r\n                handleCancel={handleCancel}\r\n                editMode={editMode}\r\n                setEditMode={setEditMode}\r\n            />\r\n        }\r\n    </>;\r\n};\r\n\r\nexport default React.memo(AddressForm);","import React, { useState, Fragment } from 'react';\r\nimport { FormControl, Typography, FormHelperText, Divider } from \"@material-ui/core\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport SaveModal from '../SaveModal';\r\nimport ConfirmModal from '../ConfirmModal';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport NotFound from '../../HomeLogged/NotFound';\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst AutomaticMembershipForm = ({ membershipData, setMembershipData, disabled, handleBack, setDisabled }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [open, setOpen] = useState(false);\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n    const [error, setError] = useState({\r\n        tarjetaCreditoTipoDescripcion: '',\r\n        debitoBancoDescripcion: '',\r\n        tarjetaCreditoVencimientoAnio: '',\r\n        tarjetaCreditoVencimientoMes: '',\r\n        debitoTipoCodigo: '',\r\n        debitoNumeroCuenta: '',\r\n        debitoCBU: ''\r\n    });\r\n    const data = useSelector(state => state.personalDataReducer?.fullData);\r\n    const tipos = [{ value: 'V', label: \"VISA\" }, { value: 'C', label: \"MASTER CARD\" }, { value: 'W', label: 'AMEX' }];\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (validate(membershipData, setError)) {\r\n            setOpen(prevState => !prevState);\r\n            setOpenConfirm(prevState => !prevState);\r\n        }\r\n    };\r\n    \r\n    const handleChangeInput = (position) => (e) => {\r\n        const { name, value } = e.target;\r\n        const newArray = membershipData.map((item, i) => {\r\n            if (position === i) {\r\n                validateTarjetaVencimiento(name, value);\r\n            } else {\r\n                return item;\r\n            }\r\n        });\r\n        setMembershipData(newArray);\r\n    };\r\n\r\n    const handleChangeSelect = (position) => (e) => {\r\n        const { name, value } = e.target;\r\n        const codeName = name.split('-')[0];\r\n        const descriptionName = name.split('-')[1];\r\n        const description = tipos.filter(x => x.value === value);\r\n        const newArray = membershipData.map((item, i) => {\r\n            if (position === i) {\r\n                return { ...item, [codeName]: value, [descriptionName]: description[0].label, };\r\n            } else {\r\n                return item;\r\n            }\r\n        });\r\n        setMembershipData(newArray);\r\n    };\r\n\r\n    const handleClickModal = () => {\r\n        if (validate(membershipData, setError)) {\r\n            setOpen(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    const creditCardComponent = (item, i) => {\r\n        return (\r\n            <Fragment>\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm} ${classes.divSubtitleEditBtn}`}>\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm}`}>\r\n                        Tarjeta de credito\r\n                    </Typography>\r\n                </div>\r\n                <FormControl className={classes.formControlCustomSelect} variant=\"standard\">\r\n                    <CustomSelect\r\n                        name='tarjetaCreditoTipoCodigo-tarjetaCreditoTipoDescripcion'\r\n                        disable={disabled}\r\n                        list={tipos} selected={item?.tarjetaCreditoTipoCodigo}\r\n                        position={i} onChange={handleChangeSelect(i)}\r\n                        label={\"TIPO DE TARJETA\"} />\r\n                    <FormHelperText className={classes.errorText}>{error[i]?.tarjetaCreditoTipoDescripcion}</FormHelperText>\r\n                </FormControl>\r\n                <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                    <CustomizedInputs\r\n                        id=''\r\n                        name='debitoBancoDescripcion'\r\n                        value={item.debitoBancoDescripcion !== '' ? item.debitoBancoDescripcion : 'No especifica'}\r\n                        onChange={handleChangeInput(i)}\r\n                        disabled={disabled}\r\n                        label='BANCO EMISOR' />\r\n                    <FormHelperText className={classes.errorText}>{error[i]?.debitoBancoDescripcion}</FormHelperText>\r\n                </FormControl>\r\n                <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                    <CustomizedInputs\r\n                        id='tarjetaCreditoVencimientoMes'\r\n                        name='tarjetaCreditoVencimientoMes/tarjetaCreditoVencimientoAnio'\r\n                        value={`${item.tarjetaCreditoVencimientoMes}/${item.tarjetaCreditoVencimientoAnio}`}\r\n                        onChange={handleChangeInput(i)}\r\n                        disabled={disabled}\r\n                        label='VENCIMIENTO' />\r\n                    <FormHelperText className={classes.errorText}>{error[i]?.tarjetaCreditoVencimientoMes}{error[i]?.tarjetaCreditoVencimientoAnio}</FormHelperText>\r\n                </FormControl>\r\n            </Fragment>\r\n        );\r\n    };\r\n\r\n    const debitAccountComponent = (item, i) => {\r\n        return (\r\n            <Fragment>\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm} ${classes.divSubtitleEditBtn}`}>\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm}`}>\r\n                        CBU DEBITO EN CTA\r\n                    </Typography>\r\n                </div>\r\n                <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                    <CustomizedInputs\r\n                        id=''\r\n                        name='debitoTipoDescripcion'\r\n                        value={item.debitoTipoDescripcion}\r\n                        onChange={handleChangeInput(i)}\r\n                        disabled={disabled}\r\n                        label='TIPO DE CUENTA' />\r\n                    <FormHelperText className={classes.errorText}>{error[i]?.debitoTipoDescripcion}</FormHelperText>\r\n                </FormControl>\r\n                <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                    <CustomizedInputs\r\n                        id=''\r\n                        name='debitoBancoDescripcion'\r\n                        value={item.debitoBancoDescripcion !== '' ? item.debitoBancoDescripcion : 'No especifica'}\r\n                        onChange={handleChangeInput(i)}\r\n                        disabled={disabled}\r\n                        label='BANCO EMISOR' />\r\n                    <FormHelperText className={classes.errorText}>{error[i]?.debitoBancoDescripcion}</FormHelperText>\r\n                </FormControl>\r\n                <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                    <CustomizedInputs\r\n                        id=''\r\n                        name='debitoNumeroCuenta'\r\n                        value={item.debitoNumeroCuenta}\r\n                        onChange={handleChangeInput(i)}\r\n                        disabled={disabled}\r\n                        label='NUMERO DE CUENTA'\r\n                        type='password' />\r\n                    <FormHelperText className={classes.errorText}>{error[i]?.debitoNumeroCuenta}</FormHelperText>\r\n                </FormControl>\r\n                {screen.sWidth < 1300 ?\r\n                    <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                        <CustomizedInputs\r\n                            id=''\r\n                            name='debitoCBU'\r\n                            value={item.debitoCBU}\r\n                            onChange={handleChangeInput(i)}\r\n                            disabled={disabled}\r\n                            label='CBU'\r\n                            type='password' />\r\n                        <FormHelperText className={classes.errorText}>{error[i]?.debitoCBU}</FormHelperText>\r\n                    </FormControl>\r\n                    :\r\n                    <FormControl className={classes.formControlAddress} variant=\"standard\" style={{ marginLeft: \"100%\" }}>\r\n                        <CustomizedInputs\r\n                            id=''\r\n                            name='debitoCBU'\r\n                            value={item.debitoCBU}\r\n                            onChange={handleChangeInput(i)}\r\n                            disabled={disabled}\r\n                            label='CBU'\r\n                            type='password' />\r\n                        <FormHelperText className={classes.errorText}>{error[i]?.debitoCBU}</FormHelperText>\r\n                    </FormControl>\r\n                }\r\n            </Fragment>\r\n        );\r\n    };\r\n\r\n    const validateDebit = (item, i) => {\r\n        let response = '';\r\n        if (item?.tarjetaCreditoTipoCodigo !== '' && item?.tarjetaCreditoVencimientoMes !== '' && item?.tarjetaCreditoVencimientoAnio !== '') {\r\n            response = creditCardComponent(item, i);\r\n        } else {\r\n            response = debitAccountComponent(item, i);\r\n        }\r\n        return response;\r\n    };\r\n\r\n    const validateAutomaticDebit = (debit) => {\r\n        return debit.some(function(item) {\r\n            return item.debitoTipoDescripcion !== '' && item.debitoNumeroCuenta !== '' ;\r\n        });\r\n    }\r\n\r\n    return <>\r\n        <form onSubmit={handleSubmit} className={classes.addressForm}  style={{ marginLeft: screen.sWidth <= 768 ? '0' : '300px', padding: '20px', display: 'inline-block',  }}>\r\n            {data?.afiliado?.debitosAutomaticos?.length > 0 && (validateAutomaticDebit(data?.afiliado?.debitosAutomaticos)) ?\r\n                (membershipData.map((item, i) => (\r\n                    <Fragment key={i}>\r\n                        {validateDebit(item, i)}\r\n                    </Fragment>\r\n                ))) : (\r\n                    <Fragment>\r\n                        <NotFound\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span>No tenés adhesión al débito automático</span>\r\n                            </div>}\r\n                        customClass={classes.flexStartJustifyContent}\r\n                        wsItem={[]}\r\n                        fullItem={[]}\r\n                    />\r\n                    </Fragment>\r\n                )}\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                {screen.sWidth <= 768 ?\r\n                    <Divider style={{marginBottom: \"80px\", color: \"#fff\", border: \"0\"}} />\r\n                    : ''\r\n                }\r\n                {!disabled &&\r\n                    <div>\r\n                        <CustomButton customClass={classes.lightLinearGradient} style={{ padding: '5px 20px 5px 20px' }} title='Guardar' onClick={handleClickModal} />\r\n                    </div>\r\n                }\r\n            </div>\r\n            <SaveModal isOpen={open} setOpen={setOpen} type='submit' onClick={handleSubmit}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            Enviado correctamente\r\n                        </div>\r\n                    </>\r\n                }\r\n                descriptionModal=\r\n                \"Si modificaste tus datos personales en breve recibirás la confirmación del cambio, luego de validarse la misma por parte del sector de Afiliaciones.\"\r\n            />\r\n        </form>\r\n        <ConfirmModal isOpen={openConfirm} setOpen={setOpenConfirm}\r\n            titleModal={\r\n                <>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                    </div>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        Enviado correctamente\r\n                    </div>\r\n                </>\r\n            }\r\n            description=\r\n            {\"Los cambios han sido realizados, una vez validados por nuestro sector correspondiente observarás los cambios en el sistema.\"} />\r\n    </>;\r\n};\r\n\r\nexport default React.memo(AutomaticMembershipForm);\r\n\r\n\r\nfunction validate(membership, setError) {\r\n    const temp = membership;\r\n    const aux = [];\r\n    const validation = [];\r\n    Object.values(temp).forEach((item, i) => {\r\n        let membershipObj = {};\r\n        membershipObj.tarjetaCreditoTipoDescripcion = item.tarjetaCreditoTipoDescripcion ? '' : '*Campo obligatorio';\r\n        membershipObj.debitoBancoDescripcion = item.debitoBancoDescripcion ? '' : '*Campo obligatorio';\r\n        membershipObj.tarjetaCreditoVencimientoAnio = item.tarjetaCreditoVencimientoAnio ? '' : '*Año obligatorio';\r\n        membershipObj.tarjetaCreditoVencimientoMes = item.tarjetaCreditoVencimientoMes ? '' : '*Mes obligatorio';\r\n        membershipObj.debitoTipoCodigo = item.debitoTipoCodigo ? '' : '*Campo obligatorio';\r\n        membershipObj.debitoNumeroCuenta = item.debitoNumeroCuenta ? '' : '*Campo obligatorio';\r\n        membershipObj.debitoCBU = item.debitoCBU ? '' : '*Campo obligatorio';\r\n        aux.push(membershipObj);\r\n        if (Object.values(aux[i]).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n    });\r\n    setError(aux);\r\n    return Object.values(validation).every((valid) => valid === true);\r\n}\r\n\r\nfunction validateTarjetaVencimiento(propName, propValue) {\r\n    let aux = '';\r\n    if (propName === 'tarjetaCreditoVencimientoMes/tarjetaCreditoVencimientoAnio') {\r\n        aux = { ...item, [propName.split('/')[0]]: propValue.split('/')[0] ?? '', [propName.split('/')[1]]: propValue.split('/')[1] ?? '' };\r\n    }\r\n    else {\r\n        aux = { ...item, [propName]: propValue };\r\n    }\r\n    return aux;\r\n}","import { Divider } from \"@material-ui/core\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport React, { useState, useEffect } from \"react\";\r\nimport FormHeader from \"../FormHeader\";\r\nimport AutomaticMembershipForm from \"./AutomaticMembershipForm\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { handleGoToPersonalData } from \"../../../utils/utilsFunctions\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\n\r\nconst AutomaticMembership = ({ handleBack }) => {\r\n    const classes = useStyles();\r\n    const [disabled, setDisabled] = useState(true);\r\n    const [membershipData, setMembershipData] = useState([]);\r\n    const data = useSelector(state => state.personalDataReducer?.fullData);\r\n    const { screen } = useResizeScreen();\r\n\r\n    useEffect(() => {\r\n        if (data?.afiliado !== undefined) {\r\n            let aux = data?.afiliado?.debitosAutomaticos;\r\n            setMembershipData(aux);\r\n        }\r\n    }, [data]);\r\n\r\n    return <>\r\n        <FormHeader title='Datos de debito automatico' handleGoTo={handleGoToPersonalData} />\r\n        {\r\n            screen.sWidth > 768 &&\r\n            <Divider className={classes.formDivider} />\r\n        }\r\n        <AutomaticMembershipForm membershipData={membershipData} setMembershipData={setMembershipData} disabled={disabled} setDisabled={setDisabled} handleBack={handleBack} />\r\n    </>;\r\n};\r\n\r\nexport default AutomaticMembership;","import { Button, Divider, FormControl, Typography, FormHelperText, CircularProgress } from '@material-ui/core';\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport PhonesInput from \"../../controls/InputCustom/PhonesInput\";\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { Fragment, useState, useEffect } from 'react';\r\nimport FormHeader from './FormHeader';\r\nimport ControlPointIcon from '@material-ui/icons/ControlPoint';\r\nimport SaveModal from './SaveModal';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport ConfirmModal from './ConfirmModal';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { abmFullData } from '../../redux/actions/personalDataActions';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { WS_PARAMETERS_LENGTH } from '../MedicalData/Phones/Utils/phonesUtilsFunctions';\r\nimport { handleGoToPersonalData, showMessageModal } from \"../../utils/utilsFunctions\";\r\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\r\nimport HelpOutlineIcon from '@material-ui/icons/HelpOutline';\r\n\r\nconst FormContactData = ({ handleBack }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [disabled, setDisabled] = useState(true);\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const [phones, setPhones] = useState([]);\r\n    const [mails, setMails] = useState([]);\r\n    const [error, setError] = useState([]);\r\n    const [open, setOpen] = useState(false);\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n    const typeOfPhone = useSelector(state => state.personalDataReducer?.phones?.tipoContacto);\r\n    const typeOfMail = useSelector(state => state.personalDataReducer?.mails?.tipoContacto);\r\n    const phonesOrder = phones?.sort((a, b) => a?.telefonoTipoCodigo - b?.telefonoTipoCodigo);\r\n    const mailsOrder = mails?.sort((a, b) => a?.mailTipoCodigo - b?.mailTipoCodigo);\r\n\r\n    const [personalData, setPersonalData] = useState([]);\r\n    const [modelABM, setModelABM] = useState(personalData);\r\n    const [phonesABM, setPhonesABM] = useState({\r\n        telefonos: [],\r\n        mails: [],\r\n    });\r\n\r\n    const [modalTitle, setModalTitle] = useState('Enviado correctamente');\r\n    const [modalDescription, setModalDescription] = useState(\"Los cambios han sido realizados.\");\r\n    const [modalIcon, setModalIcon] = useState(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n    const dispatch = useDispatch();\r\n    const [loading, setLoading] = useState(true);\r\n    const errorMessage = useSelector(state => state.personalDataReducer.msgError);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n\r\n    useEffect(() => {\r\n        setLoading(true);\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage !== \"\" && errorMessage !== undefined) {\r\n            setErrorMessageModal(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    useEffect(() => {\r\n        if (fullPersonalData?.fullData?.length > 0 && !fullPersonalData?.fullData?.confirmacion) {\r\n            setModalTitle('Ocurrió un error');\r\n            setModalDescription(fullPersonalData?.fullData?.mensajes[0]);\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n        }\r\n    }, [fullPersonalData]);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(fullPersonalData?.fullData).length > 0) {\r\n            setModelABM(fullPersonalData?.fullData?.afiliado);\r\n            setPersonalData(fullPersonalData?.fullData?.afiliado);\r\n            let auxMails = fullPersonalData?.fullData?.afiliado?.mails;\r\n            let auxPhones = fullPersonalData?.fullData?.afiliado?.telefonos;\r\n            auxMails?.forEach(mail => {\r\n                mail.mailModo = \"M\";\r\n            });\r\n            auxPhones?.forEach(phone => {\r\n                phone.telefonoModo = \"M\";\r\n            });\r\n            setPhones(auxPhones);\r\n            setMails(auxMails);\r\n            setLoading(false);\r\n        }\r\n    }, [fullPersonalData?.fullData?.afiliado]);\r\n\r\n    const handleAddPhones = (codeType, description) => (e) => {\r\n        e.preventDefault();\r\n        let auxPhones = phones ?? [];\r\n        let PhonesToAdd = [{\r\n            telefonoTipoCodigo: codeType,\r\n            telefonoTipoDescripcion: description,\r\n            paisCodigo: \"\",\r\n            areaCodigo: \"\",\r\n            numero: \"\",\r\n            interno: 0,\r\n            telefono: \"\",\r\n            telefonoModo: 'A'\r\n        }];\r\n        let phone = [...auxPhones, ...PhonesToAdd];\r\n        setPhones(phone);\r\n    };\r\n\r\n    function AddToABMModel(codeName, modo, value, abmCollection, collectionToUse, modoValue, item) {\r\n        var abmAux = abmCollection;\r\n        const abmObj = {\r\n          [codeName]: value,\r\n          [modo]: modoValue,\r\n          [\"paisCodigo\"]: item.paisCodigo,\r\n          [\"areaCodigo\"]: item.areaCodigo,\r\n          [\"numero\"]: item.numero,\r\n          [\"interno\"]: 0,\r\n        };\r\n        abmAux?.push(abmObj);\r\n        setPhonesABM({ ...phonesABM, collectionToUse: abmAux });\r\n    }\r\n\r\n    const handleRemovePhones = (codeType, description, item) => (e) => {\r\n        e.preventDefault();\r\n        const auxPhones = phones ?? [];\r\n        const PhonesToAdd = [{\r\n            telefonoTipoCodigo: codeType,\r\n            telefonoTipoDescripcion: description,\r\n            telefonoModo: 'B'\r\n        }];\r\n        const newPhones = auxPhones.filter(x => x.telefonoTipoCodigo !== PhonesToAdd[0].telefonoTipoCodigo);\r\n        setPhones(newPhones);\r\n\r\n        setModelABM({ ...personalData, telefonos: newPhones });\r\n        AddToABMModel(\r\n            \"telefonoTipoCodigo\",\r\n            \"telefonoModo\",\r\n            PhonesToAdd[0].telefonoTipoCodigo,\r\n            phonesABM?.telefonos,\r\n            phones,\r\n            \"B\", item\r\n        );\r\n\r\n        if (validate(newPhones) && validate(mails)) {\r\n            var form = modelABM;\r\n            form.documentos = [];\r\n            form.domicilios = [];\r\n            form.deportes = [];\r\n            form.hobbies = [];\r\n            form.adjuntos = [];\r\n            form.telefonos = phonesABM.telefonos ;\r\n            form.mails = [];\r\n            delete form.cuentasReintegro;\r\n            const modelToSend = {\r\n                informacion: form,\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            };\r\n            dispatch(abmFullData(modelToSend));\r\n            setOpenConfirm(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    const handleAddMails = (codeType, description) => (e) => {\r\n        e.preventDefault();\r\n        let auxMails = mails ?? [];\r\n        let MailsToAdd = [{\r\n            mailTipoCodigo: codeType,\r\n            mailTipoDescripcion: description,\r\n            mail: '',\r\n            mailModo: 'A'\r\n        }];\r\n        let mail = [...auxMails, ...MailsToAdd];\r\n        setMails(mail);\r\n    };\r\n\r\n    function AddMailsToABMModel(codeName, modo, value, abmCollection, collectionToUse, modoValue, item) {\r\n        var abmAux = abmCollection;\r\n        const abmObj = {\r\n          [codeName]: value,\r\n          [modo]: modoValue,\r\n          [\"mail\"]: item.mail,\r\n        };\r\n        abmAux?.push(abmObj);\r\n        setPhonesABM({ ...phonesABM, collectionToUse: abmAux });\r\n    }\r\n\r\n    const handleRemoveMails = (item) => (e) => {\r\n        e.preventDefault();\r\n        const auxMails = mails ?? [];\r\n        const mailsToRemove = [{\r\n            mailTipoCodigo: item.mailTipoCodigo,\r\n            mail: item.mail,\r\n            mailModo: 'B'\r\n        }];\r\n        const newMails = auxMails.filter(x => x.mailTipoCodigo !== mailsToRemove[0]?.mailTipoCodigo);\r\n        setMails(newMails);\r\n\r\n        setModelABM({ ...personalData, mails: newMails });\r\n        AddMailsToABMModel(\r\n            \"mailTipoCodigo\",\r\n            \"mailModo\",\r\n            mailsToRemove[0]?.mailTipoCodigo,\r\n            phonesABM?.mails,\r\n            mails,\r\n            \"B\", item\r\n        );\r\n\r\n        if (validate(phones) && validate(newMails)) {\r\n            var form = modelABM;\r\n            form.documentos = [];\r\n            form.domicilios = [];\r\n            form.deportes = [];\r\n            form.hobbies = [];\r\n            form.adjuntos = [];\r\n            form.mails = phonesABM?.mails;\r\n            form.telefonos = [];\r\n            delete form.cuentasReintegro;\r\n            const modelToSend = {\r\n                informacion: form,\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            };\r\n            dispatch(abmFullData(modelToSend));\r\n            setOpenConfirm(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    const handleChangeInputPhones = (position) => (e) => {\r\n        let auxPhones = phones;\r\n        const { name, value } = e.target;\r\n        auxPhones[position][name] = value;\r\n        setPhones(auxPhones);\r\n    };\r\n\r\n    const handleChangeInputMails = (position) => (e) => {\r\n        let auxMails = mails;\r\n        const { name, value } = e.target;\r\n        auxMails[position][name] = value;\r\n        setMails(auxMails);\r\n    };\r\n\r\n    const handleEdit = () => {\r\n        setDisabled(prevState => !prevState);\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (validate(phones) && validate(mails)) {\r\n            let form = modelABM;\r\n            form.documentos = [];\r\n            form.domicilios = [];\r\n            form.deportes = [];\r\n            form.hobbies = [];\r\n            form.adjuntos = [];\r\n            let auxTelefonos = phones;\r\n            let auxMails = mails;\r\n            auxTelefonos.forEach(phone => {\r\n                delete phone.telefonoTipoDescripcion;\r\n                delete phone.telefono;\r\n            });\r\n            auxMails.forEach(mail => {\r\n                delete mail.mailTipoDescripcion;\r\n            });\r\n            form.mails = auxMails;\r\n            form.telefonos = auxTelefonos;\r\n            delete form.cuentasReintegro;\r\n            let modelToSend = {\r\n                informacion: form,\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            };\r\n            dispatch(abmFullData(modelToSend));\r\n            setOpen(prevState => !prevState);\r\n            setOpenConfirm(prevState => !prevState);\r\n        }\r\n        setDisabled(prevState => !prevState);\r\n    };\r\n\r\n    const handleClickModal = () => {\r\n        if (validate(phones) && validate(mails)) {\r\n            const telefonos = phonesABM.telefonos;\r\n            setModelABM({ ...modelABM, telefonos, mails });\r\n            setOpen(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    function validate(object) {\r\n        let temp = object;\r\n        let aux = [];\r\n        let validation = [];\r\n        Object.values(temp).forEach((item, i) => {\r\n            let Obj = {};\r\n            if (item.telefonoTipoCodigo === typeOfPhone[0]?.tipoContactoCodigo) {\r\n                Obj.paisCodigo = item.paisCodigo ? '' : '*Campo obligatorio';\r\n                Obj.areaCodigo = item.areaCodigo ? '' : '*Campo obligatorio';\r\n                Obj.numero = item.numero ? '' : '*Campo obligatorio';\r\n            }\r\n            if (item.mailTipoCodigo === typeOfMail[0]?.tipoContactoCodigo) {\r\n                Obj.mail = item.mail ? '' : '*Campo obligatorio';\r\n            }\r\n            aux.push(Obj);\r\n            if (Object.values(aux[i]).every((x) => x === \"\")) {\r\n                validation.push(true);\r\n            } else {\r\n                validation.push(false);\r\n            }\r\n        });\r\n        setError(aux);\r\n        return Object.values(validation).every((valid) => valid === true);\r\n    }\r\n\r\n    const customsButtons = () => {\r\n        if (disabled) {\r\n            return (\r\n                <div style={{position: \"absolute\", right: '4%'}}>\r\n                    <CustomButton\r\n                        title=\"EDITAR\"\r\n                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                        onClick={handleEdit}\r\n                        style={{ marginTop: \"30px\" }}\r\n                    />\r\n                </div>\r\n            );\r\n        }\r\n        else {\r\n            return (\r\n                <div style={{position: \"absolute\", right: '4%'}}>\r\n                    <CustomButton\r\n                        title=\"CANCELAR\"\r\n                        customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                        onClick={handleEdit}\r\n                        style={{ marginBottom: \"10px\", marginTop: \"30px\", marginLeft: \"30px\" }}\r\n                    />\r\n                    <CustomButton\r\n                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                        style={{ padding: '5px 20px 5px 20px', display: \"block\", marginTop: \"20px !important\", marginLeft: \"30px\" }}\r\n                        title='GUARDAR'\r\n                        onClick={handleClickModal}\r\n                    />\r\n                </div>\r\n            );\r\n        }\r\n    };\r\n\r\n    const customsIcons = () => {\r\n        if (disabled) {\r\n            return (\r\n                <Button onClick={handleEdit} style={{ position: 'absolute', right: '5%'}}>\r\n                    <EditIcon className={`${classes.ShowMoreArrowIcon}`}  style={{ marginTop: screen.sWidth < 768 ? \"13px\" : \"30px\" }} />\r\n                </Button>\r\n            );\r\n        }\r\n    };\r\n\r\n    const showsInputs = (require, label, item, telefonoTipoDescripcion, telefonoTipoCodigo, opt, i) => {\r\n        if (disabled) {\r\n            return (\r\n                <PhonesInput\r\n                    require={require}\r\n                    defaultValue={`${item?.paisCodigo}  ${item?.areaCodigo}  ${item?.numero}`}\r\n                    disabled={disabled}\r\n                    label={label} />\r\n            );\r\n        }\r\n        else {\r\n            return (inputEdit(item, telefonoTipoDescripcion, telefonoTipoCodigo, opt, i));\r\n        }\r\n    };\r\n\r\n    const inputEdit = (item, telefonoTipoDescripcion, telefonoTipoCodigo, number, i) => {\r\n        return (\r\n            <>\r\n                <div style={{ display: \"flex\" }}>\r\n                    <InputLabel style={{ marginLeft: \"6px\", marginTop: \"0\" }} shrink htmlFor=\"bootstrap-input\">\r\n                        <Typography style={{ textTransform: \"uppercase\" }} >\r\n                            {telefonoTipoDescripcion}\r\n                            {number ?\r\n                                <>\r\n                                    <span style={{ color: '#ff0000', textTransform: \"none\" }}>*</span>\r\n                                    <span style={{ margin: \"0px !important\", fontSize: \"15px\", textTransform: \"none\" }} className={`${classes.legendSubtitleCel}`}>\r\n                                        Ingresar número sin el 15\r\n                                    </span>\r\n                                </>\r\n                                :\r\n                                \"\"}\r\n                        </Typography>\r\n                    </InputLabel>\r\n                    <div className={classes.inputContactDataBeforeCountryCode}>\r\n                        <PhonesInput\r\n                            name=\"paisCodigo\"\r\n                            defaultValue={item?.paisCodigo}\r\n                            onChange={handleChangeInputPhones(i)}\r\n                            disabled={disabled}\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: WS_PARAMETERS_LENGTH.CodigoPais }}\r\n                            label=\"Cód. país\"\r\n                            style={{ marginBottom: \"10px\" }}\r\n                        />\r\n                    </div>\r\n                    <div className={classes.inputContactDataBefore}>\r\n                        <PhonesInput\r\n                            name=\"areaCodigo\"\r\n                            defaultValue={item?.areaCodigo}\r\n                            onChange={handleChangeInputPhones(i)}\r\n                            disabled={disabled}\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: WS_PARAMETERS_LENGTH.CodigoArea }}\r\n                            label=\"Cód. área\"\r\n                            style={{ marginBottom: \"10px\", marginRight: \"10px\" }}\r\n                        />\r\n                    </div>\r\n                    <div className={classes.inputContactData}>\r\n                        <PhonesInput\r\n                            name=\"numero\"\r\n                            defaultValue={item?.numero}\r\n                            onChange={handleChangeInputPhones(i)}\r\n                            disabled={disabled}\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: WS_PARAMETERS_LENGTH.TelefonoNumero }}\r\n                            label=\"Teléfono\"\r\n                            style={{ marginBottom: \"10px\" }}\r\n                        />\r\n                        {error?.map((x) => (\r\n                            (telefonoTipoCodigo === typeOfPhone[0].tipoContactoCodigo &&\r\n                                < FormHelperText className={classes.errorText}>{x.paisCodigo || x.areaCodigo || x.numero}</FormHelperText>\r\n                            )))}\r\n                    </div>\r\n                </div>\r\n            </>\r\n        );\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title='Datos de contacto' handleGoTo={handleGoToPersonalData} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n                <>\r\n                <form onSubmit={handleSubmit} className={classes.contactDataForm}>\r\n                {\r\n                    screen.sWidth > 768 &&\r\n                    customsButtons()\r\n                }\r\n                {\r\n                    screen.sWidth <= 768 &&\r\n                    customsIcons()\r\n                }\r\n                    <div className={classes.divFormContactData}  style={{marginTop: screen.sWidth < 768 ? \"-40px\" : '1px'}}>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm} ${classes.contactDataTitles}`} style={{marginTop: screen.sWidth < 768 ? \"50px\" : '30px'}}>\r\n                            TELEFONOS\r\n                        </Typography>\r\n                        {phones?.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                {item?.telefonoTipoCodigo === typeOfPhone?.[0]?.tipoContactoCodigo &&\r\n                                    <FormControl\r\n                                        className={`${classes.formControlContactData}`}\r\n                                        variant=\"standard\"\r\n                                        style={{marginBottom:'10px', marginTop: screen.sWidth < 768 ?\"-20px\" : \"1px\"}}\r\n                                    >\r\n                                        {showsInputs(false, 'PARTICULAR', item, item?.telefonoTipoDescripcion, item?.telefonoTipoCodigo, false, i)}\r\n                                    </FormControl>\r\n                                }\r\n                                {item?.telefonoTipoCodigo === typeOfPhone?.[1]?.tipoContactoCodigo &&\r\n                                    <div\r\n                                        style={{ display: \"flex\", alignItems: \"center\", width: \"100%\" }}\r\n                                    >\r\n                                        <FormControl className={classes.formControlContactData} variant=\"standard\" style={{marginTop: screen.sWidth  <768 ? \"2px\" : '4px'}} >\r\n                                            {showsInputs(false, 'LABORAL', item, item?.telefonoTipoDescripcion, item?.telefonoTipoCodigo, false, i)}\r\n                                        </FormControl>\r\n                                        {\r\n                                            disabled &&\r\n                                            <div style={{ justifyContent: 'center', marginTop: screen.sWidth <768 ? \"45px\" : \"50px\", marginLeft: \"1px\" }}>\r\n                                                <Button\r\n                                                    onClick={handleRemovePhones(item?.telefonoTipoCodigo, item?.telefonoTipoDescripcion, item)}\r\n                                                >\r\n                                                    <DeleteOutlineIcon\r\n                                                        className={classes.ShowMoreArrowIcon}\r\n                                                        style={{ color: '#002858' }}\r\n                                                    />\r\n                                                </Button>\r\n                                            </div>\r\n                                        }\r\n                                    </div>\r\n                                }\r\n                                {item?.telefonoTipoCodigo === typeOfPhone?.[2]?.tipoContactoCodigo &&\r\n                                    <div style={{ display: 'flex', alignItems: 'center', width: \"100%\" }}>\r\n                                        <FormControl className={classes.formControlContactData} variant=\"standard\" style={{marginTop:'10px'}}  >\r\n                                            {showsInputs(false, 'MOVIL', item, item?.telefonoTipoDescripcion, item?.telefonoTipoCodigo, false, i)}\r\n                                        </FormControl>\r\n                                        {\r\n                                            disabled &&\r\n                                            <div style={{ justifyContent: \"center\", marginTop: screen.sWidth <768 ? \"54px\" : \"50px\", marginLeft: \"1px\" }}>\r\n                                                <Button onClick={handleRemovePhones(item?.telefonoTipoCodigo, item?.telefonoTipoDescripcion, item)}>\r\n                                                    <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: \"#002858\" }} />\r\n                                                </Button>\r\n                                            </div>\r\n                                        }\r\n                                    </div>\r\n                                }\r\n                                {\r\n                                    screen.sWidth <= 768 ?\r\n                                    (item?.telefonoTipoCodigo === typeOfPhone?.[3]?.tipoContactoCodigo &&\r\n                                        <div style={{ display: \"flex\", alignItems: \"center\", width: \"100%\", justifyContent: \"space-between\" ,  marginTop: screen.sWidth < 768 ? \"13px\" : \"1px\"}}>\r\n                                            <FormControl className={`${classes.formControlContactData} \r\n                                                                     ${classes.formControlContactDataParticularPhone}`}\r\n                                                        variant=\"standard\"\r\n                                            >\r\n                                                {showsInputs(false, 'EMERGENCIAS', item, item?.telefonoTipoDescripcion, item?.telefonoTipoCodigo, false, i)}\r\n                                                <Typography\r\n                                                    className={`${classes.legendSubtitleForm}`} style={{ margin: \"10px 0 20px 20px\" }}\r\n                                                >\r\n                                                    Este número de telefono sirve, en caso de querer <br />la obra social contactar a un 3ero por una emergencia\r\n                                                </Typography>\r\n                                            </FormControl>\r\n                                            {\r\n                                                disabled &&\r\n                                                <div style={{ justifyContent: 'center', marginTop: screen.sWidth <768 ? \"-53px\" : '-50px', marginLeft: '-20px' }}>\r\n                                                    <Button\r\n                                                        onClick={\r\n                                                            handleRemovePhones(item?.telefonoTipoCodigo, item?.telefonoTipoDescripcion, item)\r\n                                                        }\r\n                                                    >\r\n                                                        <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858' }} />\r\n                                                    </Button>\r\n                                                </div>\r\n                                            }\r\n                                        </div>\r\n                                    )\r\n                                    :\r\n                                    (item?.telefonoTipoCodigo === typeOfPhone?.[3]?.tipoContactoCodigo &&\r\n                                        <div style={{ display: \"flex\", alignItems: \"center\", width: \"100%\", marginTop:\"10px\"}}>\r\n                                            <FormControl className={`${classes.formControlContactData} ${classes.formControlContactDataParticularPhone}`} variant=\"standard\">\r\n                                                {showsInputs(false, 'EMERGENCIAS', item, item?.telefonoTipoDescripcion, item?.telefonoTipoCodigo, false, i)}\r\n                                                <Typography className={`${classes.legendSubtitleForm}`} style={{ margin: \"10px 0 20px 20px\" }}>\r\n                                                    Este número de telefono sirve, en caso de querer <br />la obra social contactar a un 3ero por una emergencia\r\n                                                </Typography>\r\n                                            </FormControl>\r\n                                            {\r\n                                                disabled &&\r\n                                                <div style={{ justifyContent: 'center', marginTop: \"-20px\", marginLeft: \"-30px\" }}>\r\n                                                    <Button onClick={handleRemovePhones(item?.telefonoTipoCodigo, item?.telefonoTipoDescripcion, item)}>\r\n                                                        <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858' }} />\r\n                                                    </Button>\r\n                                                </div>\r\n                                            }\r\n                                        </div>\r\n                                    )\r\n                                }\r\n                                {item?.telefonoTipoCodigo === typeOfPhone?.[5]?.tipoContactoCodigo &&\r\n                                    <div style={{ display: \"flex\", alignItems: \"center\", width: \"100%\" }}>\r\n                                        <FormControl className={classes.formControlContactData} variant=\"standard\" style={{marginTop:'-10px'}} >\r\n                                            {showsInputs(false, 'CONFIRMACION DE TURNOS', item, item?.telefonoTipoDescripcion, item?.telefonoTipoCodigo, false, i)}\r\n                                        </FormControl>\r\n                                        {\r\n                                            disabled &&\r\n                                            <div style={{ marginTop: screen.sWidth <768 ? \"36px\" : \"40px\", justifyContent: 'center' }}>\r\n                                                <Button onClick={handleRemovePhones(item?.telefonoTipoCodigo, item?.telefonoTipoDescripcion, item)}>\r\n                                                    <DeleteOutlineIcon style={{ color: '#002858' }} className={classes.ShowMoreArrowIcon} />\r\n                                                </Button>\r\n                                            </div>\r\n                                        }\r\n                                    </div>\r\n                                }\r\n                            </Fragment>\r\n                        ))}\r\n                        {!disabled &&\r\n                            typeOfPhone?.filter( y => y.tipoContactoCodigo !== 5)?.map((item, i) => (\r\n                                <Fragment key={i}>\r\n                                    {!phones?.some(x => x.telefonoTipoCodigo === item?.tipoContactoCodigo) &&\r\n                                        <> <div style={{ justifyContent: 'flex-start', width: '100%' }}>\r\n                                            <Button\r\n                                                style={{ marginTop: \"10px\" }}\r\n                                                onClick={handleAddPhones(item?.tipoContactoCodigo, item?.tipoContactoDescripcion)}\r\n                                            >\r\n                                                Agregar {item?.tipoContactoDescripcion}\r\n                                                <ControlPointIcon style={{ marginLeft: \"10px\" }} className={classes.ShowMoreArrowIcon} />\r\n                                            </Button>\r\n                                        </div>\r\n                                            <Divider className={classes.formDivider} />\r\n                                        </>\r\n                                    }\r\n                                </Fragment>\r\n                            ))}\r\n\r\n                    </div>\r\n                    <Divider orientation=\"vertical\" className={classes.dividerVertical} flexItem />\r\n                    <div className={classes.divFormContactData} style={{marginTop: screen.sWidth < 768 ? \"-80px\" : '15px'}}>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm} ${classes.contactDataTitles}`} >\r\n                            CORREO ELECTRONICO\r\n                        </Typography>\r\n                        {mails?.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                {(typeOfMail?.length > 0 && item?.mailTipoCodigo === typeOfMail?.[0]?.tipoContactoCodigo) &&\r\n                                    <FormControl className={classes.formControlContactData} variant=\"standard\" style={{marginTop: screen.sWidth <768 ? \"-20px\" : '1px'}} >\r\n                                        <PhonesInput\r\n                                            require={true}\r\n                                            name=\"mail\"\r\n                                            defaultValue={item?.mail}\r\n                                            onChange={handleChangeInputMails(i)}\r\n                                            disabled={disabled}\r\n                                            label='PARTICULAR' />\r\n                                        < FormHelperText className={classes.errorText}>{error[0]?.mail}</FormHelperText>\r\n                                    </FormControl>\r\n                                }\r\n                                {(typeOfMail?.length > 0 && item?.mailTipoCodigo === typeOfMail?.[1]?.tipoContactoCodigo) &&\r\n                                    <div style={{ display: \"flex\", alignItems: \"center\", width: \"100%\" }}>\r\n                                        <FormControl className={classes.formControlContactData} variant=\"standard\" style={{marginTop: screen.sWidth <768 ? \"-4px\" : '1px'}} >\r\n                                            <PhonesInput\r\n                                                name=\"mail\"\r\n                                                defaultValue={item?.mail}\r\n                                                onChange={handleChangeInputMails(i)}\r\n                                                disabled={disabled}\r\n                                                label='LABORAL' />\r\n                                        </FormControl>\r\n                                        {\r\n                                            disabled &&\r\n                                            <div style={{ justifyContent: 'center', marginTop: \"45px\", marginLeft: \"1px\" }}>\r\n                                                <Button onClick={handleRemoveMails(item)} >\r\n                                                    <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858' }} />\r\n                                                </Button>\r\n                                            </div>\r\n                                        }\r\n                                    </div>\r\n                                }\r\n                                {(typeOfMail?.length > 0 && item?.mailTipoCodigo === typeOfMail?.[2]?.tipoContactoCodigo) &&\r\n                                    <div style={{ display: \"flex\", alignItems: \"center\", width: \"100%\" }}>\r\n                                        <FormControl className={classes.formControlContactData} variant=\"standard\" style={{marginTop:'10px'}}>\r\n                                            <PhonesInput\r\n                                                name=\"mail\"\r\n                                                defaultValue={item?.mail}\r\n                                                onChange={handleChangeInputMails(i)}\r\n                                                disabled={disabled}\r\n                                                label='CONFIRMACION DE TURNOS' />\r\n                                        </FormControl>\r\n                                        {\r\n                                            disabled &&\r\n                                            <div style={{ justifyContent: 'center', marginLeft: \"1px\" }}>\r\n                                                <Button onClick={handleRemoveMails(item)} style={{ marginTop: \"50px\"}}>\r\n                                                    <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858' }} />\r\n                                                </Button>\r\n                                            </div>\r\n                                        }\r\n                                    </div>\r\n                                }\r\n                                {(typeOfMail?.length > 0 && item?.mailTipoCodigo === typeOfMail?.[3]?.tipoContactoCodigo) &&\r\n                                    <div style={{ display: \"flex\", alignItems: \"center\", width: \"100%\" }}>\r\n                                        <FormControl className={classes.formControlContactData} variant=\"standard\" style={{marginTop:'10px'}}>\r\n                                            <PhonesInput\r\n                                                name=\"mail\"\r\n                                                defaultValue={item?.mail}\r\n                                                onChange={handleChangeInputMails(i)}\r\n                                                disabled={disabled}\r\n                                                label='DE FACTURACION' />\r\n                                        </FormControl>\r\n                                        {\r\n                                            disabled &&\r\n                                            <div style={{ justifyContent: 'center', marginTop: \"53px\", marginLeft: \"1px\" }}>\r\n                                                <Button onClick={handleRemoveMails(item)}>\r\n                                                    <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858' }} />\r\n                                                </Button>\r\n                                            </div>\r\n                                        }\r\n                                    </div>\r\n                                }\r\n                                {(typeOfMail?.length > 0 && item?.mailTipoCodigo === typeOfMail?.[4]?.tipoContactoCodigo) &&\r\n                                    <div style={{ display: \"flex\", alignItems: \"center\", width: \"100%\" }}>\r\n                                        <FormControl className={classes.formControlContactData} variant=\"standard\">\r\n                                            <PhonesInput\r\n                                                name=\"mail\"\r\n                                                defaultValue={item?.mail}\r\n                                                onChange={handleChangeInputMails(i)}\r\n                                                disabled={disabled}\r\n                                                label='COMUNICACIONES' />\r\n                                            <Typography className={`${classes.legendSubtitleForm}`}>\r\n                                                Este mail sirve para recibir las novedades de LUIS PASTEUR<br /> relacionadas con actividades, cursos, cierres de los centros medicos, campañas de vacunacion.\r\n                                            </Typography>\r\n                                        </FormControl>\r\n                                        {\r\n                                            disabled &&\r\n                                            <div style={{ justifyContent: 'center', marginTop: \"-30px\", marginLeft: \"-20px\" }}>\r\n                                                <Button onClick={handleRemoveMails(item)}>\r\n                                                    <DeleteOutlineIcon className={classes.ShowMoreArrowIcon} style={{ color: '#002858' }} />\r\n                                                </Button>\r\n                                            </div>\r\n                                        }\r\n                                    </div>\r\n                                }\r\n                            </Fragment>\r\n                        ))}\r\n                        {!disabled &&\r\n                            typeOfMail?.map((item, i) => (\r\n                                <Fragment key={i}>\r\n                                    {!mails?.some(x => x.mailTipoCodigo === item?.tipoContactoCodigo) &&\r\n                                        <> <div style={{ justifyContent: 'flex-start', width: '100%' }}>\r\n                                            <Button\r\n                                                onClick={handleAddMails(item?.tipoContactoCodigo, item?.tipoContactoDescripcion)}\r\n                                                style={{ marginTop: \"10px\" }}\r\n                                            >\r\n                                                Agregar {item?.tipoContactoDescripcion}\r\n                                                <ControlPointIcon\r\n                                                 className={classes.ShowMoreArrowIcon}\r\n                                                 style={{ marginLeft: \"10px\" }}\r\n                                                />\r\n                                            </Button>\r\n                                        </div>\r\n                                            <Divider className={classes.formDivider} />\r\n                                        </>\r\n                                    }\r\n                                </Fragment>\r\n                            ))}\r\n                        <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                            {screen.sWidth <= 768 && !disabled ?\r\n                                <div style={{ marginTop: \"10px\", marginBottom: \"10px\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }}>\r\n                                    <CustomButton\r\n                                        title=\"CANCELAR\"\r\n                                        customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                        onClick={handleEdit}\r\n                                    />\r\n                                    <CustomButton\r\n                                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                        title='GUARDAR'\r\n                                        onClick={handleClickModal}\r\n                                    />\r\n                                </div>\r\n                                : ''\r\n                            }\r\n                        </div>\r\n                        <SaveModal isOpen={open} setOpen={setOpen} type='submit' onClick={handleSubmit}\r\n                            titleModal={\r\n                                <>\r\n                                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                        <HelpOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                                    </div>\r\n                                    <div style={{ display: 'flex', justifyContent: 'center', marginTop: \"20px\" }}>\r\n                                        Se están por modificar tus datos\r\n                                    </div>\r\n                                </>\r\n                            }\r\n                            descriptionModal=\"¿Estás seguro que deseas confirmar los cambios?\"\r\n                        />\r\n                    </div>\r\n                </form>\r\n                </>\r\n            }\r\n            <ConfirmModal isOpen={openConfirm} setOpen={setOpenConfirm}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n            {showMessageModal(\r\n                errorMessage,\r\n                errorMessageModal,\r\n                setErrorMessageModal,\r\n                classes.borderWhite,\r\n                classes.quickAccessIcon,\r\n                classes.contentDialogTitle,\r\n                handleGoToPersonalData\r\n            )}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default FormContactData;","import * as React from 'react';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport LocalizationProvider from '@material-ui/lab/LocalizationProvider';\r\nimport AdapterDateFns from '@material-ui/lab/AdapterDateFns';\r\nimport MobileDatePicker from '@material-ui/lab/MobileDatePicker';\r\nimport DesktopDatePicker from '@material-ui/lab/DesktopDatePicker';\r\nimport { TextField } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { es } from \"date-fns/locale\";\r\n\r\nconst CustomDatePicker = (props) => {\r\n  const screenSize = useResizeScreen();\r\n  const classes = useStyles();\r\n\r\n  function required() {\r\n    if (props.required) {\r\n      return <span style={{ color: '#ff0000' }}>*</span>;\r\n    }\r\n  }\r\n  return (\r\n    screenSize.screen.sWidth > \"900\" ?\r\n      <FormControl className={classes.formControl}>\r\n        <InputLabel className={`${classes.inputLabelSelectForms} ${props.inputLabelClass}`} shrink htmlFor=\"bootstrap-input\">\r\n\r\n          {props.label}{required()}\r\n        </InputLabel>\r\n\r\n        <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}  >\r\n          <DesktopDatePicker disabled={props.disable}\r\n            cancelText=\"Cancelar\"\r\n            toolbarTitle=\"\"\r\n            inputFormat=\"dd/MM/yyyy\"\r\n            value={props.value}\r\n            onChange={(newValue) => {\r\n              props.onChange(newValue);\r\n            }}\r\n            renderInput={(params) => <TextField {...params} helperText={''}/>}\r\n          />\r\n        </LocalizationProvider>\r\n      </FormControl>\r\n      :\r\n      <FormControl variant=\"standard\" className={classes.formControl}>\r\n        <InputLabel shrink style={{ position: \"relative\", transformOrigin: \"top left !important\" }} >\r\n          {props.label}{required()}\r\n        </InputLabel>\r\n        <LocalizationProvider locale={es} dateAdapter={AdapterDateFns} >\r\n\r\n          <MobileDatePicker disabled={props.disable}\r\n            cancelText=\"Cancelar\"\r\n            toolbarTitle=\"\"\r\n            inputFormat=\"dd/MM/yyyy\"\r\n            value={props.value}\r\n            onChange={(newValue) => {\r\n              props.onChange(newValue);\r\n            }}\r\n            renderInput={(params) => <TextField {...params} />}\r\n          />\r\n        </LocalizationProvider>\r\n\r\n      </FormControl>\r\n  );\r\n}\r\n\r\nexport default CustomDatePicker","import HelpOutlinedIcon from '@material-ui/icons/HelpOutlined';\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst FrequentQuestionsButton = () => {\r\n    const classes = useStyles();\r\n\r\n\tconst handleGoToFrequentQuestions = () => {\r\n\t\twindow.open(`https://www.oslpasteur.com.ar/PortalHTML5/accesos/PreguntasFrecuentes/general.html?adjuntos`, '_blank');\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n            <button\r\n                className={ `${classes.lightLinearGradient} ${classes.frequentQuestionsButton}` }\r\n                onClick={ handleGoToFrequentQuestions }\r\n\t\t\t\ttype={'button'}>\r\n\r\n                <HelpOutlinedIcon className={`${classes.iconFrequentQuestionsButton}`} />\r\n            </button>\r\n\t\t</>\r\n\t);\r\n}\r\n\r\nexport default FrequentQuestionsButton;\r\n","import React, { Fragment, useEffect, useLayoutEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomizedInputs from \"../../controls/InputCustom/CustomizedInputs\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Divider, FormControl, Typography, Button, IconButton, CircularProgress } from \"@material-ui/core\";\r\nimport CustomButton from '../../controls/Button/CustomButton';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport CustomDatePicker from '../../controls/DatePicker/CustomizedDatePicker';\r\nimport { getCivilStatus, getTypesDocuments, getNationalities, abmFullData } from \"../../redux/actions/personalDataActions\";\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport SaveModal from './SaveModal';\r\nimport ConfirmModal from './ConfirmModal';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { format } from 'date-fns';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { showMessageModal, handleGoToPersonalData } from \"../../utils/utilsFunctions\";\r\nimport FrequentQuestionsButton from '../Authorizations/FrequentQuestionsButtons';\r\n\r\nconst FormPersonalData = ({ handleBack }) => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const [errors, setErrors] = useState({});\r\n    const [disable, setDisable] = useState(true);\r\n    const [nationality, setNationality] = useState(0);\r\n    const [lastName, setLastName] = useState(\"\");\r\n    const [motherLastName, setmotherLastName] = useState(\"\");\r\n    const [name, setname] = useState(\"\");\r\n    const [othersName, setothersName] = useState(\"\");\r\n    const [cuil, setCuil] = useState(0);\r\n    const [birthDate, setbirthDate] = useState();\r\n    const [sex, setSex] = useState(\"\");\r\n    const [gender, setgender] = useState(null);\r\n    const [civilStatus, setcivilStatus] = useState(\"\");\r\n    const [documents, setdocuments] = useState([]);\r\n    const [listCivilStatus, setListCivilStatus] = useState([]);\r\n    const [listCountries, setListCountry] = useState([]);\r\n    const [listTypesDocument, setTypesDocument] = useState([]);\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n    const [newData, setNewData] = useState({});\r\n    const listSexo = [{ value: \"F\", label: \"Femenino\" }, { value: \"M\", label: \"Masculino\" }];\r\n    const dataUser = useSelector((state) => state?.personalDataReducer);\r\n    const [birthCertificate, setBirthCertificate] = useState(false);\r\n    const [uploadDniImage, setUploadDniImage] = useState(false);\r\n    const [filesDni, setFilesDni] = useState([]);\r\n    const [filesCertified, setFilesCertified] = useState([]);\r\n    const [namesCertified, setNamesCertified] = useState([]);\r\n    const [namesDni, setNamesDni] = useState([]);\r\n    const [modalTitle, setModalTitle] = useState(\"\");\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [loading, setLoading] = useState(true);\r\n    const abm = useSelector((state) => state?.personalDataReducer?.abmData);\r\n    const errorType = useSelector((state) => state?.personalDataReducer?.error);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);   \r\n    const errorMessage = useSelector(state => state.personalDataReducer.msgError);\r\n\r\n    const [somethingChange, setSomethingChange] = useState(false);\r\n\r\n    useLayoutEffect(() => {\r\n        setLoading(true);\r\n        inicializeErrors();\r\n        dispatch(getCivilStatus());\r\n        dispatch(getTypesDocuments({ numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")) }));\r\n        dispatch(getNationalities());\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        setDataOfWS();\r\n    }, [dataUser]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage !== \"\" && errorMessage !== undefined) {\r\n            setErrorMessageModal(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    function setDataOfWS() {\r\n        let cv = [];\r\n        let cts = [];\r\n        let tp = [];\r\n        if (Object?.values(dataUser?.civilStatus)?.length > 0) {\r\n            dataUser?.civilStatus?.forEach((element) => {\r\n                cv.push({ value: element.estadoCivilCodigo, label: element.estadoCivilDescripcion });\r\n            });\r\n            setListCivilStatus(cv);\r\n        }\r\n        if (Object?.values(dataUser?.nationalities)?.length > 0) {\r\n            dataUser?.nationalities?.forEach((element) => {\r\n                cts.push({ value: element.nacionalidadCodigo, label: element.nacionalidadDescripcion });\r\n            });\r\n            setListCountry(cts);\r\n\r\n        }\r\n        if (Object?.values(dataUser?.typesDocuments)?.length > 0) {\r\n            dataUser?.typesDocuments.forEach((element) => {\r\n                tp.push({ value: element.documentoTipoCodigo, label: element.documentoTipoDescripcion });\r\n            });\r\n            setTypesDocument(tp);\r\n        }\r\n\r\n        if (Object?.values(dataUser?.fullData)?.length > 0) {\r\n            var dateString = dataUser?.fullData?.afiliado?.fechaNacimiento?.replace(/-/g, '/').replace('T', ' ');\r\n            setNewData(dataUser?.fullData?.afiliado);\r\n            setLastName(dataUser?.fullData?.afiliado?.apellido);\r\n            setmotherLastName(dataUser?.fullData?.afiliado?.apellidoMaterno);\r\n            setname(dataUser?.fullData?.afiliado?.nombre);\r\n            setothersName(dataUser?.fullData?.afiliado?.otrosNombres);\r\n            setCuil(dataUser?.fullData?.afiliado?.cuil);\r\n            setbirthDate(new Date(dateString).toISOString());\r\n            setSex(dataUser?.fullData?.afiliado?.sexo);\r\n            setgender(dataUser?.fullData?.afiliado?.genero);\r\n            setcivilStatus(dataUser?.fullData?.afiliado?.estadoCivilCodigo);\r\n            setdocuments(dataUser?.fullData?.afiliado?.documentos);\r\n            setNationality(dataUser?.fullData?.afiliado?.nacionalidadCodigo);\r\n            setLoading(false);\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        setUploadDniImage(validateAttachmentDNI());\r\n        setSomethingChange(true);\r\n    }, [lastName]);\r\n\r\n    useEffect(() => {\r\n        setUploadDniImage(validateAttachmentDNI());\r\n        setSomethingChange(true);\r\n    }, [motherLastName]);\r\n\r\n    useEffect(() => {\r\n        setUploadDniImage(validateAttachmentDNI());\r\n        setSomethingChange(true);\r\n        return (() => {\r\n            setLoading(false);\r\n        });\r\n    }, [name]);\r\n\r\n    useEffect(() => {\r\n        setUploadDniImage(validateAttachmentDNI());\r\n        setSomethingChange(true);\r\n    }, [othersName]);\r\n\r\n    useEffect(() => {\r\n        setUploadDniImage(validateAttachmentCertified());\r\n        setSomethingChange(true);\r\n    }, [documents]);\r\n\r\n    useEffect(() => {\r\n        setUploadDniImage(validateAttachmentCertified());\r\n        setSomethingChange(true);\r\n    }, [cuil]);\r\n\r\n    useEffect(() => {\r\n        setUploadDniImage(validateAttachmentCertified());\r\n        setSomethingChange(true);\r\n    }, [birthDate]);\r\n\r\n    useEffect(() => {\r\n        setUploadDniImage(validateAttachmentCertified());\r\n        setSomethingChange(true);\r\n    }, [nationality]);\r\n\r\n    useEffect(() => {\r\n        setBirthCertificate(validateAttachmentCertified());\r\n        setUploadDniImage(validateAttachmentCertified());\r\n        setSomethingChange(true);\r\n    }, [sex]);\r\n\r\n    useEffect(() => {\r\n        setSomethingChange(true);\r\n    }, [gender, civilStatus]);\r\n\r\n    const setBackgroundMobile = () => {\r\n        let cssClass = '';\r\n        if (screen.sWidth <= 768)\r\n            cssClass = classes.titlePersonalDataForm;\r\n        return cssClass;\r\n    };\r\n\r\n    const Attachment = (show, text, title, id, error) => {\r\n        if (show) {\r\n            return (<>\r\n                <div className={classes.divAttachment}>\r\n                    <div className={classes.divButtonsAttachment} >\r\n                        <Typography style={{ marginLeft: \"5%\" }} className={errors[error] == \"\" ? classes.txtSubtitleCalendar : classes.txtError}>{text}</Typography>\r\n                        {\r\n                            screen.sWidth > 768\r\n                                ?\r\n                                    <CustomButton\r\n                                        style={{ padding: '5px 15px 5px 5px', marginLeft: '10px', width: '120px' }}\r\n                                        title={title}\r\n                                        icon={<AttachFileIcon />}\r\n                                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                        onClick={() => {\r\n                                            document.getElementById(id).click();\r\n                                        }}\r\n                                    />\r\n                                :\r\n                                    <IconButton onClick={() => { document.getElementById(id).click(); }}>\r\n                                        <AttachFileIcon className={classes.NextAppointmentIconRound} />\r\n                                    </IconButton>\r\n                        }\r\n                            <FrequentQuestionsButton />\r\n                    </div>\r\n\r\n                    {\r\n                        id == \"upfileCertified\" ?\r\n                            <>\r\n                                {filesCertified?.map((certifiedFile, i) => {\r\n                                    return (\r\n                                        <Typography key={i} style={{ marginLeft: \"5%\" }} className={classes.txtSubtitleCalendar}>{certifiedFile?.archivoNombre}</Typography>\r\n                                    );\r\n                                })}\r\n                            </>\r\n                            :\r\n                            <>\r\n                                {filesDni?.map((dniFile, index) => {\r\n                                    return (\r\n                                        <Typography key={index} style={{ marginLeft: \"5%\" }} className={classes.txtSubtitleCalendar}>{dniFile?.archivoNombre}</Typography>\r\n                                    );\r\n                                })}\r\n                            </>\r\n                    }\r\n                </div>\r\n            </>);\r\n        }\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        var form = newData;\r\n        form.apellido = lastName;\r\n        form.apellidoMaterno = motherLastName;\r\n        form.nombre = name;\r\n        form.otrosNombres = othersName;\r\n        if(typeof birthDate === \"string\") {\r\n            form.fechaNacimiento = birthDate.substring(0, 10);\r\n        } else {\r\n            form.fechaNacimiento = format(birthDate, \"yyyy-MM-dd\");\r\n        }\r\n        form.sexo = sex;\r\n        form.genero = gender;\r\n        form.nacionalidadCodigo = nationality;\r\n        form.estadoCivilCodigo = civilStatus;\r\n        form.cuil = cuil;\r\n        form.domicilios = [];\r\n        form.telefonos = [];\r\n        form.mails = [];\r\n        form.deportes = [];\r\n        form.hobbies = [];\r\n        let list = [];\r\n        let documentos = [];\r\n        if (validate(form)) {\r\n            filesDni?.forEach((item) => {\r\n                list.push(item);\r\n            });\r\n            filesCertified?.forEach((item) => {\r\n                list.push(item);\r\n            });\r\n            documents?.forEach((item) => {\r\n                delete item.documentoTipoDescripcion;\r\n                item.documentoModo = \"M\";\r\n                documentos.push(item);\r\n            });\r\n            form.documentos = documentos;\r\n            form.adjuntos = list;\r\n            delete form.cuentasReintegro;\r\n            delete form.debitosAutomaticos;\r\n            setNewData(form);\r\n            setOpenConfirm(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    const sendForm = () => {\r\n        /**call to service, send newData */\r\n        let modelToSend = {\r\n            informacion: newData,\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        };\r\n        dispatch(abmFullData(modelToSend));\r\n        const circularProgress = (<div style={{ display: 'flex', justifyContent: 'center' }}><CircularProgress color=\"inherit\" /></div>);\r\n        setModalTitle('INICIANDO GESTION');\r\n        setModalDescription(circularProgress);\r\n        setModalIcon('');\r\n        setErrorClass('');\r\n        setOpenSendSuccess(prevState => !prevState);\r\n        setOpenConfirm(prevState => !prevState);\r\n        setDataOfWS();\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (abm?.confirmacion !== undefined) {\r\n            if (abm?.confirmacion) {\r\n                setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n                setModalTitle('Enviado correctamente')\r\n                setModalDescription('Los cambios han sido realizados, una vez validados por nuestro sector correspondiente observarás los cambios en el sistema.');\r\n                setErrorClass(\"\");\r\n                setTimeout(() => {\r\n                    window.location.reload();\r\n                }, 2000);\r\n            }\r\n            else {\r\n                setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n                setModalTitle('Ocurrió un error')\r\n                setModalDescription('Por favor, intente más tarde');\r\n                setErrorClass(classes.backgroundError);\r\n                setTimeout(() => {\r\n                    window.location.reload();\r\n                }, 2000);\r\n            }\r\n            setOpenSendSuccess(true);\r\n        }\r\n    }, [abm]);\r\n\r\n    useEffect(() => {\r\n        if(errorType?.confirmation === false) {\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setModalTitle('Ocurrió un error')\r\n            setModalDescription('El archivo adjunto debe ser una imagen o un archivo pdf');\r\n            setErrorClass(classes.backgroundError);\r\n            setTimeout(() => {\r\n                window.location.reload();\r\n            }, 3000);\r\n        }\r\n    }, [errorType]);\r\n\r\n    const handleDisable = () => {\r\n        setDisable(prevState => !prevState);\r\n        setUploadDniImage(false);\r\n        setBirthCertificate(false);\r\n        setSomethingChange(false);\r\n        setDataOfWS();\r\n    };\r\n\r\n    const inicializeErrors = () => {\r\n        let temp = {};\r\n        temp.lastName = \"\";\r\n        temp.motherLastName = \"\";\r\n        temp.name = \"\";\r\n        temp.othersName = \"\";\r\n        temp.documentsError = [];\r\n        temp.nationalityCode = \"\";\r\n        temp.nationalityDescription = \"\";\r\n        temp.cuil = \"\";\r\n        temp.birthDate = \"\";\r\n        temp.sexo = \"\";\r\n        temp.genero = \"\";\r\n        temp.errorFileDNI = \"\";\r\n        temp.errorFileCertified = \"\";\r\n\r\n        setErrors(temp);\r\n    };\r\n\r\n    const validate = (param) => {\r\n        let temp = validateValues(param, filesDni, filesCertified, birthCertificate, uploadDniImage);\r\n        setErrors({ ...temp.error });\r\n        setErrors(prevState => ({ ...prevState, documentsError: temp.error.documentsError }));\r\n        return !(temp.obj.includes(false));\r\n    };\r\n\r\n\r\n    const handleChangeInput = (position) => (e) => {\r\n        let { name, value } = e.target;\r\n        let docUpdate = documents.map((item, i) => {\r\n            if (position == i) {\r\n                return { ...item, [name]: value };\r\n            } else { return item; }\r\n        });\r\n        docUpdate[position].documentoTipoModo = \"M\";\r\n        setdocuments(docUpdate);\r\n    };\r\n\r\n    const handleUpload = (input) => (e) => {\r\n        let alertGreatSize = \"\";\r\n        var filesUpload = e.target.files;\r\n        let names = \"\";\r\n        for (let file of filesUpload) {\r\n            let size = (file.size / 1024);\r\n            if (size < parseInt(configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor) * 1000) {\r\n                let adj = {\r\n                    archivoNombre: file.name.substring(0, file.name.indexOf(\".\")),\r\n                    archivoExtension: file.name.substring(file.name.indexOf(\".\") + 1),\r\n                    archivoNombreCompleto: file.name,\r\n                    archivoTamanio: parseInt(size),//KB\r\n                    archivo: null,//new Blob([file],{type: file.type}),\r\n                    archivoClasificacion: 0\r\n                };\r\n                const reader = new FileReader();\r\n                reader.onloadend = () => {\r\n                    adj.archivo = reader.result?.split(',').pop();\r\n                    if (input == \"DNI\") {\r\n                        setFilesDni((prevState) => [...prevState, adj]);\r\n                        names = names + \" \" + file.name;\r\n                        setNamesDni(names);\r\n                    }\r\n                    else {\r\n                        setFilesCertified((prevState) => [...prevState, adj]);\r\n                        names = names + \" \" + file.name;\r\n                        setNamesCertified(names);\r\n                    }\r\n                };\r\n                reader.readAsDataURL(file);\r\n            } else {\r\n                alertGreatSize = alertGreatSize + \" \" + file.name;\r\n            }\r\n        }\r\n        if (alertGreatSize != \"\") {\r\n            setModalTitle('Atención');\r\n            setModalDescription(`Los archivos: ${alertGreatSize} superan el tamaño máximo. Asegurate de que los archivos no superen los ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB`);\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass(classes.backgroundError);\r\n            setOpenSendSuccess(prevState => !prevState);\r\n\r\n        }\r\n    };\r\n\r\n    const validateAttachmentDNI = () => {\r\n        let changeName = name != dataUser?.fullData?.afiliado?.nombre;\r\n        let changeLastName = lastName != dataUser?.fullData?.afiliado?.apellido;\r\n        let changeMotherLastName = motherLastName != dataUser?.fullData?.afiliado?.apellidoMaterno;\r\n        let changeOthersNames = othersName != dataUser?.fullData?.afiliado?.otrosNombres;\r\n        return (changeName || changeLastName || changeMotherLastName || changeOthersNames);\r\n    };\r\n\r\n    const validateAttachmentCertified = () => {\r\n        let changeDocuments = validateDocument(documents, dataUser?.fullData?.afiliado?.documentos);\r\n        let changecuil = cuil != dataUser?.fullData?.afiliado?.cuil;\r\n        let dateStatus = birthDate;\r\n        let date = dataUser?.fullData?.afiliado?.fechaNacimiento;\r\n        let changebirth = date !== dateStatus;\r\n        let changeNationality = nationality != dataUser?.fullData?.afiliado?.nacionalidadCodigo;\r\n        let changeSex = sex != dataUser?.fullData?.afiliado?.sexo;\r\n        let changeGender = gender != dataUser?.fullData?.afiliado?.genero;\r\n        return (changeDocuments || changecuil || changeNationality || changeSex || changebirth || changeGender);\r\n    };\r\n\r\n    const handleClickEdit = () => (e) => {\r\n        if (e.target.innerText === \"EDITAR\") {\r\n            handleDisable();\r\n            e.target.innerText = \"CANCELAR\";\r\n            setDataOfWS();\r\n        }\r\n        else {\r\n            e.target.innerText = \"EDITAR\";\r\n            handleDisable();\r\n            setDataOfWS();\r\n        }\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <div className={`${setBackgroundMobile()}`} style={{ paddingTop: '20px', paddingBottom: \"10px\" }}>\r\n                <div style={{ display: 'flex' }}>\r\n                    {\r\n                        screen.sWidth <= 768 &&\r\n                        <IconButton onClick={handleGoToPersonalData}>\r\n                            <ArrowBackIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"25px\", marginBottom: \"15px\" }} />\r\n                        </IconButton>\r\n                    }\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase' }}>\r\n                        Datos Personales\r\n                    </Typography>\r\n                    <Divider className={classes.formDivider} />\r\n                </div>\r\n            </div>\r\n            <Divider className={classes.formDivider} />\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n                <Fragment>\r\n                    <div className={classes.divEditBtn}>\r\n                        {screen.sWidth <= 768 ?\r\n                            (disable &&\r\n                                (<div>\r\n                                    <Button onClick={handleDisable}>\r\n                                        <CreateIcon className={classes.ShowMoreArrowIcon} />\r\n                                    </Button>\r\n                                </div>)\r\n                            )\r\n                            :\r\n                            (!disable && screen.sWidth > 768 ?\r\n                            <>\r\n                                <CustomButton\r\n                                    title=\"CANCELAR\"\r\n                                    customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                    onClick={handleClickEdit()}\r\n                                />\r\n                                {\r\n                                    Attachment(uploadDniImage, \"Adjuntar documento de identidad(frente y dorso) aquí\", \"Adjuntar\", \"upfileDni\", \"errorFileDNI\")\r\n                                }\r\n                                {\r\n                                    Attachment(birthCertificate, \"Adjuntar partida de nacimiento aquí\", \"Adjuntar\", \"upfileCertified\", \"errorFileCertified\")\r\n                                }\r\n                            </> :\r\n                            \r\n                        <CustomButton\r\n                            title=\"EDITAR\"\r\n                            customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                            onClick={handleClickEdit()}\r\n                        />\r\n                            )\r\n                        }\r\n                    </div>\r\n                    <form onSubmit={handleSubmit} className={classes.addressForm} style={{margin: '30px', marginLeft: screen.sWidth < 768 ? '10px' :'28px'}}>\r\n                        <input hidden className={classes.input} id=\"upfileDni\" multiple type=\"file\" onChange={handleUpload(\"DNI\")} />\r\n                        <input hidden className={classes.input} id=\"upfileCertified\" multiple type=\"file\" onChange={handleUpload(\"CERT\")} />\r\n\r\n                        {disable ?\r\n                            (\r\n                                <>\r\n                                    <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                                        <CustomizedInputs customRequired={true} value={lastName + \" \" + motherLastName} label=\"APELLIDO\" disabled={disable} type=\"text\" />\r\n                                    </FormControl>\r\n\r\n\r\n                                    <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                                        <CustomizedInputs customRequired={false} value={`${name?.trimEnd()} ${othersName?.trimEnd()}`} label=\"NOMBRES\" disabled={disable} type=\"text\" />\r\n                                    </FormControl>\r\n\r\n                                </>\r\n                            ) : (\r\n                                <>\r\n                                    <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                                        <CustomizedInputs customRequired={true} onChange={(e) => { setLastName(e.target.value); }} value={lastName?.trimEnd()} label=\"APELLIDO\" disabled={disable} type=\"text\" />\r\n                                        {errors.lastaName != \"\" && <span className={classes.spanError}>{errors.lastName}</span>}\r\n                                    </FormControl>\r\n\r\n                                    <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                                        <CustomizedInputs customRequired={false} onChange={(e) => { setmotherLastName(e.target.value); }} value={motherLastName?.trimEnd()} label=\"APELLIDO MATERNO\" disabled={disable} type=\"text\" />\r\n                                        {errors.motherLastName != \"\" && <span className={classes.spanError}>{errors.motherLastName}</span>}\r\n\r\n                                    </FormControl>\r\n\r\n                                    <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                                        <CustomizedInputs onChange={(e) => { setname(e.target.value); }} value={name?.trimEnd()} label=\"NOMBRES\" disabled={disable} type=\"text\" />\r\n                                        {errors.name != \"\" && <span className={classes.spanError}>{errors.name}</span>}\r\n\r\n                                    </FormControl>\r\n\r\n                                    <FormControl customRequired={false} className={classes.formControlAddress} variant=\"standard\">\r\n                                        <CustomizedInputs customRequired={false} onChange={(e) => { setothersName(e.target.value); }} value={othersName?.trimEnd()} label=\"OTROS NOMBRES\" disabled={disable} type=\"text\" />\r\n                                    </FormControl>\r\n                                </>\r\n                            )\r\n                        }\r\n                        {screen.sWidth <= 768 && !disable &&\r\n                            Attachment(uploadDniImage, \"Adjuntar documento de identidad(frente y dorso) aquí\", \"\", \"upfileDni\", \"errorFileDNI\")\r\n                        }\r\n                        {documents?.map((item, i) => {\r\n                            return (\r\n                                disable ?\r\n                                    <FormControl className={classes.formControlAddress} variant=\"standard\" style={{marginTop: '8px'}}>\r\n                                        <CustomizedInputs name='documentoNumero' customRequired={true} onChange={handleChangeInput(i)} value={item?.documentoTipoCodigo.toUpperCase() + \" \" + item?.documentoNumero.toUpperCase()} label={item?.documentoTipoDescripcion} disabled={disable} />\r\n                                        {errors.documentsError[i]?.type != \"\" && <span className={classes.spanError}>{errors.tipoDocumento}</span>}\r\n                                        {errors.documentsError[i]?.doc != \"\" && <span className={classes.spanError}>{errors.numeroDocumento}</span>}\r\n\r\n                                    </FormControl>\r\n                                    : <>\r\n                                        <FormControl className={classes.formControlCustomSelect} variant=\"standard\">\r\n                                            <CustomSelect name='documentoTipoCodigo' customRequired={true} disable={disable} list={listTypesDocument} selected={item?.documentoTipoCodigo} placeholder={documents[i]?.documentoTipoDescripcion} position={i} onChange={handleChangeInput(i)} label={\"TIPO DOCUMENTO\"} />\r\n                                            {errors.documentsError[i]?.type != \"\" && <span className={classes.spanError}>{errors.tipoDocumento}</span>}\r\n                                        </FormControl>\r\n                                        <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                                            <CustomizedInputs\r\n                                                name='documentoNumero'\r\n                                                customRequired={true}\r\n                                                onChange={handleChangeInput(i)}\r\n                                                value={parseInt(item?.documentoNumero)}\r\n                                                label=\"NUMERO DOCUMENTO\" disabled={disable}\r\n                                                onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                                                inputProps={{ maxLength: 16 }}\r\n                                            />\r\n                                            {errors.documentsError[i]?.doc != \"\" && <span className={classes.spanError}>{errors.numeroDocumento}</span>}\r\n                                        </FormControl>\r\n                                    </>\r\n                            );\r\n                        })\r\n                        }\r\n\r\n                        <FormControl className={classes.formControlAddress} variant=\"standard\">\r\n                            <CustomizedInputs\r\n                                customRequired={true}\r\n                                onChange={(e) => { setCuil(e.target.value); }}\r\n                                value={parseInt(cuil)}\r\n                                label=\"NUMERO DE CUIL\"\r\n                                disabled={disable}\r\n                                autocomplete={true}\r\n                                onInput={\r\n                                    (e) => {\r\n                                        e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1');\r\n                                    }}\r\n                                inputProps={{ maxLength: 16 }}\r\n                            />\r\n\r\n                            {errors.cuil != \"\" && <span className={classes.spanError}>{errors.cuil}</span>}\r\n                        </FormControl>\r\n\r\n                        <FormControl className={classes.datePickerPersonalData} variant=\"standard\" style={{right: screen.sWidth < 768 ? '5px': '3px', marginBottom:'8px'}}>\r\n                            {<CustomDatePicker onChange={setbirthDate} customRequired={true} value={birthDate} label=\"FECHA DE NACIMIENTO\" disable={disable} />}\r\n                            {errors.birthDate != \"\" && <span className={classes.spanError}>{errors.birthDate}</span>}\r\n\r\n                        </FormControl>\r\n\r\n                        <FormControl className={classes.formControlCustomSelect} variant=\"standard\" style={{right: screen.sWidth < 768 ? '5px': '5px', marginBottom:'8px'}}>\r\n                            <CustomSelect\r\n                                customRequired={true}\r\n                                disable={disable}\r\n                                list={listCountries}\r\n                                selected={nationality}\r\n                                label=\"NACIONALIDAD\"\r\n                                onChange={(e) => { setNationality(e.target.value); }}\r\n                                disabled={disable}\r\n                            />\r\n                            {errors.nacionalidad != \"\" && <span className={classes.spanError}>{errors.nacionalidad}</span>}\r\n\r\n                        </FormControl>\r\n\r\n                        <FormControl className={classes.formControlCustomSelect} variant=\"standard\" style={{right: screen.sWidth < 768 ? '5px': '5px', marginBottom:'10px'}}>\r\n                            <CustomSelect customRequired={true} disable={disable} list={listSexo} selected={sex} onChange={(e) => { setSex(e.target.value); }} label={\"SEXO BIOLOGICO\"} />\r\n                            {errors.sexo != \"\" && <span className={classes.spanError}>{errors.sexo}</span>}\r\n                        </FormControl>\r\n\r\n                        {screen.sWidth <= 768 && !disable &&\r\n                            Attachment(birthCertificate, \"Adjuntar partida de nacimiento aquí\", \"\", \"upfileCertified\", \"errorFileDNI\")\r\n                        }\r\n\r\n                        <FormControl className={classes.formControlAddress} variant=\"standard\" style={{left:'2px', marginTop:'8px'}}>\r\n                            <CustomizedInputs onChange={(e) => { setgender(e.target.value); }} value={gender} label=\"GENERO AUTOPERCIBIDO\" disabled={disable} type=\"text\" />\r\n                        </FormControl>\r\n\r\n                        <FormControl className={`${classes.formControlCustomSelect}`} variant=\"standard\" style={{right: screen.sWidth < 768 ? '5px': '5px'}}>\r\n                            <CustomSelect disable={disable} list={listCivilStatus} selected={civilStatus} onChange={(e) => { setcivilStatus(e.target.value); }} label={\"ESTADO CIVIL\"} />\r\n                        </FormControl>\r\n                        <Divider style={{marginBottom: \"80px\", color: \"#fff\", border: \"0\"}} />\r\n\r\n                        {!disable &&\r\n                            <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{marginBottom: \"30px\"}}>\r\n                                {\r\n                                    screen.sWidth <= 768 &&\r\n                                    <div>\r\n                                        <CustomButton\r\n                                            customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                                            title='Cancelar'\r\n                                            type='button'\r\n                                            onClick={handleDisable}\r\n                                        />\r\n                                    </div>\r\n                                }\r\n\r\n                                {somethingChange &&\r\n                                    <div>\r\n                                        <CustomButton\r\n                                            customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                                            title='Guardar'\r\n                                            type='submit'\r\n                                            onClick={handleSubmit}\r\n                                        />\r\n                                    </div>\r\n                                }\r\n                            </div>\r\n                        }\r\n                        <SaveModal isOpen={openConfirm} setOpen={setOpenConfirm} type='submit' onClick={() => { sendForm(); }}\r\n                            titleModal={\r\n                                <>\r\n                                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                        <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                                    </div>\r\n                                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    Confirmar envío de datos\r\n                                    </div>\r\n                                </>\r\n                            }\r\n                            descriptionModal=\"¿Deseas confirmar los cambios?\"\r\n                        />\r\n                    </form>\r\n\r\n                    <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                        titleModal={\r\n                            <>\r\n                                <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    {modalIcon}\r\n                                </div>\r\n                                <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    {modalTitle}\r\n                                </div>\r\n                            </>\r\n                        }\r\n                        description={modalDescription} />\r\n                </Fragment>\r\n            }\r\n            {\r\n                showMessageModal(\r\n                    errorMessage,\r\n                    errorMessageModal,\r\n                    setErrorMessageModal,\r\n                    classes.borderWhite,\r\n                    classes.quickAccessIcon,\r\n                    classes.contentDialogTitle,\r\n                    handleGoToPersonalData\r\n                )\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(FormPersonalData);\r\n\r\n\r\nfunction validateValues(param, listFileDni, listFileCertified, birthCertificate, uploadDniImage) {\r\n    let temp = {};\r\n    temp.lastName = param?.apellido && param?.apellido?.length > 0 ? \"\" : \"*Este campo es obligatorio\";\r\n    temp.name = param?.nombre && param?.nombre?.length > 0 ? \"\" : \"*Este campo es obligatorio\";\r\n    temp.nationality = param?.nacionalidadCodigo && param?.nacionalidadCodigo > 0 ? \"\" : \"*Este campo es obligatorio\";\r\n    temp.cuil = param?.cuil && param?.cuil > 0 ? \"\" : \"*Este campo es obligatorio\";\r\n    temp.birthDate = param?.fechaNacimiento != undefined ? \"\" : \"*Este campo es obligatorio\";\r\n    temp.sexo = param?.sexo && param?.sexo?.length > 0 ? \"\" : \"*Este campo es obligatorio\";\r\n    temp.errorFileCertified = validateErrorFile(birthCertificate, temp.errorFileCertified, listFileCertified);\r\n    temp.errorFileDNI = validateErrorFile(uploadDniImage, temp.errorFileDNI, listFileDni);\r\n    let validation = [];\r\n    let res = Object?.values(temp).every((value) => value == \"\");\r\n    validation.push(res);\r\n    temp.documentsError = documentError(param?.documentos);\r\n    UpdateValidation(temp, validation);\r\n    return { error: temp, obj: validation };\r\n}\r\n\r\nfunction documentError(docs) {\r\n    let errors = [];\r\n    docs?.map((item, i) => {\r\n        let docError = {};\r\n        docError.type = item.documentoTipoCodigo != null && item.documentoTipoCodigo != \"\" ? \"\" : \"*Este campo es obligatorio\";\r\n        docError.doc = item.documentoNumero.length != 0 ? \"\" : \"*Este campo es obligatorio\";\r\n        errors.push(docError);\r\n    });\r\n    return errors;\r\n}\r\n\r\nfunction UpdateValidation(temp, validation) {\r\n    temp?.documentsError?.forEach((item, i) => {\r\n        if (Object?.values(temp.documentsError[i]).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n\r\n        Object?.values(temp).every((value) => value == \"\");\r\n    });\r\n}\r\n\r\nfunction validateErrorFile(valid, data, list) {\r\n    if (valid)\r\n        return (list.length > 0 ? \"\" : \"error\");\r\n    else\r\n        return (data == undefined ? \"\" : data);\r\n}\r\n\r\nfunction validateDocument(listNew, listService) {\r\n    var result = false;\r\n    listNew?.map((item, i) => {\r\n        let old = listService[i];\r\n        let validType = item?.documentoTipoCodigo != old?.documentoTipoCodigo;\r\n        let validDocNumber = item?.documentoNumero != old?.documentoNumero;\r\n        if (validType || validDocNumber) {\r\n            result = true;\r\n        }\r\n    });\r\n    return result;\r\n}\r\n","import { Fragment, useEffect, useState } from 'react';\r\nimport CustomizedInputs from \"../../controls/InputCustom/CustomizedInputs\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Divider, FormControl, Typography } from \"@material-ui/core\";\r\nimport FormHeader from './FormHeader';\r\nimport { useSelector } from 'react-redux';\r\nimport NotFound from '../HomeLogged/NotFound';\r\nimport { handleGoToPersonalData } from \"../../utils/utilsFunctions\";\r\n\r\nconst FormRefund = ({ handleBack }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [disabled, setDisabled] = useState(true);\r\n    const data = useSelector(state => state.personalDataReducer?.fullData);\r\n    const [affiliateData, setAffiliateData] = useState([]);\r\n\r\n    useEffect(() => {\r\n        if (data?.afiliado !== undefined) {\r\n            let aux = [{\r\n                apellidoNombre: data?.afiliado?.apellidoNombre?.trim(),\r\n                documentos: data?.afiliado?.documentos,\r\n                cuentasReintegro: data?.afiliado?.cuentasReintegro,\r\n                debitoAutomatico: data?.afiliado?.debitosAutomaticos,\r\n                mails: data?.afiliado?.mails,\r\n                telefonos: data?.afiliado?.telefonos,\r\n            }];\r\n            setAffiliateData(aux);\r\n        }\r\n    }, [data]);\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title='Datos para reintegros' handleGoTo={handleGoToPersonalData} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            <form onSubmit={handleSubmit} className={`${classes.addressForm} ${classes.refundForm}`} >\r\n                {data?.afiliado !== undefined ?\r\n                    <>\r\n                        {affiliateData?.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                <FormControl className={classes.formControlRefunds} variant=\"standard\">\r\n                                    <CustomizedInputs value={`${item?.apellidoNombre?.trim()}`} disabled={disabled} label='APELLIDO Y NOMBRE' />\r\n                                </FormControl>\r\n                                <FormControl className={classes.formControlRefunds} variant=\"standard\">\r\n                                    <CustomizedInputs value={`${item?.documentos[0]?.documentoTipoCodigo?.trim()} ${item?.documentos[0]?.documentoNumero?.trim()}`} disabled={disabled} label='TIPO Y NUMERO DE DOCUMENTO' />\r\n                                </FormControl>\r\n                                <FormControl className={`${classes.formControlRefunds} `} variant=\"standard\">\r\n                                    <CustomizedInputs value={`${item.mails[0]?.mail?.trim()}`} disabled={disabled} label='E-MAIL' />\r\n                                </FormControl>\r\n                                <FormControl className={`${classes.formControlRefunds} `} variant=\"standard\">\r\n                                    <CustomizedInputs\r\n                                        value={`${item?.telefonos[0]?.paisCodigo} ${item?.telefonos[0]?.areaCodigo} ${item?.telefonos[0]?.numero}`}\r\n                                        disabled={disabled}\r\n                                        label='TELEFONO'\r\n                                    />\r\n                                </FormControl>\r\n                                {item.cuentasReintegro.map((aux, index) => (\r\n                                    <Fragment key={index}>\r\n                                        <Typography\r\n                                            style={{\r\n                                                justifyContent: 'flex-start',\r\n                                                marginTop: '15px',\r\n                                                paddingTop: '15px',\r\n                                                marginLeft: screen.sWidth < 768 && '35px'\r\n                                            }}\r\n                                            className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm}`}>\r\n                                            {`Cuenta Numero ${index + 1}`}\r\n                                        </Typography>\r\n                                        <FormControl className={classes.formControlRefunds} variant=\"standard\">\r\n                                            <CustomizedInputs value={aux.tipoCuentaDescripcion?.trim()} disabled={disabled} label='TIPO DE CUENTA BANCARIA' />\r\n                                        </FormControl>\r\n                                        <FormControl className={classes.formControlRefunds} variant=\"standard\">\r\n                                            <CustomizedInputs value={aux.bancoDescripcion?.trim()} disabled={disabled} label='BANCO DE RADICACION DE LA CUENTA' />\r\n                                        </FormControl>\r\n                                        <FormControl className={classes.formControlRefunds} variant=\"standard\">\r\n                                            <CustomizedInputs value={aux.numeroCuenta?.trim()} disabled={disabled} label='NUMERO DE SUCURSAL Y CUENTA' />\r\n                                        </FormControl>\r\n                                    </Fragment>\r\n                                ))}\r\n                            </Fragment>\r\n                        ))}\r\n                        <Divider style={{marginBottom: \"80px\", color: \"#fff\", border: \"0\"}} />\r\n                    </>\r\n                    :\r\n                    (\r\n                        <NotFound customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span>No hay contenido para mostrar</span>\r\n                            </div>\r\n                        }\r\n                            wsItem={data?.afiliado}\r\n                            fullItem={data?.afiliado} />\r\n                    )\r\n                }\r\n            </form>\r\n        </>\r\n    );\r\n};\r\nexport default FormRefund;\r\n","import React, { useState, Fragment, useEffect } from \"react\";\r\nimport {\r\n  Button,\r\n  FormControl,\r\n  Typography,\r\n  FormHelperText,\r\n} from \"@material-ui/core\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport ControlPointIcon from \"@material-ui/icons/ControlPoint\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport SaveModal from \"../SaveModal\";\r\nimport ConfirmModal from \"../ConfirmModal\";\r\nimport CheckCircleOutlineIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport DeleteOutlineIcon from \"@material-ui/icons/DeleteOutline\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n  abmFullData,\r\n  getDeportes,\r\n  getFullData,\r\n  getHobbies,\r\n} from \"../../../redux/actions/personalDataActions\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\n\r\nconst SportsHobbiesForm = ({\r\n  personalData,\r\n  setPersonalData,\r\n  disabled,\r\n  handleBack,\r\n  handleEdit\r\n}) => {\r\n  const classes = useStyles();\r\n  const { screen } = useResizeScreen();\r\n  const [open, setOpen] = useState(false);\r\n  const [openConfirm, setOpenConfirm] = useState(false);\r\n  const [hobbieSportsABM, setHobbieSportsABM] = useState({\r\n    hobbies: [],\r\n    deportes: [],\r\n  });\r\n  const dispatch = useDispatch();\r\n  const [modelABM, setModelABM] = useState(personalData);\r\n  const fullPersonalData = useSelector((state) => state.personalDataReducer);\r\n\r\n  const [hobbieTypes, setHobbieTypes] = useState([]);\r\n  const [sportsTypes, setSportsTypes] = useState([]);\r\n\r\n  const [hobbieSelected, setHobbieSelected] = useState(\"\");\r\n  const [sportSelected, setSportSelected] = useState(\"\");\r\n\r\n  const [modalTitle, setModalTitle] = useState(\"Enviado correctamente\");\r\n  const [modalDescription, setModalDescription] = useState(\r\n    \"Tus datos han sido modificados en el sistema.\"\r\n  );\r\n  const [modalIcon, setModalIcon] = useState(\r\n    <CheckCircleOutlineIcon\r\n      className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`}\r\n    />\r\n  );\r\n  const [errorClass, setErrorClass] = useState(\"\");\r\n\r\n  const [error, setError] = useState(\r\n    {\r\n      hobbieCodigo: \"\",\r\n      hobbieDescripcion: \"\",\r\n    },\r\n    {\r\n      deporteCodigo: \"\",\r\n      deporteDescripcion: \"\",\r\n    }\r\n  );\r\n\r\n  const handleChangeHobbie = (e) => {\r\n    const { value } = e.target;\r\n    setHobbieSelected(value);\r\n  };\r\n\r\n  const handleChangeSport = (e) => {\r\n    const { value } = e.target;\r\n    setSportSelected(value);\r\n  };\r\n\r\n  useEffect(() => {\r\n    const listAux = [];\r\n    fullPersonalData?.deportes?.hobbiesDeportes?.forEach(item => {\r\n      let objectAux = {\r\n        value: item.hobbiesDeportesCodigo,\r\n        label: item.hobbiesDeportesDescripcion\r\n      };\r\n      listAux.push(objectAux);\r\n    });\r\n    setSportsTypes(listAux);\r\n  }, [fullPersonalData?.deportes]);\r\n\r\n  useEffect(() => {\r\n    const listAux = [];\r\n    fullPersonalData?.hobbies?.hobbiesDeportes?.forEach(item => {\r\n      let objectAux = {\r\n        value: item.hobbiesDeportesCodigo,\r\n        label: item.hobbiesDeportesDescripcion\r\n      };\r\n      listAux.push(objectAux);\r\n    });\r\n    setHobbieTypes(listAux);\r\n  }, [fullPersonalData?.hobbies]);\r\n\r\n  const handleSubmit = (e) => {\r\n    e.preventDefault();\r\n    if (validate(personalData, setError)) {\r\n      let form = modelABM;\r\n      form.documentos = [];\r\n      form.domicilios = [];\r\n      form.telefonos = [];\r\n      form.mails = [];\r\n      form.adjuntos = [];\r\n      delete form.cuentasReintegro;\r\n      let modelToSend = {\r\n        informacion: form,\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n      };\r\n      dispatch(abmFullData(modelToSend));\r\n      setOpen((prevState) => !prevState);\r\n      setOpenConfirm((prevState) => !prevState);\r\n    }\r\n    handleEdit();\r\n  };\r\n\r\n  const handleClickModal = () => {\r\n    if (hobbieSelected !== \"\") {\r\n      let aux = personalData?.hobbies;\r\n      let auxDescription = hobbieTypes?.filter(x => x.value === hobbieSelected)[0]?.label;\r\n      let newObj = {\r\n        [\"hobbieCodigo\"]: hobbieSelected,\r\n        [\"hobbieDescripcion\"]: auxDescription,\r\n      };\r\n      aux?.push(newObj);\r\n      AddToABMModel(\r\n        \"hobbieCodigo\",\r\n        \"hobbieModo\",\r\n        hobbieSelected,\r\n        hobbieSportsABM.hobbies,\r\n        \"hobbies\",\r\n        \"A\"\r\n      );\r\n      setPersonalData({ ...personalData, [\"hobbies\"]: aux });\r\n      setSportSelected(\"\");\r\n      setHobbieSelected(\"\");\r\n    }\r\n    if (sportSelected !== \"\") {\r\n      let aux = personalData?.deportes;\r\n      let auxDescription = sportsTypes?.filter(x => x.value === sportSelected)[0]?.label;\r\n      let newObj = {\r\n        [\"deporteCodigo\"]: sportSelected,\r\n        [\"deporteDescripcion\"]: auxDescription,\r\n      };\r\n      aux?.push(newObj);\r\n      AddToABMModel(\r\n        \"deporteCodigo\",\r\n        \"deporteModo\",\r\n        sportSelected,\r\n        hobbieSportsABM.deportes,\r\n        \"deportes\",\r\n        \"A\"\r\n      );\r\n      setPersonalData({ ...personalData, [\"deportes\"]: aux });\r\n      setSportSelected(\"\");\r\n      setHobbieSelected(\"\");\r\n    }\r\n    if (validate(personalData, setError)) {\r\n      let deportes = hobbieSportsABM.deportes;\r\n      let hobbies = hobbieSportsABM.hobbies;\r\n      setModelABM({ ...modelABM, hobbies, deportes });\r\n      setOpen((prevState) => !prevState);\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    setArrayList(personalData, setHobbieTypes, setSportsTypes);\r\n    dispatch(getHobbies(\"HOBBIE\"));\r\n    dispatch(getDeportes(\"DEPORTE\"));\r\n    dispatch(getFullData({\r\n      numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\"))\r\n    }));\r\n  }, []);\r\n\r\n  const handleRemoveItem =\r\n    (\r\n      code,\r\n      collection,\r\n      propName,\r\n      collectionToUse,\r\n      abmCollection,\r\n      propNameDescription,\r\n      modo\r\n    ) =>\r\n      (e) => {\r\n        e.preventDefault();\r\n        let aux = collection?.filter((x) => x[propName] !== code);\r\n        setPersonalData({ ...personalData, [collectionToUse]: aux });\r\n        AddToABMModel(\r\n          propName,\r\n          modo,\r\n          code,\r\n          abmCollection,\r\n          collectionToUse,\r\n          \"B\"\r\n        );\r\n      };\r\n\r\n  const handleAddItem =\r\n    (\r\n      collection,\r\n      propNameCode,\r\n      propNameDescription,\r\n      collectionToUse,\r\n      listItem,\r\n      abmCollection,\r\n      listOfItems,\r\n      modo\r\n    ) =>\r\n      (e) => {\r\n        e.preventDefault();\r\n        if (listItem !== \"\") {\r\n          let aux = collection;\r\n          let auxDescription = listOfItems?.filter(x => x.value === listItem)[0]?.label;\r\n          let newObj = {\r\n            [propNameCode]: listItem,\r\n            [propNameDescription]: auxDescription,\r\n          };\r\n          aux?.push(newObj);\r\n          AddToABMModel(\r\n            propNameCode,\r\n            modo,\r\n            listItem,\r\n            abmCollection,\r\n            collectionToUse,\r\n            \"A\"\r\n          );\r\n          setPersonalData({ ...personalData, [collectionToUse]: aux });\r\n          setSportSelected(\"\");\r\n          setHobbieSelected(\"\");\r\n        }\r\n      };\r\n\r\n\r\n  function AddToABMModel(\r\n    codeName,\r\n    modo,\r\n    value,\r\n    abmCollection,\r\n    collectionToUse,\r\n    modoValue\r\n  ) {\r\n    let abmAux = abmCollection;\r\n    let abmObj = {\r\n      [codeName]: value,\r\n      [modo]: modoValue,\r\n    };\r\n    abmAux?.push(abmObj);\r\n    setHobbieSportsABM({ ...hobbieSportsABM, [collectionToUse]: abmAux });\r\n  }\r\n\r\n  useEffect(() => {\r\n    setMessageModal(\r\n      fullPersonalData,\r\n      setModalTitle,\r\n      setModalDescription,\r\n      setModalIcon,\r\n      setErrorClass,\r\n      classes\r\n    );\r\n  }, [fullPersonalData]);\r\n\r\n\r\n  return (\r\n    <>\r\n      <form onSubmit={handleSubmit} className={classes.addressForm} style={{ margin: screen.sWidth > 768 && \"0 20%\" }}>\r\n        <div className={classes.divSportsHobbies}>\r\n          <div\r\n            className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm} ${classes.divSubtitleEditBtn}`}\r\n          >\r\n            <Typography\r\n              className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm}`}\r\n            >\r\n              HOBBIES\r\n            </Typography>\r\n          </div>\r\n          {personalData?.hobbies?.map((item, i) => (\r\n            <Fragment key={i}>\r\n              <FormControl\r\n                style={{ flex: '0 0 100%' }}\r\n                className={`${classes.formControlAddress} ${classes.formControlSportsHobbies}`}\r\n                variant=\"standard\"\r\n              >\r\n                <div className={classes.divCustomSelectHobbies}>\r\n                  <CustomSelect\r\n                    name={`hobbieCodigo-hobbieDescripcion/${i}`}\r\n                    disable={true}\r\n                    list={hobbieTypes}\r\n                    selected={item.hobbieCodigo}\r\n                    position={i}\r\n                  />\r\n                  {!disabled && (\r\n                    <div style={{ width: \"10% !important\" }}>\r\n                      <Button\r\n                        onClick={handleRemoveItem(\r\n                          item.hobbieCodigo,\r\n                          personalData?.hobbies,\r\n                          \"hobbieCodigo\",\r\n                          \"hobbies\",\r\n                          hobbieSportsABM?.hobbies,\r\n                          \"hobbieDescripcion\",\r\n                          \"hobbieModo\"\r\n                        )}\r\n                      >\r\n                        <DeleteOutlineIcon\r\n                          className={classes.ShowMoreArrowIcon}\r\n                          style={{ color: \"#002858\" }}\r\n                        />\r\n                      </Button>\r\n                    </div>\r\n                  )}\r\n                </div>\r\n                <FormHelperText className={classes.errorText}>\r\n                  {error[i]?.hobbieDescripcion}\r\n                </FormHelperText>\r\n              </FormControl>\r\n            </Fragment>\r\n          ))}\r\n          {!disabled && (\r\n            <FormControl\r\n              style={{ flex: '0 0 100%' }}\r\n              className={`${classes.formControlAddress} ${classes.formControlSportsHobbies}`}\r\n              variant=\"standard\"\r\n            >\r\n              <div className={classes.divCustomSelectHobbies}>\r\n                <CustomSelect\r\n                  name={`hobbieCodigo-hobbieDescripcion/`}\r\n                  disable={disabled}\r\n                  list={hobbieTypes}\r\n                  selected={hobbieSelected}\r\n                  onChange={handleChangeHobbie}\r\n                />\r\n                <div style={{ width: \"10% !important\" }}>\r\n                  <Button\r\n                    onClick={handleAddItem(\r\n                      personalData?.hobbies,\r\n                      \"hobbieCodigo\",\r\n                      \"hobbieDescripcion\",\r\n                      \"hobbies\",\r\n                      hobbieSelected,\r\n                      hobbieSportsABM?.hobbies,\r\n                      hobbieTypes,\r\n                      \"hobbieModo\"\r\n                    )}\r\n                  >\r\n                    <ControlPointIcon className={classes.ShowMoreArrowIcon} />\r\n                  </Button>\r\n                </div>\r\n              </div>\r\n            </FormControl>\r\n          )}\r\n        </div>\r\n\r\n        <div className={classes.divSportsHobbies}>\r\n          <div\r\n            className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm} ${classes.divSubtitleEditBtn}`}\r\n          >\r\n            <Typography\r\n              className={`${classes.titleTurn} ${classes.titleBox} ${classes.subtitleAddressForm}`}\r\n            >\r\n              DEPORTES\r\n            </Typography>\r\n          </div>\r\n          {personalData?.deportes?.map((item, i) => (\r\n            <Fragment key={i}>\r\n              <FormControl\r\n                style={{ flex: '0 0 100%' }}\r\n                className={`${classes.formControlAddress} ${classes.formControlSportsHobbies}`}\r\n                variant=\"standard\"\r\n              >\r\n                <div className={classes.divCustomSelectHobbies}>\r\n                  <CustomSelect\r\n                    name={`deporteCodigo-deporteDescripcion/${i}`}\r\n                    disable={true}\r\n                    list={sportsTypes}\r\n                    selected={item.deporteCodigo}\r\n                    position={i}\r\n                  />\r\n                  {!disabled && (\r\n                    <div style={{ width: \"10% !important\" }}>\r\n                      <Button\r\n                        onClick={handleRemoveItem(\r\n                          item.deporteCodigo,\r\n                          personalData?.deportes,\r\n                          \"deporteCodigo\",\r\n                          \"deportes\",\r\n                          hobbieSportsABM?.deportes,\r\n                          \"deporteDescripcion\",\r\n                          \"deporteModo\"\r\n                        )}\r\n                      >\r\n                        <DeleteOutlineIcon\r\n                          className={classes.ShowMoreArrowIcon}\r\n                          style={{ color: \"#002858\" }}\r\n                        />\r\n                      </Button>\r\n                    </div>\r\n                  )}\r\n                </div>\r\n                <FormHelperText className={classes.errorText}>\r\n                  {error[i]?.deporteDescripcion}\r\n                </FormHelperText>\r\n              </FormControl>\r\n            </Fragment>\r\n          ))}\r\n          {!disabled && (\r\n            <FormControl\r\n              style={{ flex: '0 0 100%' }}\r\n              className={`${classes.formControlAddress} ${classes.formControlSportsHobbies}`}\r\n              variant=\"standard\"\r\n            >\r\n              <div className={classes.divCustomSelectHobbies}>\r\n                <CustomSelect\r\n                  name={`deporteCodigo-deporteDescripcion`}\r\n                  disable={disabled}\r\n                  list={sportsTypes}\r\n                  selected={sportSelected}\r\n                  onChange={handleChangeSport}\r\n                />\r\n                <div style={{ width: \"10% !important\" }}>\r\n                  <Button\r\n                    onClick={handleAddItem(\r\n                      personalData?.deportes,\r\n                      \"deporteCodigo\",\r\n                      \"deporteDescripcion\",\r\n                      \"deportes\",\r\n                      sportSelected,\r\n                      hobbieSportsABM?.deportes,\r\n                      sportsTypes,\r\n                      \"deporteModo\"\r\n                    )}\r\n                  >\r\n                    <ControlPointIcon className={classes.ShowMoreArrowIcon} />\r\n                  </Button>\r\n                </div>\r\n              </div>\r\n            </FormControl>\r\n          )}\r\n        </div>\r\n        <div\r\n          className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}\r\n        >\r\n          {screen.sWidth < 768 && !disabled && (\r\n            <div>\r\n              <CustomButton\r\n                customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                style={{ padding: \"5px 20px 5px 20px\", marginTop: \"10px\", marginBottom: \"30px\" }}\r\n                title=\"Cancelar\"\r\n                type=\"button\"\r\n                onClick={handleEdit}\r\n              />\r\n            </div>\r\n          )}\r\n          {!disabled && (\r\n            <div>\r\n              <CustomButton\r\n                customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                style={{ padding: \"5px 20px 5px 20px\", marginTop: \"10px\", marginBottom: \"30px\" }}\r\n                title=\"Guardar\"\r\n                onClick={handleClickModal}\r\n              />\r\n            </div>\r\n          )}\r\n        </div>\r\n        <SaveModal\r\n          isOpen={open}\r\n          setOpen={setOpen}\r\n          type=\"submit\"\r\n          onClick={handleSubmit}\r\n          titleModal={\r\n            <>\r\n              <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n                <CheckCircleOutlineIcon\r\n                  className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`}\r\n                />\r\n              </div>\r\n              <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n                Confirmar envío de datos\r\n              </div>\r\n            </>\r\n          }\r\n          descriptionModal=\"¿Deseas confirmar los cambios?\"\r\n        />\r\n      </form>\r\n      <ConfirmModal\r\n        isOpen={openConfirm}\r\n        setOpen={setOpenConfirm}\r\n        errorClass={errorClass}\r\n        titleModal={\r\n          <>\r\n            <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n              {modalIcon}\r\n            </div>\r\n            <div style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n              {modalTitle}\r\n            </div>\r\n          </>\r\n        }\r\n        description={modalDescription}\r\n      />\r\n    </>\r\n  );\r\n};\r\n\r\nexport default React.memo(SportsHobbiesForm);\r\n\r\nfunction validate(hobbiesSportsPersonalData, setError) {\r\n  let temp = hobbiesSportsPersonalData;\r\n  let aux = [];\r\n  let validation = [];\r\n  Object.values(temp.deportes).forEach((item, i) => {\r\n    let sportsObj = {};\r\n    sportsObj.deporteCodigo = item.deporteCodigo ? \"\" : \"*Campo obligatorio\";\r\n    sportsObj.deporteDescripcion = item.deporteDescripcion\r\n      ? \"\"\r\n      : \"*Campo obligatorio\";\r\n    aux.push(sportsObj);\r\n    if (Object.values(aux[i]).every((x) => x === \"\")) {\r\n      validation.push(true);\r\n    } else {\r\n      validation.push(false);\r\n    }\r\n  });\r\n  Object.values(temp.hobbies).forEach((item, i) => {\r\n    let hobbiesObj = {};\r\n    hobbiesObj.hobbieCodigo = item.hobbieCodigo ? \"\" : \"*Campo obligatorio\";\r\n    hobbiesObj.hobbieDescripcion = item.hobbieDescripcion\r\n      ? \"\"\r\n      : \"*Campo obligatorio\";\r\n    aux.push(hobbiesObj);\r\n    if (Object.values(aux[i]).every((x) => x === \"\")) {\r\n      validation.push(true);\r\n    } else {\r\n      validation.push(false);\r\n    }\r\n  });\r\n  setError(aux);\r\n  return Object.values(validation).every((valid) => valid === true);\r\n}\r\n\r\nfunction setArrayList(personalData, setHobbieTypes, setSportsTypes) {\r\n  let hobbiesArray = [];\r\n  let sportsArray = [];\r\n  if (personalData?.hobbies.length > 0 || personalData?.deportes.length > 0) {\r\n    personalData?.hobbies?.forEach((hobbie) => {\r\n      let hobbieObj = {};\r\n      hobbieObj.value = hobbie.hobbieCodigo;\r\n      hobbieObj.label = hobbie.hobbieDescripcion;\r\n      hobbiesArray.push(hobbieObj);\r\n    });\r\n    personalData?.deportes?.forEach((deporte) => {\r\n      let deporteObj = {};\r\n      deporteObj.value = deporte.deporteCodigo;\r\n      deporteObj.label = deporte.deporteDescripcion;\r\n      sportsArray.push(deporteObj);\r\n    });\r\n    setHobbieTypes(hobbiesArray);\r\n    setSportsTypes(sportsArray);\r\n  }\r\n}\r\n\r\nfunction setMessageModal(\r\n  fullPersonalData,\r\n  setModalTitle,\r\n  setModalDescription,\r\n  setModalIcon,\r\n  setErrorClass,\r\n  classes\r\n) {\r\n  if (\r\n    Object.keys(fullPersonalData?.fullData).length > 0 &&\r\n    !fullPersonalData?.fullData?.confirmacion\r\n  ) {\r\n    setModalTitle(\"Ocurrió un error\");\r\n    setModalDescription(fullPersonalData?.fullData?.mensajes[0]);\r\n    setModalIcon(\r\n      <CancelIcon\r\n        className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`}\r\n      />\r\n    );\r\n    setErrorClass(classes.backgroundError);\r\n  }\r\n}\r\n","import { Button, Divider, CircularProgress } from \"@material-ui/core\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport React, { useEffect, useLayoutEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport FormHeader from \"../FormHeader\";\r\nimport SportsHobbiesForm from \"./SportsHobbiesForm\";\r\nimport { handleGoToPersonalData, showMessageModal } from \"../../../utils/utilsFunctions\";\r\n\r\n\r\nconst SportsHobbies = ({ handleBack }) => {\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [disabled, setDisabled] = useState(true);\r\n    const [personalData, setPersonalData] = useState([]);\r\n    const [editMode, setEditMode] = useState(false);\r\n    const [loading, setLoading] = useState(true);\r\n    const [errorModal, setErrorModal] = useState(false);   \r\n    const errorMessage = useSelector(state => state.personalDataReducer.msgError);\r\n\r\n    const handleEdit = (e) => {\r\n        setDisabled(prevState => !prevState);\r\n    };\r\n\r\n    useLayoutEffect(() => {\r\n        setLoading(true);\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(fullPersonalData?.fullData).length > 0) {\r\n            setPersonalData(fullPersonalData?.fullData?.afiliado);\r\n            setLoading(false);\r\n        }\r\n    }, [fullPersonalData?.fullData]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage !== '' && errorMessage !== undefined) {\r\n            setErrorModal(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    return <>\r\n        <FormHeader title='Hobbies y Deportes' handleGoTo={handleGoToPersonalData} />\r\n        {\r\n            screen.sWidth > 768 &&\r\n            <Divider className={classes.formDivider} />\r\n        }\r\n        {disabled ?\r\n            <div style={{ position: 'absolute', right: '0' }} className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                {screen.sWidth <= 768 ?\r\n                    <Button onClick={handleEdit}>\r\n                        <CreateIcon className={classes.ShowMoreArrowIcon} />\r\n                    </Button>\r\n                    :\r\n                    (screen.sWidth > 768 && disabled ?\r\n                        (<CustomButton\r\n                            title=\"EDITAR\"\r\n                            customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                            onClick={handleEdit}\r\n                        />) :\r\n                        (<CustomButton\r\n                            title=\"CANCELAR\"\r\n                            customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                            onClick={handleEdit}\r\n                        />)\r\n                    )\r\n                }\r\n            </div> :\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm} ${classes.btnCancelarAddress}`}>\r\n                <CustomButton\r\n                    title=\"CANCELAR\"\r\n                    customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                    onClick={handleEdit}\r\n                />\r\n            </div>\r\n        }\r\n        {loading ?\r\n            <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n            :\r\n            <div style={{ display: \"flex\", justifyContent: \"center\", width: '100%' }}>\r\n                <SportsHobbiesForm personalData={personalData} setPersonalData={setPersonalData} disabled={disabled} handleEdit={handleEdit} editMode={editMode} setEditMode={setEditMode} />\r\n            </div>\r\n        }\r\n        {\r\n            showMessageModal(\r\n                errorMessage,\r\n                errorModal,\r\n                setErrorModal,\r\n                classes.borderWhite,\r\n                classes.quickAccessIcon,\r\n                classes.contentDialogTitle,\r\n                handleGoToPersonalData\r\n            )\r\n        }\r\n    </>;\r\n};\r\n\r\nexport default SportsHobbies;\r\n","import React from 'react';\r\nimport { CircularProgress } from '@material-ui/core';\r\n\r\nconst Loading = ({isLoading, children}) => {\r\n  return (\r\n    <>\r\n        {\r\n            isLoading ?\r\n            <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%', paddingTop: '10px' }}>\r\n                <CircularProgress />\r\n            </div>\r\n            :\r\n            children\r\n        }\r\n    </>\r\n  )\r\n}\r\n\r\nexport default Loading","import { FormControl, StyledEngineProvider, Typography, Grid, Box } from \"@material-ui/core\";\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport { useState, useEffect } from 'react';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport CustomizedDateTimerPicker from \"../../../controls/DateTimerPicker/CustomizedDateTimerPicker\";\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport CustomSelect from './../../../controls/Select/CustomSelect'\r\nimport { format } from \"date-fns\";\r\nimport Loading from \"../../LoadingPage/Loading\";\r\n\r\nconst FormVitalParameters = (props) => {\r\n    const [loadingForm, setLoadingForm] = useState(true);\r\n    const classes = useStyles();\r\n    const [type, setType] = useState(\"\");\r\n    const [valueParameter1, setValueParameter1] = useState({});\r\n    const [valueParameter2, setValueParameter2] = useState({});\r\n    const [dateRegister, setDateRegister] = useState(new Date());\r\n    const [errors, setErrors] = useState({});\r\n    const { screen } = useResizeScreen();\r\n    const typesParameters = [{ value: 1, label: \"TEMPERATURA\" }, { value: 2, label: \"TENSION ARTERIAL\" }, { value: 3, label: \"GLUCEMIA\" }, { value: 4, label: \"FRECUENCIA CARDIACA\" }];\r\n\r\n    useEffect(() => {\r\n        inicializeErrors();\r\n        setLoadingForm(false);\r\n    }, [])\r\n\r\n    const inicializeErrors = () => {\r\n        const temp = { parameterType: \"\", value1: \"\", value2: \"\" };\r\n        setErrors(temp)\r\n    }\r\n\r\n    const handleCancel = () => {\r\n        setType(\"\");\r\n        inicializeErrors();\r\n        setValueParameter1(null);\r\n        setValueParameter2(null);\r\n        props.setAdd(prevState => !prevState);\r\n    }\r\n\r\n    const handleSaveForm = (e) => {\r\n        e.preventDefault();\r\n        const param = {\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            parametroVitalTipo: typesParameters.find((x) => x.value == type)?.label?.trim(),\r\n            paramentrosVitalValores: []\r\n        };\r\n        if (type === 2) {\r\n            param.paramentrosVitalValores.push({ valorDescripcion: \"SISTOLICA\", valor: valueParameter1 });\r\n            param.paramentrosVitalValores.push({ valorDescripcion: \"DIASTOLICA\", valor: valueParameter2 });\r\n        } else {\r\n            param.paramentrosVitalValores.push({ valorDescripcion: \"\", valor: valueParameter1 });\r\n        }\r\n        param.parametroVitalFechaRegistracion = format(dateRegister, \"yyyy-MM-dd\") + \" \" + dateRegister.toLocaleTimeString();\r\n        param.modo = \"A\";\r\n\r\n        if (validate(param)) {\r\n            const newForm = param;\r\n            newForm.parametroVitalValores = JSON.stringify(param.paramentrosVitalValores);\r\n            props.setForm(newForm);\r\n            props.setAction(\"ALTA\");\r\n            props.setOpenConfirm(prevState => !prevState);\r\n        }\r\n    }\r\n\r\n    const validate = (param) => {\r\n        const temp = validateValues(param.paramentrosVitalValores, param.parametroVitalTipo);\r\n        setErrors({\r\n            ...temp,\r\n        });\r\n        return Object.values(temp).every((value) => value === \"\");\r\n    };\r\n\r\n\r\n    const validationType = () => {\r\n        if (type === 2) {\r\n            return (\r\n                <>\r\n                    <CustomizedInputs\r\n                        name=\"value2\"\r\n                        onChange={(e) => { setValueParameter2(e.target.value) }}\r\n                        value={valueParameter2}\r\n                        label={`SISTOLICA (${units(type)})`}\r\n                        type=\"number\"\r\n                        formControlClass={\"\"}\r\n                        inputLabelClass={\"\"}\r\n                        onInput={(e) => {\r\n                            e.target.value = Math.max(0, parseInt(e.target.value)).toString().slice(0, 3);\r\n                        }}\r\n                    />\r\n                    <div className={classes.flexRow}>\r\n                        {isNotEmpty(errors.value2) ? <span style={{ marginLeft: \"0\" }} className={classes.spanError}>{errors.value2}</span> : \"\"}\r\n                    </div>\r\n                </>\r\n            );\r\n        }\r\n    }\r\n\r\n    const addInput = () => {\r\n        return (\r\n            <>\r\n                <CustomizedInputs\r\n                    name=\"value1\"\r\n                    value={valueParameter1}\r\n                    onChange={(e) => { setValueParameter1(e.target.value) }}\r\n                    label={type === 2 ? `DIASTOLICA (${units(type)})` : units(type)}\r\n                    inputLabelClass={\"\"}\r\n                    formControlClass={\"\"}\r\n                    type=\"number\"\r\n                    onInput={(e) => {\r\n                        e.target.value = Math.max(0, parseInt(e.target.value)).toString().slice(0, 3);\r\n                    }}\r\n                />\r\n                <div className={classes.flexRow}>\r\n                    {isNotEmpty(errors.value1) ? <span className={classes.spanError} style={{ marginLeft: \"0\" }}>{errors.value1}</span> : \"\"}\r\n                </div>\r\n            </>\r\n        );\r\n    }\r\n\r\n    const handleChangeErrors = (e) => {\r\n        e.preventDefault();\r\n        inicializeErrors();\r\n        setType(e.target.value);\r\n    }\r\n\r\n    function createForm() {\r\n        return (\r\n            <div>\r\n                <form>\r\n                    <Box>\r\n                        <Grid container spacing={2} columns={12}>\r\n                            <Grid item xs={12} sm={12} md={4} lg={3} spacing={1}>\r\n                                <FormControl className={classes.formSelectVitalParameter} variant=\"standard\">\r\n                                    <CustomSelect\r\n                                        label={\"TIPO\"}\r\n                                        formControlClass={classes.formSelectInputVitalParameter}\r\n                                        inputLabelClass={classes.formSelectLabelVitalParameter}\r\n                                        name='parameterType'\r\n                                        customRequired={true}\r\n                                        list={typesParameters}\r\n                                        onChange={handleChangeErrors} />\r\n                                    {isNotEmpty(errors.parameterType) ? <span className={classes.spanError}>{errors.parameterType}</span> : \"\"}\r\n                                </FormControl>\r\n                            </Grid>\r\n\r\n                            {isNotEmpty(type) ?\r\n                                <>\r\n                                    <Grid item xs={12} sm={12} md={4} lg={3} spacing={1}>\r\n                                        <FormControl className={classes.formSelectVitalParameter} variant=\"standard\">\r\n                                                {addInput()}\r\n                                                {validationType()}\r\n                                        </FormControl>\r\n                                    </Grid>\r\n                                    <Grid item xs={12} sm={12} md={4} lg={3} spacing={1}>\r\n                                        <FormControl id=\"DateTimePicker\" className={classes.formControl100} variant=\"standard\">\r\n                                            <InputLabel className={classes.labelDateTimerPicker} shrink htmlFor=\"bootstrap-input\">\r\n                                                {\"FECHA Y HORA DE REGISTRACION\"}\r\n                                            </InputLabel>\r\n                                            <StyledEngineProvider injectFirst>\r\n                                                < CustomizedDateTimerPicker setValue={setDateRegister} value={dateRegister} />\r\n                                            </StyledEngineProvider>\r\n                                        </FormControl>\r\n                                    </Grid>\r\n                                </> : \"\"}\r\n                        </Grid>\r\n                    </Box>\r\n\r\n                    {screen.sWidth < 800 ? <div className={`${classes.BtnMobileWeight} `}>\r\n                        <CustomButton\r\n                            customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                            style={{ marginRight: \"10px\" }}\r\n                            title='cancelar'\r\n                            onClick={() => { handleCancel() }}\r\n                        />\r\n                        <CustomButton\r\n                            customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                            title='Guardar'\r\n                            type='submit'\r\n                            onClick={handleSaveForm}\r\n                        />\r\n                    </div> : \"\"}\r\n                </form>\r\n            </div>\r\n        );\r\n    }\r\n\r\n    return (<>\r\n        <div className={`${setBackgroundMobile(screen.sWidth, classes)}`} style={{ paddingTop: '60px', marginBottom: \"20px\" }}>\r\n            <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase' }}>\r\n                MIS DATOS MEDICOS\r\n            </Typography>\r\n            <Typography className={classes.subTitleMedicalData} style={{ marginLeft: \"20px\" }}>\r\n                Información sin carácter sanitario conforme ley Nº 26529\r\n            </Typography>\r\n        </div>\r\n        <div className={classes.headerSecundary} style={{ marginBottom: \"20px\" }}>\r\n            <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase', marginTop: \"10px\" }}>\r\n                PARAMETROS VITALES\r\n            </Typography>\r\n            {screen.sWidth > 800 ?\r\n                <div className={`${classes.BtnMobileWeight} `}>\r\n                    <CustomButton\r\n                        customClass={`${classes.btnNewWeigth} ${classes.btnFilterAppointment}`}\r\n                        title='cancelar'\r\n                        onClick={() => { handleCancel() }}\r\n                    />\r\n                    <CustomButton\r\n                        customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                        title='Guardar'\r\n                        type='submit'\r\n                        onClick={handleSaveForm}\r\n                    />\r\n                </div> : \"\"}\r\n        </div>\r\n        <Loading isLoading={loadingForm} children={createForm()} />\r\n    </>)\r\n}\r\nexport default FormVitalParameters;\r\n\r\nfunction validateValues(values, type) {\r\n    const temp = { parameterType: (type !== \"\" && type !== undefined && type !== null) ? \"\" : \"*Este campo es obligatorio\" };\r\n\r\n    if (valuesEmpty(temp, type, values)) {\r\n        const mmMerc = \"mm de Merc.\";\r\n        switch (type) {\r\n            case \"TEMPERATURA\":\r\n                temp.value1 = maxAndMin(44, 34, values[0].valor, \"°C\")\r\n                break;\r\n            case \"TENSION ARTERIAL\":\r\n                temp.value1 = maxAndMin(400, 40, values[0].valor, mmMerc);\r\n                temp.value2 = maxAndMin(401, 40, values[1].valor, mmMerc);\r\n                break;\r\n            case \"GLUCEMIA\":\r\n                temp.value1 = maxAndMin(400, 25, values[0].valor, \"mg/dl\");\r\n                break;\r\n            case \"FRECUENCIA CARDIACA\":\r\n                temp.value1 = maxAndMin(450, 20, values[0].valor, \"lat/min\");\r\n                break;\r\n            default:\r\n                break;\r\n        }\r\n    }\r\n    return temp;\r\n}\r\n\r\nfunction maxAndMin(max, min, value, unidad) {\r\n    return ((value >= min && value <= max) ? \"\" : `*El valor debe estar entre ${min} y ${max} ${unidad}`)\r\n}\r\n\r\nconst valuesEmpty = (temp, type, values) => {\r\n    const campoObligatorio = \"*Este campo es obligatorio\";\r\n    if (values.length === 0 && type === \"TENSION ARTERIAL\") {\r\n        temp.value1 = campoObligatorio;\r\n        temp.value2 = campoObligatorio;\r\n        return false;\r\n    } else if (values.length === 0 && type !== \"TENSION ARTERIAL\") {\r\n        temp.value1 = campoObligatorio;\r\n        return false;\r\n    }\r\n    else {\r\n        return true;\r\n    }\r\n}\r\n\r\nfunction setBackgroundMobile(width, classes) {\r\n    let cssClass = '';\r\n    if (width <= 768) {\r\n        cssClass = classes.titlePersonalDataForm;\r\n    }\r\n    return cssClass;\r\n}\r\n\r\nfunction units(desc) {\r\n    let response = \"\";\r\n    switch (desc) {\r\n        case 1:\r\n            response = \"°C\";\r\n            break;\r\n        case 2:\r\n            response = \"mm de Merc.\";\r\n            break;\r\n        case 3:\r\n            response = \"MG/DL\";\r\n            break;\r\n        case 4:\r\n            response = \"LAT/MIN\";\r\n            break;\r\n        default:\r\n            break;\r\n    }\r\n    return response;\r\n}\r\n\r\nfunction isNotEmpty(value) {\r\n    return value !== \"\";\r\n}\r\n","import { useEffect, useState } from 'react';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport {\r\n    Typography,\r\n    Divider,\r\n    Accordion,\r\n    AccordionSummary,\r\n    Zoom,\r\n    AccordionDetails,\r\n    ClickAwayListener,\r\n    FormControl,\r\n    TextField,\r\n    IconButton,\r\n    FormControlLabel,\r\n    FormGroup,\r\n    Switch,\r\n} from \"@material-ui/core\";\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\r\nimport TuneIcon from '@material-ui/icons/Tune';\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport LocalizationProvider from \"@material-ui/lab/LocalizationProvider\";\r\nimport MobileDatePicker from '@material-ui/lab/MobileDatePicker';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\r\nimport { getVitalParameters } from './../../../redux/actions/medicalDataAction';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport NotFound from '../../HomeLogged/NotFound';\r\nimport { es } from \"date-fns/locale\";\r\nimport { handleGoToPersonalMedicalData } from \"../../../utils/utilsFunctions\";\r\nimport FormHeader from '../../PersonalData/FormHeader';\r\nimport MovementsCard from '../../Billing/Movements/MovementsCard';\r\nimport HeaderCard from '../../Billing/Movements/HeaderCard';\r\nimport Loading from '../../LoadingPage/Loading';\r\n\r\nconst VitalParameters = (props) => {\r\n    const today = new Date();\r\n    today.setMonth(-6);\r\n    const dispatch = useDispatch();\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [open, setOpen] = useState(false);\r\n    const [dateStart, setDateStart] = useState(today);\r\n    const [dateEnd, setDateEnd] = useState(new Date());\r\n    const [skip, setSkip] = useState(0);\r\n    const [vitalParameters, setVitalParameters] = useState([]);\r\n    const [selectedFilter, setFilter] = useState(null);\r\n    const [switchState, setSwitchState] = useState({});\r\n    const [lastRecord, setLastRecord] = useState(null);\r\n    const filterTypes = [\"TODOS\", \"TEMPERATURA\", \"TENSION ARTERIAL\", \"GLUCEMIA\", \"FRECUENCIA CARDIACA\"];\r\n    const [initial, setInitial] = useState(true);\r\n    const spaceBetween = \"space-between\";\r\n    const medicalData = useSelector(state => state.medicalDataReducer);\r\n    const [loadingLastRecord, setLoadingLastRecord] = useState(true);\r\n\r\n    useEffect(() => {\r\n        setFilter(\"TODOS\");\r\n        const newSwitch = {\r\n            \"TODOS\": true,\r\n            \"TEMPERATURA\": false,\r\n            \"TENSION ARTERIAL\": false,\r\n            \"GLUCEMIA\": false,\r\n            \"FRECUENCIA CARDIACA\": false\r\n        };\r\n        setSwitchState(newSwitch);\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        setLoadingLastRecord(true)\r\n        if (medicalData.vitalParameters.parametrosVitales !== undefined && medicalData.vitalParameters.parametrosVitales.length > 0) {\r\n            if (vitalParameters.length !== 0) {\r\n                const newRegisters = vitalParameters;\r\n                medicalData.vitalParameters.parametrosVitales.forEach(element => {\r\n                    newRegisters.push(element);\r\n                });\r\n                setVitalParameters(newRegisters);\r\n            }\r\n            else {\r\n                setLastRecord(medicalData.vitalParameters.parametrosVitales[0]);\r\n                setVitalParameters(medicalData.vitalParameters.parametrosVitales);\r\n                setLoadingLastRecord(false);\r\n            }\r\n        }\r\n        setLoadingLastRecord(false)\r\n    }, [medicalData.vitalParameters]);\r\n\r\n    useEffect(() => {\r\n        filterDate();\r\n    }, [dateEnd]);\r\n\r\n    useEffect(() => {\r\n        filterDate();\r\n    }, [dateStart]);\r\n\r\n    useEffect(() => {\r\n        filterDate();\r\n    }, [selectedFilter]);\r\n\r\n    const filterDate = () => {\r\n        setLastRecord(null);\r\n        setLoadingLastRecord(true);\r\n        setVitalParameters([]);\r\n        callToServices();\r\n    };\r\n\r\n    const handleChangeFilter = (event) => {\r\n        if (event.target.name !== \"TODOS\" || event.target.name == \"TODOS\" && event.target.checked) {\r\n            const defaultSwitch = {\r\n                \"TODOS\": !event.target.checked,\r\n                \"TEMPERATURA\": false,\r\n                \"TENSION ARTERIAL\": false,\r\n                \"GLUCEMIA\": false,\r\n                \"FRECUENCIA CARDIACA\": false\r\n            };\r\n            setFilter(event.target.checked ? event.target.name : \"TODOS\");\r\n            setSwitchState({ ...defaultSwitch, [event.target.name]: event.target.checked });\r\n        }\r\n    };\r\n\r\n    const callToServices = (skipValue) => {\r\n        let aux = skipValue ? parseInt(skipValue) : 0;\r\n\r\n        if (dateStart !== null && dateEnd !== null) {\r\n            if (selectedFilter) {\r\n                const paramGet = {\r\n                    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                    count: 10,\r\n                    skip: aux,\r\n                    parametroVitalTipo: selectedFilter,\r\n                    fechaDesde: dateStart,\r\n                    fechaHasta: dateEnd\r\n                };\r\n\r\n                setSkip(aux);\r\n                dispatch(getVitalParameters(paramGet));\r\n            }\r\n        }\r\n    };\r\n\r\n    const lastRecordCard = () => {\r\n        return <>\r\n            {lastRecord !== null ?\r\n                (\r\n                    <MovementsCard\r\n                        buttonsInHeader={false}\r\n                        headerIcon={\r\n                            <HeaderCard\r\n                                day={lastRecord?.fechaFormateada?.nombreDia}\r\n                                numberDay={lastRecord?.fechaFormateada?.dia}\r\n                                month={parseInt(lastRecord?.parametroVitalFechaRegistracion?.substring(5, 7))}\r\n                                year={lastRecord?.parametroVitalFechaRegistracion?.substr(0, 4)}\r\n                            />\r\n                        }\r\n                        description={<div style={{ marginTop: \"10px\" }}>\r\n                            <Typography className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis}`}>\r\n                                {`HORA: ${lastRecord?.parametroVitalFechaRegistracion?.substr(lastRecord?.parametroVitalFechaRegistracion.indexOf(\"T\") + 1)} hs`}\r\n                            </Typography>\r\n                            <Typography className={`${classes.subTitleMedicalData} ${classes.txtEllipsis}`}>{lastRecord?.parametroVitalTipo}</Typography>\r\n                            {lastRecord?.paramentrosVitalValores.map((item, i) => (\r\n                                <div key={i} className={classes.displayFlex}>\r\n                                    <Typography\r\n                                        style={{ fontSize: \"10px\", marginRight: \"5px\" }}\r\n                                        className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis}`}>\r\n                                        {item.valorDescripcion + \" \"}\r\n                                    </Typography>\r\n                                    <Typography style={{ fontSize: \"10px\" }} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                                        {`${item.valor} ${units(lastRecord.parametroVitalTipo)}`}\r\n                                    </Typography>\r\n                                </div>\r\n                            ))\r\n                            }\r\n                        </div>}\r\n                    />\r\n                )\r\n                : (\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        <NotFound customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span>\r\n                                    No se encontraron resultados\r\n                                </span>\r\n                            </div>\r\n                        }\r\n                            wsItem={medicalData?.vitalParameters?.parametrosVitales}\r\n                            fullItem={medicalData?.vitalParameters}\r\n                        />\r\n                    </div>\r\n                )\r\n            }\r\n        </>;\r\n    };\r\n\r\n    const units = (desc) => {\r\n        let response = \"\";\r\n        switch (desc) {\r\n            case \"TENSION ARTERIAL\":\r\n                response = \"mm de Merc.\";\r\n                break;\r\n            case \"FRECUENCIA CARDIACA\":\r\n                response = \"lat/min\";\r\n                break;\r\n            case \"TEMPERATURA\":\r\n                response = \"°C\";\r\n                break;\r\n            case \"GLUCEMIA\":\r\n                response = \"mg/dl\";\r\n                break;\r\n            default:\r\n                break;\r\n        }\r\n        return response;\r\n    };\r\n\r\n    const addAccordion = (i, item) => {\r\n        return (\r\n            <Accordion key={i} expanded={true}>\r\n                <AccordionSummary\r\n                    aria-expanded={true}\r\n                    aria-controls=\"panel1a-content\"\r\n                    id=\"panel1a-header\"\r\n                >\r\n                    <div style={{ width: \"100%\", display: \"flex\", justifyContent: spaceBetween }}>\r\n                        <Typography className={classes.txtSubtitleCalendar}>\r\n                            {item.parametroVitalTipo}\r\n                        </Typography>\r\n                        <IconButton className={classes.padding0} onClick={() => { handleDelete(item); }}>\r\n                            <DeleteOutlineIcon />\r\n                        </IconButton>\r\n                    </div>\r\n                </AccordionSummary>\r\n                <AccordionDetails>\r\n                    {\r\n                        item.paramentrosVitalValores.map((value, key) => (\r\n                            <div key={key} className={classes.displayFlex}>\r\n                                <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`} style={{ marginRight: \"5px\" }}>{value.valorDescripcion}</Typography>\r\n                                <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`}>\r\n                                    {`${value.valor} ${units(item.parametroVitalTipo)}`}\r\n                                </Typography>\r\n                            </div>\r\n                        ))\r\n                    }\r\n                    <div className={classes.displayFlex}>\r\n                        <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`} style={{ marginRight: \"5px\" }}>{\"FECHA Y HORA:\"}</Typography>\r\n                        <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`}>{item.parametroVitalFechaRegistracion.replace(\"T\", \" \")}</Typography>\r\n                    </div>\r\n                </AccordionDetails>\r\n            </Accordion>);\r\n    };\r\n\r\n    const filter = () => {\r\n        return (\r\n            <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway} >\r\n                <div style={{ position: \"relative\", marginRight: \"10px\" }}>\r\n                    <CustomButton\r\n                        title={\"\"}\r\n                        onClick={handleClick}\r\n                        icon={<TuneIcon style={{ marginRight: \"5px\" }} className={classes.iconFilter} />}\r\n                        customClass={`${classes.customHeaderBtn} ${classes.btnFilterAppointment}`}\r\n                    />\r\n                    {open && (\r\n                        <Zoom\r\n                            in={open}\r\n                        >\r\n                            <div className={classes.dropdown}>\r\n                                <Typography className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>{\"PERIODO\"}</Typography>\r\n                                <Divider classes={{ root: classes.dividerFilter }} />\r\n                                {<div className={`${classes.headerFiltro} ${classes.marginTop}`}>\r\n                                    <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }} className={classes.datePicker}>\r\n                                        <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"DESDE\"}</InputLabel>\r\n                                        <div style={{ display: \"flex\", justifyContent: spaceBetween }} className={classes.top22}>\r\n                                            <LocalizationProvider locale={es} style={{ width: \"100px\" }} dateAdapter={AdapterDateFns}  >\r\n                                                <MobileDatePicker\r\n                                                    cancelText=\"Cancelar\"\r\n                                                    toolbarTitle=\"\"\r\n                                                    format=\"dd/MM/YYYY\"\r\n                                                    value={dateStart}\r\n                                                    onChange={(newValue) => { setDateStart(newValue); }}\r\n                                                    renderInput={(params) => <TextField {...params} />}\r\n                                                />\r\n                                            </LocalizationProvider>\r\n                                            <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                        </div>\r\n                                    </FormControl>\r\n                                    <FormControl style={{ width: \"150px\", marginLeft: \"10px\", paddingTop: \"10px\" }} className={classes.datePicker} >\r\n                                        <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"HASTA\"}</InputLabel>\r\n                                        <div style={{ display: \"flex\", justifyContent: spaceBetween }} className={classes.top22}>\r\n                                            <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}  >\r\n                                                <MobileDatePicker\r\n                                                    cancelText=\"Cancelar\"\r\n                                                    toolbarTitle=\"\"\r\n                                                    format=\"dd/MM/YYYY\"\r\n                                                    value={dateEnd}\r\n                                                    onChange={(newValue) => { setDateEnd(newValue); }}\r\n                                                    variant='outlined'\r\n                                                    renderInput={(params) => <TextField {...params} />}\r\n                                                />\r\n                                            </LocalizationProvider>\r\n                                            <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                        </div>\r\n                                    </FormControl>\r\n                                </div>}\r\n                                <div style={{ marginTop: \"20px\" }}>\r\n                                    <Typography className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                                        {\"PARAMETRO\"}\r\n                                    </Typography>\r\n                                    <Divider classes={{ root: classes.dividerFilter }} />\r\n                                    <FormControl\r\n                                        required\r\n                                        component=\"fieldset\"\r\n                                        className={`${classes.formControl} ${classes.formSwitch}`}\r\n                                    >\r\n                                        <FormGroup>\r\n                                            <>\r\n                                                {filterTypes.map((val, index) => (\r\n                                                    <>\r\n                                                        <FormControlLabel\r\n                                                            className={classes.marginRight}\r\n                                                            key={index}\r\n                                                            labelPlacement=\"start\"\r\n                                                            control={\r\n                                                                <Switch\r\n                                                                    onChange={handleChangeFilter}\r\n                                                                    color=\"primary\"\r\n                                                                    name={val}\r\n                                                                    inputProps={{ 'aria-label': 'primary checkbox' }}\r\n                                                                    checked={switchState[val]}\r\n                                                                />}\r\n                                                            label={<Typography className={`${classes.txtFilter} ${classes.txtEllipsis}`}>{val}</Typography>}\r\n                                                        />\r\n                                                    </>\r\n                                                ))\r\n                                                }\r\n                                            </>\r\n                                        </FormGroup>\r\n                                    </FormControl>\r\n                                </div>\r\n                            </div>\r\n                        </Zoom>)\r\n                    }\r\n                </div>\r\n            </ClickAwayListener>);\r\n    };\r\n\r\n    const scrollDiv = () => {\r\n        return (screen.sWidth < 800 ? classes.heightDivRegisters : \"\");\r\n    };\r\n\r\n    const handleScroll = (e) => {\r\n        const bottom = e.target.scrollHeight - e.target.scrollTop === e.target.clientHeight;\r\n        if (bottom) {\r\n            callToServices();\r\n        }\r\n    };\r\n\r\n    const handleClickAway = () => {\r\n        setOpen(false);\r\n    };\r\n    const handleClick = () => {\r\n        setOpen((prev) => !prev);\r\n    };\r\n\r\n    const handleDelete = (item) => {\r\n        const param = {\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            parametroVitalTipo: item?.parametroVitalTipo?.trim(),\r\n            parametroVitalValores: JSON.stringify(item.paramentrosVitalValores),\r\n            parametroVitalFechaRegistracion: item.parametroVitalFechaRegistracion,\r\n            modo: \"B\"\r\n        };\r\n        param.modo = \"B\";\r\n        props.setAction(\"BAJA\");\r\n        props.setForm(param);\r\n        props.setOpenConfirm(prevState => !prevState);\r\n    };\r\n\r\n    function formHeaderText() {\r\n        const response = {\r\n            titleHeader: 'Parametros vitales',\r\n            subtitleHeader: 'Información sin carácter sanitario conforme ley Nº 26529'\r\n        };\r\n        if (screen.sWidth < 768) {\r\n            response.titleHeader = 'Mis datos medicos';\r\n            response.subtitleHeader = 'Información sin carácter sanitario conforme ley Nº 26529';\r\n        }\r\n        return response;\r\n    }\r\n\r\n    function showLastCardRecord(condition) {\r\n        var response;\r\n        if (condition > 768) {\r\n            response = (\r\n                <div className={classes.prueba} style={{ marginLeft: \"25px\" }}>\r\n                    {lastRecordCard()}\r\n                </div>\r\n            );\r\n        } else {\r\n            response = (\r\n                <div className={classes.prueba} style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n                    {lastRecordCard()}\r\n                </div>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    function myLastRecord() {\r\n        return (\r\n            <div>\r\n                <div style={{ marginBottom: \"30px\" }}>\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox}`}>\r\n                        MI ULTIMO REGISTRO\r\n                    </Typography>\r\n                    <Divider className={classes.formDivider} style={{ marginBottom: \"15px\" }} />\r\n                    {showLastCardRecord(screen.sWidth)}\r\n                </div>\r\n\r\n                <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase' }}>\r\n                    MIS REGISTROS ANTERIORES\r\n                </Typography>\r\n                <Divider className={classes.formDivider} style={{ marginBottom: \"15px\" }} />\r\n                <div\r\n                    className={`${classes.flexRowAcordion} ${scrollDiv()}`}\r\n                    onScroll={(e) => { handleScroll(e); }}\r\n                >\r\n                    {\r\n                        vitalParameters?.length > 0 ? <> {\r\n                            vitalParameters.map((item, i) => (\r\n                                <div key={i} className={`${classAccordion(screen.sWidth, classes)} ${classes.marginBottom}`} style={{ marginLeft: screen.sWidth > 768 && '40px' }}>\r\n                                    {addAccordion(i, item)}\r\n                                </div>\r\n                            ))\r\n                        }\r\n                            {screen.sWidth > 800 && vitalParameters?.length > 10 &&\r\n                                <div style={{ width: \"100%\" }} className={classes.BtnMobileWeight} >\r\n                                    <CustomButton style={{ marginRight: \"5px\" }} customClass={classes.lightLinearGradient} title='ver mas' onClick={(event) => {\r\n                                        callToServices(skip + 10);\r\n                                    }} />\r\n                                </div>\r\n                            }\r\n                        </> :\r\n                            (\r\n                                <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%' }}>\r\n                                    <NotFound customMsg={\r\n                                        <div className={classes.contentNotFound}>\r\n                                            <span>\r\n                                                No se encontraron resultados\r\n                                            </span>\r\n                                        </div>\r\n                                    }\r\n                                        wsItem={medicalData?.vitalParameters?.parametrosVitales}\r\n                                        fullItem={medicalData?.vitalParameters}\r\n                                    />\r\n                                </div>\r\n                            )\r\n                    }\r\n                </div>\r\n            </div>\r\n        );\r\n    }\r\n\r\n    return (<>\r\n        {\r\n            screen.sWidth <= 768 &&\r\n            <FormHeader title={formHeaderText().titleHeader} subtitle={formHeaderText().subtitleHeader} handleGoTo={handleGoToPersonalMedicalData} />\r\n        }\r\n        <div className={classes.headerSecundary} style={{ marginBottom: \"20px\", display: \"grid\", gridTemplateColumns: \"1fr 1fr\" }}>\r\n            <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase', marginTop: \"10px\" }}>\r\n                Parametros vitales\r\n            </Typography>\r\n            <Typography className={`${classes.titleTurn} ${classes.subtitleBox}`} style={{ marginLeft: \"20px\", gridRow: 2 }}>\r\n                Información sin carácter sanitario conforme ley Nº 26529\r\n            </Typography>\r\n            <div style={{ gridColumn: \"span 1\", justifySelf: \"right\" }} className={classes.headerFiltro}>\r\n                <CustomButton\r\n                    title={\"NUEVO \"}\r\n                    onClick={() => { props.setAdd(prevState => !prevState); }}\r\n                    customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                    style={{ margin: \"0 10px\" }}\r\n                />\r\n                {filter()}\r\n            </div>\r\n        </div>\r\n        <Loading\r\n            isLoading={loadingLastRecord}\r\n            children={myLastRecord()}\r\n        />\r\n    </>);\r\n};\r\n\r\nexport default VitalParameters;\r\n\r\nfunction widthClass(width, classes) {\r\n    if (width <= 800) {\r\n        return classes.width100;\r\n    }\r\n    else if (width > 800 && width < 1250) {\r\n        return classes.width50;\r\n    }\r\n    else {\r\n        return classes.width25;\r\n    }\r\n}\r\n\r\nfunction classAccordion(swidth, classes) {\r\n    if (swidth > 800) {\r\n        return classes.AccordionWeightWeb;\r\n    }\r\n    else {\r\n        return classes.AccordionWeightMobile;\r\n    }\r\n}\r\n\r\nfunction setBackgroundMobile(classes, width) {\r\n    let cssClass = classes.displayNone;\r\n    if (width <= 768) {\r\n        cssClass = classes.titlePersonalDataForm;\r\n    }\r\n    return cssClass;\r\n}\r\n","import FormVitalParameters from \"./FormVitalParameters\";\r\nimport VitalParameters from \"./VitalParameters\";\r\nimport { useState, useEffect } from 'react';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport ConfirmModal from \"../../PersonalData/ConfirmModal\";\r\nimport SaveModal from \"../../PersonalData/SaveModal\";\r\nimport { ABvitalParameters } from './../../../redux/actions/medicalDataAction';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { handleGoToPersonalMedicalData, showMessageModal } from '../../../utils/utilsFunctions';\r\n\r\nconst HomeVitalParameters = () => {\r\n    const classes = useStyles();\r\n    const [add, setAdd] = useState(false);\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(null);\r\n    const [openConfirm, setOpenConfirm] = useState(null);\r\n    const [modalTitle, setModalTitle] = useState('Enviado correctamente');\r\n    const [modalDescription, setModalDescription] =\r\n        useState(\"Los cambios han sido realizados, una vez validados por nuestro sector correspondiente observarás los cambios en el sistema.\");\r\n    const [modalIcon, setModalIcon] = useState(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [form, setForm] = useState({});\r\n    const [action, setAction] = useState(\"\");\r\n    const medicalData = useSelector(state => state.medicalDataReducer);\r\n    const errorMessage = useSelector(state => state.medicalDataReducer?.msgError);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n    const dispatch = useDispatch();\r\n\r\n    useEffect(() => {\r\n        if (medicalData.ABVital.confirmacion !== undefined) {\r\n            if (medicalData.ABVital.confirmacion) {\r\n                setOpenConfirm(prevState => !prevState);\r\n                const titleModal = action === \"ALTA\" ? 'Enviado correctamente ' : 'Eliminado correctamente ';\r\n                setModalTitle(titleModal);\r\n                setModalDescription(\"Los cambios han sido efectuados correctamente.\");\r\n                setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n                setErrorClass(\"\");\r\n                setOpenSendSuccess(prevState => !prevState);\r\n                if (action === \"ALTA\") {\r\n                    setAdd(prevState => !prevState);\r\n                }\r\n                window.location.reload();\r\n            } else {\r\n                setOpenConfirm(prevState => !prevState);\r\n                setModalTitle('Ocurrió un error');\r\n                setModalDescription('Ocurrió un error al enviar los datos.');\r\n                setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n                setErrorClass(classes.backgroundError);\r\n                setOpenSendSuccess(prevState => !prevState);\r\n                setTimeout(() => {\r\n                    window.location.reload()\r\n                }, 2000);\r\n            }\r\n        }\r\n    }, [medicalData.ABVital]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage?.length > 0) {\r\n            setErrorMessageModal(true);\r\n        }\r\n        setMessageModal(setModalTitle, setModalDescription, setModalIcon, setErrorClass, classes, errorMessage);\r\n    }, [errorMessage]);\r\n\r\n    const setMessageModal = (setterModalTitle, setterModalDescription, setterModalIcon, setterErrorClass, cssClasses, errorMessageRedux) => {\r\n        if (errorMessageRedux !== '') {\r\n            setterModalTitle('Ocurrió un error');\r\n            setterModalDescription('Ocurrio un error al enviar los datos.');\r\n            setterModalIcon(<CancelIcon className={`${cssClasses.quickAccessIcon} ${cssClasses.personalDataIcon}`} />);\r\n            setterErrorClass(cssClasses.backgroundError);\r\n        }\r\n    };\r\n\r\n    const sendForm = () => {\r\n        dispatch(ABvitalParameters(form));\r\n    };\r\n\r\n    return (<> {add ? <FormVitalParameters\r\n        add={add}\r\n        setAdd={setAdd}\r\n        setModalTitle={setModalTitle}\r\n        modalDescription={setModalDescription}\r\n        modalIcon={setModalIcon}\r\n        errorClass={errorClass}\r\n        setErrorClass={setErrorClass}\r\n        setOpenConfirm={setOpenConfirm}\r\n        setForm={setForm}\r\n        setAction={setAction}\r\n    />\r\n        :\r\n        <VitalParameters\r\n            add={add}\r\n            setAdd={setAdd}\r\n            setModalTitle={setModalTitle}\r\n            modalDescription={setModalDescription}\r\n            modalIcon={setModalIcon}\r\n            errorClass={errorClass}\r\n            setErrorClass={setErrorClass}\r\n            setOpenConfirm={setOpenConfirm}\r\n            setForm={setForm}\r\n            setAction={setAction}\r\n\r\n        />}\r\n\r\n        <SaveModal isOpen={openConfirm} setOpen={setOpenConfirm} type='submit' onClick={() => { sendForm(); }}\r\n            titleModal={\r\n                <>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                    </div>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        ¿ Esta seguro que desea continuar?\r\n                    </div>\r\n                </>\r\n            }\r\n            descriptionModal=\"\"\r\n        />\r\n\r\n        <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n            titleModal={\r\n                <>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        {modalIcon}\r\n                    </div>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        {modalTitle}\r\n                    </div>\r\n                </>\r\n            }\r\n            description={modalDescription} />\r\n        {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon, classes.contentDialogTitle, handleGoToPersonalMedicalData)}\r\n    </>\r\n    );\r\n};\r\nexport default HomeVitalParameters;\r\n","import {\r\n  Accordion as MuiAccordion,\r\n  AccordionDetails,\r\n  AccordionSummary,\r\n  FormHelperText,\r\n  Typography,\r\n} from \"@material-ui/core\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst Accordion = (props) => {\r\n  const { title, details, error, customClass, ...others } = props;\r\n  const classes = useStyles();\r\n  return (\r\n    <MuiAccordion {...others}>\r\n      <AccordionSummary\r\n        className={`${customClass}`}\r\n        expandIcon={<ExpandMoreIcon />}\r\n        aria-controls=\"panel1a-content\"\r\n        id=\"panel1a-header\"\r\n      >\r\n        <Typography className={`${error ? classes.errorText : \"\"}`}>\r\n          {title}\r\n        </Typography>\r\n      </AccordionSummary>\r\n      <AccordionDetails>{details}</AccordionDetails>\r\n      {error ? (\r\n        <FormHelperText className={classes.errorText}>\r\n          *Campo obligatorio\r\n        </FormHelperText>\r\n      ) : (\r\n        \"\"\r\n      )}\r\n    </MuiAccordion>\r\n  );\r\n};\r\n\r\nexport default Accordion;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Divider, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useFormHeaderText } from \"../../../hooks/useFormHeaderText\";\r\nimport Accordion from \"../../../controls/Accordion/Accordion\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { handleGoToProgramsHome } from \"../../../utils/utilsFunctions\";\r\n\r\nconst Programs = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const { titleHeader, subtitleHeader } = useFormHeaderText('Programas', '', '', screen.sWidth);\r\n    const enrollments = useSelector(state => state.medicalDataReducer.programs);\r\n    const [loading, setLoading] = useState(true);\r\n\r\n\r\n\r\n\r\n    useEffect(() => {\r\n        if (enrollments) {\r\n            setLoading(false);\r\n        }\r\n    }, [enrollments]);\r\n\r\n\r\n    const styles = {\r\n        formTitles: {\r\n            textTransform: 'uppercase',\r\n            alignItems: 'center',\r\n            display: 'flex'\r\n        },\r\n\r\n        container: {\r\n            display: 'flex',\r\n            width: '100%',\r\n            flexWrap: 'wrap'\r\n        }\r\n    }\r\n\r\n    const spanishDateFormat = date => {\r\n        let auxDate = date?.substr(0, date?.indexOf(\"T\"));\r\n        return (`${auxDate?.substr(8, 2)}/${auxDate?.substr(5, 2)}/${auxDate?.substr(0, 4)}`);\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={titleHeader} subtitle={subtitleHeader} handleGoTo={handleGoToProgramsHome} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'flex-start' }}>\r\n                    {screen.sWidth <= 768 ?\r\n                        <>\r\n                            <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={styles.formTitles}>\r\n                                No hay progrmas vigentes\r\n                            </Typography>\r\n                        </>\r\n                        :\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={{ marginLeft: '300px' }}>\r\n                            No hay progrmas vigentes actualmente\r\n                        </Typography>\r\n\r\n                    }\r\n                </div>\r\n            }\r\n            <div style={ styles.container }>\r\n                {enrollments?.enrolamientos?.map((item, i) => (\r\n                    <div className={classes.divAccordionPrograms} >\r\n                        <Accordion\r\n                            title={\r\n                                <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={ styles.formTitles }>\r\n                                    {item?.enrolamientoDescripcion}\r\n                                </Typography>\r\n                            }\r\n                            details={\r\n                                <>\r\n                                  <Typography className={` ${classes.txtDescription}`} >\r\n                                  <span className={`${classes.txtBold500} ${classes.grayTxt}`}>{\"Fecha de vigencia:  \"}</span><span className={classes.grayTxt}>{ spanishDateFormat(item?.fechaVigencia) }</span>\r\n                                </Typography>\r\n                                <Typography className={`${classes.txtDescription}`} >\r\n                                    <span className={`${classes.txtBold500} ${classes.grayTxt}`}>{\"Fecha de BAJA:  \"}</span> <span className={classes.grayTxt}>{ spanishDateFormat(item?.fechaBaja) }</span>\r\n                                </Typography>\r\n                                <Typography className={`${classes.txtDescription}`} >\r\n                                    <span className={`${classes.txtBold500} ${classes.grayTxt}`}>{\"Diagnóstico:  \"}</span><span className={classes.grayTxt}>{item?.diagnosticoDescripcion}</span>\r\n                                </Typography>\r\n                                <Typography className={`${classes.txtDescription}`} >\r\n                                    <span className={`${classes.txtBold500} ${classes.grayTxt}`}>{\"Característica:  \"}</span> <span className={classes.grayTxt}>{item?.caracteristicaDescripcion}</span>\r\n                                </Typography>\r\n                                <Typography className={`${classes.txtDescription}`} >\r\n                                    <span className={`${classes.txtBold500} ${classes.grayTxt}`}>{\"Subcaracterística:  \"}</span>  <span className={classes.grayTxt}>{item?.subCaracteristicaDescripcion}</span>\r\n                                </Typography>\r\n                                <Typography className={`${classes.txtDescription}`} >\r\n                                    <span className={`${classes.txtBold500} ${classes.grayTxt}`}>{\"Médico Responsable:  \"}</span> <span className={classes.grayTxt}>{item?.medicoResponsable !== '' ? item?.medicoResponsable : 'No hay observaciones'}</span>\r\n                                </Typography>\r\n                                </>\r\n                            }\r\n                            customClass={classes.accordionConfirmTurn}\r\n                        />\r\n                    </div>\r\n                ))}\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Programs;","import { CircularProgress, Divider, Typography, Accordion, AccordionSummary, AccordionDetails, FormControl } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getVaccine } from \"../../../redux/actions/medicalDataAction\";\r\nimport { useEffect, useState } from \"react\";\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport { handleGoToMedicalData } from \"../../../utils/utilsFunctions\";\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport { getDataGroupFamily } from \"../../../redux/actions/appointmentsActions\";\r\n\r\n\r\nconst persona = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    parametroLlamado: \"FILTRO VACUNAS\"\r\n};\r\n\r\nconst Vaccine = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const vaccines = useSelector(state => state.medicalDataReducer?.vaccine);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations);\r\n    const [setOpenPdf] = useState(false);\r\n    const familyGroup = useSelector(state => state.appointmentsReducer?.groupFamilyTurn);\r\n    const [familyGroupList, setFamilyGroupList] = useState([{}]);\r\n    const [affiliatedSelected, setAffiliatedSelected] = useState(persona.numeroPersona);\r\n    const [loading, setLoading] = useState(true);\r\n\r\n    useEffect(() => {\r\n        dispatch(getDataGroupFamily(persona));\r\n    }, [affiliatedSelected]);\r\n\r\n    const param = {\r\n        numeroPersona: parseInt(affiliatedSelected),\r\n        count: 0,\r\n        skip: 0\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getVaccine(param));\r\n          setLoading(false)\r\n    }, [affiliatedSelected]);\r\n\r\n    const handleCalender = e => {\r\n        e.preventDefault();\r\n        setOpenPdf(prevState => !prevState);\r\n    };\r\n\r\n    const handleChangeSelect = (e) => {\r\n        const { value } = e.target;\r\n        setAffiliatedSelected(parseInt(value));\r\n    };\r\n\r\n    function formHeader() {\r\n        let res = {\r\n            title: 'CALENDARIO DE VACUNAS',\r\n            subtitle: ''\r\n        };\r\n        if (screen.sWidth < 768) {\r\n            res.title = 'VACUNAS';\r\n        }\r\n        return res;\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (Object.values(familyGroup).length > 0) {\r\n            const itemsToPush = familyGroup.map(item => {\r\n                return { value: item.itemCodigo, label: item.itemDescripcion.trim() };\r\n            });\r\n            setFamilyGroupList(itemsToPush);\r\n        }\r\n    }, [familyGroup]);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(familyGroupList).length > 0) {\r\n            var aux = affiliatedSelected;\r\n            setAffiliatedSelected(aux);\r\n        }\r\n    }, [familyGroupList]);\r\n\r\n    const accordionVaccine = (item, i) => {\r\n        return (\r\n            <Accordion key={i}  >\r\n                <AccordionSummary\r\n                    expandIcon={<ExpandMoreIcon />}\r\n                    aria-controls=\"panel1a-content\"\r\n                    id=\"panel1a-header\"\r\n                >\r\n                    <div style={{ display: \"flex\", width: \"100%\", flexDirection: \"column\" }}>\r\n                        <Typography className={classes.txtSubtitleCalendar} >\r\n                            {`Vacuna ${item.vacunaTipo}`}\r\n                        </Typography>\r\n                        <div style={{ width: \"100%\" }}>\r\n                            <Divider className={classes.dividerMedicalCenter} />\r\n                        </div>\r\n                    </div>\r\n\r\n                </AccordionSummary>\r\n                <AccordionDetails >\r\n                    {<>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={classes.detailsAccordionChronic}>{item.vacunaDescripcion}</Typography>\r\n                        </div>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={classes.detailsAccordionChronic}>{\"Lote: \" + item.vacunaLote}</Typography>\r\n                        </div>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={classes.detailsAccordionChronic}>{\"Dosis: \" + item.vacunaDosis}</Typography>\r\n                        </div>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={classes.detailsAccordionChronic}>{\"Enfermero: \" + item.vacunaEnfermero}</Typography>\r\n                        </div>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={classes.detailsAccordionChronic}>{\"Matricula: \" + item.vacunaMatricula}</Typography>\r\n                        </div>\r\n                        <div className={classes.displayFlex}>\r\n                            <Typography className={classes.detailsAccordionChronic}>{\"FECHA DE APLICACION\"}</Typography>\r\n                        </div>\r\n                        <FormControl className={`${classes.formControlVaccine}`} variant=\"standard\">\r\n                            <CustomizedInputs value={(new Date(item.vacunaFecha).toLocaleDateString().split('T')[0])} disabled={true} />\r\n                        </FormControl>\r\n                    </>}\r\n                </AccordionDetails>\r\n\r\n            </Accordion>);\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (Object.values(configurationReduxState).length > 0) {\r\n           // setLoadingPdf(false);\r\n        }\r\n    }, [configurationReduxState]);\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={formHeader().title} handleGoTo={handleGoToMedicalData} />\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                {screen.sWidth <= 768 &&\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase' }}>\r\n                        CALENDARIO DE VACUNAS\r\n                    </Typography>\r\n                }\r\n            </div>\r\n            <div style={{ width: '230px', paddingLeft: screen.sWidth > 768 ? \"2%\" : \"0\" }}>\r\n                <FormControl className={`${classes.formControlChronicMedicationForm} ${classes.formControlSelect}`} variant=\"standard\">\r\n                    <CustomSelect\r\n                        name={`familyGroup`}\r\n                        list={familyGroupList}\r\n                        selected={affiliatedSelected}\r\n                        onChange={handleChangeSelect}\r\n                        label='AFILIADO'\r\n                        style={{marginTop: screen.sWidth < 768 ? \"20px\" : \"0\"}}\r\n                    />\r\n                </FormControl>\r\n            </div>\r\n            <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: \"10px\" }}>\r\n            <a\r\n                    href={configurationReduxState?.configurations?.filter(x => x.id === 'calendarioVacunas')[0]?.valor}\r\n                    download=\"calendario.pdf\"\r\n                    style={{textDecoration: \"none\"}}\r\n                    target=\"_blank\"\r\n                    >\r\n                    \r\n                <CustomButton\r\n                    customStyles={{ width: '168px'}}\r\n                    title={'DESCARGAR CALENDARIO'}\r\n                    customClass={`${classes.downloadVaccinesBtn} ${classes.lightLinearGradient} ${classes.margin0}`}\r\n                    // onClick={handleCalender}\r\n                />\r\n                    </a>\r\n            </div>\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n                vaccines?.vacunas?.length === 0 || vaccines?.vacunas?.length === undefined || loading\r\n                    ?\r\n                        <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%', paddingTop: '10px', marginTop: \"20px\" }}>\r\n                            <NotFound customMsg={\r\n                                <div className={classes.contentNotFound}>\r\n                                    <span>No tenés vacunas aplicadas en Luis Pasteur</span>\r\n                                </div>\r\n                            }\r\n                                wsItem={vaccines?.vacunas}\r\n                                fullItem={vaccines}\r\n                            />\r\n                        </div>\r\n                    :\r\n                        <>\r\n                            <Typography\r\n                                className={`${classes.titleVaccine} ${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`}\r\n                                style={{ textTransform: 'uppercase', marginTop: \"20px\" }}\r\n                            >\r\n                                VACUNAS APLICADAS EN CENTROS MEDICOS\r\n                            </Typography>\r\n                            <div className={classes.accordionListVaccine}>\r\n                                {vaccines?.vacunas?.map((item, i) => (\r\n                                    <div key={i} className={classes.accordionVaccine}>\r\n                                        {accordionVaccine(item, i)}\r\n                                    </div>\r\n                                ))}\r\n                            </div>\r\n                        </>\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Vaccine;\r\n","import { Box, Button } from \"@material-ui/core\";\r\nimport GetAppIcon from \"@material-ui/icons/GetApp\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useEffect, useState } from \"react\";\r\nimport Iframe from \"react-iframe\";\r\n\r\nconst PdfReader = ({ pdf, customClass, isBlob }) => {\r\n  const classes = useStyles();\r\n  const sizeScreen = useResizeScreen();\r\n  const location = window.location.host;\r\n  const [filePath, setFilePath] = useState(`https://${location}/${pdf}`);\r\n  const [pdfFile, setPdfFile] = useState(pdf);\r\n\r\n  useEffect(() => {\r\n    if (isBlob) {\r\n      setFilePath(pdf);\r\n    }\r\n  }, []);\r\n\r\n  return (\r\n    <Box display=\"flex\" height=\"100vh\">\r\n      {sizeScreen.screen.sWidth <= 1024 ? (\r\n        <div style={{ width: \"100%\", marginTop: \"50px\" }} className={customClass}>\r\n          <a className={classes.anchorDownload} href={pdfFile} download={filePath} target=\"_blank\" rel='noopener noreferer'>\r\n            <Button\r\n              className={`${classes.customButton} ${classes.btnDownload} ${classes.lightLinearGradient}`}\r\n            >\r\n              <GetAppIcon />\r\n            </Button>\r\n          </a>\r\n          <object\r\n            data={pdfFile}\r\n            type=\"application/pdf\"\r\n            width=\"100%\"\r\n            style={{ height: \"100%\", paddingTop: \"58px\", overflowScrolling: \"touch\", overflowY: \"scroll\" }}\r\n          >\r\n            <embed src={pdfFile} width=\"100%\" height=\"100%\" scrollbar=\"1\" />\r\n          </object>\r\n        </div>\r\n      ) : (\r\n        <object\r\n          data={pdfFile}\r\n          type=\"application/pdf\"\r\n          width=\"100%\"\r\n          style={{ height: \"100%\", paddingTop: \"58px\" }}\r\n        />\r\n      )}\r\n    </Box>\r\n  );\r\n};\r\n\r\nexport default PdfReader;\r\n","import { Divider, FormControl, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useFormHeaderText } from \"../../../hooks/useFormHeaderText\";\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport { useState, useEffect } from \"react\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport PdfReader from \"../../PdfReader/PdfReader\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { getProgramRequirementAndFormByProgramAction, getProgramsAction } from \"../../../redux/actions/programRequirementAndFormActions\";\r\nimport { handleGoToProgramsHome } from \"../../../utils/utilsFunctions\";\r\n\r\nconst RequirementsAndForms = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const { titleHeader, subtitleHeader } = useFormHeaderText('Requisitos y formularios', '', '', screen.sWidth);\r\n    const [pdf, setPdf] = useState();\r\n    const [pdfForms, setPdfForms] = useState();\r\n    const [pdfRequirements, setPdfRequirements] = useState();\r\n    const [pdfView, setPdfView] = useState(false);\r\n    const [typeOfPrograms, setTypeOfPrograms] = useState([]);\r\n    const [selected, setSelected] = useState([]);\r\n    const enrollments = useSelector(state => state.medicalDataReducer.programs);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const programsReduxState = useSelector(state => state.programRequirementAndFormReducer);\r\n    const [ disabledButtons, setDisabledButtons ] = useState(true);\r\n    const dispatch = useDispatch()\r\n    const [loading, setLoading] = useState(true);\r\n\r\n\r\n    const inlineStyles = {\r\n        buttonsStyles: {\r\n            padding: '5px 20px 5px 20px',\r\n            fontWeight: \"bold\",\r\n            fontSize: \"12px\",\r\n            marginLeft: \"7%\",\r\n            marginBottom: \"3%\"\r\n        },\r\n    \r\n        buttonTitlesStyles: {\r\n            textTransform: 'uppercase',\r\n            textAlign: \"center\",\r\n            marginBottom: '10px'\r\n        },\r\n    \r\n        formTitlesStyles: {\r\n            textTransform: 'uppercase',\r\n            alignItems: 'center',\r\n            display: 'flex'\r\n        },\r\n    \r\n        containerStyles: {\r\n            display: 'flex',\r\n            width: '100%',\r\n            flexWrap: 'wrap'\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        dispatch(getProgramsAction());\r\n    },[]);\r\n\r\n    useEffect(() => {\r\n        if (programsReduxState?.medicalPrograms?.programs != undefined && programsReduxState?.medicalPrograms?.programs.length != 0) {\r\n            let select = [];\r\n\r\n            programsReduxState?.medicalPrograms?.programs.map(item => {\r\n                select.push({ value: item.id, label: item.program })\r\n            });\r\n\r\n            setTypeOfPrograms(select);\r\n            setLoading(false);\r\n        }\r\n    }, [programsReduxState?.medicalPrograms]);\r\n\r\nuseEffect(() => {\r\n    setPdfForms(programsReduxState?.programRequirementAndForm?.formLink)\r\n    setPdfRequirements(programsReduxState?.programRequirementAndForm?.requirementLink)\r\n\r\n}, [programsReduxState?.programRequirementAndForm])\r\n\r\n    const handleChangeSelect = (listToFilter) => (e) => {\r\n        const { value } = e.target;\r\n        let description = listToFilter?.filter(x => x.value === value);\r\n\r\n        setPdfForms(undefined)\r\n        setPdfRequirements(undefined)\r\n    \r\n        dispatch(getProgramRequirementAndFormByProgramAction(description[0].label))\r\n        description[0].label !== '' ? setDisabledButtons(false) : setDisabledButtons(true)\r\n    };\r\n\r\n    const handleClickForm = () => {\r\n        setPdf(pdfForms);\r\n        setPdfView(true);\r\n    };\r\n    const handleClickRequirements = () => {\r\n        setPdf(pdfRequirements);\r\n        setPdfView(true);\r\n    };\r\n\r\n    const handleBack = () => {\r\n        setPdfForms(undefined)\r\n        setPdfRequirements(undefined)\r\n        setPdfView(false);\r\n        setDisabledButtons(prevState => !prevState);\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={titleHeader} subtitle={subtitleHeader} handleGoTo={handleGoToProgramsHome} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'flex-start' }}>\r\n                {screen.sWidth <= 768 ?\r\n                    <>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={ inlineStyles.formTitlesStyles }>\r\n                            Requisitos y formularios\r\n                        </Typography>\r\n                    </>\r\n                    : \"\"\r\n                }\r\n            </div>\r\n            {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n            !pdfView ?\r\n                <div style={ inlineStyles.containerStyles }>\r\n                    <div className={classes.divAccordionPrograms}>\r\n                        <FormControl className={`${classes.formControlsEmergency} ${classes.formControlSelect}`} variant=\"standard\">\r\n                            <CustomSelect name={`alergiaCodigo-alergiaDescripcion/0`} list={typeOfPrograms} selected={selected[0]?.enrolamientoCodigo} onChange={handleChangeSelect(typeOfPrograms)} />\r\n                        </FormControl>\r\n                    </div>\r\n                    <div className={classes.divAccordionPrograms} style={{textAlign: \"center\"}}>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={ inlineStyles.buttonTitlesStyles }>\r\n                            Requisitos\r\n                        </Typography>\r\n                        <CustomButton\r\n                            title={'VER REQUISITOS'}\r\n                            onClick={handleClickRequirements}\r\n                            customClass={`${classes.lightLinearGradient}`}\r\n                            style={ inlineStyles.buttonsStyles }\r\n                            disabled={disabledButtons}\r\n                        />\r\n                    </div>\r\n                    <div className={classes.divAccordionPrograms} style={{textAlign: \"center\"}}>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={ inlineStyles.buttonTitlesStyles }>\r\n                            Formulario del programa\r\n                        </Typography>\r\n                        <CustomButton\r\n                            title={'VER FORMULARIO'}\r\n                            onClick={handleClickForm}\r\n                            customClass={`${classes.lightLinearGradient}`}\r\n                            style={ inlineStyles.buttonsStyles }\r\n                            disabled={disabledButtons}\r\n                        />\r\n                    </div>\r\n                </div>\r\n                :\r\n                <>\r\n                    <CustomButton\r\n                        customClass={classes.lightLinearGradient}\r\n                        style={{ padding: '5px 20px 5px 20px', marginLeft: \"10px\" }}\r\n                        title='Volver'\r\n                        type='button'\r\n                        onClick={handleBack}\r\n                    />\r\n                    <div style={{ padding: '20px', position: 'relative' }}>\r\n                        <PdfReader pdf={pdf} />\r\n                    </div>\r\n                </>\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default RequirementsAndForms;","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function getProgramRequirementAndFormByProgramAction(program) {\r\n    return {\r\n        type: actionTypes.GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM,\r\n        payload: program\r\n    };\r\n}\r\n\r\nexport function getProgramsAction(program) {\r\n    return {\r\n        type: actionTypes.GET_MEDICAL_PROGRAMS,\r\n        payload: program\r\n    };\r\n}","import {\r\n  ClickAwayListener,\r\n  Divider,\r\n  CircularProgress,\r\n  Accordion,\r\n  AccordionSummary,\r\n  AccordionDetails,\r\n  FormControl,\r\n  TextField,\r\n  Typography,\r\n  IconButton,\r\n  Zoom,\r\n} from \"@material-ui/core\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport TuneIcon from \"@material-ui/icons/Tune\";\r\n\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport LocalizationProvider from \"@material-ui/lab/LocalizationProvider\";\r\nimport MobileDatePicker from \"@material-ui/lab/MobileDatePicker\";\r\nimport CalendarTodayIcon from \"@material-ui/icons/CalendarToday\";\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport {\r\n  getDetailLaboratoryStudies,\r\n  getLaboratoryStudies,\r\n} from \"./../../../redux/actions/medicalDataAction\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport { es } from \"date-fns/locale\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { handleGoToMedicalData } from \"../../../utils/utilsFunctions\";\r\nimport AppointmentsCard from \"../../Appointments/Cards/AppointmentsCard\";\r\nimport HeaderCard from '../../Billing/Movements/HeaderCard';\r\n\r\n\r\nconst LaboratoryStudies = ({ handleBack }) => {\r\n  const dispatch = useDispatch();\r\n  const today = new Date();\r\n  today.setMonth(-6);\r\n  const [open, setOpen] = useState(false);\r\n  const [dateStart, setDateStart] = useState(today);\r\n  const [dateEnd, setDateEnd] = useState(new Date());\r\n  const [skip, setSkip] = useState(0);\r\n  const classes = useStyles();\r\n  const { screen } = useResizeScreen();\r\n  const [studies, setStudies] = useState([]);\r\n  const medicalData = useSelector((state) => state?.medicalDataReducer);\r\n  const [isDetail, setIsDetail] = useState(false);\r\n  const [details, setDetails] = useState([]);\r\n  const paddingStyle = \"5px 20px\";\r\n  const [loading, setLoading] = useState(true);\r\n\r\n \r\n\r\n  useEffect(() => {\r\n    callToService(false, true);\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (\r\n      medicalData?.laboratoryStudies?.resultadosLaboratorio !== undefined &&\r\n      medicalData?.laboratoryStudies?.resultadosLaboratorio?.length > 0\r\n    ) {\r\n      //paginado agrega a la lista\r\n      if (studies.length !== 0) {\r\n        let newRegisters = studies;\r\n        medicalData?.laboratoryStudies?.resultadosLaboratorio?.forEach(\r\n          (element) => {\r\n            newRegisters.push(element);\r\n          }\r\n        );\r\n        setStudies(newRegisters);\r\n      }\r\n      //filtro actualiza lista completa\r\n      else {\r\n        setStudies(medicalData?.laboratoryStudies?.resultadosLaboratorio);\r\n      }\r\n    }\r\n  }, [medicalData?.laboratoryStudies]);\r\n\r\n  useEffect(() => {\r\n    if (\r\n      medicalData?.detailLaboratory?.resultadosLaboratorio !== undefined &&\r\n      medicalData?.detailLaboratory?.resultadosLaboratorio?.length > 0\r\n    ) {\r\n      setDetails(medicalData?.detailLaboratory?.resultadosLaboratorio);\r\n    }\r\n  }, [medicalData?.detailLaboratory]);\r\n\r\n  useEffect(() => {\r\n    filterDate();\r\n  }, [dateEnd]);\r\n\r\n  useEffect(() => {\r\n    filterDate();\r\n  }, [dateStart]);\r\n\r\n  const filterDate = () => {\r\n    setStudies([]);\r\n    setSkip(0);\r\n    callToService(true);\r\n  };\r\n\r\n  const callToService = (tipoFecha, first) => {\r\n    let auxSkip = skip;\r\n    if (dateStart !== null && dateEnd !== null) {\r\n      if (tipoFecha || first) {\r\n        auxSkip = 0;\r\n      } else {\r\n        auxSkip += 10;\r\n      }\r\n      const param = {\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        count: 10,\r\n        skip: parseInt(auxSkip),\r\n        fechaDesde: dateStart,\r\n        fechaHasta: dateEnd\r\n      };\r\n      setSkip(parseInt(auxSkip));\r\n      dispatch(getLaboratoryStudies(param));\r\n      setLoading(false);\r\n    }\r\n  };\r\n\r\n  const handleClickAway = () => {\r\n    setOpen(false);\r\n  };\r\n\r\n  const handleClick = () => {\r\n    setOpen((prev) => !prev);\r\n  };\r\n\r\n  const scrollDiv = () => {\r\n    return screen.sWidth < 800 ? classes.heightDivRegisters : \"\";\r\n  };\r\n\r\n  const getDetail = (item) => {\r\n    let param = {\r\n      numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n      resultadoLaboratorioCodigo: item.codigo,\r\n    };\r\n    dispatch(getDetailLaboratoryStudies(param));\r\n    setIsDetail(true);\r\n  };\r\n\r\n  const filter = () => {\r\n    return (\r\n      <ClickAwayListener\r\n        mouseEvent=\"onMouseDown\"\r\n        touchEvent=\"onTouchStart\"\r\n        onClickAway={handleClickAway}\r\n      >\r\n        <div style={{ position: \"relative\", marginRight: \"30px\" }}>\r\n          <CustomButton\r\n            title={\"\"}\r\n            onClick={handleClick}\r\n            icon={\r\n              <TuneIcon\r\n                style={{ marginRight: \"5px\" }}\r\n                className={classes.iconFilter}\r\n              />\r\n            }\r\n            customClass={`${classes.customHeaderBtn} ${classes.btnFilterAppointment}`}\r\n          />\r\n          {open ? (\r\n            <Zoom in={open}>\r\n            <div className={classes.dropdown}>\r\n              <Typography\r\n                className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}\r\n              >\r\n                {\"PERIODO\"}\r\n              </Typography>\r\n              <Divider classes={{ root: classes.dividerFilter }} />\r\n              {\r\n                <div className={`${classes.headerFiltro} ${classes.marginTop}`}>\r\n                  <FormControl\r\n                    style={{ width: \"150px\", paddingTop: \"10px\" }}\r\n                    className={classes.datePicker}\r\n                  >\r\n                    <InputLabel\r\n                      className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`}\r\n                      shrink\r\n                    >\r\n                      {\"DESDE\"}\r\n                    </InputLabel>\r\n                    <div\r\n                      className={classes.top22}\r\n                      style={{\r\n                        display: \"flex\",\r\n                        justifyContent: \"space-between\",\r\n                      }}\r\n                    >\r\n                      <LocalizationProvider\r\n                        style={{ width: \"100px\" }}\r\n                        locale={es}\r\n                        dateAdapter={AdapterDateFns}\r\n                      >\r\n                        <MobileDatePicker\r\n                          cancelText=\"Cancelar\"\r\n                          toolbarTitle=\"\"\r\n                          format=\"dd/MM/YYYY\"\r\n                          value={dateStart}\r\n                          onChange={(newValue) => {\r\n                            setDateStart(newValue);\r\n                          }}\r\n                          renderInput={(params) => <TextField {...params} />}\r\n                        />\r\n                      </LocalizationProvider>\r\n                      <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                    </div>\r\n                  </FormControl>\r\n                  <FormControl\r\n                    style={{\r\n                      width: \"150px\",\r\n                      marginLeft: \"10px\",\r\n                      paddingTop: \"10px\",\r\n                    }}\r\n                    className={classes.datePicker}\r\n                  >\r\n                    <InputLabel\r\n                      className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`}\r\n                      shrink\r\n                    >\r\n                      {\"HASTA\"}\r\n                    </InputLabel>\r\n                    <div\r\n                      className={classes.top22}\r\n                      style={{\r\n                        display: \"flex\",\r\n                        justifyContent: \"space-between\",\r\n                      }}\r\n                    >\r\n                      <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}>\r\n                        <MobileDatePicker\r\n                          cancelText=\"Cancelar\"\r\n                          toolbarTitle=\"\"\r\n                          format=\"dd/MM/YYYY\"\r\n                          value={dateEnd}\r\n                          onChange={(newValue) => {\r\n                            setDateEnd(newValue);\r\n                          }}\r\n                          variant=\"outlined\"\r\n                          renderInput={(params) => <TextField {...params} />}\r\n                        />\r\n                      </LocalizationProvider>\r\n                      <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                    </div>\r\n                  </FormControl>\r\n                </div>\r\n              }\r\n            </div>\r\n            </Zoom>\r\n          ) : (\r\n            \"\"\r\n          )}\r\n        </div>\r\n      </ClickAwayListener>\r\n    );\r\n  };\r\n\r\n  const generateCard = (i, item) => {\r\n    return (\r\n      <AppointmentsCard\r\n        key={i}\r\n        index={i}\r\n        buttonsInHeader={true}\r\n        headerIcon={\r\n          <HeaderCard\r\n            day={item?.fechaFormateada?.nombreDia}\r\n            numberDay={item?.fechaFormateada?.dia}\r\n            month={parseInt(item?.fecha?.substring(5, 7))}\r\n            year={parseInt(item?.fecha?.substr(0, 4))}\r\n          />}\r\n        description={\r\n            <>\r\n                <Typography style={{ fontWeight: \"600\", color: '#0075c9', marginTop: \"5px\" }} className={`${classes.txtCardDescription}`}>\r\n                    <span style={{ fontSize: '1rem' }}>{\"HORA: \" + item.fecha.substr(item.fecha.indexOf(\"T\") + 1, 5) + \" hs.\"}</span>\r\n                </Typography>\r\n                    <div style={{ display: 'flex' }}>\r\n                        <Typography style={{ fontWeight: \"600\", color: '#0075c9', marginBottom: \"5px\" }} className={`${classes.txtCardDescription} `} >\r\n                            <span style={{ fontSize: '0.7rem', color: \"#002858\" }}>{\"N° DE ORDEN: \" + item.orden}</span>\r\n                        </Typography>\r\n                        </div>\r\n                <Typography className={`${classes.txtCardDescription}`}>\r\n                  {item.examen.slice(0, 20) + \"...\"}\r\n                </Typography>\r\n            </>\r\n        }\r\n        buttonZone={\r\n            <section className={`${classes.btnZoneAppointmentCard}`}>\r\n              <div style={{ display: 'flex', justifyContent: 'flex-end' }}>\r\n                <CustomButton\r\n                  customClass={classes.lightLinearGradient}\r\n                  style={{ padding: paddingStyle }}\r\n                  title=\"VER\"\r\n                  onClick={() => {\r\n                    getDetail(item);\r\n                  }}\r\n                />\r\n              </div>\r\n            </section>\r\n        }\r\n    />\r\n    );\r\n  };\r\n\r\n  const generateAccordionMobile = (item, i) => {\r\n    return (\r\n      <Accordion key={i}>\r\n        <AccordionSummary expandIcon={<ExpandMoreIcon />}>\r\n          <Typography className={classes.txtSubtitleCalendar}>\r\n            {item.examen}\r\n          </Typography>\r\n        </AccordionSummary>\r\n        <div className={classes.heightDivRegisters}>\r\n          {item.examenValores.map((detalle, x) => (\r\n            <AccordionDetails key={x}>\r\n              <div>\r\n                <Typography className={classes.subTitleMedicalData}>\r\n                  {detalle.determinacion}\r\n                </Typography>\r\n              </div>\r\n              <div>\r\n                <Typography\r\n                  className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n                >\r\n                  {\" \"}\r\n                  {\"Valor: \" + detalle.valor}\r\n                </Typography>\r\n              </div>\r\n              <div>\r\n                <Typography\r\n                  className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n                >\r\n                  {\"Unidad: \" + detalle.unidad}{\" \"}\r\n                </Typography>\r\n              </div>\r\n              <div>\r\n                <Typography\r\n                  className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n                >\r\n                  {\" \"}\r\n                  {\"Valores de Referencia: \" + detalle.valorReferencia}{\" \"}\r\n                </Typography>\r\n              </div>\r\n            </AccordionDetails>\r\n          ))}\r\n        </div>\r\n      </Accordion>\r\n    );\r\n  };\r\n\r\n  const generateAccordionWeb = (item, i) => {\r\n    return (\r\n      <Accordion key={i} expanded={true}>\r\n        <AccordionSummary\r\n          expandIcon={<ExpandMoreIcon />}\r\n          aria-controls=\"panel1a-content\"\r\n          id=\"panel1a-header\"\r\n        >\r\n          <div\r\n            style={{\r\n              width: \"100%\",\r\n              display: \"flex\",\r\n              justifyContent: \"space-between\",\r\n            }}\r\n          >\r\n            <div style={{ width: \"25%\" }}>\r\n              <Typography className={classes.txtSubtitleCalendar}>\r\n                {item.examen}\r\n              </Typography>\r\n            </div>\r\n\r\n            <div style={{ width: \"25%\" }}>\r\n              <Typography\r\n                className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis}`}\r\n              >\r\n                {\" \"}\r\n                {\"Valor \"}\r\n              </Typography>\r\n            </div>\r\n            <div style={{ width: \"25%\" }}>\r\n              <Typography\r\n                className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis}`}\r\n              >\r\n                {\"Unidad \"}{\" \"}\r\n              </Typography>\r\n            </div>\r\n            <div style={{ width: \"25%\" }}>\r\n              <Typography\r\n                className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis}`}\r\n              >\r\n                {\" \"}\r\n                {\"Valores de Referencia: \"}{\" \"}\r\n              </Typography>\r\n            </div>\r\n          </div>\r\n        </AccordionSummary>\r\n\r\n        {item.examenValores.map((detalle, x) => (\r\n          <AccordionDetails key={x}>\r\n            <div style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n              <div style={{ width: \"25%\" }}>\r\n                <Typography className={classes.txtDescription}>\r\n                  {detalle.determinacion}\r\n                </Typography>\r\n              </div>\r\n              <div style={{ width: \"25%\" }}>\r\n                <Typography\r\n                  className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n                >\r\n                  {\" \"}\r\n                  {detalle.valor}\r\n                </Typography>\r\n              </div>\r\n              <div style={{ width: \"25%\" }}>\r\n                <Typography\r\n                  className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n                >\r\n                  {detalle.unidad}{\" \"}\r\n                </Typography>\r\n              </div>\r\n              <div style={{ width: \"25%\" }}>\r\n                <Typography\r\n                  className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n                >\r\n                  {\" \"}\r\n                  {detalle.valorReferencia}{\" \"}\r\n                </Typography>\r\n              </div>\r\n            </div>\r\n          </AccordionDetails>\r\n        ))}\r\n      </Accordion>\r\n    );\r\n  };\r\n\r\n  const generateAccordion = (item, i) => {\r\n    return screen.sWidth <= 800\r\n      ? generateAccordionMobile(item, i)\r\n      : generateAccordionWeb(item, i);\r\n  };\r\n\r\n  function btnVerMas(condition) {\r\n    if (condition > 800) {\r\n      var response = (\r\n        <div style={{ width: \"100%\" }} className={classes.BtnMobileWeight}>\r\n          <CustomButton\r\n            customClass={classes.lightLinearGradient}\r\n            title=\"ver mas\"\r\n            onClick={() => {\r\n              callToService();\r\n            }}\r\n          />\r\n        </div>\r\n      );\r\n    } else {\r\n      response = (\"\");\r\n    }\r\n    return response;\r\n  }\r\n\r\n  function showAccordion(condition) {\r\n    if (condition > 0) {\r\n      var response = (\r\n        details.map((item, i) => generateAccordion(item, i))\r\n      );\r\n    } else {\r\n      response = (\r\n        <NotFound\r\n          customMsg={\r\n            <div className={classes.contentNotFound}>\r\n              <span>\r\n                No se encontraron resultados\r\n              </span>\r\n            </div>\r\n          }\r\n          wsItem={medicalData?.detailLaboratory}\r\n          fullItem={medicalData?.detailLaboratory?.resultadosLaboratorio}\r\n        />\r\n      );\r\n    }\r\n    return response;\r\n  }\r\n\r\n  function showStudies(condition) {\r\n    if (condition > 0) {\r\n      var response = (\r\n        <div\r\n          className={`${classes.flexRowAcordion} ${scrollDiv()}`}\r\n          onScroll={(e) => {\r\n            handleScroll(e);\r\n          }}\r\n        >\r\n          {studies.map((item, i) => (\r\n            <div className={widthClass(screen.sWidth, classes)} style={{marginLeft: \"1%\"}}>\r\n              {generateCard(i, item)}\r\n            </div>\r\n          ))}\r\n        </div>\r\n      );\r\n    } else {\r\n      response = (\r\n        <div\r\n          style={{\r\n            display: \"flex\",\r\n            justifyContent: \"center\",\r\n            alignItems: \"center\",\r\n          }}\r\n        >\r\n          {loading ?\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n          <NotFound\r\n            customMsg={\r\n              <div className={classes.contentNotFound}>\r\n                <span>\r\n                  No se encontraron resultados\r\n                </span>\r\n              </div>\r\n              }\r\n            wsItem={medicalData?.laboratoryStudies?.resultadosLaboratorio}\r\n            fullItem={medicalData?.laboratoryStudies?.resultadosLaboratorio}\r\n          />}\r\n        </div>\r\n      );\r\n    }\r\n    return response;\r\n  }\r\n\r\n  return (\r\n    <>\r\n      <div\r\n        className={`${setBackgroundMobile(classes, screen.sWidth)}`}\r\n        style={{ paddingTop: \"60px\", marginBottom: \"20px\", display: \"flex\", alignItems: \"center\" }}\r\n      >\r\n        {\r\n          screen.sWidth <= 768 &&\r\n          <>\r\n            <IconButton onClick={handleGoToMedicalData}>\r\n              <ArrowBackIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"25px\", marginBottom: \"10px\" }} />\r\n            </IconButton>\r\n            <Typography\r\n              className={`${classes.titleTurn} ${classes.titleBox}`}\r\n              style={{ textTransform: \"uppercase\" }}\r\n            >\r\n              RESULTADOS DE LABORATORIOS\r\n            </Typography>\r\n          </>\r\n        }\r\n      </div>\r\n\r\n      <div className={classes.headerSecundary} style={{ marginBottom: \"20px\" }}>\r\n        <Typography\r\n          className={classes.subTitleMedicalData}\r\n          style={{ marginLeft: \"20px\", padding: paddingStyle }}\r\n        >\r\n          LABORATORIOS REALIZADOS EN CM CONGRESO Y RAMOS\r\n        </Typography>\r\n\r\n        <div className={classes.headerFiltro}>\r\n          {isDetail ? (\r\n            <CustomButton\r\n              customClass={classes.lightLinearGradient}\r\n              style={{ padding: paddingStyle }}\r\n              title=\"ATRAS\"\r\n              onClick={() => {\r\n                setIsDetail(false);\r\n              }}\r\n            />\r\n          ) : (\r\n            filter()\r\n          )}\r\n        </div>\r\n      </div>\r\n      {isDetail ? (\r\n        showAccordion(medicalData?.detailLaboratory?.resultadosLaboratorio?.length)\r\n      ) : (\r\n        <>\r\n          {showStudies(studies?.length)}\r\n\r\n          {studies?.length >= 10 && btnVerMas(screen.sWidth)}\r\n        </>\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default LaboratoryStudies;\r\n\r\nfunction setBackgroundMobile(classes, width) {\r\n  let cssClass = classes.displayNone;\r\n  if (width <= 768) { cssClass = classes.titlePersonalDataForm; }\r\n  return cssClass;\r\n}\r\n\r\nfunction widthClass(width, classes) {\r\n  if (width <= 800) { return classes.width100; }\r\n  else if (width > 800 && width < 1250) { return classes.width50; }\r\n  else { return classes.width25; }\r\n}\r\n","import { Divider, CircularProgress } from \"@material-ui/core\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport PdfReader from \"../../PdfReader/PdfReader\";\r\nimport MyPlan from \"../../../assets/files/Cobertura incluida en tu Plan_asistencia_viajero_P_NOVO.pdf\";\r\nimport GeneralConditions from \"../../../assets/files/Condiciones generales.pdf\";\r\nimport FrequentQuestions from \"../../../assets/files/asistencia_viajero-preguntas_frecuentes.pdf\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getPlanPdfByPlanCodeAction } from \"../../../redux/actions/planPdfActions\";\r\n\r\nconst datos = [\r\n  { name: \"MyPlan\", pdf: MyPlan },\r\n  {\r\n    name: \"GeneralConditions\",\r\n    pdf: GeneralConditions,\r\n    configurationId: \"coberturaViajeCondicionesGenerales\",\r\n  },\r\n  {\r\n    name: \"FrequentQuestions\",\r\n    pdf: FrequentQuestions,\r\n    configurationId: \"coberturaViajePreguntasFrecuentes\",\r\n  },\r\n];\r\n\r\nconst MyCoveragePDF = () => {\r\n  const classes = useStyles();\r\n  const { search } = useLocation();\r\n  const match = search.match(/type=(.*)/);\r\n  const typeUrl = match?.[1];\r\n  const [loading, setLoading] = useState(true);\r\n  const [pdf, setPdf] = useState();\r\n\r\n  const dispatch = useDispatch();\r\n\r\n  const planPdfReduxState = useSelector((state) => state.planPdfReducer);\r\n  const fullDataAffiliatedReduxState = useSelector(\r\n    (state) => state.personalDataReducer?.fullData?.afiliado\r\n  );\r\n\r\n  const configurationReduxState = useSelector(\r\n    (state) => state.configurationReducer?.allConfigurations?.configurations\r\n  );\r\n\r\n  const getPDFLink = (item) =>\r\n    !!item.configurationId\r\n      ? configurationReduxState?.filter((x) => x.id === item.configurationId)[0]\r\n          ?.valor\r\n      : item.pdf;\r\n\r\n  useEffect(() => {\r\n    if (\r\n      (typeUrl == \"GeneralConditions\" || typeUrl == \"FrequentQuestions\") &&\r\n      configurationReduxState?.length > 0\r\n    ) {\r\n      setLoading(false);\r\n      const item = datos.filter((item) => item.name === typeUrl)[0];\r\n      setPdf(getPDFLink(item));\r\n    }\r\n  }, [typeUrl, configurationReduxState]);\r\n\r\n  useEffect(() => {\r\n    if (typeUrl == \"MyPlan\" && fullDataAffiliatedReduxState?.planCodigo > 0) {\r\n      dispatch(\r\n        getPlanPdfByPlanCodeAction(fullDataAffiliatedReduxState?.planCodigo)\r\n      );\r\n    }\r\n  }, [typeUrl, fullDataAffiliatedReduxState]);\r\n\r\n  useEffect(() => {\r\n    if (planPdfReduxState?.planPdf?.id > 0) {\r\n      setPdf(planPdfReduxState?.planPdf.pdfLink);\r\n      setLoading(false);\r\n    }\r\n  }, [planPdfReduxState]);\r\n\r\n  return (\r\n    <>\r\n      <Divider className={classes.formDivider} />\r\n      {loading ? (\r\n        <div\r\n          style={{\r\n            display: \"flex\",\r\n            justifyContent: \"center\",\r\n            flex: \"0 0 100%\",\r\n            paddingTop: \"10px\",\r\n          }}\r\n        >\r\n          <CircularProgress />\r\n        </div>\r\n      ) : (\r\n        pdf && (\r\n          <div>\r\n            <PdfReader pdf={pdf} customClass={classes.pdfCoverage} />\r\n          </div>\r\n        )\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default MyCoveragePDF;\r\n","export default __webpack_public_path__ + \"static/media/Cobertura incluida en tu Plan_asistencia_viajero_P_NOVO.8434edd3.pdf\";","export default __webpack_public_path__ + \"static/media/Condiciones generales.7659d0a7.pdf\";","export default __webpack_public_path__ + \"static/media/asistencia_viajero-preguntas_frecuentes.d3c1fc98.pdf\";","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function getPlanPdfByPlanCodeAction(planCode) {\r\n    return {\r\n        type: actionTypes.GET_PLANPDF_BY_PLANCODE,\r\n        payload: planCode\r\n    };\r\n}","import { CircularProgress } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport Iframe from \"react-iframe\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport { getCapAndCopayLinkByPlanCodeAction } from \"../../redux/actions/capsAndCopayLinksActions\";\r\n\r\nconst RedirectToCapsAndCopay = () => {\r\n  const classes = useStyles();\r\n  const trackPageView = useTrackPageView(\"Topes y Copagos\");\r\n  const dispatch = useDispatch();\r\n\r\n  const fullDataAffiliatedReduxState = useSelector(\r\n    (state) => state.personalDataReducer?.fullData?.afiliado\r\n  );\r\n\r\n  const capsAndCopayLinksReduxState = useSelector(\r\n    (state) => state.capsAndCopayLinksReducer\r\n  );\r\n\r\n  const [loading, setLoading] = useState(true);\r\n\r\n  useEffect(() => {\r\n    if (fullDataAffiliatedReduxState?.planCodigo > 0) {\r\n      dispatch(\r\n        getCapAndCopayLinkByPlanCodeAction(\r\n          fullDataAffiliatedReduxState?.planCodigo\r\n        )\r\n      );\r\n    }\r\n  }, [fullDataAffiliatedReduxState]);\r\n\r\n  useEffect(() => {\r\n    if (capsAndCopayLinksReduxState?.capsAndCopayLink?.link?.length > 0) {\r\n      setLoading(false)\r\n    }\r\n  }, [capsAndCopayLinksReduxState]);\r\n\r\n  useEffect(() => {\r\n    trackPageView();\r\n  }, [])\r\n\r\n  return (\r\n    <>\r\n      {loading ? (\r\n        <div\r\n          style={{\r\n            display: \"flex\",\r\n            justifyContent: \"center\",\r\n            flex: \"0 0 100%\",\r\n            paddingTop: \"30px\",\r\n          }}\r\n        >\r\n          <CircularProgress />\r\n        </div>\r\n      ) : (\r\n          <Iframe\r\n            sandbox=\"\"\r\n            scrolling=\"yes\"\r\n            src={capsAndCopayLinksReduxState?.capsAndCopayLink?.link}\r\n            className={classes.iframe}\r\n          />\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default RedirectToCapsAndCopay;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function getCapAndCopayLinkByPlanCodeAction(planCode) {\r\n    return {\r\n        type: actionTypes.GET_CAPANDCOPAYLINK_BY_PLANCODE,\r\n        payload: planCode\r\n    };\r\n}","import { Divider } from \"@material-ui/core\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useState, useEffect, useLayoutEffect } from \"react\";\r\nimport Autocomplete from \"../../../controls/Autocomplete/Autocomplete\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport { postRefundCoverage, getRefundParameters, getAreaParameters } from \"../../../redux/actions/coverageActions\";\r\n\r\nconst Refunds = () => {\r\n    const classes = useStyles();\r\n    const fullDataAffiliated = useSelector(state => state.personalDataReducer);\r\n    const coverageReduxState = useSelector(state => state.coverageReducer);\r\n    const dispatch = useDispatch();\r\n    const [plan, setPlan] = useState({});\r\n    const [type, setType] = useState([{\r\n        itemDescripcion: '',\r\n        itemCodigo: 0,\r\n    }]);\r\n    const [area, setArea] = useState([{\r\n        itemDescripcion: '',\r\n        itemCodigo: 0,\r\n    }]);\r\n    const [request, setRequest] = useState({\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        planCodigo: '',\r\n        tipoCodigo: '',\r\n        rubroCodigo: ''\r\n    });\r\n    const [response, setResponse] = useState([]);\r\n    const { screen } = useResizeScreen();\r\n    const [loading, setLoading] = useState(false);\r\n\r\n    const handleClickSend = (e) => {\r\n        e.preventDefault();\r\n        setLoading(true);\r\n        dispatch(postRefundCoverage(request));\r\n    };\r\n\r\n    const handleAutocompleteChange = (newValue, typeAutocomplete) => {\r\n        if (newValue?.itemCodigo !== null) {\r\n            setRequest({ ...request, [typeAutocomplete]: newValue?.itemCodigo });\r\n        } else {\r\n            setRequest({ ...request, [typeAutocomplete]: '' });\r\n        }\r\n    };\r\n\r\n    const handleAutocompleteTipoChange = (newValue, typeAutocomplete) => {\r\n        if (newValue?.itemCodigo !== null) {\r\n            setArea([]);\r\n            dispatch(getAreaParameters(newValue?.itemCodigo));\r\n            setRequest({ ...request, [typeAutocomplete]: newValue?.itemCodigo });\r\n        } else {\r\n            setArea([]);\r\n            setRequest({ ...request, [typeAutocomplete]: '' });\r\n        }\r\n    };\r\n\r\n    useLayoutEffect(() => {\r\n        dispatch(getRefundParameters());\r\n        dispatch(getAreaParameters());\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (coverageReduxState?.typeCoverage?.confirmacion) {\r\n            let auxTipo = [];\r\n            coverageReduxState?.typeCoverage?.tipoCoberturaReintegro?.forEach(tipo => {\r\n                let obj = {\r\n                    itemDescripcion: tipo?.tipoDescripcion,\r\n                    itemCodigo: tipo?.tipoCodigo,\r\n                };\r\n                auxTipo.push(obj);\r\n            });\r\n            setType(auxTipo);\r\n        }\r\n    }, [coverageReduxState?.typeCoverage?.tipoCoberturaReintegro]);\r\n\r\n    useEffect(() => {\r\n        if (coverageReduxState?.areaParameters?.confirmacion) {\r\n            let auxArea = [];\r\n            coverageReduxState?.areaParameters?.rubroCoberturaReintegro?.forEach(rubro => {\r\n                let obj = {\r\n                    itemDescripcion: rubro?.rubroDescripcion,\r\n                    itemCodigo: rubro?.rubroCodigo,\r\n                };\r\n                auxArea.push(obj);\r\n            });\r\n            setArea(auxArea);\r\n        }\r\n    }, [coverageReduxState?.areaParameters?.rubroCoberturaReintegro]);\r\n\r\n    useEffect(() => {\r\n        if (coverageReduxState?.refundCoverageResult?.confirmacion) {\r\n            setResponse(coverageReduxState?.refundCoverageResult?.coberturaReintegro);\r\n            setLoading(false);\r\n        }\r\n    }, [coverageReduxState?.refundCoverageResult]);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(response).length > 0) {\r\n            setLoading(false);\r\n        }\r\n    }, [response]);\r\n\r\n    useEffect(() => {\r\n        let data = {\r\n            itemDescription: fullDataAffiliated?.fullData?.afiliado?.planDescripcion,\r\n            itemCodigo: fullDataAffiliated?.fullData?.afiliado?.planCodigo,\r\n        };\r\n        setPlan(data);\r\n        setRequest({ ...request, planCodigo: data.itemCodigo });\r\n    }, [fullDataAffiliated?.fullData]);\r\n\r\n    const handleGoToHome = () => {\r\n        window.location.href = '/Coverage';\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title='Reintegros' handleGoTo={handleGoToHome}/>\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            {(screen.sWidth || Object.values(response).length === 0) &&\r\n                <>\r\n                    <section className={classes.sectionFlexRefunds}>\r\n                        <div className={classes.divRefunds}>\r\n                            <Autocomplete\r\n                                error={false}\r\n                                label={plan?.itemDescription}\r\n                                option={plan}\r\n                                selected={plan?.itemCodigo}\r\n                                disabled={true}\r\n                            />\r\n                        </div>\r\n                        <div className={classes.divRefunds}>\r\n                            <Autocomplete\r\n                                error={false}\r\n                                label=\"TIPO\"\r\n                                option={type}\r\n                                selected={type.tipoCodigo}\r\n                                onChange={(event, newValue) => { handleAutocompleteTipoChange(newValue, 'tipoCodigo'); }}\r\n                            />\r\n                        </div>\r\n                        <div className={classes.divRefunds}>\r\n                            <Autocomplete\r\n                                error={false}\r\n                                label=\"RUBRO\"\r\n                                option={area}\r\n                                selected={area.rubroCodigo}\r\n                                onChange={(event, newValue) => { handleAutocompleteChange(newValue, 'rubroCodigo'); }}\r\n                            />\r\n                        </div>\r\n                    </section>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        <div className={classes.divAccordionPrograms} style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\r\n                            <CustomButton\r\n                                title={'ENVIAR'}\r\n                                onClick={handleClickSend}\r\n                                customClass={`${classes.lightLinearGradient} ${classes.fontBold}`}\r\n                                style={{ padding: '10px 15px 10px 15px', fontWeight: \"bold\", fontSize: \"13px\", width: '120px'}}\r\n                            />\r\n                        </div>\r\n                    </div>\r\n                </>\r\n            }\r\n            <section className={classes.sectionFlexRefunds} style={{ justifyContent: 'center', padding: '2%' }}>\r\n                {!loading && coverageReduxState?.refundCoverageResult?.coberturaReintegro?.length > 0 ?\r\n                    response?.map((item, i) => (\r\n                        <article key={i} className={`${classes.divAccordionRefunds} ${classes.lightBoxShadow}`}>\r\n                            <div style={{ display: 'flex', flexWrap: 'wrap' }}>\r\n                                <span className={`${classes.txtDarkBlue}`} style={{ fontWeight: 'bold', fontSize: '13.5px' }}>DETALLE DE RUBRO:</span>\r\n                                <span className={`${classes.txtLightBlue} ${classes.txtRegular}`} style={{ fontWeight: 'bold', fontSize: '13.5px', paddingLeft: '1%' }}>{item.subRubroDescripcion}</span>\r\n                            </div>\r\n                            <div style={{ display: 'flex', flexWrap: 'wrap' }}>\r\n                                <span className={`${classes.txtDarkBlue}`} style={{ fontWeight: 'bold', fontSize: '13.5px' }}>Cobertura:</span>\r\n                                <span className={`${classes.txtLightBlue} ${classes.txtRegular}`} style={{ fontWeight: 'bold', fontSize: '13.5px', paddingLeft: '1%' }}>{item.cobertura}</span>\r\n                            </div>\r\n                        </article>\r\n                    ))\r\n                    : coverageReduxState?.refundCoverageResult?.coberturaReintegro?.length !== undefined &&\r\n                    <NotFound\r\n                        style={{\r\n                            display: 'flex',\r\n                            justifyContent: 'center',\r\n                            alignItems: 'center',\r\n                        }}\r\n                        fullItem={coverageReduxState?.refundCoverageResult?.coberturaReintegro}\r\n                        wsItem={coverageReduxState?.refundCoverageResult?.coberturaReintegro}\r\n                        customMsg={\r\n                                <span>No se encontraron resultados</span>\r\n                        }\r\n                        loading={loading}\r\n                    />\r\n                }\r\n            </section>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Refunds;","import React, { useRef } from \"react\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport \"../../components/DialogActivities/modalactivities.css\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport { useSelector } from \"react-redux\";\r\nimport FrequentQuestionsButton from \"../../components/Authorizations/FrequentQuestionsButtons\";\r\n\r\nconst UploadModal = (props) => {\r\n    const classes = useStyles();\r\n    const { title, description, observation, open, onClose, modalconfirm, setModalTitle, setModalDescription, setModalIcon, listAttached, setRepeatFile,\r\n        setErrorClass, setOpenSendSuccess, setFiles, files, customClass, fileButtons, setFileButtons, itemName, isRequired, hide, setHide, archivoClasificacion, ...other } = props;\r\n    const inputFile = useRef();\r\n    const inputPhoto = useRef();\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n\r\n    const handleClose = () => {\r\n        onClose(false);\r\n    };\r\n\r\n    const handleUpload = (e) => {\r\n        let alertGreatSize = \"\";\r\n        var filesUpload = e.target.files;\r\n        for (let file of filesUpload) {\r\n            let size = (file.size / 1024);\r\n            if (size < parseInt(configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor) * 1000) {\r\n                let adj = {\r\n                    archivoNombre: file.name.substring(0, file.name.lastIndexOf(\".\")),\r\n                    archivoExtension: file.name.substring(file.name.lastIndexOf(\".\") + 1),\r\n                    archivoNombreCompleto: file.name,\r\n                    archivoTamanio: parseInt(size),//KB\r\n                    archivo: null,//new Blob([file],{type: file.type}),\r\n                    archivoClasificacion: archivoClasificacion ?? 0,\r\n                    btnNombre: itemName,\r\n                    adjuntoObligatorio: isRequired\r\n                };\r\n\r\n                let repeatFile = listAttached?.filter(x => x?.nombre?.trim() == adj?.archivoNombre?.trim());\r\n\r\n                if(repeatFile?.length > 0) {\r\n                    handleClose();\r\n                    setRepeatFile(true);\r\n                } else {\r\n                    const reader = new FileReader();\r\n                    reader.onloadend = () => {\r\n                        adj.archivo = reader.result?.split(',').pop();\r\n                        setFiles([...files, adj]);\r\n                        setFileButtons({ ...fileButtons, [itemName]: true });\r\n                        handleClose();\r\n                        if (hide) {\r\n                            setHide(true)\r\n                        }\r\n                    };\r\n                    reader.readAsDataURL(file);\r\n                }\r\n                \r\n            } else {\r\n                alertGreatSize = alertGreatSize + \" \" + file.name;\r\n            }\r\n        }\r\n        if (alertGreatSize != \"\") {\r\n            setModalTitle('Atención');\r\n            setModalDescription(`\r\n                Los archivos: ${alertGreatSize} superan el tamaño máximo. \r\n                Asegurese de que los archivos no superen los ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB\r\n            `);\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass(classes.backgroundError);\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    const { screen } = useResizeScreen();\r\n\r\n    return (\r\n        <>\r\n            <Dialog\r\n                onClose={handleClose}\r\n                aria-labelledby=\"customized-dialog-title\"\r\n                open={open}\r\n                id=\"backDropActivities\"\r\n                {...other}\r\n            >\r\n                <div id=\"modalActivities\" style={{ textAlign: 'center' }}>\r\n                    <IconButton\r\n                        aria-label=\"close\"\r\n                        className={classes.closeButton}\r\n                        onClick={handleClose}\r\n                    >\r\n                        <CloseIcon />\r\n                    </IconButton>\r\n                    <DialogTitle\r\n                        id=\"customized-dialog-title\"\r\n                        className={`${classes.contentDialogTitle} ${customClass}`}\r\n                        style={{ padding: '20px' }}\r\n                        onClose={handleClose}\r\n                    >\r\n                        <Typography\r\n                            className={classes.titleDialogActivities}\r\n                            style={{ fontWeight: \"600\", display: 'flex', alignItems: 'center', justifyContent: 'center', margin: '10px' }}>\r\n                            {title}\r\n                            <FrequentQuestionsButton />\r\n                        </Typography>\r\n                    </DialogTitle>\r\n\r\n                    <DialogContent className={`${classes.contentDialogTitle} ${customClass}`} style={{ paddingTop: \"0px\" }}>\r\n                        <Typography >\r\n                            {description}\r\n                        </Typography>\r\n                        <Typography >\r\n                            {observation}\r\n                        </Typography>\r\n                        <div style={{ textAlign: \"center\" }}>\r\n                            <CustomButton\r\n                                style={{ padding: '5px 15px 5px 5px', width: '200px', marginBottom: '10px' }}\r\n                                title={\"ADJUNTAR ARCHIVO\"}\r\n                                icon={<AttachFileIcon />}\r\n                                customClass={`${classes.lightLinearGradient} ${classes.marginLeft}`}\r\n                                onClick={() => { inputFile?.current?.click(); }}\r\n                            />\r\n                            {\r\n                                screen.sWidth < 768 &&\r\n                                <CustomButton\r\n                                style={{ padding: '5px 15px 5px 5px', width: '200px', marginBottom: '10px' }}\r\n                                title={\"SACAR FOTO\"}\r\n                                icon={<AttachFileIcon />}\r\n                                customClass={`${classes.lightLinearGradient} ${classes.marginLeft}`}\r\n                                onClick={() => { inputPhoto?.current?.click(); }}\r\n                                />\r\n                            }\r\n                        </div>\r\n                    </DialogContent>\r\n                    <input ref={inputFile} type=\"file\" hidden id='upFile' onChange={handleUpload} name='upFileName' />\r\n                    <input ref={inputPhoto} type=\"file\" hidden capture=\"environment\" id='upPhoto' onChange={handleUpload} name='upPhotoName' />\r\n                </div>\r\n            </Dialog>\r\n        </>\r\n    );\r\n};\r\nexport default UploadModal;\r\n","import * as React from 'react';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport TextField from '@material-ui/core/TextField'; \r\nimport useStyles from '../../assets/styles/styles';\r\n\r\nconst LineBreakInput = (props) => { \r\n  const { label, formControlClass, inputLabelClass, customRequired, ...other } = props;\r\n  const classes = useStyles();\r\n\r\n  function renderRequired() {\r\n    if (customRequired) {\r\n      return <span style={{ color: '#ff0000' }}>*</span>;\r\n    }\r\n  }\r\n\r\n  return (\r\n    <FormControl className={`${classes.formControl} ${formControlClass}`} variant=\"standard\">\r\n      <InputLabel className={`${classes.inputLabelForms} ${inputLabelClass}`} shrink htmlFor=\"bootstrap-input\">\r\n        {label}\r\n        {renderRequired()}\r\n      </InputLabel>\r\n      <TextField {...other} className={`${classes.customInput} ${classes.customClass}`} />\r\n    </FormControl>\r\n  );\r\n};\r\n\r\nexport default LineBreakInput;\r\n","import { Divider, Typography, FormControl, FormHelperText, Checkbox, FormControlLabel, IconButton, InputAdornment, InputLabel, CircularProgress } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../PersonalData/FormHeader\";\r\nimport { useEffect, useState, Fragment } from \"react\";\r\nimport useStyles from '../../assets/styles/styles';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport CustomizedInputs from \"../../controls/InputCustom/CustomizedInputs\";\r\nimport ConfirmModal from \"../PersonalData/ConfirmModal\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport UploadModal from \"../../controls/UploadModal/UploadModal\";\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { deleteFile, handleChangeEmail, handleSave, isDisabled, validate, validateFiles } from \"../../utils/utilsFunctions\";\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport { getFile, getProcedures } from \"../../redux/actions/procedureActions\";\r\nimport { getFullData } from \"../../redux/actions/personalDataActions\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport LineBreakInput from \"../../controls/InputCustom/LineBreakInput\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\nconst affiliated = {\r\n    numeroPersona: userCode\r\n};\r\n\r\nconst BillingAndCollection = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const fullPersonalData = useSelector(state => state?.personalDataReducer);\r\n    const [procedureSelected, setProcedure] = useState(\r\n        {\r\n            procedure: \"\",\r\n            subProcedure: \"\",\r\n            consulta: \"\"\r\n        });\r\n    const [error, setError] = useState(\r\n        {\r\n            procedure: '*Campo obligatorio',\r\n            subProcedure: '*Campo obligatorio',\r\n            email: '',\r\n            phone: \"\"\r\n        });\r\n    const [mail, setMail] = useState('');\r\n    const [files, setFiles] = useState([]);\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [openUploadModal, setOpenUploadModal] = useState(false);\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [listOfProcess, setListOfProcess] = useState([]);\r\n    const [listOfSubProcess, setListOfSubProcess] = useState([]);\r\n    const [listOfAttachmentButtons, setListOfAttachmentButtons] = useState([]);\r\n    const [nameOfItem, setItemName] = useState('');\r\n    const [mailError, setMailError] = useState('');\r\n    const [disabledEmail, setDisabledEmail] = useState(true);\r\n    const [emailChecked, selEmailChecked] = useState(false);\r\n    const [itemRequired, setItemRequired] = useState('');\r\n    const data = useSelector(state => state?.procedureReducer);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const [counterLength, setCounterLength] = useState(0);\r\n\r\n    const handleChangeSelect = (e) => {\r\n        const { name, value } = e.target;\r\n        setProcedure({ ...procedureSelected, [name]: value });\r\n        if (name !== 'consulta') {\r\n                validate(name, '*Campo obligatorio', value, setError, error);\r\n        }\r\n        if (value.length <= 1000) {\r\n            setCounterLength(value.length);\r\n        }\r\n    };\r\n\r\n    const handleOpenModal = (itemName, fileRequired) => (e) => {\r\n        e.preventDefault();\r\n        setOpenUploadModal(prevState => !prevState);\r\n        setItemName(itemName);\r\n        setItemRequired(fileRequired);\r\n    };\r\n\r\n    const handleEditEmail = () => {\r\n        setDisabledEmail(prevState => !prevState);\r\n    };\r\n\r\n    const handleCheck = (e) => {\r\n        e.preventDefault();\r\n        if (!emailChecked) {\r\n            setModalTitle('SE HA MODIFICADO EL MAIL CORRECTAMENTE');\r\n            setModalDescription(`Este cambio se realizará en el e-mail de facturación y cobranza.`);\r\n            setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass('');\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        selEmailChecked(prevState => !prevState);\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        const phone = fullPersonalData?.fullData?.afiliado?.telefonos[0]?.telefono;\r\n        let auxAttachments = listOfSubProcess?.filter(x => x.adjuntos?.length > 0);\r\n        if (auxAttachments.length > 0 && (procedureSelected?.subProcedure === \"SELECCIONE UNA OPCION\" || procedureSelected?.subProcedure === \"\")) {\r\n            setError({...error, subProcedure: '*Campo obligatorio'})\r\n            return;\r\n        } else {\r\n            setError({...error, subProcedure: ''})\r\n        }\r\n        if (validateFiles(listOfAttachmentButtons, files)) {\r\n            let filesToSend = files?.map((item) => {\r\n                delete (item['btnNombre']);\r\n                delete (item[\"adjuntoObligatorio\"]);\r\n                return item;\r\n            });\r\n            let isDisabledMail = isModifiedMailFunction(disabledEmail);\r\n            let model = {\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                tramiteCodigo: procedureSelected?.procedure,\r\n                subTramiteCodigo: procedureSelected?.subProcedure,\r\n                mail: mail,\r\n                mailModificar: isDisabledMail,\r\n                telefono: phone !== undefined ? phone : \"\",\r\n                consulta: procedureSelected?.consulta,\r\n                sector: 'FACTURACION',\r\n                adjuntos: JSON.stringify(filesToSend)\r\n            };\r\n            if(mailError === '') {\r\n                handleSave({ mail, setModalTitle, setModalDescription, setModalIcon, setErrorClass, setOpenSendSuccess, classes, error, dispatch, model });\r\n            }\r\n        }\r\n    };\r\n\r\n    const dowloadFile = (codigo) => {\r\n        dispatch(getFile(codigo));\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getProcedures('FACTURACION'));\r\n        dispatch(getFullData(affiliated));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let mailUser = fullPersonalData?.fullData?.afiliado?.mails?.filter(z => z.mailTipoCodigo == 12)[0]?.mail;\r\n        if (mailUser !== undefined && mailUser !== null) {\r\n            setMail(mailUser?.trimEnd());\r\n        }\r\n    }, [fullPersonalData?.fullData]);\r\n\r\n    useEffect(() => {\r\n        if (procedureSelected?.procedure !== '') {\r\n            let subProcess = data?.procedures?.tramites?.filter(x => x.tramiteCodigo == procedureSelected?.procedure)[0]?.subTramites?.map(item => {\r\n                return { ...item, value: item.subTramiteCodigo, label: item.subTramiteDescripcion };\r\n            });\r\n            subProcess?.unshift({ value: \"\", label: \"SELECCIONE UNA OPCION\" })\r\n            setListOfSubProcess(subProcess);\r\n            setFiles([]);\r\n            setFileButtons([]);\r\n        }\r\n    }, [procedureSelected?.procedure]);\r\n\r\n    useEffect(() => {\r\n        if (procedureSelected?.subProcedure !== '') {\r\n            let auxAttachments = listOfSubProcess?.filter(x => x.subTramiteCodigo == procedureSelected?.subProcedure)[0]?.adjuntos;\r\n            setListOfAttachmentButtons(auxAttachments);\r\n            setFiles([]);\r\n            setFileButtons([]);\r\n        } else {\r\n            setListOfAttachmentButtons([]);\r\n            setError({...error, subProcedure: ''})\r\n        }\r\n    }, [procedureSelected?.subProcedure]);\r\n\r\n    useEffect(() => {\r\n        if (data.file !== null && data.file.result) {\r\n            var a = document.createElement(\"a\"); //Create <a>\r\n            a.href = \"data:image/png;base64,\" + data.file.base64; //Image Base64 Goes here\r\n            a.download = \"Image.png\"; //File name Here\r\n            a.click(); //Downloaded file\r\n        }\r\n    }, [data.file]);\r\n\r\n    useEffect(() => {\r\n        let process = data?.procedures?.tramites?.map(item => {\r\n            return { value: item?.tramiteCodigo, label: item?.tramiteDescripcion };\r\n        });\r\n        if (process !== undefined) {\r\n            process.unshift({ value: \"\", label: \"SELECCIONE UNA OPCION\" })\r\n            setError({...error, procedure: '*Campo obligatorio'})\r\n        }\r\n        setListOfProcess(process);\r\n    }, [data?.procedures])\r\n\r\n    useEffect(() => {\r\n        if (data?.postProcedure?.confirmacion != undefined) {\r\n            if (data?.postProcedure?.confirmacion) {\r\n                setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n                setModalTitle('SE HA REALIZADO LA GESTION CON EXITO!')\r\n                setModalDescription('');\r\n                setTimeout(() => { window.location.replace('/Billing') }, 2000)\r\n            }\r\n            else {\r\n                setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n                setModalTitle('NO SE PUDO REALIZAR LA GESTION')\r\n                setErrorClass(classes.backgroundError);\r\n                setModalDescription('');\r\n                setTimeout(() => { window.location.replace('/Billing') }, 2000)\r\n            }\r\n            setOpenSendSuccess(true);\r\n        }\r\n    }, [data?.postProcedure])\r\n\r\n    const handleGoToHome = () => {\r\n        window.location.href = '/Billing';\r\n    };\r\n\r\n    const mailLabel = ({ sWidth }) => (\r\n        <span style={{ marginLeft: sWidth < 768 ? \"-10px\" : \"10px\" }}>E-MAIL</span>\r\n    );\r\n\r\n    const observationsLabel = ({ sWidth }) => (\r\n        <span style={{ marginLeft: sWidth < 768 ? \"-10px\" : \"1px\" }}>OBSERVACIONES</span>\r\n    );\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={formHeader(screen).title} subtitle={formHeader(screen).subtitle} handleGoTo={handleGoToHome} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'flex-start' }}>\r\n                {screen.sWidth <= 768 &&\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex' }}>\r\n                        FACTURACIÓN Y COBRANZA\r\n                    </Typography>\r\n                }\r\n            </div>\r\n          \r\n            <form className={`${classes.formBillingAndCollection}`}>\r\n                {\r\n                    listOfProcess?.length > 0 ?\r\n\r\n                        <FormControl className={`${classes.formControlsAffiliations} ${classes.fixFormControlSelect}`} variant=\"standard\">\r\n                            <InputLabel className={`${classes.txtLabelTramites} ${classes.fixInputLabel} `} style={{ fontSize: \"13px\" }}>\r\n                                {\"TRAMITE\"}\r\n                            </InputLabel>\r\n                            <CustomSelect\r\n                                name='procedure'\r\n                                selected={procedureSelected?.procedure}\r\n                                list={listOfProcess}\r\n                                onChange={handleChangeSelect}\r\n                                label=\"\" />\r\n                            <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.procedure}</FormHelperText>\r\n                        </FormControl>\r\n                        :\r\n                        <div style={{ width: \"25%\" }} className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                }\r\n                {\r\n                    listOfSubProcess?.length > 1 &&\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.fixFormControlSelect}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} ${classes.fixInputLabel} `}>\r\n                            {\"SUBTRAMITE\"}\r\n                        </InputLabel>\r\n                        <CustomSelect\r\n                            name='subProcedure'\r\n                            selected={procedureSelected?.subProcedure}\r\n                            list={listOfSubProcess}\r\n                            onChange={handleChangeSelect}\r\n                            label=\"\" />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.subProcedure}</FormHelperText>\r\n                    </FormControl>\r\n                }\r\n                <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlEmail}`} variant=\"standard\" style={{top:\"1.5px\"}}>\r\n                    <CustomizedInputs\r\n                        style={{ marginTop: '21px' }} \r\n                        name=\"email\"\r\n                        value={mail}\r\n                        label={mailLabel(screen)}\r\n                        onChange={handleChangeEmail(setMail, setMailError)}\r\n                        disabled={disabledEmail}\r\n                        endAdornment={\r\n                            <InputAdornment position=\"start\">\r\n                                <IconButton onClick={handleEditEmail}>\r\n                                    <EditIcon />\r\n                                </IconButton>\r\n                            </InputAdornment>\r\n                        }\r\n                    />\r\n                    <FormControlLabel className={`${classes.emailCheck}`} control={<Checkbox checked={emailChecked} onClick={handleCheck} color='primary' />} label=\"¿E-MAIL PERMANENTE?\" />\r\n                    <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.email}</FormHelperText>\r\n                    <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{mailError}</FormHelperText>\r\n                </FormControl>\r\n                <FormControl className={`${classes.formControlsAffiliations}`} variant=\"standard\">\r\n                    <LineBreakInput\r\n                        style={{ marginTop: '21px' }}\r\n                        name=\"consulta\"\r\n                        label={observationsLabel(screen)}\r\n                        placeholder='Escribe tu texto aqui'\r\n                        multiline\r\n                        rows={8}\r\n                        inputProps={{ maxLength: 1000 }}\r\n                        onChange={handleChangeSelect}\r\n                        value={procedureSelected?.consulta}\r\n                    />\r\n                    <Typography variant=\"caption\" style={{ marginLeft: screen.sWidth < 768 ? '290px' : \"210px\"}}>{counterLength}/1000</Typography>\r\n                </FormControl>\r\n\r\n                <div style={{ display: 'flex', justifyContent: 'flex-end', alignContent: 'center', width: '90%', marginBottom: \"15px\" }}>\r\n                <CustomButton\r\n                    name='save'\r\n                    style={{position: 'absolute', marginTop:\"50px\", right: screen.sWidth < 768 ? \"36px\" :\"214px\"}}\r\n                    title='Enviar'\r\n                    customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                    onClick={handleSubmit}\r\n                />\r\n                </div>\r\n\r\n                <section style={{ display: 'flex', justifyContent: 'center', alignContent: 'center', flexWrap: 'wrap' }}>\r\n                    <div style={{ width: '250px' }}>\r\n\r\n                        {listOfAttachmentButtons?.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                <CustomButton\r\n                                    name={item?.adjuntoDescripcion}\r\n                                    style={{ padding: '5px 15px 5px 5px' }}\r\n                                    title={`ADJUNTAR ${item.adjuntoDescripcion}`}\r\n                                    icon={<AttachFileIcon />}\r\n                                    customClass={`${classes.lightLinearGradientReverse} ${classes.marginLeft}`}\r\n                                    onClick={handleOpenModal(item?.adjuntoDescripcion, item?.adjuntoObligatorio)}\r\n                                    disabled={isDisabled(fileButtons, item?.adjuntoDescripcion)}\r\n                                />\r\n                                {item?.adjuntoObligatorio === 'S' &&\r\n                                    <>\r\n                                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>*Archivo obligatorio</FormHelperText>\r\n                                        <Typography style={{ flex: '1 1 100%', justifyContent: 'center' }} className={`${classes.txtObservaciones} ${classes.txtSubtitle}`}>ADJUNTAR ARCHIVOS</Typography>\r\n                                        <span style={{ flex: '1 1 100%', fontSize: '10px', display: 'flex' }}>{`(TAMAÑO MAXIMO ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB)`}</span>\r\n                                    </>\r\n                                }\r\n                                {item?.adjuntoModelo !== '' &&\r\n                                    <IconButton onClick={() => { dowloadFile(item?.adjuntoModelo); }}>\r\n                                        <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                            descargar Modelo\r\n                                        </Typography>\r\n                                    </IconButton>\r\n                                }\r\n                                {item?.adjuntoInstructivo !== '' &&\r\n                                    <IconButton onClick={() => { dowloadFile(item?.adjuntoInstructivo); }}>\r\n                                        <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                            descargar Instructivo\r\n                                        </Typography>\r\n                                    </IconButton>\r\n                                }\r\n                            </Fragment>\r\n                        ))}\r\n                        {files?.map((item, i) => (\r\n                            <p key={i} style={{ marginLeft: \"5%\" }} className={classes.txtSubtitleCalendar}>{item?.archivoNombre} <IconButton onClick={deleteFile(fileButtons, setFileButtons, setFiles, files, item?.btnNombre, item?.archivoNombre)}><HighlightOffIcon /></IconButton></p>\r\n                        ))}\r\n                    </div>\r\n                </section>\r\n            </form>\r\n            <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n            <UploadModal\r\n                title='Adjuntar archivo'\r\n                description=''\r\n                observation=''\r\n                open={openUploadModal}\r\n                onClose={setOpenUploadModal}\r\n                setModalTitle={setModalTitle}\r\n                setModalDescription={setModalDescription}\r\n                setModalIcon={setModalIcon}\r\n                setErrorClass={setErrorClass}\r\n                setOpenSendSuccess={setOpenSendSuccess}\r\n                setFiles={setFiles}\r\n                files={files}\r\n                fileButtons={fileButtons}\r\n                setFileButtons={setFileButtons}\r\n                itemName={nameOfItem}\r\n                isRequired={itemRequired}\r\n            />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default BillingAndCollection;\r\n\r\nfunction isModifiedMailFunction(disabledEmail) {\r\n    let response = 'N';\r\n    if (!disabledEmail) {\r\n        response = 'S';\r\n    }\r\n    return response;\r\n}\r\n\r\nfunction formHeader(screen) {\r\n    let res = {\r\n        title: 'FACTURACION Y COBRANZA',\r\n        subtitle: ''\r\n    };\r\n    if (screen.sWidth < 768) {\r\n        res.title = 'FACTURACION Y COBRANZA';\r\n        res.subtitle = '';\r\n    }\r\n    return res;\r\n}\r\n","import React, { useEffect, useState, Fragment } from 'react';\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { FormControl, FormHelperText, IconButton, InputAdornment, Typography } from \"@material-ui/core\";\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport ConfirmModal from '../ConfirmModal';\r\nimport UploadModal from \"../../../controls/UploadModal/UploadModal\";\r\nimport { validate, deleteFile, handleSave, showBtn } from '../../../utils/utilsFunctions';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport LineBreakInput from \"../../../controls/InputCustom/LineBreakInput\"\r\n\r\nconst GeneralProcedure = ({ handleBack, procedureCodeSelected }) => {\r\n    const classes = useStyles();\r\n    const data = useSelector(state => state.procedureReducer);\r\n    const postProcedureSelector = useSelector(state => state.procedureReducer.postProcedure);\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const dispatch = useDispatch();\r\n    const [mail, setMail] = useState('');\r\n    const [phone, setPhone] = useState('');\r\n    const [disabledPhone, setDisabledPhone] = useState(true);\r\n    const [disabledEmail, setDisabledEmail] = useState(true);\r\n    const [procedureSelected, setProcedure] = useState(\r\n        {\r\n            procedure: '',\r\n            subProcedure: ''\r\n        });\r\n    const [listOfSubProcess, setListOfSubProcess] = useState([{ value: 0, label: '' }]);\r\n    const [modelToSend, setModelToSend] = useState({\r\n        mailModificar: \"N\",\r\n        sector: \"AFILIACIONES\"\r\n    });\r\n    const [files, setFiles] = useState([]);\r\n    const [listOfAttachmentButtons, setListOfAttachmentButtons] = useState([]);\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [nameOfItem, setItemName] = useState('');\r\n    const [openUploadModal, setOpenUploadModal] = useState(false);\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [error, setError] = useState([]);\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [itemRequired, setItemRequired] = useState('');\r\n    const [itemTipoArchivo, setItemTipoArchivo] = useState(0);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const { screen } = useResizeScreen();\r\n    const [counterLength, setCounterLength] = useState(0);\r\n\r\n\r\n    useEffect(() => {\r\n        if (data?.procedures?.tramites) {\r\n            let subProcess = data?.procedures?.tramites?.filter(x => x.tramiteCodigo == procedureCodeSelected)[0]?.subTramites?.map(item => {\r\n                return { ...item, value: item.subTramiteCodigo, label: item.subTramiteDescripcion };\r\n            });\r\n            setListOfSubProcess(subProcess);\r\n            setProcedure({ ...procedureSelected, 'subProcedure': subProcess[0]?.value });\r\n            setFiles([]);\r\n            setFileButtons([]);\r\n            setModelToSend({ ...modelToSend, 'tramiteCodigo': procedureCodeSelected });\r\n        }\r\n    }, [procedureCodeSelected]);\r\n\r\n    useEffect(() => {\r\n        if (procedureSelected?.subProcedure !== '') {\r\n            let auxAttachments = listOfSubProcess?.filter(x => x.subTramiteCodigo === procedureSelected?.subProcedure)[0]?.adjuntos;\r\n            setListOfAttachmentButtons(auxAttachments);\r\n            setFiles([]);\r\n            setFileButtons([]);\r\n            setModelToSend({ ...modelToSend, 'subTramiteCodigo': procedureSelected?.subProcedure });\r\n        }\r\n    }, [procedureSelected]);\r\n\r\n    useEffect(() => {\r\n        let mailUser = fullPersonalData?.fullData?.afiliado?.mails?.filter(z => z.mailTipoCodigo === 1)[0]?.mail;\r\n        if (mailUser !== undefined && mailUser !== null) {\r\n            setMail(mailUser);\r\n            setModelToSend({ ...modelToSend, 'mail': mailUser });\r\n        }\r\n        const lengthPhones = fullPersonalData?.fullData?.afiliado?.telefonos?.length;\r\n        const phoneUser = lengthPhones !== 0 ? fullPersonalData?.fullData?.afiliado?.telefonos[0].telefono : \"\";\r\n        if (phoneUser !== undefined && phoneUser !== null) {\r\n            setPhone(phoneUser);\r\n            setModelToSend({ ...modelToSend, 'telefono': phoneUser });\r\n        }\r\n    }, [fullPersonalData?.fullData]);\r\n\r\n    const isDisabled = (typeName) => {\r\n        let response = false;\r\n        if (fileButtons[typeName]) {\r\n            response = true;\r\n        }\r\n        return response;\r\n    };\r\n\r\n    const handleChangeSelect = (e) => {\r\n        const { name, value } = e.target;\r\n        setProcedure({ ...procedureSelected, [name]: value });\r\n    };\r\n\r\n    const handleEditEmail = () => {\r\n        setDisabledEmail(prevState => !prevState);\r\n    };\r\n\r\n    const handleChangeMail = () => (e) => {\r\n        const { name, value } = e.target;\r\n        setModelToSend({ ...modelToSend, [name]: value, 'mailModificar': \"S\" });\r\n        setMail(value);\r\n    };\r\n\r\n    useEffect(() => {\r\n        const obligatoryField = '*Campo obligatorio';\r\n        const emailFormatValidation = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n\r\n        setError({ ...error, mail: mail ? '' : obligatoryField })\r\n\r\n        if (!emailFormatValidation.test(mail) && mail !== '') {\r\n            setError({ ...error, mail: 'Formato requerido: mail@mail.com' })\r\n        }\r\n    }, [mail])\r\n\r\n    const handleChangeText = () => e => {\r\n        const { value, name } = e.target;\r\n        if (name !== 'consulta') {\r\n                setPhone(value);\r\n                validate(name, '*Campo obligatorio', value, setError, error);\r\n            }\r\n            setModelToSend({ ...modelToSend, [name]: value });\r\n        \r\n    };\r\n\r\n    const handleChangeObservations =() => e => {\r\n        const { value } = e.target;\r\n            if (value.length <= 2000) {\r\n        setCounterLength(value.length);\r\n            }\r\n    }\r\n\r\n    const handleEditPhone = () => {\r\n        setDisabledPhone(prevState => !prevState);\r\n    };\r\n\r\n    const handleOpenModal = (itemName, fileRequired, clasificacion) => (e) => {\r\n        e.preventDefault();\r\n        setOpenUploadModal(prevState => !prevState);\r\n        setItemName(itemName);\r\n        setItemRequired(fileRequired);\r\n        setItemTipoArchivo(clasificacion);\r\n    };\r\n\r\n    const validateFiles = () => {\r\n        let auxFiles = [];\r\n        let response = false;\r\n        listOfAttachmentButtons.forEach(item => {\r\n            if (item.adjuntoObligatorio === 'S') {\r\n                auxFiles.push(item.adjuntoDescripcion);\r\n            }\r\n        });\r\n        if (auxFiles.length > 0) {\r\n            let aux = [];\r\n            files?.forEach(item => {\r\n                if (item?.adjuntoObligatorio === 'S') {\r\n                    aux.push(auxFiles?.some(x => x === item.btnNombre));\r\n                }\r\n            });\r\n            if (aux.length > 0 && Object.values(aux)?.every(x => x === true)) {\r\n                response = true;\r\n            }\r\n        } else {\r\n            response = true;\r\n        }\r\n        return response;\r\n    };\r\n\r\n    function deleteParameterAdjunto() {\r\n        files?.forEach((item) => {\r\n            delete (item['btnNombre']);\r\n            delete (item[\"adjuntoObligatorio\"]);\r\n        });\r\n    }\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        let modelWS = {\r\n            ...modelToSend,\r\n            mail: mail,\r\n            telefono: phone,\r\n            tramiteCodigo: procedureCodeSelected,\r\n            subTramiteCodigo: procedureSelected?.subProcedure,\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        };\r\n        if (validateFiles() && validateForm(modelWS, setError)) {\r\n            deleteParameterAdjunto();\r\n            let model = {\r\n                ...modelToSend,\r\n                mail: mail,\r\n                telefono: phone,\r\n                tramiteCodigo: procedureCodeSelected,\r\n                subTramiteCodigo: procedureSelected?.subProcedure,\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                adjuntos: files?.length > 0 ? JSON.stringify(files) : null\r\n            };\r\n            handleSave({ mail, setModalTitle, setModalDescription, setModalIcon, setErrorClass, setOpenSendSuccess, classes, error, dispatch, model });\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (postProcedureSelector?.confirmacion) {\r\n            setModalTitle('TU GESTIÓN SE HA INICIADO');\r\n            setModalDescription(`Será respondida al email: ${mail}`);\r\n            setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass('');\r\n            setTimeout(() => {\r\n                window.location.reload();\r\n            }, 2000);\r\n        } else if (!postProcedureSelector?.confirmacion && postProcedureSelector?.confirmacion !== undefined) {\r\n            setOpenSendSuccess(true);\r\n            setModalTitle('Ocurrió un error');\r\n            setModalDescription(postProcedureSelector?.mensajes?.map(item => { return item.mensaje + ' '; }) ?? 'Por favor, intente nuevamente');\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass(classes.backgroundError);\r\n        }\r\n        return (() => {\r\n            if (postProcedureSelector?.confirmacion) {\r\n                setModalTitle('');\r\n                setModalDescription('');\r\n                setModalIcon('');\r\n                setErrorClass('');\r\n                setTimeout(() => {\r\n                    window.location.replace('/PersonalData');\r\n                }, 4000);\r\n            }\r\n        });\r\n    }, [postProcedureSelector?.confirmacion]);\r\n\r\n    const observationsLabel = ({ sWidth }) => (\r\n        <span style={{ marginLeft: sWidth < 768 ? \"-28px\" : \"1px\" }}>OBSERVACIONES</span>\r\n    );\r\n\r\n    return (\r\n        <>\r\n            <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan2}`} style={{right:'20px'}}>\r\n                <CustomSelect\r\n                    label={\"SUBTRAMITES\"}\r\n                    name='subProcedure'\r\n                    list={listOfSubProcess}\r\n                    selected={procedureSelected?.subProcedure}\r\n                    onChange={handleChangeSelect}\r\n                />\r\n                <FormHelperText className={classes.errorText}>{error?.subProcedure}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2}`} style={{ right:'15px',marginTop: '5px' }} >\r\n\r\n                <CustomizedInputs\r\n                    label={\"E-MAIL\"}\r\n                    value={mail}\r\n                    name='mail'\r\n                    disabled={disabledEmail}\r\n                    onChange={handleChangeMail()}\r\n                    endAdornment={\r\n                        <InputAdornment position=\"start\">\r\n                            <IconButton onClick={handleEditEmail} size='small'>\r\n                                <EditIcon />\r\n                            </IconButton>\r\n                        </InputAdornment>\r\n                    }\r\n                />\r\n                <FormHelperText className={classes.errorText}>{error?.mail}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2}`} variant=\"standard\" style={{right: screen.sWidth < 768 ? '15px' :'10px', marginTop: '5px'}}>\r\n                <CustomizedInputs\r\n                    value={phone}\r\n                    label='TELEFONO'\r\n                    name='telefono'\r\n                    disabled={disabledPhone}\r\n                    onChange={handleChangeText()}\r\n                    endAdornment={\r\n                        <InputAdornment position=\"start\">\r\n                            <IconButton onClick={handleEditPhone} size='small'>\r\n                                <EditIcon />\r\n                            </IconButton>\r\n                        </InputAdornment>\r\n                    }\r\n                    onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                    inputProps={{ maxLength: 20 }}\r\n                />\r\n                <FormHelperText className={classes.errorText}>{error?.telefono}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.commentGrid}  ${classes.formControlChronicMedicationForm}`} variant=\"standard\" style={{ right: screen.sWidth < 768 ? '15px' : '10px', marginLeft: screen.sWidth < 768 ? '15px' : '-6px', }}>\r\n                <LineBreakInput\r\n                    name=\"consulta\"\r\n                    style={{ marginTop: \"25px\", marginLeft: \"-1px\" }}\r\n                    label={observationsLabel(screen)}\r\n                    placeholder='Escribe tu texto aqui'\r\n                    onChange={handleChangeObservations()}\r\n                    multiline\r\n                    rows={5}\r\n                    inputProps={{ maxLength: 2000 }}\r\n                />\r\n                <Typography variant=\"caption\" style={{ position: 'absolute', bottom: '-10px', right: screen.sWidth < 768 ? '45px' : '110px' }}>{counterLength}/2000</Typography>\r\n            </FormControl>\r\n            <div className={classes.itemGridAdjuntarArchivos}>\r\n                {listOfAttachmentButtons?.length === 0 ? \"\"\r\n                    :\r\n                    <>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase', fontSize: \"14px\", margin: \"0 auto\", padding: screen.sWidth <= 768 ? '5px 5px 5px 15px'  : '5px 5px 5px 5px'  }}>\r\n                            ADJUNTAR ARCHIVOS\r\n                        </Typography>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase', fontSize: \"10px\", color: \"#002858\", margin: \"0 auto\", padding: screen.sWidth <= 768 ? '5px 5px 5px 15px'  : '5px 5px 5px 5px'  }}>\r\n                            {`(TAMAÑO MAXIMO ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB)`}\r\n                        </Typography>\r\n                    </>\r\n                }\r\n                {listOfAttachmentButtons.map((item, i) => (\r\n                    <Fragment key={i}>\r\n                        <CustomButton\r\n                            name={item.adjuntoDescripcion}\r\n                            style={{ padding: '5px 5px 5px 5px', marginLeft: screen.sWidth <= 768 ? '15px' : '5px' }}\r\n                            title={`ADJUNTAR ${item.adjuntoDescripcion}`}\r\n                            icon={<AttachFileIcon />}\r\n                            customClass={`${classes.lightLinearGradient} ${classes.marginLeft}`}\r\n                            onClick={handleOpenModal(item.adjuntoDescripcion, item.adjuntoObligatorio, item.adjuntoClasificacion)}\r\n                            disabled={isDisabled(item.adjuntoDescripcion)}\r\n                        />\r\n                        {item.adjuntoObligatorio === 'S' &&\r\n                            <FormHelperText className={classes.errorText}>*Archivo obligatorio</FormHelperText>\r\n                        }\r\n                    </Fragment>\r\n                ))}\r\n                {files?.map((item, i) => (\r\n                    <p key={i} style={{ marginLeft: \"5%\" }} className={classes.txtSubtitleCalendar}>{item?.archivoNombre} <IconButton onClick={deleteFile(fileButtons, setFileButtons, setFiles, files, item?.btnNombre, item?.archivoNombre)}><HighlightOffIcon /></IconButton></p>\r\n                ))}\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm} ${classes.gridBtnEnviar}`}>\r\n                {\r\n                    <CustomButton\r\n                        disabled={showBtn(listOfAttachmentButtons, files, error)}\r\n                        customClass={classes.lightLinearGradient}\r\n                        style={{ padding: '5px 20px 5px 20px', marginBottom: \"20px\" ,marginRight: \"100px\", marginLeft: \"15px\"}}\r\n                        title='Enviar'\r\n                        type='button'\r\n                        onClick={handleSubmit}\r\n                    />\r\n                }\r\n            </div>\r\n            </div>\r\n\r\n            <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n            <UploadModal\r\n                title='Adjuntar archivo'\r\n                description=''\r\n                observation=''\r\n                open={openUploadModal}\r\n                onClose={setOpenUploadModal}\r\n                setModalTitle={setModalTitle}\r\n                setModalDescription={setModalDescription}\r\n                setModalIcon={setModalIcon}\r\n                setErrorClass={setErrorClass}\r\n                setOpenSendSuccess={setOpenSendSuccess}\r\n                setFiles={setFiles}\r\n                files={files}\r\n                fileButtons={fileButtons}\r\n                setFileButtons={setFileButtons}\r\n                itemName={nameOfItem}\r\n                isRequired={itemRequired}\r\n                archivoClasificacion={itemTipoArchivo}\r\n            />\r\n\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(GeneralProcedure, (prevProps, nextProps) => {\r\n    return prevProps.procedureCodeSelected === nextProps.procedureCodeSelected;\r\n}\r\n);\r\n\r\nfunction validateForm(object, setError) {\r\n    let temp = object;\r\n    let aux = {};\r\n    let validation = [];\r\n    let Obj = {};\r\n    Obj.tramiteCodigo = temp.tramiteCodigo >= 0 ? '' : '*Campo obligatorio';\r\n    Obj.subTramiteCodigo = temp.subTramiteCodigo >= 0 ? '' : '*Campo obligatorio';\r\n    Obj.mail = temp.mail ? '' : '*Campo obligatorio';\r\n    Obj.telefono = temp.telefono !== \"\" ? '' : '*Campo obligatorio';\r\n    aux = Obj;\r\n    if (Object.values(aux).every((x) => x === \"\")) {\r\n        validation.push(true);\r\n    } else {\r\n        validation.push(false);\r\n    }\r\n    setError(aux);\r\n    return Object.values(validation).every((valid) => valid === true);\r\n}","import { useEffect, useState, Fragment } from 'react';\r\nimport { FormControl, FormHelperText, FormControlLabel, Checkbox, InputLabel, TextField, Typography, InputAdornment, IconButton, CircularProgress } from \"@material-ui/core\";\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { getDataAffiliatesBaja, getMotivosBaja, getSolicitudBaja, getFile, postRequestLow } from '../../../redux/actions/procedureActions';\r\nimport { LocalizationProvider, MobileDatePicker } from '@material-ui/lab';\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport CustomizedInputs from '../../../controls/InputCustom/CustomizedInputs';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport UploadModal from \"../../../controls/UploadModal/UploadModal\";\r\nimport { deleteFile, handleChangeMail, isDisabled, validate, validateFiles, validateData, validateDate, messageModalFunction, showBtn } from \"../../../utils/utilsFunctions\";\r\nimport ConfirmModal from '../ConfirmModal';\r\nimport SaveModal from '../SaveModal';\r\nimport { es } from \"date-fns/locale\";\r\n\r\nconst UnsubscribeMember = (props) => {\r\n    const { listOfAttachmentButtons, processSelected, permission } = props;\r\n    const date = new Date();\r\n    const data = useSelector(state => state.procedureReducer);\r\n    const [withdrawalReason, setWithdrawalReason] = useState([]);\r\n    const [reasonSelected, setReasonSelected] = useState('');\r\n    const [dateLow, setDateLow] = useState(new Date(date.getFullYear(), date.getMonth() + 1, 0));\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const [mail, setMail] = useState(\"\");\r\n    const [phone, setPhone] = useState(\"\");\r\n    const [mailError, setMailError] = useState('');\r\n    const dispatch = useDispatch();\r\n    const [disabledEmail, setDisabledEmail] = useState(true);\r\n    const [showPermanente, setShowPermanente] = useState(false);\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [emailChecked, selEmailChecked] = useState(false);\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [query, setQuery] = useState(\"\");\r\n    const [disabledPhone, setDisabledPhone] = useState(true);\r\n    const [files, setFiles] = useState([]);\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [openUploadModal, setOpenUploadModal] = useState(false);\r\n    const [nameOfItem, setItemName] = useState('');\r\n    const [itemRequired, setItemRequired] = useState('');\r\n    const [openSendData, setOpenSendData] = useState(false);\r\n    const [familyGroup, setFamilyGroup] = useState([]);\r\n    const [memberSelected, setMemberSelected] = useState([]);\r\n    const postProcedureSelector = useSelector(state => state.procedureReducer.postRequest);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n\r\n    const classes = useStyles();\r\n\r\n    const parameter = { numeroPersona: window.localStorage.getItem(\"numeroPersona\") };\r\n\r\n    const MotivosBaja = [\r\n        {\r\n            MotivoBajaCodigo: \"baj\",\r\n            MotivoBajaDescripcion: \"Motivo 1\",\r\n            MotivoBajaObservacion: \"Observacion\",\r\n        }, {\r\n            MotivoBajaCodigo: \"baj\",\r\n            MotivoBajaDescripcion: \"Motivo 2\",\r\n            MotivoBajaObservacion: \"Observacion\",\r\n        }, {\r\n            MotivoBajaCodigo: \"baj\",\r\n            MotivoBajaDescripcion: \"Motivo 3\",\r\n            MotivoBajaObservacion: \"Observacion\",\r\n        }, {\r\n            MotivoBajaCodigo: \"baj\",\r\n            MotivoBajaDescripcion: \"Motivo 4\",\r\n            MotivoBajaObservacion: \"Observacion\",\r\n        }\r\n    ];\r\n\r\n    const handleChangeSelectMotive = (e) => {\r\n        const { name, value } = e.target;\r\n        setReasonSelected(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleEditEmail = () => {\r\n        setDisabledEmail(prevState => !prevState);\r\n    };\r\n\r\n    const handleEditPhone = () => {\r\n        setDisabledPhone(prevState => !prevState);\r\n    };\r\n\r\n    const handleCheck = (e) => {\r\n        e.preventDefault();\r\n        if (!emailChecked) {\r\n            setModalTitle('SE HA MODIFICADO EL MAIL CORRECTAMENTE');\r\n            setModalDescription(`Este cambio se realizará en el e-mail particular.`);\r\n            setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass('');\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        selEmailChecked(prevState => !prevState);\r\n    };\r\n    const [error, setError] = useState({\r\n        reasonSelected: '',\r\n        mail: '',\r\n        phone: ''\r\n    });\r\n\r\n    const handleChangePhone = (e) => {\r\n        const { name, value } = e.target;\r\n        setPhone(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleOpenModal = (itemName, fileRequired) => (e) => {\r\n        e.preventDefault();\r\n        setOpenUploadModal(prevState => !prevState);\r\n        setItemName(itemName);\r\n        setItemRequired(fileRequired);\r\n    };\r\n\r\n    const dowloadFile = (codigo) => {\r\n        dispatch(getFile(codigo));\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        validateSubmitFunction({\r\n            listOfAttachmentButtons, files, date, dateLow, error, reasonSelected, setError,\r\n            processSelected, memberSelected, mail, showPermanente, phone, query,\r\n            setModalTitle, setModalDescription, setModalIcon, setErrorClass, setOpenSendSuccess, dispatch, setOpenSendData\r\n        });\r\n    };\r\n\r\n    const handleChangeSelectMember = (e) => {\r\n        const { value } = e.target;\r\n        setMemberSelected(value);\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getDataAffiliatesBaja(parameter));\r\n        dispatch(getMotivosBaja());\r\n        dispatch(getSolicitudBaja());\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let auxFamilyGroup = data?.dataAffiliates?.items?.map(item => {\r\n            return { value: item.itemCodigo, label: item.itemDescripcion };\r\n        });\r\n        if (auxFamilyGroup !== undefined) {\r\n            setFamilyGroup(auxFamilyGroup);\r\n            setMemberSelected(auxFamilyGroup[0]?.value);\r\n        }\r\n    }, [data?.dataAffiliates?.items]);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(memberSelected).length > 0) {\r\n            dispatch(getDataAffiliatesBaja(memberSelected));\r\n            let auxMember = data?.dataAffiliates?.afiliados?.filter(x => x.numeroPersona == Number.parseInt(memberSelected));\r\n            setPhone(auxMember[0]?.telefono);\r\n            setMail(auxMember[0]?.mail);\r\n        }\r\n    }, [memberSelected]);\r\n\r\n    useEffect(() => {\r\n        if (data.file != null && data.file.result) {\r\n            var a = document.createElement(\"a\"); //Create <a>\r\n            a.href = \"data:image/png;base64,\" + data.file.base64; //Image Base64 Goes here\r\n            a.download = \"Image.png\"; //File name Here\r\n            a.click(); //Downloaded file\r\n        }\r\n    }, [data.file]);\r\n\r\n    useEffect(() => {\r\n        setWithdrawalReasonFunction(data, setWithdrawalReason, MotivosBaja);\r\n    }, [data.withdrawalReason]);\r\n\r\n    useEffect(() => {\r\n        messageModalFunction(\r\n            postProcedureSelector, setModalTitle,\r\n            setModalDescription,\r\n            setModalIcon,\r\n            setErrorClass,\r\n            classes,\r\n            setOpenSendSuccess,\r\n            mail\r\n        );\r\n\r\n        return (() => {\r\n            if (postProcedureSelector?.confirmacion) {\r\n                setModalTitle('');\r\n                setModalDescription('');\r\n                setModalIcon('');\r\n                setErrorClass('');\r\n                setTimeout(() => {\r\n                    window.location.replace('/PersonalData');\r\n                }, 4000);\r\n            }\r\n        });\r\n    }, [postProcedureSelector]);\r\n\r\n    return (\r\n        <>\r\n            {permission ?\r\n                <>\r\n                    <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                        <CustomSelect\r\n                            name='familyGroup'\r\n                            label='GRUPO FAMILIAR'\r\n                            list={familyGroup}\r\n                            selected={memberSelected}\r\n                            onChange={handleChangeSelectMember}\r\n                        />\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan1}`} variant=\"standard\">\r\n\r\n                        <CustomSelect\r\n                            name='withdrawalReason'\r\n                            label='MOTIVO DE BAJA'\r\n                            list={withdrawalReason}\r\n                            selected={reasonSelected}\r\n                            onChange={handleChangeSelectMotive}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.reasonSelected}</FormHelperText>\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlDatePicker} ${classes.itemGridSpan1}`} >\r\n                        <FormControl className={classes.formControl}>\r\n                            <InputLabel\r\n                                style={{ top: \"15px\" }}\r\n                                className={`${classes.inputLabelSelectForms} ${props.inputLabelClass}`}\r\n                                shrink htmlFor=\"bootstrap-input\"\r\n                            >\r\n                                {\"FECHA DE LA BAJA\"}\r\n                            </InputLabel>\r\n                            <div style={{ marginTop: \"30px\" }} className={classes.top22}>\r\n                                <LocalizationProvider\r\n                                    locale={es}\r\n                                    dateAdapter={AdapterDateFns}\r\n                                >\r\n                                    <MobileDatePicker\r\n                                        cancelText=\"Cancelar\"\r\n                                        toolbarTitle=\"\"\r\n                                        format=\"dd/MM/YYYY\"\r\n                                        value={dateLow}\r\n                                        shouldDisableDate={(dateRes) => dateRes < new Date(dateRes.getFullYear(), dateRes.getMonth() + 1, 0)}\r\n                                        disablePast={true}\r\n                                        onChange={(newValue) => { setDateLow(newValue); }}\r\n                                        renderInput={(params) => <TextField {...params} />}\r\n                                    />\r\n                                    {<FormHelperText className={classes.errorText}>{\"La fecha debe ser cada final de mes\"}</FormHelperText>}\r\n                                </LocalizationProvider>\r\n                            </div>\r\n                        </FormControl>\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                        <CustomizedInputs\r\n                            value={mail?.trimEnd()}\r\n                            name='mail'\r\n                            label='E-MAIL'\r\n                            disabled={disabledEmail}\r\n                            onChange={handleChangeMail(setMail, setMailError, setError, error, setShowPermanente, fullPersonalData?.fullData?.afiliado?.mails?.filter(z => z.mailTipoCodigo == 1)[0]?.mail)}\r\n                            endAdornment={\r\n                                <InputAdornment position=\"start\">\r\n                                    <IconButton onClick={handleEditEmail} size='small'>\r\n                                        <EditIcon />\r\n                                    </IconButton>\r\n                                </InputAdornment>\r\n                            }\r\n\r\n                        />\r\n                        {showPermanente &&\r\n                            <FormControlLabel style={{ paddingLeft: '5%', fontSize: '11px' }}\r\n                                control={\r\n                                    <Checkbox checked={emailChecked} onClick={handleCheck} color='primary' />}\r\n                                label=\"¿E-MAIL PERMANENTE?\" />\r\n                        }\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.mail}</FormHelperText>\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{mailError}</FormHelperText>\r\n                    </FormControl>\r\n\r\n                    <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                        <CustomizedInputs\r\n                            value={`${phone}`}\r\n                            label='TELEFONO'\r\n                            name='phone'\r\n                            disabled={disabledPhone}\r\n                            onChange={handleChangePhone}\r\n                            endAdornment={\r\n                                <InputAdornment position=\"start\">\r\n                                    <IconButton onClick={handleEditPhone}>\r\n                                        <EditIcon />\r\n                                    </IconButton>\r\n                                </InputAdornment>\r\n                            }\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: 20 }}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.phone}</FormHelperText>\r\n\r\n\r\n                    </FormControl>\r\n                    <FormControl className={classes.commentGrid} variant=\"standard\">\r\n                        <CustomizedInputs\r\n                            name=\"consulta\"\r\n                            label='COMENTARIOS'\r\n                            placeholder='Escribe tu texto aqui'\r\n                            multiline\r\n                            rows={5}\r\n                            inputProps={{ maxLength: 2000 }}\r\n                            onChange={(e) => { setQuery(e.target.value); }}\r\n                            value={query}\r\n                        />\r\n                    </FormControl>\r\n\r\n                    <section className={classes.itemGridAdjuntarArchivos}>\r\n                        <Typography style={{ flex: '1 1 100%', justifyContent: 'center' }} className={`${classes.txtObservaciones} ${classes.txtSubtitle}`}>ADJUNTAR ARCHIVOS</Typography>\r\n                        <span style={{ flex: '1 1 100%', fontSize: '10px', display: 'flex' }}>\r\n                            {`(TAMAÑO MAXIMO ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB)`}\r\n                        </span>\r\n                        {listOfAttachmentButtons?.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                <CustomButton\r\n                                    name={item.adjuntoDescripcion}\r\n                                    style={{ padding: '5px 15px 5px 5px' }}\r\n                                    title={`ADJUNTAR ${item.adjuntoDescripcion}`}\r\n                                    icon={<AttachFileIcon />}\r\n                                    customClass={`${classes.lightLinearGradientReverse} ${classes.marginLeft}`}\r\n                                    onClick={handleOpenModal(item.adjuntoDescripcion, item.adjuntoObligatorio)}\r\n                                    disabled={isDisabled(fileButtons, item.adjuntoDescripcion)}\r\n                                />\r\n                                {item.adjuntoModelo != '' &&\r\n                                    <IconButton\r\n                                    href={`${configurationReduxState?.filter(x => x?.archivoNombre === item?.adjuntoModelo)?.[0]?.valor}`}\r\n                                        target={\"_blank\"}\r\n                                        rel={\"noopener noreferrer\"}>\r\n                                        <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                            descargar Modelo\r\n                                        </Typography>\r\n                                    </IconButton>\r\n                                }\r\n                                {item.adjuntoInstructivo != '' &&\r\n                                    <IconButton onClick={() => { dowloadFile(item.adjuntoInstructivo); }}>\r\n                                        <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                            descargar Instructivo\r\n                                        </Typography>\r\n                                    </IconButton>\r\n                                }\r\n                                {item.adjuntoObligatorio === 'S' &&\r\n                                    <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>*Archivo obligatorio</FormHelperText>\r\n                                }\r\n                            </Fragment>\r\n                        ))}\r\n                        {files?.map((item, i) => (\r\n                            <p key={i} style={{ marginLeft: \"5%\" }} className={classes.txtSubtitleCalendar}>{item?.archivoNombre} <IconButton onClick={deleteFile(fileButtons, setFileButtons, setFiles, files, item?.btnNombre, item?.archivoNombre)}><HighlightOffIcon /></IconButton></p>\r\n                        ))}\r\n                    </section>\r\n\r\n\r\n                    <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                        titleModal={\r\n                            <>\r\n                                <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    {modalIcon}\r\n                                </div>\r\n                                <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    {modalTitle}\r\n                                </div>\r\n                            </>\r\n                        }\r\n                        description={modalDescription} />\r\n                    <div className={classes.width100}>\r\n                        <UploadModal\r\n                            className={classes.width100}\r\n                            title='Adjuntar archivo'\r\n                            description=''\r\n                            observation=''\r\n                            open={openUploadModal}\r\n                            onClose={setOpenUploadModal}\r\n                            setModalTitle={setModalTitle}\r\n                            setModalDescription={setModalDescription}\r\n                            setModalIcon={setModalIcon}\r\n                            setErrorClass={setErrorClass}\r\n                            setOpenSendSuccess={setOpenSendSuccess}\r\n                            setFiles={setFiles}\r\n                            files={files}\r\n                            fileButtons={fileButtons}\r\n                            setFileButtons={setFileButtons}\r\n                            itemName={nameOfItem}\r\n                            isRequired={itemRequired}\r\n                        />\r\n                        <SaveModal isOpen={openSendData} setOpen={setOpenSendData} onClick={handleSubmit} modalRegister={false} type='submit'\r\n                            titleModal={\r\n                                <>\r\n                                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                        <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                                    </div>\r\n                                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                        ¿Desea enviar los datos?\r\n                                    </div>\r\n                                </>\r\n                            }\r\n                            descriptionModal=\"\"\r\n                        />\r\n                    </div>\r\n                    <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                        <CustomButton\r\n                            disabled={showBtn(listOfAttachmentButtons, files, error, reasonSelected)}\r\n                            customClass={classes.lightLinearGradient}\r\n                            style={{ padding: '5px 20px 5px 20px' }}\r\n                            title='Enviar'\r\n                            type='button'\r\n                            onClick={() => setOpenSendData(prevState => !prevState)} />\r\n                    </div>\r\n                </>\r\n                :\r\n                <FormHelperText className={classes.errorText}>{\"La facturacion del titular es por empresa. por favor consultá con tu empresa\"}</FormHelperText>}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default UnsubscribeMember;\r\n\r\n\r\nfunction validateSelect(valueName, setError, error) {\r\n    let response = false;\r\n    if (Object.values(valueName).length > 0) {\r\n        response = true;\r\n    }\r\n    if (!response) {\r\n        setError({ ...error, \"reasonSelected\": '*Campo obligatorio' });\r\n    }\r\n    return response;\r\n}\r\n\r\nfunction setWithdrawalReasonFunction(data, setWithdrawalReason, MotivosBaja) {\r\n    if (data?.lowMotives != null) {\r\n        setDataOfWS(data?.lowMotives?.motivosBaja, MotivosBaja, setWithdrawalReason, 'motivoBajaCodigo', 'motivoBajaDescripcion');\r\n    }\r\n}\r\n\r\n\r\nfunction setDataOfWS(wsList, hardcodeList, setter, nameValue, nameLabel) {\r\n    let auxReason = [];\r\n    let auxList = [];\r\n    if (wsList?.length === 0) {\r\n        auxList = hardcodeList;\r\n    } else {\r\n        auxList = wsList;\r\n    }\r\n    auxList?.forEach(item => {\r\n        let auxObj = {\r\n            value: item[nameValue],\r\n            label: item[nameLabel]\r\n        };\r\n        auxReason.push(auxObj);\r\n    });\r\n    setter(auxReason);\r\n}\r\n\r\nfunction validateSubmitFunction(props) {\r\n    const { listOfAttachmentButtons, files, date, dateLow, error, reasonSelected, setError,\r\n        processSelected, memberSelected, mail, showPermanente, phone, query,\r\n        setModalTitle, setModalDescription, setModalIcon, setErrorClass, setOpenSendSuccess, dispatch, setOpenSendData } = props;\r\n    if (validateFiles(listOfAttachmentButtons, files)) {\r\n        let filesToSend = files.map((item) => {\r\n            delete (item['btnNombre']);\r\n            delete (item[\"adjuntoObligatorio\"]);\r\n            return item;\r\n        });\r\n        if (validateDate(date, dateLow) && validateData(error) && validateSelect(reasonSelected, setError, error)) {\r\n            let parametro = {\r\n                NumeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                SolicitudBajaCodigo: processSelected,\r\n                NumeroPersonaBaja: memberSelected,\r\n                SolicitudBajaFecha: dateLow.toISOString(),\r\n                MotivoBajaCodigo: reasonSelected,\r\n                Mail: mail,\r\n                MailModificar: showPermanente ? \"S\" : \"N\",\r\n                Telefono: phone,\r\n                Consulta: query,\r\n                Adjuntos: JSON.stringify(filesToSend)\r\n            };\r\n            let circularProgress = (<div style={{ display: 'flex', justifyContent: 'center' }}><CircularProgress color=\"inherit\" /></div>);\r\n            setModalTitle('INICIANDO GESTION');\r\n            setModalDescription(circularProgress);\r\n            setModalIcon('');\r\n            setErrorClass('');\r\n            setOpenSendSuccess(prevState => !prevState);\r\n            setOpenSendData(false);\r\n            dispatch(postRequestLow(parametro));\r\n        }\r\n    }\r\n}","export const setearMail=(item, setMail) => {\r\n    if(item.mailTipoCodigo == 1 ){\r\n        setMail(item.mail)\r\n    }\r\n}\r\n\r\nexport const existFile=(data)=>{\r\n    return (data.file != null && data.file.result)\r\n }\r\n\r\n \r\n export const verifyMail=(showPermanente)=>{\r\n     return showPermanente ? \"S\" : \"N\"\r\n }\r\n\r\n\r\n export const setAttachment=(newFiles, setistOfAttachmentButtons, Adjuntos )=>{\r\n    if(newFiles == undefined){\r\n        setistOfAttachmentButtons(Adjuntos);\r\n    }else{\r\n        setistOfAttachmentButtons(newFiles?.adjuntos);\r\n    }\r\n}\r\n\r\nexport const validationDate=(dateLow, date)=>{\r\n    let today= new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n        today.setHours(0,0,0,0);\r\n        dateLow.setHours(0,0,0,0);\r\n        if (dateLow.getTime() >= today.getTime()) {\r\n           return '';\r\n        } else {\r\n            return \"La fecha debe ser mayor a la fecha actual\";\r\n        }\r\n}","import { useEffect, useState, Fragment } from 'react';\r\nimport { FormControl, FormHelperText, FormControlLabel, Checkbox, InputLabel, TextField, Typography, InputAdornment, IconButton, CircularProgress } from \"@material-ui/core\";\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { getDataAffiliatesBaja, getMotivosBaja, getSolicitudBaja, getFile, postRequestLow, cleanPostProcedureSelector } from '../../../redux/actions/procedureActions';\r\nimport { LocalizationProvider, MobileDatePicker } from '@material-ui/lab';\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport CustomizedInputs from '../../../controls/InputCustom/CustomizedInputs';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport UploadModal from \"../../../controls/UploadModal/UploadModal\";\r\nimport { deleteFile, handleChangeMail, isDisabled, validate, validateFiles, validateData, messageModalFunction, showBtn } from \"../../../utils/utilsFunctions\";\r\nimport ConfirmModal from '../ConfirmModal';\r\nimport UnsubscribeMember from './UnsubscribeMember';\r\nimport { setearMail, existFile, verifyMail, setAttachment, validationDate } from './functionShared';\r\nimport { es } from \"date-fns/locale\";\r\n\r\n\r\nconst Unsubscribe = (props) => {\r\n    const today = new Date();\r\n    const data = useSelector(state => state.procedureReducer);\r\n    const [ProcessSelected, setProcessSelected] = useState('');\r\n    const [listSubTramite, setListSubTramite] = useState([]);\r\n    const [lowMotives, setLowMotives] = useState([]);\r\n    const [motiveSelected, setMotiveSelected] = useState('');\r\n    const [dateLow, setDateLow] = useState(new Date(today.getFullYear(), today.getMonth() + 1, 0));\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const [phone, setPhone] = useState(\"\");\r\n    const [mail, setMail] = useState(\"\");\r\n    const [mailError, setMailError] = useState('');\r\n    const dispatch = useDispatch();\r\n    const [disabledPhone, setDisabledPhone] = useState(true);\r\n    const [disabledEmail, setDisabledEmail] = useState(true);\r\n    const [emailChecked, selEmailChecked] = useState(false);\r\n    const [showPermanente, setShowPermanente] = useState(false);\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [query, setQuery] = useState(\"\");\r\n    const [listOfAttachmentButtons, setistOfAttachmentButtons] = useState([]);\r\n    const [files, setFiles] = useState([]);\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [openUploadModal, setOpenUploadModal] = useState(false);\r\n    const [nameOfItem, setItemName] = useState('');\r\n    const [itemRequired, setItemRequired] = useState('');\r\n    const postProcedureSelector = useSelector(state => state.procedureReducer.postRequest);\r\n    const [itemClasificacion, setItemClasificacion] = useState(0);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n\r\n    const CODIGO_BAJA_FAMILIAR = 2;\r\n    const classes = useStyles();\r\n\r\n    const parameter = { numeroPersona: window.localStorage.getItem(\"numeroPersona\") };\r\n    const Tramites = [\r\n        {\r\n            solicitudBajaCodigo: 1,\r\n            solicitudBajaDescripcion: \"Baja del titular y su grupo familiar\"\r\n        }, {\r\n            solicitudBajaCodigo: 2,\r\n            solicitudBajaDescripcion: \"Baja de familiar\"\r\n        }\r\n    ];\r\n\r\n    const MotivosBaja = [\r\n        {\r\n            MotivoBajaCodigo: \"baj\",\r\n            MotivoBajaDescripcion: \"Motivo 1\",\r\n            MotivoBajaObservacion: \"Observacion\",\r\n        }, {\r\n            MotivoBajaCodigo: \"baj\",\r\n            MotivoBajaDescripcion: \"Motivo 2\",\r\n            MotivoBajaObservacion: \"Observacion\",\r\n        }, {\r\n            MotivoBajaCodigo: \"baj\",\r\n            MotivoBajaDescripcion: \"Motivo 3\",\r\n            MotivoBajaObservacion: \"Observacion\",\r\n        }, {\r\n            MotivoBajaCodigo: \"baj\",\r\n            MotivoBajaDescripcion: \"Motivo 4\",\r\n            MotivoBajaObservacion: \"Observacion\",\r\n        }\r\n    ];\r\n\r\n    const Adjuntos = [\r\n        {\r\n            adjuntoDescripcion: 'DNI FRENTE',\r\n            adjuntoClasificacion: '',\r\n            adjuntoModelo: 'ModeloCodigo',\r\n            adjuntoInstructivo: 'InstructivoCodigo',\r\n            adjuntoObligatorio: 'N'\r\n        }\r\n    ];\r\n\r\n    const handleChangeSelectProcedure = () => e => {\r\n        const { name, value } = e.target;\r\n        setProcessSelected(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n        getListOfFiles(value);\r\n        setFiles([]);\r\n        setFileButtons([]);\r\n        dispatch(cleanPostProcedureSelector());\r\n    };\r\n\r\n    const getListOfFiles = (value) => {\r\n        let newFiles = data?.procedures?.tramites?.filter((x) => x.tramiteCodigo == value)[0];\r\n        if (newFiles !== undefined) {\r\n            setAttachment(newFiles?.subTramites?.filter((x) => x.subTramiteCodigo === value)[0], setistOfAttachmentButtons, Adjuntos);\r\n        }\r\n    };\r\n\r\n    const handleChangeSelectMotive = () => e => {\r\n        const { name, value } = e.target;\r\n        setMotiveSelected(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getDataAffiliatesBaja(parameter));\r\n        dispatch(getMotivosBaja());\r\n        dispatch(getSolicitudBaja());\r\n        let tel = fullPersonalData?.fullData?.afiliado?.telefonos[0]?.telefono;\r\n        setPhone(tel);\r\n        fullPersonalData?.fullData?.afiliado?.mails?.forEach((item) => {\r\n            setearMail(item, setMail);\r\n        });\r\n        setProcessSelected(1);\r\n        return (() => {\r\n            dispatch(cleanPostProcedureSelector());\r\n        });\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        getListOfFiles(1);\r\n    }, [data?.requestLow]);\r\n\r\n    useEffect(() => {\r\n        setearLowMotives(data, setLowMotives, MotivosBaja);\r\n    }, [data.lowMotives]);\r\n\r\n    useEffect(() => {\r\n        setearRequestLow(data, setListSubTramite, Tramites);\r\n    }, [data?.requestLow]);\r\n\r\n    const handleChangePhone = () => e => {\r\n        const { name, value } = e.target;\r\n        setPhone(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (existFile(data)) {\r\n            var a = document.createElement(\"a\"); //Create <a>\r\n            a.href = \"data:image/png;base64,\" + data.file.base64; //Image Base64 Goes here\r\n            a.download = \"Image.png\"; //File name Here\r\n            a.click(); //Downloaded file\r\n        }\r\n    }, [data.file]);\r\n\r\n    const handleCheck = (e) => {\r\n        e.preventDefault();\r\n        if (!emailChecked) {\r\n            setModalTitle('SE HA MODIFICADO EL MAIL CORRECTAMENTE');\r\n            setModalDescription(`Este cambio se realizará en el e-mail particular.`);\r\n            setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass('');\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        selEmailChecked(prevState => !prevState);\r\n    };\r\n\r\n    const handleEditEmail = () => {\r\n        setDisabledEmail(prevState => !prevState);\r\n    };\r\n\r\n    const handleEditPhone = () => {\r\n        setDisabledPhone(prevState => !prevState);\r\n    };\r\n\r\n    const [error, setError] = useState({\r\n        lowMotive: '',\r\n        subProcedure: '',\r\n        date: '',\r\n        mail: '',\r\n        phone: ''\r\n    });\r\n\r\n    const handleOpenModal = (itemName, fileRequired, clasificacion) => (e) => {\r\n        e.preventDefault();\r\n        setOpenUploadModal(prevState => !prevState);\r\n        setItemName(itemName);\r\n        setItemRequired(fileRequired);\r\n        setItemClasificacion(clasificacion);\r\n    };\r\n\r\n    const dowloadFile = (codigo) => {\r\n        dispatch(getFile(codigo));\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (validateFiles(listOfAttachmentButtons, files)) {\r\n            let filesToSend = files.map((item) => {\r\n                delete (item['btnNombre']);\r\n                delete (item[\"adjuntoObligatorio\"]);\r\n                return item;\r\n            });\r\n            let parametro = {\r\n                NumeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                SolicitudBajaCodigo: ProcessSelected,\r\n                NumeroPersonaBaja: \"\",\r\n                SolicitudBajaFecha: dateLow.toISOString(),\r\n                MotivoBajaCodigo: motiveSelected,\r\n                Mail: mail,\r\n                MailModificar: verifyMail(showPermanente),\r\n                Telefono: phone,\r\n                Consulta: query,\r\n                Adjuntos: JSON.stringify(filesToSend)\r\n            };\r\n            let newError = validationSelect(parametro, dateLow, today);\r\n            setError(newError);\r\n            if (validateData(newError)) {\r\n                let circularProgress = (<div style={{ display: 'flex', justifyContent: 'center' }}><CircularProgress color=\"inherit\" /></div>);\r\n                setModalTitle('INICIANDO GESTION');\r\n                setModalDescription(circularProgress);\r\n                setModalIcon('');\r\n                setErrorClass('');\r\n                setOpenSendSuccess(prevState => !prevState);\r\n                dispatch(postRequestLow(parametro));\r\n            }\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        messageModalFunction(\r\n            postProcedureSelector, setModalTitle,\r\n            setModalDescription,\r\n            setModalIcon,\r\n            setErrorClass,\r\n            classes,\r\n            setOpenSendSuccess,\r\n            mail\r\n        );\r\n\r\n        return (() => {\r\n            if (postProcedureSelector?.confirmacion) {\r\n                setModalTitle('');\r\n                setModalDescription('');\r\n                setModalIcon('');\r\n                setErrorClass('');\r\n                setTimeout(() => {\r\n                    window.location.replace('/PersonalData');\r\n                }, 4000);\r\n            }\r\n        });\r\n    }, [postProcedureSelector]);\r\n\r\n    function UnsubscribeForm() {\r\n        return <>\r\n            {ProcessSelected == CODIGO_BAJA_FAMILIAR ?\r\n                <UnsubscribeMember listOfAttachmentButtons={listOfAttachmentButtons} processSelected={ProcessSelected} permission={props.permission} />\r\n                :\r\n                unsubscribeBajaTitular()} </>;\r\n\r\n    }\r\n\r\n    const unsubscribeBajaTitular = () => {\r\n        return <>\r\n            <FormControl style={{ marginTop: \"20px\", marginBottom: \"20px\" }} className={`${classes.formControlsAffiliations} ${classes.divFamily} ${classes.itemGridSpan2}`} variant=\"standard\">\r\n                {data.dataAffiliates?.items?.map((item) => (\r\n                    item.itemCodigo == data.dataAffiliates?.afiliados[0]?.numeroTitular &&\r\n                    <div classsName={`${classes.iconsCards} `}>\r\n                        <Typography className={`${classes.txtLabelTramites} ${classes.txtEllipsis}`}>TITULAR</Typography>\r\n                        <Typography className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis} ${classes.left10}`}>{item.itemDescripcion}</Typography>\r\n                    </div>\r\n                ))}\r\n            </FormControl>\r\n            <FormControl style={{ marginTop: \"20px\", marginBottom: \"20px\" }} className={`${classes.formControlsAffiliations} ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                <div classsName={`${classes.iconsCards} `}>\r\n                    <Typography className={`${classes.txtLabelTramites} ${classes.txtEllipsis}`}>GRUPO FAMILIAR</Typography>\r\n\r\n                    {data.dataAffiliates?.items?.map((item) => (\r\n                        item.itemCodigo != data.dataAffiliates?.afiliados[0]?.numeroTitular &&\r\n                        <Typography className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis} ${classes.left10}`}>{item.itemDescripcion}</Typography>\r\n                    ))\r\n                    }\r\n                </div>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlCustomSelect}  ${classes.itemGridSpan1}`} variant=\"standard\">\r\n                <CustomSelect\r\n                    name='lowMotive'\r\n                    label='MOTIVO DE BAJA'\r\n                    list={lowMotives}\r\n                    selected={motiveSelected}\r\n                    onChange={handleChangeSelectMotive()}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.lowMotive}</FormHelperText>\r\n\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlDatePicker} ${classes.itemGridSpan1}`} >\r\n                <FormControl className={classes.formControl}>\r\n                    <InputLabel style={{ top: \"15px\" }} className={`${classes.inputLabelSelectForms} ${props.inputLabelClass}`} shrink htmlFor=\"bootstrap-input\">\r\n                        {\"FECHA DE LA BAJA\"}\r\n                    </InputLabel>\r\n                    <div style={{ marginTop: \"30px\" }} className={classes.top22}>\r\n                        <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}  >\r\n                            <MobileDatePicker\r\n                                cancelText=\"Cancelar\"\r\n                                toolbarTitle=\"\"\r\n                                format=\"dd/MM/YYYY\"\r\n                                value={dateLow}\r\n                                shouldDisableDate={(date) => date < new Date(date.getFullYear(), date.getMonth() + 1, 0)}\r\n                                disablePast={true}\r\n                                onChange={(newValue) => { setDateLow(newValue); }}\r\n                                renderInput={(params) => <TextField {...params} />}\r\n                            />\r\n                            {<FormHelperText className={classes.errorText}>{\"La fecha debe ser cada final de mes\"}</FormHelperText>}\r\n                            {<FormHelperText className={classes.errorText}>{error?.date}</FormHelperText>}\r\n\r\n                        </LocalizationProvider>\r\n\r\n                    </div>\r\n                </FormControl>\r\n\r\n            </FormControl>\r\n\r\n\r\n            <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                <CustomizedInputs\r\n                    value={mail}\r\n                    name='mail'\r\n                    label='E-MAIL'\r\n                    disabled={disabledEmail}\r\n                    onChange={handleChangeMail(setMail, setMailError, setError, error, setShowPermanente, fullPersonalData?.fullData?.afiliado?.mails?.filter(z => z.mailTipoCodigo == 1)[0]?.mail)}\r\n                    endAdornment={\r\n                        <InputAdornment position=\"start\">\r\n                            <IconButton onClick={handleEditEmail} size='small'>\r\n                                <EditIcon />\r\n                            </IconButton>\r\n                        </InputAdornment>\r\n                    }\r\n\r\n                />\r\n                {showPermanente &&\r\n                    <FormControlLabel style={{ paddingLeft: '5%', fontSize: '11px' }} control={<Checkbox checked={emailChecked} onClick={handleCheck} color='primary' />} label=\"¿E-MAIL PERMANENTE?\" />\r\n                }\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.mail}</FormHelperText>\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{mailError}</FormHelperText>\r\n            </FormControl>\r\n\r\n            <FormControl\r\n                className={`${classes.formControlAddress} ${classes.itemGridSpan2} `}\r\n                variant=\"standard\"\r\n            >\r\n                <CustomizedInputs\r\n                    label='TELEFONO'\r\n                    value={`${phone}`}\r\n                    name='phone'\r\n                    disabled={disabledPhone}\r\n                    onChange={handleChangePhone()}\r\n                    endAdornment={\r\n                        <InputAdornment\r\n                            position=\"start\"\r\n                        >\r\n                            <IconButton\r\n                                onClick={handleEditPhone} size= 'small'\r\n                            >\r\n                                <EditIcon />\r\n                            </IconButton>\r\n                        </InputAdornment>\r\n                    }\r\n                    onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                    inputProps={{ maxLength: 20 }}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.phone}</FormHelperText>\r\n\r\n\r\n            </FormControl>\r\n            <FormControl className={classes.commentGrid} variant=\"standard\">\r\n                <CustomizedInputs\r\n                    name=\"consulta\"\r\n                    inputProps={{ maxLength: 2000 }}\r\n                    label='OBSERVACIONES'\r\n                    defaultValue={query}\r\n                    placeholder='Escribe tu texto aqui'\r\n                    multiline\r\n                    rows={5}\r\n                    onChange={(e) => { setQuery(e.target.value); }}\r\n                />\r\n            </FormControl>\r\n\r\n            <section className={classes.itemGridAdjuntarArchivos} >\r\n                <div style={{ width: '250px' }}>\r\n                    <Typography style={{ flex: '1 1 100%', justifyContent: 'center' }} className={`${classes.txtObservaciones} ${classes.txtSubtitle}`}>ADJUNTAR ARCHIVOS</Typography>\r\n                    <span style={{ flex: '1 1 100%', fontSize: '10px', display: 'flex' }}>\r\n                        {`(TAMAÑO MAXIMO ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB)`}\r\n                    </span>\r\n                    {listOfAttachmentButtons?.map((item, i) => (\r\n                        <Fragment key={i}>\r\n                            <CustomButton\r\n                                name={item.adjuntoDescripcion}\r\n                                style={{ padding: '5px 15px 5px 5px' }}\r\n                                title={`ADJUNTAR ${item.adjuntoDescripcion}`}\r\n                                customClass={`${classes.lightLinearGradientReverse} ${classes.marginLeft}`}\r\n                                icon={<AttachFileIcon />}\r\n                                disabled={isDisabled(fileButtons, item.adjuntoDescripcion)}\r\n                                onClick={handleOpenModal(item.adjuntoDescripcion, item.adjuntoObligatorio, item.adjuntoClasificacion)}\r\n                            />\r\n                            {item.adjuntoModelo != '' &&\r\n                                <IconButton\r\n                                    href={`${configurationReduxState?.filter(x => x?.archivoNombre === item?.adjuntoModelo)?.[0]?.valor}`}\r\n                                    rel={\"noopener noreferrer\"}\r\n                                    target={\"_blank\"}>\r\n                                    <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                        descargar Modelo\r\n                                    </Typography>\r\n                                </IconButton>\r\n                            }\r\n                            {item.adjuntoInstructivo != '' &&\r\n                                <IconButton onClick={() => { dowloadFile(item.adjuntoInstructivo); }}>\r\n                                    <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                        descargar Instructivo\r\n                                    </Typography>\r\n                                </IconButton>\r\n                            }\r\n                            {item.adjuntoObligatorio === 'S' &&\r\n                                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>*Archivo obligatorio</FormHelperText>\r\n                            }\r\n                        </Fragment>\r\n                    ))}\r\n                    {files?.map((item, i) => (\r\n                        <p\r\n                            key={i}\r\n                            style={{ marginLeft: \"5%\" }}\r\n                            className={classes.txtSubtitleCalendar}>{item?.archivoNombre} <IconButton onClick={deleteFile(fileButtons, setFileButtons, setFiles, files, item?.btnNombre, item?.archivoNombre)}><HighlightOffIcon /></IconButton>\r\n                        </p>\r\n                    ))}\r\n\r\n                    <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                        {ProcessSelected != CODIGO_BAJA_FAMILIAR &&\r\n                            <CustomButton\r\n                                customClass={classes.lightLinearGradient}\r\n                                style={{ padding: '5px 20px 5px 20px' }}\r\n                                title='Enviar'\r\n                                type='button'\r\n                                onClick={handleSubmit}\r\n                                disabled={showBtn(listOfAttachmentButtons, files, error, motiveSelected)}\r\n                            />\r\n                        }\r\n                    </div>\r\n                </div>\r\n            </section>\r\n\r\n            <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n            <div className={classes.width100}>\r\n                <UploadModal\r\n                    className={classes.width100}\r\n                    title='Adjuntar archivo'\r\n                    archivoClasificacion={itemClasificacion}\r\n                    description=''\r\n                    observation=''\r\n                    open={openUploadModal}\r\n                    onClose={setOpenUploadModal}\r\n                    setFileButtons={setFileButtons}\r\n                    setModalTitle={setModalTitle}\r\n                    setModalDescription={setModalDescription}\r\n                    setModalIcon={setModalIcon}\r\n                    setFiles={setFiles}\r\n                    setErrorClass={setErrorClass}\r\n                    setOpenSendSuccess={setOpenSendSuccess}\r\n                    files={files}\r\n                    fileButtons={fileButtons}\r\n                    itemName={nameOfItem}\r\n                    isRequired={itemRequired}\r\n                />\r\n            </div>\r\n        </>;\r\n    };\r\n\r\n\r\n    return (<>\r\n        {props.permission ? <>\r\n            <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                <CustomSelect\r\n                    name='SubProcedure'\r\n                    label='SUBTRAMITE'\r\n                    list={listSubTramite}\r\n                    selected={ProcessSelected}\r\n                    onChange={handleChangeSelectProcedure()}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.subProcedure}</FormHelperText>\r\n            </FormControl>\r\n\r\n            {UnsubscribeForm()\r\n            }\r\n        </> : <FormHelperText className={classes.errorText}>{\"La facturación del titular es por empresa. por favor consultá con tu empresa\"}</FormHelperText>\r\n        } </>);\r\n};\r\n\r\nexport default Unsubscribe;\r\n\r\nfunction validationSelect(param, dateLow, date) {\r\n    let temp = {};\r\n    temp.lowMotive = param.MotivoBajaCodigo != '' ? '' : '*Campo obligatorio';\r\n    temp.subProcedure = param.SolicitudBajaCodigo != '' ? '' : '*Campo obligatorio';\r\n    temp.date = validationDate(dateLow, date);\r\n    temp.mail = param.Mail != '' ? '' : '*Campo obligatorio';\r\n    temp.phone = param.Telefono != '' ? '' : '*Campo obligatorio';\r\n\r\n    return temp;\r\n\r\n}\r\n\r\n\r\nfunction setearLowMotives(data, setLowMotives, MotivosBaja) {\r\n    if (data.lowMotives != null) {\r\n        let auxReason = [];\r\n        let auxList = [];\r\n        if (data.lowMotives?.motivosBaja.length == 0) {\r\n            auxList = MotivosBaja;\r\n        } else {\r\n            auxList = data?.lowMotives?.motivosBaja;\r\n        }\r\n        auxList?.forEach(item => {\r\n            let auxObj = {\r\n                value: item.motivoBajaCodigo,\r\n                label: item.motivoBajaDescripcion\r\n            };\r\n            auxReason.push(auxObj);\r\n        });\r\n        setLowMotives(auxReason);\r\n    }\r\n}\r\n\r\nfunction setearRequestLow(data, setListSubTramite, Tramites) {\r\n    if (data.requestLow != null) {\r\n        let auxProcedure = [];\r\n        let auxList = [];\r\n        if (data.requestLow?.tramites?.length == 0) {\r\n            auxList = Tramites;\r\n        } else {\r\n            auxList = data?.requestLow?.tramites;\r\n        }\r\n        auxList?.forEach(item => {\r\n            let auxObj = {\r\n                value: item.solicitudBajaCodigo,\r\n                label: item.solicitudBajaDescripcion\r\n            };\r\n            auxProcedure.push(auxObj);\r\n        });\r\n        setListSubTramite(auxProcedure);\r\n    }\r\n}\r\n\r\n","import { useEffect, useState, Fragment } from 'react';\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { FormControl, FormHelperText, FormControlLabel, Checkbox, IconButton, InputAdornment, InputLabel, TextField, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport ConfirmModal from '../ConfirmModal';\r\nimport UploadModal from \"../../../controls/UploadModal/UploadModal\";\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport { validate, deleteFile, handleChangeMail, isDisabled, validateFiles, validateData, messageModalFunction, enableEnviarBtn } from '../../../utils/utilsFunctions';\r\nimport { LocalizationProvider, MobileDatePicker } from '@material-ui/lab';\r\nimport AdapterDateFns from '@material-ui/lab/AdapterDateFns';\r\nimport { getFile, postChangePlan } from '../../../redux/actions/procedureActions';\r\nimport { es } from \"date-fns/locale\";\r\n\r\nconst MotivosBaja = [\r\n    {\r\n    },\r\n];\r\n\r\nconst Adjuntos = [\r\n    {\r\n    }\r\n];\r\n\r\nconst ChangePlanHeadline = ({ processSelected }) => {\r\n    const classes = useStyles();\r\n    const data = useSelector(state => state.procedureReducer);\r\n    const postChangeReducer = useSelector(state => state.procedureReducer.postChangePlan);\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const dispatch = useDispatch();\r\n    const [mail, setMail] = useState('');\r\n    const [phone, setPhone] = useState('');\r\n    const [disabledPhone, setDisabledPhone] = useState(true);\r\n    const [disabledEmail, setDisabledEmail] = useState(true);\r\n    const [modelToSend, setModelToSend] = useState({\r\n        mailModificar: \"N\",\r\n        sector: \"AFILIACIONES\"\r\n    });\r\n    const [listOfAttachmentButtons, setListOfAttachmentButtons] = useState([]);\r\n    const [files, setFiles] = useState([]);\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [nameOfItem, setItemName] = useState('');\r\n    const [error, setError] = useState([]);\r\n    const [openUploadModal, setOpenUploadModal] = useState(false);\r\n    const [itemRequired, setItemRequired] = useState('');\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [mailError, setMailError] = useState('');\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [planes, setListPlanes] = useState([]);\r\n    const [selectedPlanDisp, setSelectedPlanDisp] = useState('');\r\n    const [lowMotives, setLowMotives] = useState([]);\r\n    const date = new Date();\r\n    const [dateLow, setDateLow] = useState(new Date(date.getFullYear(), date.getMonth() + 1, 1));\r\n    const [motiveSelected, setMotiveSelected] = useState('');\r\n    const [planAffiliate, setPlanAffiliate] = useState('');\r\n    const [showPermanente, setShowPermanente] = useState(false);\r\n    const [emailChecked, selEmailChecked] = useState(false);\r\n    const [query, setQuery] = useState(\"\");\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n\r\n    useEffect(() => {\r\n        let tel = fullPersonalData?.fullData?.afiliado?.telefonos[0]?.telefono;\r\n        setPhone(tel);\r\n        fullPersonalData?.fullData?.afiliado?.mails?.forEach((item) => {\r\n            setearMail(item, setMail);\r\n        });\r\n    }, [fullPersonalData?.fullData?.afiliado]);\r\n\r\n    useEffect(() => {\r\n        let newFiles = data?.procedures?.tramites?.filter((x) => x.tramiteCodigo == processSelected)[0];\r\n        if (newFiles !== undefined) {\r\n            setAttachment(newFiles?.subTramites?.filter((x) => x.subTramiteCodigo === processSelected)[0], setListOfAttachmentButtons, Adjuntos);\r\n            setFiles([]);\r\n            setFileButtons([]);\r\n        }\r\n    }, [processSelected, data.getPlan?.tramites]);\r\n\r\n    useEffect(() => {\r\n        data?.dataAffiliates?.afiliados?.forEach((item) => {\r\n            if (item.numeroPersona === data?.dataAffiliates?.afiliados[0]?.numeroPersona) {\r\n                setPlanAffiliate(item.planCodigo);\r\n            }\r\n        });\r\n    }, [data?.dataAffiliates]);\r\n\r\n    useEffect(() => {\r\n        data?.getPlanDisponible?.planes?.forEach(item => {\r\n            if (item.planCodigo != planAffiliate) {\r\n                setListPlanes((prevState) => [...prevState, { value: item.planCodigo, label: item.planDescripcion }]);\r\n            }\r\n        });\r\n    }, [data?.getPlanDisponible]);\r\n\r\n    useEffect(() => {\r\n        if (data.getMotivosPlan != null) {\r\n            setearMotivosPlan(data, MotivosBaja, setLowMotives);\r\n        }\r\n    }, [data.getMotivosPlan]);\r\n\r\n    const handleChangeSelectPlan = () => e => {\r\n        const { name, value } = e.target;\r\n        setSelectedPlanDisp(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleChangeSelectMotive = () => e => {\r\n        const { name, value } = e.target;\r\n        setMotiveSelected(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleEditEmail = () => {\r\n        setDisabledEmail(prevState => !prevState);\r\n    };\r\n\r\n    const handleChangeText = () => e => {\r\n        const { value, name } = e.target;\r\n        if (name !== 'consulta') {\r\n            validate(name, '*Campo obligatorio', value, setError, error);\r\n            setPhone(value);\r\n        }\r\n        setModelToSend({ ...modelToSend, [name]: value });\r\n    };\r\n\r\n    const handleEditPhone = () => {\r\n        setDisabledPhone(prevState => !prevState);\r\n    };\r\n\r\n    const handleOpenModal = (itemName, fileRequired) => (e) => {\r\n        e.preventDefault();\r\n        setOpenUploadModal(prevState => !prevState);\r\n        setItemName(itemName);\r\n        setItemRequired(fileRequired);\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (validateFiles(listOfAttachmentButtons, files)) {\r\n            let filesToSend = files.map((item) => {\r\n                delete (item['btnNombre']);\r\n                delete (item[\"adjuntoObligatorio\"]);\r\n                return item;\r\n            });\r\n            let parametro = {\r\n                numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                cambioPlanCodigo: processSelected,\r\n                numeroPersonaCambio: \"\",\r\n                planCodigoNuevo: selectedPlanDisp,\r\n                cambioPlanFecha: dateLow.toISOString(),\r\n                motivoCambioPlanCodigo: motiveSelected,\r\n                mail: mail,\r\n                mailModificar: showPermanente ? \"S\" : \"N\",\r\n                telefono: phone,\r\n                consulta: query,\r\n                adjuntos: JSON.stringify(filesToSend)\r\n            };\r\n            let newError = validationSelect(parametro, dateLow, date);\r\n            setError(newError);\r\n            if (validateData(newError)) {\r\n                let circularProgress = (<div style={{ display: 'flex', justifyContent: 'center' }}><CircularProgress color=\"inherit\" /></div>);\r\n                setModalTitle('INICIANDO GESTION');\r\n                setModalDescription(circularProgress);\r\n                setModalIcon('');\r\n                setErrorClass('');\r\n                setOpenSendSuccess(prevState => !prevState);\r\n                dispatch(postChangePlan(parametro));\r\n            }\r\n        }\r\n    };\r\n\r\n\r\n\r\n    const handleCheck = (e) => {\r\n        e.preventDefault();\r\n        if (!emailChecked) {\r\n            setModalTitle('SE HA MODIFICADO EL MAIL CORRECTAMENTE');\r\n            setModalDescription(`Este cambio se realizará en el e-mail particular.`);\r\n            setModalIcon(\r\n                <CheckCircleOutlineIcon \r\n                    className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`}\r\n                />\r\n            );\r\n            setErrorClass('');\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        selEmailChecked(prevState => !prevState);\r\n    };\r\n\r\n    const dowloadFile = (codigo) => {\r\n        dispatch(getFile(codigo));\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (data.file != null && data.file.result) {\r\n            var a = document.createElement(\"a\"); //Create <a>\r\n            a.href = \"data:image/png;base64,\" + data.file.base64; //Image Base64 Goes here\r\n            a.download = \"Image.png\"; //File name Here\r\n            a.click(); //Downloaded file\r\n        }\r\n    }, [data.file]);\r\n\r\n    useEffect(() => {\r\n        messageModalFunction(\r\n            postChangeReducer, setModalTitle,\r\n            setModalDescription,\r\n            setModalIcon,\r\n            setErrorClass,\r\n            classes,\r\n            setOpenSendSuccess,\r\n            mail\r\n        );\r\n\r\n        return (() => {\r\n            if (postChangeReducer?.confirmacion) {\r\n                setModalTitle('');\r\n                setModalDescription('');\r\n                setModalIcon('');\r\n                setErrorClass('');\r\n            }\r\n        });\r\n    }, [postChangeReducer]);\r\n\r\n    return (\r\n        <>\r\n            <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan2}`} >\r\n                <CustomSelect\r\n                    name='plans'\r\n                    label='PLANES DISPONIBLES'\r\n                    list={planes}\r\n                    selected={selectedPlanDisp}\r\n                    onChange={handleChangeSelectPlan()}\r\n                />\r\n                <FormHelperText className={classes.errorText}>{error?.plans}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan1}`} >\r\n                <CustomSelect\r\n                    name='lowMotive'\r\n                    label='MOTIVOS DEL CAMBIO'\r\n                    list={lowMotives}\r\n                    selected={motiveSelected}\r\n                    onChange={handleChangeSelectMotive()}\r\n                />\r\n                <FormHelperText className={classes.errorText}>{error?.lowMotive}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlDatePicker} ${classes.itemGridSpan1}`} >\r\n                <FormControl className={classes.formControl}>\r\n                    <InputLabel style={{ top: \"15px\" }} className={`${classes.inputLabelSelectForms}`} shrink htmlFor=\"bootstrap-input\">\r\n                        {\"FECHA \"}\r\n                    </InputLabel>\r\n                    <div style={{ marginTop: \"30px\" }} className={classes.top22}>\r\n                        <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}  >\r\n                            <MobileDatePicker\r\n                                cancelText=\"Cancelar\"\r\n                                toolbarTitle=\"\"\r\n                                format=\"dd/MM/YYYY\"\r\n                                value={dateLow}\r\n                                shouldDisableDate={(date) => date > new Date(date.getFullYear(), date.getMonth(), 1)}\r\n                                disablePast={true}\r\n                                onChange={(newValue) => { setDateLow(newValue); }}\r\n                                renderInput={(params) => <TextField {...params} />}\r\n                            />\r\n                            {<FormHelperText className={classes.errorText}>{\"El cambio se realiza el primer dia del mes\"}</FormHelperText>}\r\n                            {<FormHelperText className={classes.errorText}>{error?.date}</FormHelperText>}\r\n                        </LocalizationProvider>\r\n                    </div>\r\n                </FormControl>\r\n            </FormControl>\r\n\r\n            <FormControl style={{ marginTop: \"20px\", marginBottom: \"20px\" }} className={`${classes.formControlsAffiliations} ${classes.divFamily} ${classes.itemGridSpan1}`} variant=\"standard\">\r\n                <div classsName={`${classes.iconsCards} `}>\r\n\r\n                    <Typography className={`${classes.txtLabelTramites} ${classes.txtEllipsis}`}>TITULAR</Typography>\r\n                    {data.dataAffiliates?.items?.map((item) => (\r\n                        item.itemCodigo == data.dataAffiliates?.afiliados[0]?.numeroTitular &&\r\n                        <Typography className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis} ${classes.left10}`}>{item.itemDescripcion}</Typography>\r\n                    ))}\r\n                </div>\r\n\r\n            </FormControl>\r\n            <FormControl style={{ marginTop: \"20px\", marginBottom: \"20px\" }} className={`${classes.formControlsAffiliations}  ${classes.divFamily}  ${classes.itemGridSpan1} `} variant=\"standard\">\r\n                <div classsName={`${classes.iconsCards} `}>\r\n                    <Typography className={`${classes.txtLabelTramites} ${classes.txtEllipsis}`}>PLAN</Typography>\r\n\r\n                    {data.dataAffiliates?.afiliados?.map((item) => (\r\n                        item.numeroPersona === data.dataAffiliates?.afiliados[0]?.numeroPersona &&\r\n                        <Typography className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis} ${classes.left10}`}>{item.planDescripcion}</Typography>\r\n                    ))}\r\n                </div>\r\n            </FormControl>\r\n            <FormControl style={{ marginTop: \"20px\", marginBottom: \"20px\" }} className={`${classes.formControlsAffiliations}  ${classes.divFamily}  ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                <div classsName={`${classes.iconsCards} `}>\r\n                    <Typography className={`${classes.txtLabelTramites} ${classes.txtEllipsis}`}>GRUPO FAMILIAR</Typography>\r\n\r\n                    {data.dataAffiliates?.items?.map((item) => (\r\n                        item.itemCodigo != data.dataAffiliates?.afiliados[0]?.numeroTitular &&\r\n                        <Typography className={`${classes.txtSubtitleCalendar} ${classes.txtEllipsis} ${classes.left10}`}>{item.itemDescripcion}</Typography>\r\n                    ))\r\n                    }\r\n                </div>\r\n            </FormControl>\r\n\r\n            <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2}`}  >\r\n                <CustomizedInputs\r\n                    value={mail}\r\n                    name='mail'\r\n                    label='E-MAIL'\r\n                    disabled={disabledEmail}\r\n                    onChange={handleChangeMail(setMail, setMailError, setError, error, setShowPermanente, fullPersonalData?.fullData?.afiliado?.mails?.filter(z => z.mailTipoCodigo == 1)[0]?.mail)}\r\n                    endAdornment={\r\n                        <InputAdornment position=\"start\">\r\n                            <IconButton onClick={handleEditEmail} size='small'>\r\n                                <EditIcon />\r\n                            </IconButton>\r\n                        </InputAdornment>\r\n                    }\r\n                />\r\n                {showPermanente ?\r\n                    <FormControlLabel style={{ paddingLeft: '5%', fontSize: '11px' }} control={<Checkbox checked={emailChecked} onClick={handleCheck} color='primary' />} label=\"¿E-MAIL PERMANENTE?\" /> : \"\"\r\n                }\r\n                <FormHelperText className={classes.errorText}>{error?.mail}</FormHelperText>\r\n                <FormHelperText className={classes.errorText}>{mailError}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2}`}  >\r\n                <CustomizedInputs\r\n                    value={phone}\r\n                    label='TELEFONO'\r\n                    name='phone'\r\n                    disabled={disabledPhone}\r\n                    onChange={handleChangeText()}\r\n                    endAdornment={\r\n                        <InputAdornment position=\"start\">\r\n                            <IconButton onClick={handleEditPhone}>\r\n                                <EditIcon />\r\n                            </IconButton>\r\n                        </InputAdornment>\r\n                    }\r\n                    onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                    inputProps={{ maxLength: 20 }}\r\n                />\r\n                <FormHelperText className={classes.errorText}>{error?.phone}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={classes.commentGrid} variant=\"standard\">\r\n                <CustomizedInputs\r\n                    name=\"consulta\"\r\n                    label='OBSERVACIONES'\r\n                    placeholder='Escribe tu texto aqui'\r\n                    multiline\r\n                    rows={5}\r\n                    inputProps={{ maxLength: 2000 }}\r\n                    onChange={(e) => { setQuery(e.target.value); }}\r\n                    defaultValue={query}\r\n                />\r\n            </FormControl>\r\n\r\n            <section className={classes.archivoAdjuntoDiv}>\r\n                <div style={{ width: '250px' }}>\r\n                    <Typography style={{ flex: '1 1 100%', justifyContent: 'center' }} className={`${classes.txtObservaciones} ${classes.txtSubtitle}`}>ADJUNTAR ARCHIVOS</Typography>\r\n                    <span\r\n                        style={{ flex: '1 1 100%', fontSize: '10px', display: 'flex' }}\r\n                    >{`(TAMAÑO MAXIMO ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB)`}\r\n                    </span>\r\n                    {listOfAttachmentButtons?.map((item, i) => (\r\n                        <Fragment key={i}>\r\n                            <CustomButton\r\n                                icon={<AttachFileIcon />}\r\n                                name={item.adjuntoDescripcion}\r\n                                style={{ padding: '5px 15px 5px 5px' }}\r\n                                title={`ADJUNTAR ${item.adjuntoDescripcion}`}\r\n                                onClick={handleOpenModal(item.adjuntoDescripcion, item.adjuntoObligatorio)}\r\n                                disabled={isDisabled(fileButtons, item.adjuntoDescripcion)}\r\n                                customClass={`${classes.lightLinearGradientReverse} ${classes.marginLeft}`}\r\n                            />\r\n                            {item.adjuntoModelo != '' ?\r\n                                <IconButton href={`${configurationReduxState?.filter(x => x?.archivoNombre === item?.adjuntoModelo)?.[0]?.valor}`} rel={\"noopener noreferrer\"} target={\"_blank\"}>\r\n                                    <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                        descargar Modelo\r\n                                    </Typography></IconButton> : \"\"}\r\n                            {item.adjuntoInstructivo != '' ?\r\n                                <IconButton onClick={() => { dowloadFile(item.adjuntoInstructivo); }}>\r\n                                    <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                        descargar Instructivo\r\n                                    </Typography></IconButton> : \"\"}\r\n                            {item.adjuntoObligatorio === 'S' &&\r\n                                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>*Archivo obligatorio</FormHelperText>\r\n                            }\r\n                        </Fragment>\r\n                    ))}\r\n                    {files?.map((item, i) => (\r\n                        <p key={i} style={{ marginLeft: \"5%\" }} className={classes.txtSubtitleCalendar}>{item?.archivoNombre} <IconButton onClick={deleteFile(fileButtons, setFileButtons, setFiles, files, item?.btnNombre, item?.archivoNombre)}><HighlightOffIcon /></IconButton></p>\r\n                    ))}\r\n                </div>\r\n            </section>\r\n\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                {\r\n                    <CustomButton\r\n                        disabled={enableEnviarBtn(listOfAttachmentButtons, files, error, motiveSelected, selectedPlanDisp)}\r\n                        customClass={classes.lightLinearGradient} style={{ padding: '5px 20px 5px 20px' }}\r\n                        title='Enviar'\r\n                        type='button'\r\n                        onClick={handleSubmit} />\r\n                }\r\n            </div>\r\n            <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n            <UploadModal\r\n                title='Adjuntar archivo'\r\n                description=''\r\n                observation=''\r\n                isRequired={itemRequired}\r\n                open={openUploadModal}\r\n                onClose={setOpenUploadModal}\r\n                fileButtons={fileButtons}\r\n                setModalTitle={setModalTitle}\r\n                setOpenSendSuccess={setOpenSendSuccess}\r\n                setModalDescription={setModalDescription}\r\n                setModalIcon={setModalIcon}\r\n                setErrorClass={setErrorClass}\r\n                setFiles={setFiles}\r\n                files={files}\r\n                setFileButtons={setFileButtons}\r\n                itemName={nameOfItem}\r\n            />\r\n\r\n        </>\r\n    );\r\n};\r\n\r\nexport default ChangePlanHeadline;\r\n\r\nfunction validationSelect(param, dateLow, date) {\r\n    let temp = {};\r\n    temp.lowMotive = param.motivoCambioPlanCodigo != '' ? '' : '*Campo obligatorio';\r\n    temp.subProcedure = param.cambioPlanCodigo != '' ? '' : '*Campo obligatorio';\r\n    temp.plans = param.planCodigoNuevo != '' ? '' : '*Campo obligatorio';\r\n    temp.date = validationDate(dateLow, date);\r\n    temp.mail = param.mail != '' ? '' : '*Campo obligatorio';\r\n    temp.phone = param.telefono != '' ? '' : '*Campo obligatorio';\r\n    return temp;\r\n}\r\n\r\nfunction validationDate(dateLow, date) {\r\n    let today = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n    today.setHours(0, 0, 0, 0);\r\n    dateLow.setHours(0, 0, 0, 0);\r\n    if (dateLow.getTime() >= today.getTime()) {\r\n        return '';\r\n    } else {\r\n        return \"La fecha debe ser mayor a la fecha actual\";\r\n    }\r\n}\r\n\r\nfunction setAttachment(newFiles, setistOfAttachmentButtons, adj) {\r\n    if (newFiles == undefined) {\r\n        setistOfAttachmentButtons(adj);\r\n    } else {\r\n        setistOfAttachmentButtons(newFiles?.adjuntos);\r\n    }\r\n}\r\n\r\nfunction setearMail(item, setMail) {\r\n    if (item.mailTipoCodigo === 1)\r\n        setMail(item.mail);\r\n}\r\n\r\nfunction setearMotivosPlan(data, motivosBaja, setLowMotives) {\r\n    useSetter(data?.getMotivosPlan?.motivosCambioPlan, motivosBaja, setLowMotives, 'motivoCambioPlanCodigo', 'motivoCambioPlanDescripcion');\r\n}\r\n\r\nfunction setearPlanes(data, setListSubTramite, Tramites) {\r\n    useSetter(data.getPlan?.tramites, Tramites, setListSubTramite, 'cambioPlanCodigo', 'cambioPlanDescripcion');\r\n}\r\n\r\n\r\nfunction useSetter(wsList, hardcodeList, setter, nameValue, nameLabel) {\r\n    let auxReason = [];\r\n    let auxList = [];\r\n    if (wsList?.length === 0) {\r\n        auxList = hardcodeList;\r\n    } else {\r\n        auxList = wsList;\r\n    }\r\n    auxList?.forEach(item => {\r\n        let auxObj = {\r\n            value: item[nameValue],\r\n            label: item[nameLabel]\r\n        };\r\n        auxReason.push(auxObj);\r\n    });\r\n    setter(auxReason);\r\n}","import { useEffect, useState, Fragment } from 'react';\r\nimport { FormControl, FormHelperText, FormControlLabel, Checkbox, InputLabel, TextField, Typography, InputAdornment, IconButton, CircularProgress } from \"@material-ui/core\";\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { getChangePlan, getMotiveLowPlan, getPlans, getDataAffiliatesBaja, getFile, postChangePlan } from '../../../redux/actions/procedureActions';\r\nimport { LocalizationProvider, MobileDatePicker } from '@material-ui/lab';\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport CustomizedInputs from '../../../controls/InputCustom/CustomizedInputs';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport UploadModal from \"../../../controls/UploadModal/UploadModal\";\r\nimport { deleteFile, handleChangeMail, isDisabled, validate, validateFiles, validateData, messageModalFunction } from \"../../../utils/utilsFunctions\";\r\nimport ConfirmModal from '../ConfirmModal';\r\nimport ChangePlanHeadline from './ChangePlanHeadline';\r\nimport { setearMail, existFile, verifyMail, setAttachment, validationDate } from './functionShared';\r\nimport { es } from \"date-fns/locale\";\r\n\r\nconst ChangePlan = (props) => {\r\n    const date = new Date();\r\n    const data = useSelector(state => state.procedureReducer);\r\n    const dispatch = useDispatch();\r\n    const [ProcessSelected, setProcessSelected] = useState('');\r\n    const [listSubTramite, setListSubTramite] = useState([]);\r\n    const [lowMotives, setLowMotives] = useState([]);\r\n    const [aditionals, SetAditionals] = useState([]);\r\n    const [selectAditional, setSelectAditional] = useState([]);\r\n    const [planAditional, setPlanAditional] = useState([]);\r\n    const [motiveSelected, setMotiveSelected] = useState('');\r\n    const [dateLow, setDateLow] = useState(new Date(date.getFullYear(), date.getMonth() + 1, 1));\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const [phone, setPhone] = useState(\"\");\r\n    const [mail, setMail] = useState(\"\");\r\n    const [mailError, setMailError] = useState('');\r\n    const [query, setQuery] = useState(\"\");\r\n    const [disabledPhone, setDisabledPhone] = useState(true);\r\n    const [disabledEmail, setDisabledEmail] = useState(true);\r\n    const [emailChecked, selEmailChecked] = useState(false);\r\n    const [showPermanente, setShowPermanente] = useState(false);\r\n    const [listOfAttachmentButtons, setistOfAttachmentButtons] = useState([]);\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [files, setFiles] = useState([]);\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [openUploadModal, setOpenUploadModal] = useState(false);\r\n    const [nameOfItem, setItemName] = useState('');\r\n    const [itemRequired, setItemRequired] = useState('');\r\n    const [planes, setListPlanes] = useState([]);\r\n    const [selectedPlanDisp, setSelectedPlanDisp] = useState('');\r\n    const postChangeReducer = useSelector(state => state.procedureReducer.postChangePlan);\r\n    const [itemClasificacion, setItemClasificacion] = useState(0);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n\r\n    const CODIGO_CAMBIOPLAN_GRUPO_PRIMARIO = 1;\r\n    const classes = useStyles();\r\n\r\n    const parameter = { numeroPersona: window.localStorage.getItem(\"numeroPersona\"), ParametroLlamado: \"\" };\r\n    const Tramites = [\r\n        {\r\n            cambioPlanCodigo: 1,\r\n            cambioPlanDescripcion: \"Titular y grupo primario\"\r\n        }, {\r\n            cambioPlanCodigo: 2,\r\n            cambioPlanDescripcion: \"Titular y Adicionales\"\r\n        }\r\n    ];\r\n\r\n    const MotivosBaja = [\r\n        {\r\n        }\r\n    ];\r\n\r\n    const planesDisponibles = [\r\n        {\r\n\r\n        },\r\n    ];\r\n\r\n    const Adjuntos = [\r\n        {\r\n\r\n        }\r\n    ];\r\n\r\n    const parametroPlan = { ParametroLlamado: \"CAMBIO DE PLAN\" };\r\n\r\n    const handleChangeSelectProcedure = () => e => {\r\n        const { name, value } = e.target;\r\n        setProcessSelected(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n        let newFiles = data.procedures?.tramites?.filter((x) => x.tramiteCodigo == value)[0];\r\n        setAttachment(newFiles?.subTramites?.filter((x) => x.subTramiteCodigo === value)[0], setistOfAttachmentButtons, Adjuntos);\r\n        setFiles([]);\r\n        setFileButtons([]);\r\n    };\r\n\r\n    const handleChangeSelectMotive = () => e => {\r\n        const { name, value } = e.target;\r\n        setMotiveSelected(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleChangeSelectAditional = () => e => {\r\n        const { name, value } = e.target;\r\n        if(value !== undefined) {\r\n            setSelectAditional(value);\r\n            validate(name, '*Campo obligatorio', value, setError, error);\r\n\r\n            var family = data.dataAffiliates?.afiliados.filter((x) => x.numeroPersona == value)[0];\r\n            setPlanAditional({ cod: family.planCodigo, description: family.planDescripcion });\r\n        }\r\n    };\r\n\r\n    const handleChangeSelectPlan = () => e => {\r\n        const { name, value } = e.target;\r\n        setSelectedPlanDisp(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getChangePlan());\r\n        dispatch(getMotiveLowPlan());\r\n        dispatch(getDataAffiliatesBaja(parameter));\r\n        dispatch(getPlans(parametroPlan));\r\n        let tel = fullPersonalData?.fullData?.afiliado?.telefonos[0]?.telefono;\r\n        setPhone(tel);\r\n        fullPersonalData?.fullData?.afiliado?.mails?.forEach((item) => {\r\n            setearMail(item, setMail);\r\n        });\r\n        setProcessSelected(1);\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        setearMotivosPlan(data, MotivosBaja, setLowMotives);\r\n    }, [data.getMotivosPlan]);\r\n\r\n    useEffect(() => {\r\n        setearPlanes(data, setListSubTramite, Tramites);\r\n    }, [data.getPlan]);\r\n\r\n    useEffect(() => {\r\n        setearAdicionales(data, SetAditionals, Tramites);\r\n    }, [data.dataAffiliates]);\r\n\r\n    useEffect(() => {\r\n        setearPlanesDisponible(data, setListPlanes, planesDisponibles);\r\n    }, [data.getPlanDisponible]);\r\n\r\n    const handleEditPhone = () => {\r\n        setDisabledPhone(prevState => !prevState);\r\n    };\r\n\r\n    const handleChangePhone = () => e => {\r\n        const { name, value } = e.target;\r\n        setPhone(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n\r\n    };\r\n\r\n    const handleEditEmail = () => {\r\n        setDisabledEmail(prevState => !prevState);\r\n    };\r\n\r\n    const handleCheck = (e) => {\r\n        e.preventDefault();\r\n        if (!emailChecked) {\r\n            setModalTitle('SE HA MODIFICADO EL MAIL CORRECTAMENTE');\r\n            setModalDescription(`Este cambio se realizará en el e-mail particular.`);\r\n            setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass('');\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        selEmailChecked(prevState => !prevState);\r\n    };\r\n    const [error, setError] = useState({\r\n        lowMotive: '',\r\n        subProcedure: '',\r\n        aditionals: '',\r\n        plans: '',\r\n        mail: '',\r\n        phone: '',\r\n        date: ''\r\n    });\r\n\r\n    const handleOpenModal = (itemName, fileRequired, archivoClasificacion) => (e) => {\r\n        e.preventDefault();\r\n        setOpenUploadModal(prevState => !prevState);\r\n        setItemName(itemName);\r\n        setItemRequired(fileRequired);\r\n        setItemClasificacion(archivoClasificacion)\r\n    };\r\n\r\n    const dowloadFile = (codigo) => {\r\n        dispatch(getFile(codigo));\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (existFile(data)) {\r\n            var a = document.createElement(\"a\"); //Create <a>\r\n            a.href = \"data:image/png;base64,\" + data.file.base64; //Image Base64 Goes here\r\n            a.download = \"Image.png\"; //File name Here\r\n            a.click(); //Downloaded file\r\n        }\r\n    }, [data.file]);\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (validateFiles(listOfAttachmentButtons, files)) {\r\n            let filesToSend = files.map((item) => {\r\n                delete (item['btnNombre']);\r\n                delete (item[\"adjuntoObligatorio\"]);\r\n                return item;\r\n            });\r\n            let parametro = {\r\n                NumeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n                CambioPlanCodigo: ProcessSelected,\r\n                NumeroPersonaCambio: (ProcessSelected == CODIGO_CAMBIOPLAN_GRUPO_PRIMARIO) ? null : selectAditional,\r\n                PlanCodigoNuevo: selectedPlanDisp,\r\n                CambioPlanFecha: dateLow.toISOString(),\r\n                MotivoCambioPlanCodigo: motiveSelected,\r\n                Mail: mail,\r\n                MailModificar: verifyMail(showPermanente),\r\n                Telefono: phone,\r\n                Consulta: query,\r\n                Adjuntos: JSON.stringify(filesToSend)\r\n            };\r\n            let newError = validationSelect(parametro, dateLow, date);\r\n            setError(newError);\r\n            if (validateData(newError)) {\r\n                let circularProgress = (\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}><CircularProgress color=\"inherit\" /></div>\r\n                );\r\n                setModalTitle('INICIANDO GESTION');\r\n                setModalDescription(circularProgress);\r\n                setModalIcon('');\r\n                setErrorClass('');\r\n                setOpenSendSuccess(prevState => !prevState);\r\n                dispatch(postChangePlan(parametro));\r\n            }\r\n        }\r\n    };\r\n\r\n    function ChangePlanForm() {\r\n        return <>\r\n            {\r\n                ProcessSelected == CODIGO_CAMBIOPLAN_GRUPO_PRIMARIO ?\r\n                    <ChangePlanHeadline processSelected={ProcessSelected} />\r\n                    :\r\n                    changePlanAditionals()\r\n            }\r\n        </>;\r\n\r\n    }\r\n\r\n    function enableEnviarBtn(listOfAttachment, file, err, motive, plan, aditional) {\r\n        const isClear = (valor) => valor === \"\";\r\n        var response = true;\r\n        if(((Object.values(err)).every(isClear)) && validateFiles(listOfAttachment, file) && motive !== \"\" && plan !== \"\" && aditional.length !== 0) {\r\n            response = false;\r\n        }\r\n        return response;\r\n    }\r\n\r\n    const changePlanAditionals = () => {\r\n        return (<>\r\n            <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan2}`} variant=\"standard\">\r\n                <CustomSelect\r\n                    name='lowMotive'\r\n                    label='MOTIVO DE BAJA'\r\n                    list={lowMotives}\r\n                    selected={motiveSelected}\r\n                    onChange={handleChangeSelectMotive()}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.lowMotive}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                <div className={classes.headerFiltro}>\r\n                    {selectAditional != \"\" ? <Typography className={`${classes.txtSubtitleCalendar}`}>\r\n                        {\"PLAN VIGENTE: \" + planAditional.description}\r\n                    </Typography> : \"\"}\r\n                </div>\r\n                {aditionals?.length === 0 ?\r\n                    <>\r\n                    <CustomSelect\r\n                    name='aditionals'\r\n                    label='ADICIONALES'\r\n                    list={aditionals}\r\n                    selected={selectAditional}\r\n                    onChange={handleChangeSelectAditional()}\r\n                    disable={true}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>No hay adicionales disponibles</FormHelperText>\r\n                </>\r\n                :\r\n                <>\r\n                <CustomSelect\r\n                    name='aditionals'\r\n                    label='ADICIONALES'\r\n                    list={aditionals}\r\n                    selected={selectAditional}\r\n                    onChange={handleChangeSelectAditional()}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.aditionals}</FormHelperText>\r\n                </>\r\n                }\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan1} `} variant=\"standard\">\r\n                <CustomSelect\r\n                    name='plans'\r\n                    label='PLANES DISPONIBLES'\r\n                    list={planes}\r\n                    selected={selectedPlanDisp}\r\n                    onChange={handleChangeSelectPlan()}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.plans}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlDatePicker} ${classes.itemGridSpan1}`} >\r\n                <FormControl className={classes.formControl}>\r\n                    <InputLabel style={{ top: \"15px\" }} className={`${classes.inputLabelSelectForms} `} shrink htmlFor=\"bootstrap-input\">\r\n                        {\"FECHA DE LA BAJA\"}\r\n                    </InputLabel>\r\n                    <div style={{ marginTop: \"30px\" }} className={classes.top22}>\r\n                        <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}  >\r\n                            <MobileDatePicker\r\n                                cancelText=\"Cancelar\"\r\n                                toolbarTitle=\"\"\r\n                                format=\"dd/MM/YYYY\"\r\n                                value={dateLow}\r\n                                disablePast={true}\r\n                                shouldDisableDate={(date) => date > new Date(date.getFullYear(), date.getMonth(), 1)}\r\n                                onChange={(newValue) => { setDateLow(newValue); }}\r\n                                renderInput={(params) => <TextField {...params} />}\r\n                            />\r\n                            {<FormHelperText className={classes.errorText}>{\"El cambio se realiza el primer dia del mes\"}</FormHelperText>}\r\n                            {<FormHelperText className={classes.errorText}>{error?.date}</FormHelperText>}\r\n\r\n                        </LocalizationProvider>\r\n                    </div>\r\n                </FormControl>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2}`} variant=\"standard\">\r\n                <CustomizedInputs\r\n                    value={mail}\r\n                    name='mail'\r\n                    label='E-MAIL'\r\n                    disabled={disabledEmail}\r\n                    onChange={\r\n                        handleChangeMail(setMail, setMailError, setError, error, setShowPermanente, fullPersonalData?.fullData?.afiliado?.mails?.filter(z => z.mailTipoCodigo == 1)[0]?.mail)\r\n                    }\r\n                    endAdornment={\r\n                        <InputAdornment position=\"start\">\r\n                            <IconButton onClick={handleEditEmail} size='small'>\r\n                                <EditIcon />\r\n                            </IconButton>\r\n                        </InputAdornment>\r\n                    }\r\n                />\r\n                {showPermanente ?\r\n                    <FormControlLabel style={{ paddingLeft: '5%', fontSize: '11px' }} control={<Checkbox checked={emailChecked} onClick={handleCheck} color='primary' />} label=\"¿E-MAIL PERMANENTE?\" /> : \"\"\r\n                }\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.mail}</FormHelperText>\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{mailError}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2}`} variant=\"standard\">\r\n                <CustomizedInputs\r\n                    value={phone}\r\n                    label='TELEFONO'\r\n                    name='phone'\r\n                    disabled={disabledPhone}\r\n                    onChange={handleChangePhone()}\r\n                    endAdornment={\r\n                        <InputAdornment position=\"start\">\r\n                            <IconButton onClick={handleEditPhone}>\r\n                                <EditIcon />\r\n                            </IconButton>\r\n                        </InputAdornment>}\r\n                    onInput={(e) => {\r\n                        e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1');\r\n                    }}\r\n                    inputProps={{ maxLength: 20 }}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.phone}</FormHelperText>\r\n            </FormControl>\r\n            <FormControl className={classes.commentGrid} variant=\"standard\">\r\n                <CustomizedInputs\r\n                    name=\"consulta\"\r\n                    label='OBSERVACIONES'\r\n                    placeholder='Escribe tu texto aqui'\r\n                    multiline\r\n                    rows={5}\r\n                    inputProps={{ maxLength: 2000 }}\r\n                    onChange={(e) => { setQuery(e.target.value); }}\r\n                    defaultValue={query}\r\n                />\r\n            </FormControl>\r\n            <section className={` ${classes.commentGrid}`}>\r\n                <div style={{ width: '250px' }}>\r\n                    <Typography style={{ flex: '1 1 100%', justifyContent: 'center' }} className={`${classes.txtObservaciones} ${classes.txtSubtitle}`}>ADJUNTAR ARCHIVOS</Typography>\r\n                    <span style={{ flex: '1 1 100%', fontSize: '10px', display: 'flex' }}>{`(TAMAÑO MAXIMO ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB)`}</span>\r\n                    {listOfAttachmentButtons?.map((item, i) => (\r\n                        <Fragment key={i}>\r\n                            <CustomButton\r\n                                name={item.adjuntoDescripcion}\r\n                                style={{ padding: '5px 15px 5px 5px' }}\r\n                                title={`ADJUNTAR ${item.adjuntoDescripcion}`}\r\n                                icon={<AttachFileIcon />}\r\n                                customClass={`${classes.lightLinearGradientReverse} ${classes.marginLeft}`}\r\n                                onClick={handleOpenModal(item.adjuntoDescripcion, item.adjuntoObligatorio, item.adjuntoClasificacion)}\r\n                                disabled={isDisabled(fileButtons, item.adjuntoDescripcion)}\r\n                            />\r\n                            {item.adjuntoModelo != '' &&\r\n                                <IconButton href={`${configurationReduxState?.filter(x => x?.archivoNombre === item?.adjuntoModelo)?.[0]?.valor}`} target={\"_blank\"} rel={\"noopener noreferrer\"}>\r\n                                    <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                        descargar Modelo\r\n                                    </Typography></IconButton>}\r\n                            {item.adjuntoInstructivo != '' &&\r\n                                <IconButton onClick={() => { dowloadFile(item.adjuntoInstructivo); }}>\r\n                                    <Typography className={`${classes.txtSubtitleBlue}`}>\r\n                                        descargar Instructivo\r\n                                    </Typography></IconButton>}\r\n                            {item.adjuntoObligatorio === 'S' &&\r\n                                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>*Archivo obligatorio</FormHelperText>\r\n                            }\r\n                        </Fragment>\r\n                    ))}\r\n                    {files?.map((item, i) => (\r\n                        <p key={i} style={{ marginLeft: \"5%\" }} className={classes.txtSubtitleCalendar}>{item?.archivoNombre} <IconButton onClick={deleteFile(fileButtons, setFileButtons, setFiles, files, item?.btnNombre, item?.archivoNombre)}><HighlightOffIcon /></IconButton></p>\r\n                    ))}\r\n                </div>\r\n            </section>\r\n            <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n            <div className={classes.width100}>\r\n                <UploadModal\r\n                    className={classes.width100}\r\n                    title='Adjuntar archivo'\r\n                    description=''\r\n                    observation=''\r\n                    open={openUploadModal}\r\n                    onClose={setOpenUploadModal}\r\n                    setModalTitle={setModalTitle}\r\n                    setModalDescription={setModalDescription}\r\n                    setModalIcon={setModalIcon}\r\n                    setErrorClass={setErrorClass}\r\n                    setOpenSendSuccess={setOpenSendSuccess}\r\n                    setFiles={setFiles}\r\n                    files={files}\r\n                    fileButtons={fileButtons}\r\n                    setFileButtons={setFileButtons}\r\n                    itemName={nameOfItem}\r\n                    isRequired={itemRequired}\r\n                    archivoClasificacion={itemClasificacion}\r\n                />\r\n            </div>\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`}>\r\n                {screen.sWidth <= 768 ?\r\n                    <div>\r\n                        <CustomButton customClass={classes.lightLinearGradient} style={{ padding: '5px 20px 5px 20px' }} title='Volver' type='button' onClick={props.handleBack} />\r\n                    </div>\r\n                    :\r\n                    <CustomButton\r\n                        disabled={enableEnviarBtn(listOfAttachmentButtons, files, error, motiveSelected, selectedPlanDisp, selectAditional)}\r\n                        customClass={classes.lightLinearGradient}\r\n                        style={{ padding: '5px 20px 5px 20px', marginBottom: \"20px\" }}\r\n                        title='Enviar'\r\n                        type='button'\r\n                        onClick={handleSubmit}\r\n                    />\r\n                }\r\n            </div>\r\n        </>);\r\n    };\r\n\r\n\r\n    useEffect(() => {\r\n        messageModalFunction(\r\n            postChangeReducer, setModalTitle,\r\n            setModalDescription,\r\n            setModalIcon,\r\n            setErrorClass,\r\n            classes,\r\n            setOpenSendSuccess,\r\n            mail\r\n        );\r\n        return (() => {\r\n            if (postChangeReducer?.confirmacion) {\r\n                setModalTitle('');\r\n                setModalDescription('');\r\n                setModalIcon('');\r\n                setErrorClass('');\r\n            }\r\n        });\r\n    }, [postChangeReducer]);\r\n\r\n    return (\r\n        <>\r\n            {\r\n                props.permission ? <>\r\n                    <FormControl className={`${classes.formControlCustomSelect} ${classes.itemGridSpan2} `} variant=\"standard\">\r\n                        <CustomSelect\r\n                            name='subProcedure'\r\n                            label='CAMBIO DE PLAN'\r\n                            list={listSubTramite}\r\n                            selected={ProcessSelected}\r\n                            onChange={handleChangeSelectProcedure()}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.subProcedure}</FormHelperText>\r\n                    </FormControl>\r\n                    {\r\n                        ChangePlanForm()\r\n                    }\r\n                </>\r\n                    :\r\n                    <FormHelperText className={classes.errorText}>{\"La facturacion del titular es por empresa. por favor consultá con tu empresa\"}</FormHelperText>\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default ChangePlan;\r\n\r\nfunction validationSelect(param, dateLow, date) {\r\n    let temp = {};\r\n    temp.lowMotive = param.MotivoCambioPlanCodigo != '' ? '' : '*Campo obligatorio';\r\n    if (param.CambioPlanCodigo == 1) {\r\n        temp.aditionals = \"\";\r\n    } else {\r\n        temp.aditionals = param.NumeroPersonaCambio != '' ? '' : '*Campo obligatorio';\r\n    }\r\n    temp.subProcedure = param.CambioPlanCodigo != '' ? '' : '*Campo obligatorio';\r\n    temp.plans = param.PlanCodigoNuevo != '' ? '' : '*Campo obligatorio';\r\n    temp.date = validationDate(dateLow, date);\r\n    temp.mail = param.Mail != '' ? '' : '*Campo obligatorio';\r\n    temp.phone = param.Telefono != '' ? '' : '*Campo obligatorio';\r\n    return temp;\r\n}\r\n\r\nfunction setearMotivosPlan(data, MotivosBaja, setLowMotives) {\r\n    if (data.getMotivosPlan != null) {\r\n        useSetter(data?.getMotivosPlan?.motivosCambioPlan, MotivosBaja, setLowMotives, 'motivoCambioPlanCodigo', 'motivoCambioPlanDescripcion');\r\n    }\r\n}\r\n\r\nfunction setearPlanes(data, setListSubTramite, Tramites) {\r\n    if (data.getPlan != null) {\r\n        useSetter(data.getPlan?.tramites, Tramites, setListSubTramite, 'cambioPlanCodigo', 'cambioPlanDescripcion');\r\n    }\r\n}\r\n\r\nfunction setearAdicionales(data, SetAditionals, Tramites) {\r\n    let aditionalsAux = data?.dataAffiliates?.afiliados?.filter((item) => item.parentescoDescripcion == \"ADICIONALES\");\r\n    if (aditionalsAux !== null && aditionalsAux !== undefined) {\r\n        useSetter(aditionalsAux, Tramites, SetAditionals, 'numeroPersona', 'apellidoNombre');\r\n    }\r\n}\r\n\r\nfunction setearPlanesDisponible(data, setListPlanes, planesDisponibles) {\r\n    if (data.getPlanDisponible != null && data.getPlanDisponible != \"\") {\r\n        useSetter(data.getPlanDisponible?.planes, planesDisponibles, setListPlanes, 'planCodigo', 'planDescripcion');\r\n    }\r\n}\r\n\r\n\r\nfunction useSetter(wsList, hardcodeList, setter, nameValue, nameLabel) {\r\n    let auxReason = [];\r\n    let auxList = [];\r\n    if (wsList?.length === 0) {\r\n        auxList = hardcodeList;\r\n    } else {\r\n        auxList = wsList;\r\n    }\r\n    auxList?.forEach(item => {\r\n        let auxObj = {\r\n            value: item[nameValue],\r\n            label: item[nameLabel]\r\n        };\r\n        if(auxObj.value !== undefined && auxObj.label !== undefined) {\r\n            auxReason.push(auxObj);\r\n        } else {\r\n            return;\r\n        }\r\n    });\r\n    setter(auxReason);\r\n}","import { useEffect, useState } from 'react';\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { CircularProgress, FormControl, InputLabel } from \"@material-ui/core\";\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport { getProcedures, getPermisionLow } from '../../../redux/actions/procedureActions';\r\nimport GeneralProcedure from './GeneralProcedure';\r\nimport Unsubscribe from './Unsubscribe';\r\nimport ChangePlan from './ChangePlan';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\n\r\nconst listProcedureGeneral = [\r\n    { value: 0, label: \"TRAMITES GENERALES\" },\r\n    { value: 1, label: \"SOLICITUD DE BAJA\" },\r\n    { value: 2, label: \"CAMBIO DE PLAN\" }\r\n];\r\n\r\nconst FormAffiliations = ({ handleBack }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const dispatch = useDispatch();\r\n    const data = useSelector(state => state.procedureReducer);\r\n    const [procedureGeneral, setProcedureGeneral] = useState(-1);\r\n    const [permission, setPermission] = useState(false);\r\n    const [listOfProcess, setListOfProcess] = useState([{ value: 0, label: '' }]);\r\n\r\n    const handleChangeSelectProcedureGeneral = e => {\r\n        const { value } = e.target;\r\n        setProcedureGeneral(value);\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getProcedures('AFILIACIONES'));\r\n        dispatch(getPermisionLow({ NumeroPersona: window.localStorage.getItem(\"numeroPersona\") }));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (data.permissionLow != null) {\r\n            setPermission(data.permissionLow?.habilitado);\r\n        }\r\n    }, [data.permissionLow]);\r\n\r\n    useEffect(() => {\r\n        let process = [];\r\n        data?.procedures?.tramites?.map(item => {\r\n            let obj = {\r\n                value: item.tramiteCodigo,\r\n                label: item.tramiteDescripcion\r\n            };\r\n            process.push(obj);\r\n        });\r\n        process?.unshift({ value: \"\", label: \"SELECCIONE UNA OPCION\" })\r\n        setListOfProcess(process);\r\n    }, [data?.procedures]);\r\n\r\n    function showLabel(condition) {\r\n        var response;\r\n        if (condition > 768) {\r\n            response = (\r\n                <InputLabel\r\n                    id=\"demo-simple-select-filled-label\"\r\n                    style={{ display: \"relative\", top: \"17%\", left: \"8%\" }}>\r\n                    {procedureGeneral === -1 ? listOfProcess[0].label : \"\"}\r\n                </InputLabel>\r\n            );\r\n        } else {\r\n            response = (\r\n                <InputLabel\r\n                    id=\"demo-simple-select-filled-label\"\r\n                    style={{ display: \"relative\", top: \"8px\", left: \"50px\" }}>\r\n                    {procedureGeneral === -1 ? listOfProcess[0].label : \"\"}\r\n                </InputLabel>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <form className={`${classes.nuevosFormGrid}`} style={{ marginTop: \"10px\" }} >\r\n                {\r\n                    listOfProcess?.length > 1 ?\r\n                        <FormControl\r\n                            className={`${classes.formControlCustomSelect} ${classes.itemGridSpan2}`}\r\n                            variant=\"standard\"\r\n                            style={{right:'20px'}}\r\n                        >\r\n                            {showLabel(screen.sWidth)}\r\n                            <CustomSelect\r\n                                labelId=\"demo-simple-select-filled-label\"\r\n                                list={listOfProcess}\r\n                                onChange={handleChangeSelectProcedureGeneral}\r\n                                label={\"TRAMITE\"}\r\n                            />\r\n                        </FormControl>\r\n                        :\r\n                        <div style={{ width: \"25%\" }} className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                }\r\n                {\r\n                    (procedureGeneral > 2 || procedureGeneral === 0) &&\r\n                    <GeneralProcedure handleBack={handleBack} procedureCodeSelected={procedureGeneral} />\r\n                }\r\n                {\r\n                    procedureGeneral === 1 &&\r\n                    <Unsubscribe handleBack={handleBack} permission={permission} />\r\n                }\r\n                {\r\n                    procedureGeneral === 2 &&\r\n                    <ChangePlan handleBack={handleBack} permission={permission} />\r\n                }\r\n            </form>\r\n        </>\r\n    );\r\n};\r\nexport default FormAffiliations;\r\n\r\n","import React from \"react\";\r\nimport FormHeader from \"../FormHeader\";\r\nimport FormAffiliations from \"./FormAffiliations\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { handleGoToPersonalData } from \"../../../utils/utilsFunctions\";\r\nimport { Divider } from \"@material-ui/core\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\n\r\nconst Affiliations = ({ handleBack }) => {\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n\r\n    return <>\r\n        <FormHeader title='Tramites de afiliaciones' handleGoTo={handleGoToPersonalData}/>\r\n        {\r\n            screen.sWidth > 768 &&\r\n            <Divider className={classes.formDivider} />\r\n        }\r\n        <FormAffiliations fullPersonalData={fullPersonalData} handleBack={handleBack} />\r\n    </>;\r\n};\r\n\r\nexport default Affiliations;","import * as actionTypes from '../consts/actionTypes';\r\n\r\nexport function getWayToPay(param) {\r\n    return {\r\n        type: actionTypes.GET_WAYTOPAY,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getEnabledDirectDebit(param) {\r\n    return {\r\n        type: actionTypes.GET_ENABLED_DIRECTDEBIT,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getDirectDebit(param) {\r\n    return {\r\n        type: actionTypes.GET_DIRECTDEBIT,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function abDirectDebit(param) {\r\n    return {\r\n        type: actionTypes.AB_DIRECTDEBIT,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getAllBills(param) {\r\n    return {\r\n        type: actionTypes.GET_BILLINGS,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getAffiliateBillingFiles(param) {\r\n    return {\r\n        type: actionTypes.GET_BILLINGS_FILES,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function setABDirectDebit(param) {\r\n    return {\r\n        type: actionTypes.SET_AB_DIRECTDEBIT,\r\n        payload: param\r\n    };\r\n}","import { Divider, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport MovementsCard from \"./MovementsCard\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport ModalActivities from \"../../DialogActivities/ModalActivities\";\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport { MONTHS, handleGoToBilling } from \"../../../utils/utilsFunctions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getAffiliateBillingFiles } from \"../../../redux/actions/billingActions\";\r\nimport Moment from 'moment';\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst Movements = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const [isDeudor, setIsDeudor] = useState(false);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const billsReduxState = useSelector(state => state.billingReducer);\r\n    const [bills, setBills] = useState([{}]);\r\n    const [amount, setAmount] = useState(0);\r\n    const dispatch = useDispatch();\r\n    const [flag, setFlag] = useState(false);\r\n    const [loading, setLoading] = useState(true);\r\n\r\n    const handleClickModal = (item) => (e) => {\r\n        dispatch(getAffiliateBillingFiles({\r\n            numeroPersona: userCode,\r\n            comprobanteTipo: item?.comprobanteTipo,\r\n            comprobanteNumero: item?.comprobanteNumero\r\n        }));\r\n        setFlag(true);\r\n        setOpenModal(true);\r\n        setTimeout(() => {\r\n            setOpenModal(false);\r\n        }, 2000);\r\n    };\r\n\r\n    const validateDebtor = (amountItem) => {\r\n        if (amountItem < 0) {\r\n            setIsDeudor(true);\r\n        } else {\r\n            setIsDeudor(false);\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        validateReduxState(billsReduxState, flag);\r\n    }, [billsReduxState?.billingFiles?.comprobante]);\r\n\r\n\r\n    useEffect(() => {\r\n        if (Object.values(billsReduxState?.bills).length > 0) {\r\n            setBills(billsReduxState?.bills?.comprobantes);\r\n            let saldoFloat = billsReduxState?.bills?.saldo?.toString().replace(\".\", \",\");\r\n            let saldoDecimal = saldoFloat?.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n            setAmount(saldoDecimal);\r\n            validateDebtor(billsReduxState?.bills?.saldo);\r\n            setLoading(false);\r\n        }\r\n    }, [billsReduxState?.bills]);\r\n\r\n    function amountColor() {\r\n        var response;\r\n        if(amount < 0) {\r\n            response = 'red';\r\n        } else {\r\n            response = '#40cc40';\r\n        }\r\n        if(amount === 0) {\r\n            response = 'grey';\r\n        }\r\n        return response;\r\n    }\r\n\r\n    function showDeudor(deudor, saldo) {\r\n        var response;\r\n        if(deudor || saldo < 0) {\r\n            response = (\r\n                <Typography className={`${classes.titleBox} ${classes.titleEmergency}`}\r\n                    style={{\r\n                        textTransform: 'uppercase',\r\n                        fontSize: '20px',\r\n                        color: '#585858',\r\n                        display: 'flex',\r\n                        flex: '1 1 100%',\r\n                        justifyContent: 'center'\r\n                    }}>\r\n                    Deudor\r\n                </Typography>\r\n            );\r\n        } else if(saldo !== 0) {\r\n            response = (\r\n                <Typography className={`${classes.titleBox} ${classes.titleEmergency}`}\r\n                    style={{\r\n                        textTransform: 'uppercase',\r\n                        fontSize: '20px',\r\n                        color: '#585858',\r\n                        display: 'flex',\r\n                        flex: '1 1 100%',\r\n                        justifyContent: 'center'\r\n                    }}>\r\n                    Acreedor \r\n                </Typography>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    return <>\r\n        {screen.sWidth < 768 ?\r\n            <FormHeader title={\"Movimientos\"} subtitle={\"\"} handleGoTo={handleGoToBilling} />\r\n            :\r\n            <>\r\n                <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'flex-start', display: 'none' }}>\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex', fontSize: '14px' }}>\r\n                        Movimientos\r\n                    </Typography>\r\n                </div>\r\n                <Divider className={classes.formDivider} />\r\n            </>\r\n        }\r\n        {loading ?\r\n            <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n            :\r\n            <Fragment>\r\n                <div style={{ display: 'none', justifyContent: 'center', paddingTop: screen.sWidth < 768 ? '5%' : '2%', flexWrap: 'wrap' }}>\r\n                    <Typography className={`${classes.titleBox} ${classes.titleEmergency} ${classes.amountTitle}`}>\r\n                        Saldo actual\r\n                    </Typography>\r\n                    <Typography className={`${classes.titleEmergency} ${classes.amountMovements}`} style={{ color: amountColor() }}>\r\n                        ${amount}\r\n                    </Typography>\r\n                    {showDeudor(isDeudor, amount)}\r\n                </div>\r\n                {bills?.length > 0 &&\r\n                    <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'flex-start' }}>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.subTitleMovements} `}>\r\n                            Historial de Movimientos\r\n                        </Typography>\r\n                    </div>\r\n                }\r\n                <Divider className={classes.formDivider} style={{ display: screen.sWidth < 768 && 'none'  }} />\r\n                <div className={classes.divSectionMovements} style={{ justifyContent: 'center' }}>\r\n                    {bills?.map((item, i) => (\r\n                        <MovementsCard\r\n                            key={item}\r\n                            headerIcon={\r\n                                <>\r\n                                    <Typography style={{ fontSize: '9px' }} className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                                        PERIODO\r\n                                    </Typography>\r\n                                    <Typography style={{ fontSize: '15px' }} className={`${classes.txtNumberCalendar} ${classes.txtEllipsis}`}>\r\n                                        {MONTHS[item.comprobanteMes]}\r\n                                    </Typography>\r\n                                    <Typography className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                                        {item?.comprobanteAnio}\r\n                                    </Typography>\r\n                                </>\r\n                            }\r\n                            description={\r\n                                <>\r\n                                    <Typography style={{ fontWeight: \"800\", color: '#0075c9' }} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                                        FACTURA Nº: <span style={{ color: 'black' }}>{item?.comprobanteNumero}</span>\r\n                                    </Typography>\r\n                                    <Typography style={{ color: '#0075c9' }} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`} >\r\n                                        FECHA DE VENCIMIENTO: <span style={{ color: 'black' }}>{Moment(item.comprobanteFechaVencimiento?.split('T')[0]).format('DD-MM-yyyy')}</span>\r\n                                    </Typography>\r\n                                    <Typography style={{ color: '#0075c9' }} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                                        SALDO: <span style={{ color: 'black' }}>${item?.comprobanteSaldo}</span>\r\n                                    </Typography>\r\n                                    <Typography style={{ color: '#0075c9' }} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                                        FECHA DE PAGO: <span style={{ color: 'black' }}>{Moment(item.comprobanteFechaPago?.split('T')[0]).format('DD-MM-yyyy')}</span>\r\n                                    </Typography>\r\n                                </>\r\n                            }\r\n                            buttonZone={\r\n                                <section style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\r\n                                    <div>\r\n                                        <CustomButton\r\n                                            title=\"DESCARGAR\"\r\n                                            customClass={classes.lightLinearGradient}\r\n                                            style={{ marginTop: \"10px\", width: \"60%\", fontSize: \"6px\", fontWeight: '800' }}\r\n                                            onClick={handleClickModal(item)}\r\n                                        />\r\n                                    </div>\r\n                                </section>\r\n                            } index={i} />\r\n                    ))}\r\n                </div>\r\n                {\r\n                    bills?.length === 0 &&\r\n                    <div className={`${classes.contentNotFound}`}>\r\n                        <span style={{ color: '#0075C9' }}>No tenés historial de movimientos</span>\r\n                    </div>\r\n                }\r\n            </Fragment>\r\n        }\r\n        {openModal &&\r\n            <ModalActivities\r\n                title={\r\n                    <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap' }}>\r\n                        <CheckCircleIcon className={classes.quickAccessIcon} />\r\n                        <div style={{ display: 'flex', justifyContent: 'center', flex: '1 1 100%', marginTop: '20px' }}>\r\n                            <span>La descarga comenzará en breve</span>\r\n                        </div>\r\n                    </section>\r\n                }\r\n                open={openModal}\r\n                onClose={setOpenModal}\r\n                modalconfirm={false}\r\n                modalLogout={false}\r\n            />\r\n        }\r\n    </>;\r\n};\r\n\r\nexport default Movements;\r\n\r\nfunction validateReduxState(billsReduxState, flag) {\r\n    if (Object.values(billsReduxState?.billingFiles).length > 0) {\r\n        if (Object.values(billsReduxState?.billingFiles?.comprobante).length > 0) {\r\n            if (flag) {\r\n                downloadClick(billsReduxState?.billingFiles?.comprobante[0]);\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\nfunction downloadClick(item) {\r\n    let downloadBtn = document.createElement('A');\r\n    /*Corroborar si es pdf*/\r\n    downloadBtn.href = \"data:application/pdf;base64,\" + item.archivo;\r\n    downloadBtn.download = '';\r\n    document.body.appendChild(downloadBtn);\r\n    downloadBtn.click();\r\n    document.body.removeChild(downloadBtn);\r\n}\r\n","import React, { useEffect, Fragment, useState } from 'react'\r\nimport { useResizeScreen } from '../../../hooks/useResizeScreen';\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport FormHeader from '../../PersonalData/FormHeader';\r\nimport CustomizedInputs from '../../../controls/InputCustom/CustomizedInputs';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Divider, FormControl, IconButton, InputAdornment, Typography } from '@material-ui/core';\r\nimport FileCopyOutlinedIcon from '@material-ui/icons/FileCopyOutlined';\r\nimport { getWayToPay } from \"../../../redux/actions/billingActions\";\r\nimport NotFound from '../../HomeLogged/NotFound';\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\nconst affiliated = {\r\n    numeroPersona: userCode\r\n};\r\n\r\nconst WayToPay = () => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const dispatch = useDispatch();\r\n    const data = useSelector(state => state.billingReducer?.wayToPay);\r\n    const [wayToPay, setWayToPay] = useState([]);\r\n\r\n    useEffect(() => {\r\n        dispatch(getWayToPay(affiliated));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        setWayToPay(data)\r\n    }, [data]);\r\n\r\n    function formHeader() {\r\n        let res = {\r\n            title: 'MEDIOS DE PAGO DIGITALES',\r\n            subtitle: ''\r\n        };\r\n        if (screen.sWidth < 768) {\r\n            res.title = 'MEDIOS DE PAGO DIGITALES';\r\n            res.subtitle = '';\r\n        }\r\n        return res;\r\n    }\r\n\r\n    const handleGoToHome = () => {\r\n        window.location.href = '/Billing';\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <FormHeader title={formHeader().title} subtitle={formHeader().subtitle} handleGoTo={handleGoToHome} />\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <Divider className={classes.formDivider} />\r\n            }\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'flex-start' }}>\r\n                {(screen.sWidth <= 768) && (wayToPay !== undefined) && (wayToPay?.length > 0) ?\r\n                    <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency} ${classes.subtitleSelectWayToPay}`}>\r\n                        SELECCIONA EL MEDIO DE PAGO\r\n                    </Typography>\r\n                    :\r\n                    \"\"\r\n                }\r\n            </div>\r\n            {\r\n                (wayToPay !== undefined) && (wayToPay?.length > 0) ?\r\n                    <div className={classes.wayToPayDiv}>\r\n                        {wayToPay?.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                    <div className={classes.wayToPayItemDiv}>\r\n                                        <div className={classes.wayToPayButtonImage} style={{ margin: screen.sWidth > 768 ? \"10px 0\" : \"10px 25px\" }}>\r\n                                            <IconButton className={classes.buttonImgWayToPay} href={item?.url} target=\"_blank\" rel=\"noopener noreferrer\">\r\n                                                <img\r\n                                                    src={item?.image}\r\n                                                    height=\"40px\"\r\n                                                    width=\"130px\"\r\n                                                />\r\n                                            </IconButton>\r\n                                        </div>\r\n                                        <div className={`${classes.wayToPayMercadoPago}`}>\r\n                                            <>\r\n                                                <Typography className={classes.wayToPayTitle}>\r\n                                                    OBSERVACIONES\r\n                                                </Typography>\r\n                                                <Typography className={`${classes.wayToPaySubtitle}`} >\r\n                                                    {item?.observation}\r\n                                                </Typography>\r\n                                            </>\r\n                                        </div>\r\n                                        {\r\n                                            item?.code !== \"\" &&\r\n                                            <FormControl variant=\"standard\" style={{ margin: \"10px 0\" }}>\r\n                                                <CustomizedInputs\r\n                                                    label='CODIGO DE REFERENCIA DE PAGO'\r\n                                                    value={item?.code}\r\n                                                    disabled={true}\r\n                                                    endAdornment={\r\n                                                        <InputAdornment position=\"start\">\r\n                                                            <IconButton onClick={() => { navigator.clipboard.writeText(item?.code) }}>\r\n                                                                <FileCopyOutlinedIcon />\r\n                                                            </IconButton>\r\n                                                        </InputAdornment>\r\n                                                    }\r\n                                                />\r\n                                            </FormControl>\r\n                                        }\r\n                                    </div>\r\n                            </Fragment>\r\n                        ))}\r\n                    </div>\r\n                    :\r\n                    <NotFound\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span style={{ color: '#0075c9', margin: '10px' }}>No tenés formas de pago</span>\r\n                            </div>}\r\n                        customClass={classes.flexStartJustifyContent}\r\n                        wsItem={wayToPay}\r\n                        fullItem={wayToPay}\r\n                    />\r\n            }\r\n        </>\r\n    )\r\n}\r\n\r\nexport default WayToPay\r\n","import React, { useEffect, useState } from 'react';\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { FormControl, FormHelperText, InputLabel } from '@material-ui/core';\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport CustomizedInputs from '../../../controls/InputCustom/CustomizedInputs';\r\nimport { validate } from '../../../utils/utilsFunctions';\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst listOfTypeDebit = [\r\n    {\r\n        value: 0, label: \"TARJETA CREDITO\"\r\n    },\r\n    {\r\n        value: 1, label: \"DEBITO CUENTA\"\r\n    }\r\n];\r\n\r\nconst listOfTypeAccount = [\r\n    {\r\n        value: 0, label: \"CUENTA CORRIENTE\"\r\n    },\r\n    {\r\n        value: 1, label: \"CAJA DE AHORRO\"\r\n    },\r\n];\r\n\r\nconst AdherenceForm = (props) => {\r\n    const { model, setModel, error, setError } = props;\r\n    const classes = useStyles();\r\n    const [selectTypeDebit, setSelectTypeDebit] = useState(0);\r\n    const [selectCard, setSelectCard] = useState(0);\r\n    const [selectTypeAccount, setSelectTypeAccount] = useState(0);\r\n    const [debitoAutomaticoInformacion, setDebitoAutomaticoInformacion] = useState({\r\n        tarjetaCreditoTipoCodigo: '',\r\n        tarjetaCreditoNumero: '',\r\n        tarjetaCreditoVencimientoMes: 0,\r\n        tarjetaCreditoVencimientoAnio: 0,\r\n        debitoTipoCodigo: '',\r\n        debitoNumeroCuenta: '',\r\n        debitoCBU: '',\r\n    });\r\n    const cardsReduxState = useSelector(state => state?.cardReducer?.cards);\r\n    const [listOfCard, setListOfCard] = useState([]);\r\n\r\n    useEffect(() => {\r\n        let aux = listOfCard;\r\n        cardsReduxState?.cards?.forEach(element => {\r\n            aux.push({\r\n                value: element.id,\r\n                label: element.tipoTarjeta?.toUpperCase()\r\n            });\r\n        });\r\n        setListOfCard(aux);\r\n    }, [cardsReduxState]);\r\n\r\n    useEffect(() => {\r\n        setModel({ ...model, debitoAutomaticoInformacion });\r\n    }, [debitoAutomaticoInformacion]);\r\n\r\n    useEffect(() => {\r\n        if (model?.debitoAutomaticoInformacion === undefined) {\r\n            setModel({ ...model });\r\n            setSelectTypeDebit(-1);\r\n            setSelectCard(-1);\r\n            setSelectTypeAccount(-1);\r\n        }\r\n    }, [model?.debitoAutomaticoInformacion]);\r\n\r\n    const handleChangeSelectTypeDebit = () => e => {\r\n        const { name, value } = e.target;\r\n        setSelectTypeDebit(value);\r\n        let typeDebit = listOfTypeDebit?.find(x => x.value === value)?.label;\r\n        setModel({\r\n            ...model,\r\n            [name]: typeDebit,\r\n        });\r\n        setDebitoAutomaticoInformacion({\r\n            tarjetaCreditoTipoCodigo: '',\r\n            tarjetaCreditoNumero: '',\r\n            tarjetaCreditoVencimientoMes: 0,\r\n            tarjetaCreditoVencimientoAnio: 0,\r\n            debitoTipoCodigo: '',\r\n            debitoNumeroCuenta: '',\r\n            debitoCBU: '',\r\n        });\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleChangeSelectCard = () => e => {\r\n        const { name, value } = e.target;\r\n        setSelectCard(value);\r\n        let typeCard = listOfCard?.find(x => x.value === value)?.label;\r\n        setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, [name]: typeCard });\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleChangeCardNumber = () => e => {\r\n        const { name, value } = e.target;\r\n        setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, [name]: value });\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleChangeCardExpiration = () => e => {\r\n        const { name, value } = e.target;\r\n        setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, [name]: parseInt(value) });\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleChangeSelectTypeAccount = () => e => {\r\n        const { name, value } = e.target;\r\n        setSelectTypeAccount(value);\r\n        let typeAccount = listOfTypeAccount?.find(x => x.value === value)?.label;\r\n        setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, [name]: typeAccount });\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <FormControl className={`${classes.formControlsAffiliations} ${classes.fixFormControlSelect}`} variant=\"standard\">\r\n                <InputLabel className={`${classes.txtLabelTramites} ${classes.fixInputLabel} `}>\r\n                    {\"MEDIO DE PAGO\"}\r\n                </InputLabel>\r\n                <CustomSelect\r\n                    label=\"\"\r\n                    name='debitoAutomaticoTipo'\r\n                    selected={selectTypeDebit}\r\n                    list={listOfTypeDebit}\r\n                    onChange={handleChangeSelectTypeDebit()}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.debitoAutomaticoTipo}</FormHelperText>\r\n            </FormControl>\r\n\r\n            {selectTypeDebit === 0 &&\r\n                <>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.fixFormControlSelect}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} ${classes.fixInputLabel} `}>\r\n                            {\"TIPO DE TARJETA\"}\r\n                        </InputLabel>\r\n                        <CustomSelect\r\n                            label=\"\"\r\n                            name='tarjetaCreditoTipoCodigo'\r\n                            selected={selectCard}\r\n                            list={listOfCard}\r\n                            onChange={handleChangeSelectCard()}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.tarjetaCreditoTipoCodigo}</FormHelperText>\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"NUMERO DE TARJETA\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='tarjetaCreditoNumero'\r\n                            disabled={false}\r\n                            onChange={handleChangeCardNumber()}\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: 16 }}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.tarjetaCreditoNumero}</FormHelperText>\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"MES DE VENCIMIENTO\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            name='tarjetaCreditoVencimientoMes'\r\n                            disabled={false}\r\n                            onChange={handleChangeCardExpiration()}\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: 2 }}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.tarjetaCreditoVencimientoMes}</FormHelperText>\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"AÑO DE VENCIMIENTO\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            name='tarjetaCreditoVencimientoAnio'\r\n                            disabled={false}\r\n                            onChange={handleChangeCardExpiration()}\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: 4 }}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.tarjetaCreditoVencimientoAnio}</FormHelperText>\r\n                    </FormControl>\r\n                </>\r\n            }\r\n\r\n            {selectTypeDebit === 1 &&\r\n                <>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.fixFormControlSelect}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} ${classes.fixInputLabel} `}>\r\n                            {\"TIPO DE CUENTA\"}\r\n                        </InputLabel>\r\n                        <CustomSelect\r\n                            label=\"\"\r\n                            name='debitoTipoCodigo'\r\n                            selected={selectTypeAccount}\r\n                            list={listOfTypeAccount}\r\n                            onChange={handleChangeSelectTypeAccount()}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.debitoTipoCodigo}</FormHelperText>\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"NUMERO DE CUENTA\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='debitoNumeroCuenta'\r\n                            disabled={false}\r\n                            onChange={handleChangeCardNumber()}\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: 10 }}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.debitoNumeroCuenta}</FormHelperText>\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"CBU\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='debitoCBU'\r\n                            disabled={false}\r\n                            onChange={handleChangeCardNumber()}\r\n                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                            inputProps={{ maxLength: 22 }}\r\n                        />\r\n                        <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.debitoCBU}</FormHelperText>\r\n                    </FormControl>\r\n                </>\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AdherenceForm;\r\n","import React, { useEffect, useState } from 'react'\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { FormControl, InputLabel } from '@material-ui/core';\r\nimport CustomizedInputs from '../../../controls/InputCustom/CustomizedInputs';\r\nimport { useSelector } from 'react-redux';\r\n\r\n\r\nconst UnsuscribeForm = (props) => {\r\n\r\n    const { model, setModel } = props;\r\n    const classes = useStyles();\r\n    const data = useSelector(state => state.billingReducer?.getDirectDebit);\r\n    const [debitosAutomaticos] = useState(data?.debitosAutomaticos);\r\n    const [creditCard, setCreditCard] = useState(\"\");\r\n    const [debitAccount, setDebitAccount] = useState(\"\");\r\n    const [debitoAutomaticoInformacion, setDebitoAutomaticoInformacion] = useState({});\r\n\r\n    useEffect(() => {\r\n        if (debitosAutomaticos[0]?.tarjetaCreditoNumero != '') {\r\n            setCreditCard(debitosAutomaticos[0]?.tarjetaCreditoTipoCodigo)\r\n        }\r\n        if (debitosAutomaticos[0]?.debitoNumeroCuenta != '') {\r\n            setDebitAccount(debitosAutomaticos[0]?.debitoTipoCodigo)\r\n        }\r\n        setDebitoAutomaticoInformacion({\r\n            ...debitoAutomaticoInformacion,\r\n            tarjetaCreditoTipoCodigo: \"\",\r\n            tarjetaCreditoNumero: debitosAutomaticos[0]?.tarjetaCreditoNumero,\r\n            tarjetaCreditoVencimientoMes: debitosAutomaticos[0]?.tarjetaCreditoVencimientoMes,\r\n            tarjetaCreditoVencimientoAnio: debitosAutomaticos[0]?.tarjetaCreditoVencimientoAnio,\r\n            debitoTipoCodigo: \"\",\r\n            debitoNumeroCuenta: debitosAutomaticos[0]?.debitoNumeroCuenta,\r\n            debitoCBU: debitosAutomaticos[0]?.debitoCBU,\r\n        })\r\n    }, [data])\r\n\r\n    useEffect(() => {\r\n        switch (creditCard) {\r\n            case 'V':\r\n                setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, tarjetaCreditoTipoCodigo: \"VISA\" })\r\n                break;\r\n            case 'C':\r\n                setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, tarjetaCreditoTipoCodigo: \"MASTERCARD\" })\r\n                break;\r\n            case 'W':\r\n                setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, tarjetaCreditoTipoCodigo: \"AMEX\" })\r\n                break;\r\n        }\r\n        setModel({ ...model, debitoAutomaticoTipo: \"TARJETA CREDITO\" })\r\n    }, [creditCard])\r\n\r\n\r\n    useEffect(() => {\r\n        switch (debitAccount) {\r\n            case 1:\r\n                setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, debitoTipoCodigo: \"CUENTA CORRIENTE\" })\r\n                break;\r\n            case 2:\r\n                setDebitoAutomaticoInformacion({ ...debitoAutomaticoInformacion, debitoTipoCodigo: \"CAJA DE AHORRO\" })\r\n                break;\r\n        }\r\n        setModel({ ...model, debitoAutomaticoTipo: \"DEBITO CUENTA\" })\r\n    }, [debitAccount])\r\n\r\n    useEffect(() => {\r\n        setModel({ ...model, debitoAutomaticoInformacion })\r\n    }, [model?.debitoAutomaticoTipo])\r\n\r\n    return (\r\n        <>\r\n            <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                    {\"MEDIO DE PAGO\"}\r\n                </InputLabel>\r\n                <CustomizedInputs\r\n                    label=''\r\n                    name='debitoAutomaticoTipo'\r\n                    value={model?.debitoAutomaticoTipo}\r\n                    disabled={true}\r\n                />\r\n            </FormControl>\r\n\r\n            {creditCard !== \"\" &&\r\n                <>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"TIPO DE TARJETA\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='tarjetaCreditoTipoCodigo'\r\n                            value={model?.debitoAutomaticoInformacion?.tarjetaCreditoTipoCodigo}\r\n                            disabled={true}\r\n                        />\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"NUMERO DE TARJETA\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='tarjetaCreditoNumero'\r\n                            value={model?.debitoAutomaticoInformacion?.tarjetaCreditoNumero?.replace(/\\d(?=\\d{4})/g, \"*\")}\r\n                            disabled={true}\r\n                        />\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"MES DE VENCIMIENTO\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            name='tarjetaCreditoVencimientoMes'\r\n                            value={model?.debitoAutomaticoInformacion?.tarjetaCreditoVencimientoMes}\r\n                            disabled={true}\r\n                        />\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"AÑO DE VENCIMIENTO\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='tarjetaCreditoVencimientoAnio'\r\n                            value={model?.debitoAutomaticoInformacion?.tarjetaCreditoVencimientoAnio}\r\n                            disabled={true}\r\n                        />\r\n                    </FormControl>\r\n                </>\r\n            }\r\n\r\n            {debitAccount !== \"\" &&\r\n                <>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"TIPO DE CUENTA\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='debitoTipoCodigo'\r\n                            value={model?.debitoAutomaticoInformacion?.debitoTipoCodigo}\r\n                            disabled={true}\r\n                        />\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"NUMERO DE CUENTA\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='debitoNumeroCuenta'\r\n                            value={model?.debitoAutomaticoInformacion?.debitoNumeroCuenta?.replace(/\\d(?=\\d{4})/g, \"*\")}\r\n                            disabled={true}\r\n                        />\r\n                    </FormControl>\r\n                    <FormControl className={`${classes.formControlsAffiliations} ${classes.formControlsCardNumber}`} variant=\"standard\">\r\n                        <InputLabel className={`${classes.txtLabelTramites} `}>\r\n                            {\"CBU\"}\r\n                        </InputLabel>\r\n                        <CustomizedInputs\r\n                            label=''\r\n                            name='debitoCBU'\r\n                            value={model?.debitoAutomaticoInformacion?.debitoCBU?.replace(/\\d(?=\\d{4})/g, \"*\")}\r\n                            disabled={true}\r\n                        />\r\n                    </FormControl>\r\n                </>\r\n            }\r\n        </>\r\n    )\r\n}\r\n\r\nexport default UnsuscribeForm\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useResizeScreen } from '../../../hooks/useResizeScreen';\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport FormHeader from '../../PersonalData/FormHeader';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { CircularProgress, Divider, FormControl, FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { abDirectDebit, getDirectDebit, getEnabledDirectDebit, setABDirectDebit } from \"../../../redux/actions/billingActions\";\r\nimport CustomSelect from '../../../controls/Select/CustomSelect';\r\nimport AdherenceForm from './AdherenceForm';\r\nimport UnsuscribeForm from './UnsuscribeForm';\r\nimport CustomButton from '../../../controls/Button/CustomButton';\r\nimport ConfirmModal from '../../PersonalData/ConfirmModal';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport SaveModal from '../../PersonalData/SaveModal';\r\nimport { validate } from '../../../utils/utilsFunctions';\r\nimport NotFound from '../../HomeLogged/NotFound';\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\nconst affiliated = {\r\n  numeroPersona: userCode\r\n};\r\n\r\nconst listOfOptions = [\r\n  {\r\n    value: 0, label: \"ADHESION\"\r\n  },\r\n  {\r\n    value: 1, label: \"BAJA\"\r\n  }\r\n];\r\n\r\nconst DirectDebit = () => {\r\n  const classes = useStyles();\r\n  const { screen } = useResizeScreen();\r\n  const dispatch = useDispatch();\r\n  const date = new Date();\r\n  const [permission, setPermission] = useState(null);\r\n  const data = useSelector(state => state.billingReducer);\r\n  const [selectOption, setSelectOption] = useState(0);\r\n  const [openSave, setOpenSave] = useState(false);\r\n  const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n  const [modalTitle, setModalTitle] = useState('');\r\n  const [modalDescription, setModalDescription] = useState(\"\");\r\n  const [modalIcon, setModalIcon] = useState('');\r\n  const [error, setError] = useState({});\r\n  const [model, setModel] = useState({\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    debitoAutomaticoModo: 'A',\r\n  });\r\n  const [loading, setLoading] = useState(false);\r\n\r\n  useEffect(() => {\r\n    dispatch(getEnabledDirectDebit(affiliated));\r\n    dispatch(getDirectDebit(affiliated));\r\n    setSelectOption(0);\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (data.enabledDirectDebit != null) {\r\n      setPermission(data.enabledDirectDebit?.habilitado);\r\n    }\r\n  }, [data.enabledDirectDebit]);\r\n\r\n  const handleChangeSelect = () => e => {\r\n    const { name, value } = e.target;\r\n    setSelectOption(value);\r\n    if (value == 0) {\r\n      setModel({\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        [name]: \"A\"\r\n      });\r\n    }\r\n    else {\r\n      setModel({\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        [name]: \"B\"\r\n      });\r\n    }\r\n    validate(name, '*Campo obligatorio', value, setError, error);\r\n  };\r\n\r\n  function formHeader() {\r\n    let res = {\r\n      title: 'ADHESION / BAJA',\r\n      subtitle: ''\r\n    };\r\n    if (screen.sWidth < 768) {\r\n      res.title = 'ADHESION / BAJA';\r\n      res.subtitle = '';\r\n    }\r\n    return res;\r\n  }\r\n\r\n  const handleClickModal = () => {\r\n    if (model?.debitoAutomaticoModo == 'A' && validateForm(model)) {\r\n      setOpenSave(prevState => !prevState);\r\n    }\r\n    if (model?.debitoAutomaticoModo == 'B') {\r\n      setOpenSave(prevState => !prevState);\r\n    }\r\n  };\r\n\r\n  const handleSubmit = (e) => {\r\n    e.preventDefault();\r\n    setLoading(true);\r\n    if (model?.debitoAutomaticoModo == 'A' && validateForm(model)) {\r\n      setModalTitle('VALIDACION');\r\n      setModalDescription(`Se dara de alta el medio de pago elegido `);\r\n      setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n      setOpenSendSuccess(prevState => !prevState);\r\n      dispatch(abDirectDebit(model));\r\n    }\r\n    if (model?.debitoAutomaticoModo == 'B') {\r\n      setModalTitle('VALIDACION');\r\n      setModalDescription(`Se dara de baja el medio de pago elegido `);\r\n      setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n      setOpenSendSuccess(prevState => !prevState);\r\n      dispatch(abDirectDebit(model));\r\n    }\r\n\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (data?.abDirectDebit?.confirmacion) {\r\n      setLoading(false);\r\n      setTimeout(function () {\r\n        setOpenSave(prevState => !prevState);\r\n        setOpenSendSuccess(prevState => !prevState);\r\n      }, 2000);\r\n      setModel({\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        debitoAutomaticoModo: 'A',\r\n      });\r\n      setSelectOption(0);\r\n      setError({});\r\n      dispatch(setABDirectDebit('clean'));\r\n    }\r\n    else if (data?.abDirectDebit?.confirmacion === false) {\r\n      setLoading(false);\r\n      setTimeout(function () {\r\n        setOpenSave(prevState => !prevState);\r\n        setOpenSendSuccess(prevState => !prevState);\r\n        window.location.reload();\r\n      }, 2000);\r\n      setModalTitle('Ocurrió un error');\r\n      setModalDescription(`Ocurrió un error al intentar realizar la operación, por favor, inténte mas tarde.`);\r\n      setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n      setSelectOption(0);\r\n      setError({});\r\n      dispatch(setABDirectDebit('clean'));\r\n    }\r\n  }, [data?.abDirectDebit]);\r\n\r\n  useEffect(() => {\r\n    if (Object.values(data?.getDirectDebit)?.length > 0) {\r\n      if (data?.getDirectDebit?.confirmacion) {\r\n        if ((data?.getDirectDebit?.debitosAutomaticos[0]?.tarjetaCreditoTipoCodigo !== '' && data?.getDirectDebit?.debitosAutomaticos[0]?.tarjetaCreditoVencimientoMes !== '' && data?.getDirectDebit?.debitosAutomaticos[0]?.tarjetaCreditoVencimientoAnio !== '') ||\r\n          (data?.getDirectDebit?.debitosAutomaticos[0]?.debitoNumeroCuenta !== '' && data?.getDirectDebit?.debitosAutomaticos[0]?.debitoCBU !== '' && data?.getDirectDebit?.debitosAutomaticos[0]?.debitoTipoDescripcion !== '')) {\r\n          setSelectOption(1);\r\n          setModel({\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            debitoAutomaticoModo: \"B\"\r\n          });\r\n        } else {\r\n          setSelectOption(0);\r\n          setModel({\r\n            numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n            debitoAutomaticoModo: \"A\"\r\n          });\r\n        }\r\n      }\r\n    }\r\n  }, [data?.getDirectDebit]);\r\n\r\n  function validateForm(object) {\r\n    let temp = object;\r\n    let aux = [];\r\n    let validation = [];\r\n    let Obj = {};\r\n    Obj.debitoAutomaticoModo = temp.debitoAutomaticoModo ? '' : '*Campo obligatorio';\r\n    if (Obj.debitoAutomaticoModo != '*Campo obligatorio') {\r\n      Obj.debitoAutomaticoTipo = temp.debitoAutomaticoTipo ? '' : '*Campo obligatorio';\r\n    }\r\n    if (temp.debitoAutomaticoTipo === 'TARJETA CREDITO') {\r\n      Obj.tarjetaCreditoTipoCodigo = temp.debitoAutomaticoInformacion?.tarjetaCreditoTipoCodigo ? '' : '*Campo obligatorio';\r\n      Obj.tarjetaCreditoNumero = temp.debitoAutomaticoInformacion.tarjetaCreditoNumero ? '' : '*Campo obligatorio';\r\n      Obj.tarjetaCreditoVencimientoMes = temp.debitoAutomaticoInformacion.tarjetaCreditoVencimientoMes ? '' : '*Campo obligatorio';\r\n      Obj.tarjetaCreditoVencimientoAnio = temp.debitoAutomaticoInformacion.tarjetaCreditoVencimientoAnio ? '' : '*Campo obligatorio';\r\n      if (Obj.tarjetaCreditoVencimientoMes != '*Campo obligatorio' && (temp.debitoAutomaticoInformacion.tarjetaCreditoVencimientoMes < date.getMonth() + 1 && temp.debitoAutomaticoInformacion?.tarjetaCreditoVencimientoAnio == date.getFullYear())) {\r\n        Obj.tarjetaCreditoVencimientoMes = '*Ingrese MES posterior';\r\n      }\r\n      if (Obj.tarjetaCreditoVencimientoAnio != '*Campo obligatorio' && (temp.debitoAutomaticoInformacion.tarjetaCreditoVencimientoAnio < date.getFullYear())) {\r\n        Obj.tarjetaCreditoVencimientoAnio = '*Ingrese AÑO posterior';\r\n      }\r\n    }\r\n    if (temp.debitoAutomaticoTipo === 'DEBITO CUENTA') {\r\n      Obj.debitoTipoCodigo = temp.debitoAutomaticoInformacion.debitoTipoCodigo ? '' : '*Campo obligatorio';\r\n      Obj.debitoNumeroCuenta = temp.debitoAutomaticoInformacion.debitoNumeroCuenta ? '' : '*Campo obligatorio';\r\n      Obj.debitoCBU = temp.debitoAutomaticoInformacion.debitoCBU ? '' : '*Campo obligatorio';\r\n    }\r\n    aux = Obj;\r\n    if (Object.values(aux).every((x) => x === \"\")) {\r\n      validation.push(true);\r\n    } else {\r\n      validation.push(false);\r\n    }\r\n    setError(aux);\r\n    return Object.values(validation).every((valid) => valid === true);\r\n  }\r\n\r\n  const handleGoToHome = () => {\r\n    window.location.href = '/Billing';\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <FormHeader title={formHeader().title} subtitle={formHeader().subtitle} handleGoTo={handleGoToHome}/>\r\n      {\r\n        screen.sWidth > 768 &&\r\n        <Divider className={classes.formDivider} />\r\n      }\r\n      {\r\n        permission ?\r\n          <>\r\n            <div className={classes.directDebitDiv}>\r\n              {screen.sWidth >= 1000 &&\r\n                <div style={{ display: 'flex', justifyContent: 'flex-end', alignContent: 'center', width: '100%' }}>\r\n                  <CustomButton\r\n                    name='save'\r\n                    title='CONFIRMAR'\r\n                    customClass={`${classes.lightLinearGradientReverse} ${classes.marginLeft}`}\r\n                    onClick={handleClickModal}\r\n                  />\r\n                </div>\r\n              }\r\n              <FormControl className={`${classes.formControlsAffiliations} ${classes.fixFormControlSelect}`} variant=\"standard\">\r\n                <InputLabel className={`${classes.txtLabelTramites} ${classes.fixInputLabel} `}>\r\n                  {\"ADHESION / BAJA\"}\r\n                </InputLabel>\r\n                <CustomSelect\r\n                  label=\"\"\r\n                  disabled={true}\r\n                  name='debitoAutomaticoModo'\r\n                  selected={selectOption}\r\n                  list={listOfOptions}\r\n                  onChange={handleChangeSelect()}\r\n                />\r\n                <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.debitoAutomaticoModo}</FormHelperText>\r\n              </FormControl>\r\n              {\r\n                selectOption === 0 &&\r\n                <AdherenceForm model={model} setModel={setModel} error={error} setError={setError} />\r\n              }\r\n              {\r\n                selectOption === 1 &&\r\n                <UnsuscribeForm model={model} setModel={setModel} />\r\n              }\r\n              {screen.sWidth <= 1000 &&\r\n                <div style={{ display: 'flex', justifyContent: 'center', alignContent: 'center', width: '100%' }}>\r\n                  <CustomButton\r\n                    name='save'\r\n                    title='CONFIRMAR'\r\n                    customClass={`${classes.lightLinearGradientReverse} ${classes.marginLeft}`}\r\n                    onClick={handleClickModal}\r\n                  />\r\n                </div>\r\n              }\r\n              <SaveModal isOpen={openSave} setOpen={setOpenSave} type='submit' onClick={handleSubmit}\r\n                titleModal={\r\n                  <>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                      <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                    </div>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                      Confirmar envío de datos\r\n                    </div>\r\n                  </>\r\n                }\r\n                descriptionModal=\"¿Deseas confirmar los cambios?\"\r\n              />\r\n              <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess}\r\n                titleModal={\r\n                  loading ?\r\n                    <>\r\n                      <span>Espere un momento...</span>\r\n\r\n                    </>\r\n                    :\r\n                    <>\r\n                      <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        {modalIcon}\r\n                      </div>\r\n                      <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        {modalTitle}\r\n                      </div>\r\n                    </>\r\n                }\r\n                description={\r\n                  loading ?\r\n                    <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}>\r\n                      <CircularProgress color={'inherit'} />\r\n                    </div>\r\n                    :\r\n                    modalDescription}\r\n              />\r\n            </div>\r\n          </>\r\n          :\r\n          (\r\n            permission === undefined ?\r\n              (<NotFound\r\n                style={{\r\n                  display: 'flex',\r\n                  justifyContent: 'center',\r\n                  alignItems: 'center',\r\n                }}\r\n                customMsg={\r\n                  <div className={classes.contentNotFound}>\r\n                    <span className={classes.notAppointment}>\r\n                      No tiene acceso a este modulo\r\n                    </span>\r\n                  </div>\r\n                }\r\n                wsItem={permission}\r\n                fullItem={permission}\r\n              />) :\r\n\r\n              (\r\n                <div\r\n                style={{\r\n                  display: 'flex',\r\n                  justifyContent: 'center',\r\n                  alignItems: 'center',\r\n                }}>\r\n                  <div style={{ color: '#0075c9', margin: '20px' }}>\r\n                    No tenés acceso al módulo\r\n                  </div>\r\n                </div>\r\n              )\r\n          )\r\n      }\r\n    </>\r\n  );\r\n};\r\n\r\nexport default DirectDebit;\r\n","import React, { Fragment, useEffect, useState, useRef } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { CircularProgress, Typography } from \"@material-ui/core\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport Switch from \"@material-ui/core/Switch\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { setModelToSaveAppointment } from \"../../redux/actions/appointmentsActions\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"))\r\n\r\nvar items = [\r\n  {\r\n    title: \"Turno presencial\",\r\n  },\r\n  {\r\n    title: \"Telemedicina\",\r\n  },\r\n];\r\n\r\nconst appointmentFlow = [\r\n  {\r\n    name: \"Centro Médico\",\r\n    value: \"centro\",\r\n    enabled: false\r\n  },\r\n \r\n  {\r\n    name: \"Especialidad\",\r\n    value: \"especialidad\",\r\n    enabled: false\r\n  },\r\n  {\r\n    name: \"Médico\",\r\n    value: \"medico\",\r\n    enabled: false\r\n  } \r\n];\r\n\r\nexport default function AskTurnDrawer(props) {\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const groupFamilyTurn = useSelector((state) => state.appointmentsReducer?.groupFamilyTurn);\r\n  const [groupFamily, setGroupFamily] = useState([])\r\n  const modelAppointmentReducer = useSelector(state => state.appointmentsReducer.modelAppointment);\r\n  const [modelAppointment, setModelAppointment] = useState(modelAppointmentReducer);\r\n  const [switchState, setSwitchState] = useState({});\r\n  const [personNumber, setPersonNumber] = useState({ value: 0, label: '' });\r\n  const [flow, setFlow] = useState(appointmentFlow);\r\n  const appointmentByRef = useRef(null);\r\n  const { screen } = useResizeScreen();\r\n\r\n  useEffect(() => {\r\n    initializeSwitch();\r\n    backSwitch();\r\n    initializePerson();\r\n\r\n    if (modelAppointment?.afiliadoCodigo === undefined || modelAppointment?.modalidadTurno === undefined) {\r\n      setModelAppointment({ ...modelAppointment, afiliadoCodigo: \"\", afiliadoDescripcion: \"\", modalidadTurno: \"\" })\r\n    }\r\n\r\n    setModelAppointment({ ...modelAppointment, appointmentFlow: undefined })\r\n\r\n    const refreshSwitch = flow?.map((item) => {\r\n      return { ...item, enabled: false }\r\n    });\r\n\r\n    setFlow(refreshSwitch);\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    dispatch(setModelToSaveAppointment({\r\n      ...modelAppointment,\r\n      especialidadCodigo: '',\r\n      medicoCodigo: '',\r\n      appointmentFlow: modelAppointment?.modalidadTurno == 'Telemedicina' ? undefined : modelAppointment?.appointmentFlow\r\n    }));\r\n  }, [flow, modelAppointment?.modalidadTurno])\r\n\r\n  useEffect(() => {\r\n    let listGroupFamily = groupFamilyTurn?.map((item) => {\r\n      return { value: parseInt(item?.itemCodigo), label: item?.itemDescripcion }\r\n    })\r\n    setGroupFamily(listGroupFamily)\r\n    if (modelAppointment?.afiliadoCodigo === undefined || modelAppointment?.modalidadTurno === undefined) {\r\n      let selectGroupFamily = groupFamilyTurn?.filter(x => parseInt(x.itemCodigo) == userCode)?.map((item) => {\r\n        return { value: parseInt(item?.itemCodigo), label: item?.itemDescripcion }\r\n      });\r\n      setPersonNumber(selectGroupFamily?.[0])\r\n      setModelAppointment({ ...modelAppointment, afiliadoCodigo: selectGroupFamily?.[0]?.value, afiliadoDescripcion: selectGroupFamily?.[0]?.label });\r\n    }\r\n  }, [groupFamilyTurn]);\r\n\r\n  const initializePerson = () => {\r\n    if (modelAppointment.length > 0 || modelAppointment?.afiliadoCodigo) {\r\n      setPersonNumber({ ...personNumber, value: modelAppointment?.afiliadoCodigo, label: modelAppointment?.afiliadoDescripcion })\r\n    }\r\n    else {\r\n      setPersonNumber({ ...personNumber, value: 0, label: \"\" })\r\n\r\n    }\r\n  }\r\n\r\n  const handleSwitch = () => (e) => {\r\n    initializeSwitch();\r\n    const { name } = e.target;\r\n    setSwitchState((prevState) => ({\r\n      ...prevState,\r\n      [name]: e.target.checked,\r\n    }));\r\n    if (e.target.checked) {\r\n      setModelAppointment({\r\n        ...modelAppointment,\r\n        modalidadTurno: e.target.name,\r\n        centroMedicoCodigo: undefined,\r\n        centroMedico: undefined,\r\n        direccion: undefined,\r\n        especialidadCodigo: '',\r\n        especialidadDescripcion: '',\r\n        hourSelected: '',\r\n        medicoCodigo: undefined,\r\n        medicoDescripcion: '',\r\n        nombreCentroMedico: undefined,\r\n        observations: undefined,\r\n        proveedorNumero: undefined,\r\n        selectedAppointment: ''\r\n      });\r\n    }\r\n    else {\r\n      setModelAppointment({ ...modelAppointment, modalidadTurno: undefined });\r\n    }\r\n  }\r\n\r\n  useEffect(() => {\r\n    dispatch(setModelToSaveAppointment({ ...modelAppointment }));\r\n    if (modelAppointment?.modalidadTurno == 'Turno presencial' && screen.sWidth < 768) {\r\n      if (appointmentByRef.current) {\r\n        appointmentByRef.current.scrollIntoView({ behavior: 'smooth' });\r\n      }\r\n    }\r\n  }, [modelAppointment])\r\n\r\n  const handleChangeSwitch = (e) => {\r\n    let objectsProperties = flow?.map(item => {\r\n\r\n      if (item?.value === e.target.value) {\r\n        item['enabled'] = e.target.checked;\r\n      } else {\r\n        item['enabled'] = false;\r\n      }\r\n\r\n      return item;\r\n    });\r\n\r\n    setFlow(objectsProperties);\r\n\r\n    if (e.target.checked) {\r\n      setModelAppointment({\r\n        ...modelAppointment,\r\n        appointmentFlow: e.target.value,\r\n        centroMedicoCodigo: undefined,\r\n        centroMedico: undefined,\r\n        direccion: undefined,\r\n        especialidadCodigo: '',\r\n        especialidadDescripcion: '',\r\n        hourSelected: '',\r\n        medicoCodigo: undefined,\r\n        medicoDescripcion: '',\r\n        nombreCentroMedico: undefined,\r\n        observations: undefined,\r\n        proveedorNumero: undefined,\r\n        selectedAppointment: ''\r\n      });\r\n    } else {\r\n      setModelAppointment({ ...modelAppointment, appointmentFlow: undefined });\r\n    }\r\n  }\r\n\r\n  function initializeSwitch() {\r\n    Object.entries(switchState).forEach(([key, value]) => {\r\n      if (value !== \"\") {\r\n        setSwitchState((prevState) => ({\r\n          ...prevState,\r\n          [key]: false,\r\n        }));\r\n      }\r\n    });\r\n  }\r\n\r\n  function backSwitch() {\r\n    setSwitchState((prevState) => ({\r\n      ...prevState,\r\n      [modelAppointment.modalidadTurno]: true,\r\n    }));\r\n  }\r\n\r\n  const handleChange = () => e => {\r\n    var nameAffilliated = groupFamily.filter((x) => x.value == e.target.value);\r\n    if (nameAffilliated[0].value !== 0 && nameAffilliated !== null) {\r\n      setPersonNumber({ value: nameAffilliated[0].value, label: nameAffilliated[0].label });\r\n      setModelAppointment({ ...modelAppointment, afiliadoCodigo: nameAffilliated[0].value, afiliadoDescripcion: nameAffilliated[0].label });\r\n    }\r\n    else {\r\n      setPersonNumber({ value: 0, label: '' });\r\n      setModelAppointment({ ...modelAppointment, afiliadoCodigo: 0, afiliadoDescripcion: '' });\r\n    }\r\n  }\r\n\r\n  return (\r\n    <>\r\n      <section className={`${classes.drawerContainerTurn} ${classes.fixAskTurn}`}>\r\n        {groupFamily?.length > 0 ?\r\n          <>\r\n            <div className={classes.divBoxFirstTurn}>\r\n            <Typography style={{ marginLeft: \"10px\" }}>\r\n                {props.titles.map((titles) => (\r\n                  titles.title1\r\n                ))}\r\n              </Typography>\r\n              <CustomSelect\r\n                className={`${classes.afilliateSelectTurn}`}\r\n                customClassList={classes.deploymentSelectTurn}\r\n                list={groupFamily}\r\n                selected={personNumber?.value}\r\n                onChange={handleChange()}\r\n              />\r\n              <div style={{ width: \"100%\" }}>\r\n                {modelAppointment.afiliadoCodigo === 0 || modelAppointment.afiliadoCodigo === undefined && <span className={classes.spanError}>*Complete el campo</span>}\r\n              </div>\r\n            </div>\r\n            <div className={classes.divBoxFirstTurn}>\r\n            <Typography style={{ marginLeft: \"10px\" }}>\r\n                {props.titles.map((titles) => (\r\n                  titles.title2\r\n                ))}\r\n              </Typography>\r\n              <List\r\n                component=\"nav\"\r\n                aria-label=\"mailbox folders\"\r\n                className={classes.modalityTurn}\r\n                sx={{\r\n                  '& .MuiDivider-fullWidth': {\r\n                    heigth: '1px',\r\n                    margin: '5px',\r\n                    borderBottomWidth: \"0px\",\r\n                  },\r\n                }}>\r\n                {items.map((item, i) => (\r\n                  <Fragment key={i}>\r\n                    <ListItem className={classes.listItemTurn}>\r\n                      <Typography style={{ fontWeight: '400', fontSize: '16px' }}>\r\n                        {item.title}\r\n                      </Typography>\r\n                      <Switch\r\n                        name={item.title}\r\n                        onChange={handleSwitch()}\r\n                        checked={!!switchState[item.title]}\r\n                        classes={{ root: classes.switchColor }}\r\n                        value={item.title} >\r\n                      </Switch>\r\n                    </ListItem>\r\n                    <Divider />\r\n                  </Fragment>\r\n                ))}\r\n              </List>\r\n              {modelAppointment?.modalidadTurno == undefined && <span className={classes.spanError}>*Complete el campo</span>}\r\n              {modelAppointment?.modalidadTurno === \"Turno presencial\" &&\r\n                <>\r\n                  <Typography ref={appointmentByRef} style={{ marginTop: '30px', marginLeft: \"10px\" }}>Turno por</Typography>\r\n                  <List\r\n                    component=\"nav\"\r\n                    aria-label=\"mailbox folders\"\r\n                    className={classes.modalityTurn}\r\n                    sx={{\r\n                      '& .MuiDivider-fullWidth': {\r\n                        heigth: '1px',\r\n                        margin: '5px',\r\n                        borderBottomWidth: \"0px\",\r\n                      },\r\n                    }}>\r\n                    {flow?.map((item, i) => (\r\n                      <Fragment key={i}>\r\n                        <ListItem className={classes.listItemTurn}>\r\n                          <Typography style={{ fontWeight: '400', fontSize: '16px' }}>\r\n                            {item?.name}\r\n                          </Typography>\r\n                          <Switch\r\n                            name={item?.name}\r\n                            onChange={handleChangeSwitch}\r\n                            checked={item?.enabled}\r\n                            classes={{ root: classes.switchColor }}\r\n                            value={item?.value}\r\n                          >\r\n                          </Switch>\r\n                        </ListItem>\r\n                        <Divider />\r\n                      </Fragment>\r\n                    ))}\r\n                  </List>\r\n                </>\r\n              }\r\n              {(modelAppointment?.appointmentFlow == undefined && modelAppointment?.modalidadTurno === \"Turno presencial\") && <span className={classes.spanError}>*Complete el campo</span>}\r\n            </div>\r\n          </>\r\n          :\r\n          <div className={classes.divBoxFirstTurn}>\r\n            <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n              <CircularProgress />\r\n            </div>\r\n          </div>}\r\n\r\n      </section>\r\n    </>\r\n  );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport Switch from \"@material-ui/core/Switch\";\r\nimport RoomIcon from '@material-ui/icons/Room';\r\nimport MapContainer from \"../MapContainer/MapContainer\";\r\nimport Accordion from \"../../controls/Accordion/Accordion\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getMedicalCenters, getSpecialties, setModelToSaveAppointment } from '../../redux/actions/appointmentsActions';\r\nimport { useCurrentPosition } from \"../../hooks/useCurrentPosition\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nexport default function MedicalCenterDrawer(props) {\r\n  const userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n  const classes = useStyles();\r\n  const { screen } = useResizeScreen();\r\n  const [maps, setMaps] = useState(true);\r\n  const dispatch = useDispatch();\r\n  const ubication = useSelector((state) => state.medicalCenterReducer.medicalCenters);\r\n  const { currentPosition } = useCurrentPosition();\r\n  const [switchState, setSwitchState] = useState({});\r\n  const [position, setPosition] = useState({ codigo: userCode, lat: \"\", long: \"\" });\r\n  const [medicalCenterMap, setmedicalCenterMap] = useState({ lat: 0, lng: 0 });\r\n  const modelAppointmentReducer = useSelector(state => state.appointmentsReducer?.modelAppointment);\r\n  const [modelAppointment, setModelAppointment] = useState(modelAppointmentReducer);\r\n  const medicalCenter = useSelector(state => state.medicalCenterReducer.medicalCenters.centrosMedicos);\r\n  const centers = medicalCenter?.filter((ele, ind) => ind === medicalCenter?.findIndex(elem => elem.provinciaCodigo === ele.provinciaCodigo && elem.provinciaDescripcion === ele.provinciaDescripcion));\r\n\r\n  const specialtiesList = {\r\n    numeroPersona: modelAppointment?.afiliadoCodigo,\r\n    centroMedico: 0,\r\n    tipoAtencion: \"WEB\",\r\n    parametroLlamado: 0,\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (modelAppointment.centroMedico === undefined) {\r\n      initializeSwitch();\r\n      backSwitch();\r\n      setModelAppointment({ ...modelAppointment, nombreCentroMedico: \"\", centroMedico: \"\", centroMedicoCodigo: 0, direccion: \"\" });\r\n    } else {\r\n      initializeUbication();\r\n    }\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    dispatch(setModelToSaveAppointment({ ...modelAppointment }))\r\n  }, [modelAppointment])\r\n\r\n  useEffect(() => {\r\n    if (currentPosition.lat !== 0 && currentPosition.lat !== undefined && currentPosition.lng !== 0) {\r\n      setPosition({ ...position, lat: currentPosition.lat.toString(), long: currentPosition.lng.toString() });\r\n    }\r\n  }, [currentPosition]);\r\n\r\n  useEffect(() => {\r\n    if (ubication?.length > 0 || ubication?.centroMedicoCercano) {\r\n      setmedicalCenterMap({ ...medicalCenterMap, lat: ubication.centroMedicoCercano.latitud, lng: ubication.centroMedicoCercano.longitud });\r\n    }\r\n    initializeUbication();\r\n  }, [ubication]);\r\n\r\n  useEffect(() => {\r\n      dispatch(getMedicalCenters(position));\r\n  }, [position]);\r\n\r\n\r\n  function showMaps() {\r\n    if (maps) {\r\n      setMaps(false);\r\n    } else {\r\n      setMaps(true);\r\n    }\r\n  }\r\n\r\n  const handleSwitch = (item) => (e) => {\r\n    initializeSwitch();\r\n    const { name, value } = e.target;\r\n    setSwitchState((prevState) => ({\r\n      ...prevState,\r\n      [name]: e.target.checked,\r\n    }));\r\n    if (e.target.checked) {\r\n      setModelAppointment({ ...modelAppointment, nombreCentroMedico: item?.centroMedicoNombre, centroMedico: name, centroMedicoCodigo: item.centroMedicoCodigo, direccion: value });\r\n      specialtiesList.centroMedico = item.centroMedicoCodigo;\r\n      dispatch(getSpecialties(specialtiesList));\r\n      setmedicalCenterMap({ ...medicalCenterMap, lat: item?.latitud, lng: item?.longitud });\r\n    }\r\n    else {\r\n      setModelAppointment({ ...modelAppointment, nombreCentroMedico: \"\", centroMedico: \"\", direccion: \"\" });\r\n    }\r\n  };\r\n\r\n  function backSwitch() {\r\n    if (modelAppointment?.centroMedico) {\r\n      setSwitchState((prevState) => ({\r\n        ...prevState,\r\n        [modelAppointment.centroMedico]: true,\r\n      }));\r\n    }\r\n  }\r\n\r\n  function initializeSwitch() {\r\n    medicalCenter?.map((item) => {\r\n      setSwitchState((prevState) => ({\r\n        ...prevState,\r\n        [item?.centroMedicoNombreCompleto]: false,\r\n      }));\r\n    });\r\n  }\r\n\r\n  function initializeUbication() {\r\n    if (modelAppointment?.centroMedico === undefined || modelAppointment?.centroMedico === null || modelAppointment?.centroMedico === \"\") {\r\n      Object.entries(switchState).forEach(([key, value]) => {\r\n        if (ubication.centroMedicoCercano?.centroMedicoNombreCompleto === key && switchState[ubication.centroMedicoCercano?.centroMedicoNombreCompleto] === false) {\r\n          setSwitchState((prevState) => ({\r\n            ...prevState,\r\n            [ubication.centroMedicoCercano?.centroMedicoNombreCompleto]: true}));\r\n          setModelAppointment({\r\n            ...modelAppointment,\r\n            centroMedico: ubication.centroMedicoCercano?.centroMedicoNombreCompleto,\r\n            nombreCentroMedico: ubication.centroMedicoCercano?.centroMedicoNombre,\r\n            centroMedicoCodigo: ubication.centroMedicoCercano?.centroMedicoCodigo,\r\n            direccion: ubication.centroMedicoCercano?.direccion,\r\n            especialidadCodigo: '',\r\n            especialidadDescripcion: '',\r\n            hourSelected: '',\r\n            medicoCodigo: undefined,\r\n            medicoDescripcion: '',\r\n            selectedAppointment: ''\r\n          });\r\n\r\n          specialtiesList.centroMedico = ubication?.centroMedicoCercano?.centroMedicoCodigo;\r\n          dispatch(getSpecialties(specialtiesList));\r\n        }\r\n      });\r\n    }else{\r\n      setSwitchState((prevState) => ({\r\n        ...prevState,\r\n        [modelAppointment?.centroMedico]: true,\r\n      }));\r\n      setModelAppointment({\r\n        ...modelAppointment,\r\n        especialidadCodigo: '',\r\n        especialidadDescripcion: '',\r\n        hourSelected: '',\r\n        medicoCodigo: undefined,\r\n        medicoDescripcion: '',\r\n        selectedAppointment: ''\r\n      });\r\n    }\r\n  }\r\n\r\n  const mapResponsive = () => {\r\n    let height = '40vh';\r\n    if (screen.sWidth < 768) {\r\n      height = '30vh';\r\n    }\r\n    return height;\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <div className={`${classes.drawerContainerTurn}`}>\r\n        <div className={classes.divBoxFirstTurn} style={{ width: \"100%\" }}>\r\n          <Typography\r\n            className={classes.textTitleTurn}\r\n            style={{ marginTop: \"0px\" }}\r\n          >\r\n            {props.titles.map((titles) => titles.title5)}\r\n          </Typography>\r\n          <Typography\r\n            style={{ color: \"#54c0e8\", fontWeight: \"400\" }}\r\n          >\r\n            Más cercano\r\n          </Typography>\r\n          <div className={classes.ubicationText}>\r\n            {ubication !== undefined && ubication.centroMedicoCercano !== null && ubication.centroMedicoCercano !== undefined ?\r\n              (<>\r\n                <RoomIcon className={classes.locationIcon} style={{ heigth: \"20px\", width: \"20px\" }} />\r\n                {ubication.centroMedicoCercano?.centroMedicoNombre}\r\n                {\" | \"}\r\n                {ubication.centroMedicoCercano?.direccion}\r\n              </>) : (\"\")\r\n            }\r\n          </div>\r\n          <MapContainer\r\n            showMaps={showMaps}\r\n            father={\"medicalCenter\"}\r\n            heightMap={mapResponsive()}\r\n            viewList={false}\r\n            medicalCenterUbication={medicalCenterMap} />\r\n        </div>\r\n        {modelAppointment?.centroMedico === \"\" ? <span className={classes.spanError}>*Complete el campo</span> : \"\"}\r\n        <div\r\n          className={classes.accordionMedicalCenter}\r\n        >\r\n          {centers?.map((item, index) => (\r\n            <Accordion\r\n              key={index}\r\n              classes={{ expanded: (screen.sWidth > 1200 && classes.margin0) }}\r\n              title={item.provinciaDescripcion}\r\n              style={{ height: \"fit-content\" }}\r\n              defaultExpanded={screen.sWidth > 1200}\r\n              details={\r\n                <List\r\n                  component=\"nav\"\r\n                  className={classes.root}\r\n                  aria-label=\"mailbox folders\"\r\n                >\r\n                  <Divider classes={{ root: classes.dividerMedicalCenter }} />\r\n                  {medicalCenter.filter(x => x.provinciaCodigo === item.provinciaCodigo)\r\n                    .map((val, i) => (\r\n                      <ListItem key={i} className={classes.listItemTurn}>\r\n                        <Typography\r\n                          style={{ fontSize: \"16px\" }}\r\n                        >\r\n                          {val.centroMedicoNombreCompleto}\r\n                        </Typography>\r\n                        <Switch\r\n                          classes={{ root: classes.switchColor }}\r\n                          id={val.centroMedicoNombreCompleto}\r\n                          name={val.centroMedicoNombreCompleto}\r\n                          onChange={handleSwitch(val)}\r\n                          value={val.direccion}\r\n                          checked={!!switchState[val.centroMedicoNombreCompleto]}\r\n                        ></Switch>\r\n                      </ListItem>\r\n                    ))}\r\n                </List>\r\n              }>\r\n            </Accordion>\r\n          ))}\r\n        </div>\r\n      </div>\r\n    </>\r\n  );\r\n}","import React from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst FooterDrawer = ({ handleOpenCancelModal, handleNext, withOutNext, confirm, customClassDiv, disabledNext = false }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n    const flow = modelNextAppointment?.modelAppointment?.appointmentFlow;\r\n\r\n    function setTitle() {\r\n        let text = \"Siguiente\";\r\n        if (confirm) {\r\n            text = \"Confirmar\";\r\n        }\r\n        return text;\r\n    }\r\n\r\n    const showNextButton = () => {\r\n        return (!withOutNext && modelNextAppointment?.modelAppointment?.especialidadDescripcion !== \"ATENCION CLINICA ESPONTANEA\") || (flow == 'medico' || flow == 'especialidad');\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <div className={`${classes.buttonsAskTurn} ${customClassDiv}`}>\r\n                {screen.sWidth > 768 &&\r\n                    (!withOutNext &&\r\n                        <CustomButton\r\n                            title={setTitle()}\r\n                            customClass={`${classes.lightLinearGradient} ${classes.fontBold}`}\r\n                            style={{ minWidth: \"100px\", fontSize: \"12px\", marginRight: \"10px\", marginBottom: \"20px\" }}\r\n                            onClick={handleNext}\r\n                        />)\r\n                }\r\n\r\n                <CustomButton\r\n                    title={\"Cancelar\"}\r\n                    customClass={`${classes.whiteAndBlueBtn} ${classes.fontBold}`}\r\n                    style={{ minWidth: \"100px\", marginRight: \"10px\", marginBottom: \"20px\" }}\r\n                    onClick={handleOpenCancelModal}\r\n                />\r\n\r\n                {screen.sWidth <= 768 &&\r\n                    ( showNextButton() &&\r\n                        <CustomButton\r\n                            title={setTitle()}\r\n                            customClass={` ${classes.lightLinearGradient} ${classes.fontBold}`}\r\n                            style={{ minWidth: \"100px\", fontSize: \"12px\", marginRight: \"10px\", marginBottom: \"20px\" }}\r\n                            disabled={disabledNext}\r\n                            onClick={handleNext}\r\n                        />)\r\n                }\r\n\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(FooterDrawer);","import React, { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport FooterDrawer from \"./FooterDrawer\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport {\r\n  getNextAvailableAppointmentsDoctor,\r\n  setModelToSaveAppointment,\r\n} from \"../../redux/actions/appointmentsActions\";\r\nimport ButtonPhones from \"../ButtonPhones/ButtonPhones\";\r\n\r\n\r\nconst PhoneShiftsDrawer = (props) => {\r\n  const { activeStep, handleOpenCancelModal, handleBack, medicoCodigo} = props;\r\n\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n\r\n  const phones = useSelector((state) => state.phonesReducer.phoneShift);\r\n  const personalDataReducer = useSelector((state) => state.personalDataReducer);\r\n\r\n  const modelNextAppointment = useSelector(\r\n    (state) => state.appointmentsReducer\r\n  );\r\n  const [modelAppointment, setModelAppointment] = useState(\r\n    modelNextAppointment?.modelAppointment\r\n  );\r\n  const specialties = useSelector(\r\n    (state) => state.medicalCenterReducer?.specialtyList\r\n  );\r\n  const doctorSchedule = useSelector(\r\n    (state) => state.appointmentsReducer?.nextAvailableAppointmentsDoctor\r\n  );\r\n\r\n  const paramAll = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    medicoCodigo: \"TODOS\",\r\n    count: 0,\r\n    skip: 0,\r\n    tipoAtencion: modelNextAppointment?.modelAppointment?.modalidadTurno == 'Telemedicina' ? 'TELEMEDICINA' : 'PRESENCIAL'\r\n  };\r\n\r\n  const { screen } = useResizeScreen();\r\n\r\n  const [description, setDescription] = useState([\"\"]);\r\n\r\n\r\n\r\n  const [phonesShow, setPhoneShow] = useState([]);\r\n\r\n  useEffect(() => {\r\n    setPhoneShow(\r\n      phones.filter((x) =>\r\n        x.planCode.includes(\r\n          personalDataReducer?.fullData?.afiliado?.planDescripcion\r\n        )\r\n      )\r\n    );\r\n  }, [personalDataReducer]);\r\n\r\n\r\n\r\n  useEffect(() => {\r\n    dispatch(\r\n      getNextAvailableAppointmentsDoctor({\r\n        ...paramAll,\r\n        medicoCodigo: medicoCodigo?.toString(),\r\n      })\r\n    );\r\n\r\n  }, [modelAppointment?.medicoCodigo, modelAppointment.preference, medicoCodigo]);\r\n\r\n  useEffect(() => {\r\n    validateSpecialties(\r\n      specialties,\r\n      setDescription,\r\n      modelAppointment\r\n    );\r\n    let turnosLibres = [];\r\n    if (modelAppointment?.modalidadTurno === 'Telemedicina') {\r\n      turnosLibres = doctorSchedule?.turnosLibres?.filter(element => element?.tipoAtencion === \"R\");\r\n    } else {\r\n      turnosLibres = doctorSchedule?.turnosLibres?.filter(element => element?.tipoAtencion === \"P\");\r\n    }\r\n\r\n  }, [doctorSchedule, specialties, medicoCodigo]);\r\n\r\n  useEffect(() => {\r\n    if (description !== undefined) {\r\n      const descriptionsAppointment = description[0]?.observaciones;\r\n      const preparation = description[0]?.preparacion;\r\n      setModelAppointment({\r\n        ...modelAppointment,\r\n        observaciones: descriptionsAppointment,\r\n        preparacion: preparation,\r\n      });\r\n      dispatch(\r\n        setModelToSaveAppointment({\r\n          ...modelAppointment,\r\n          observaciones: descriptionsAppointment,\r\n          preparacion: preparation,\r\n        })\r\n      );\r\n    }\r\n  }, [description, medicoCodigo]);\r\n\r\n\r\n\r\n  return (\r\n    <>\r\n      <Typography className={classes.titleTurn} style={{ marginTop: \"30px\" }}>\r\n        {props.titles.map((titles) => titles.title6)}\r\n      </Typography>\r\n      <div style={{ marginTop: \"10px\" }}>\r\n        <ButtonPhones listItems={phonesShow}/>\r\n      </div>\r\n      {screen.sWidth <= 768 && (\r\n        <FooterDrawer\r\n          activeStep={activeStep}\r\n          handleBack={handleBack}\r\n          withOutNext={true}\r\n          handleOpenCancelModal={handleOpenCancelModal}\r\n        />\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default React.memo(PhoneShiftsDrawer, (prevState, nextState) => {\r\n  return (\r\n    prevState.modelNextAppointment?.modelAppointment?.medicoCodigo ===\r\n    nextState.modelNextAppointment?.modelAppointment?.medicoCodigo\r\n  );\r\n});\r\n\r\n\r\nfunction validateSpecialties(\r\n  specialties,\r\n  // setOpenModal,\r\n  setDescription,\r\n  modelAppointment\r\n) {\r\n  let aux = \"\";\r\n  if (specialties) {\r\n    aux = specialties?.agenda?.filter(\r\n      (x) => x.medicoCodigo === modelAppointment?.medicoCodigo\r\n    );\r\n    if (aux?.length === 0) {\r\n      // setOpenModal(true);\r\n    }\r\n    setDescription(\r\n      specialties?.agenda?.filter(\r\n        (x) =>\r\n          x.medicoCodigo === modelAppointment?.medicoCodigo &&\r\n          x.especialidadCodigo === modelAppointment?.especialidadCodigo\r\n      )\r\n    );\r\n  }\r\n}","export function ValidateSteps(activeStep, modelAppointment, screen) {\r\n    let returnValidate = false;\r\n    let flow = validate(modelAppointment?.appointmentFlow);\r\n\r\n    switch (activeStep) {\r\n        case 0:\r\n            let grupofamiliar = validate(modelAppointment?.afiliadoCodigo);\r\n            let modalidad = validate(modelAppointment?.modalidadTurno);\r\n            if (grupofamiliar && modalidad) {\r\n                if(modelAppointment?.modalidadTurno === 'Turno presencial' && !flow) {\r\n                    return returnValidate;\r\n                }\r\n                returnValidate = true;\r\n            }\r\n            return returnValidate;\r\n        case 1:\r\n            let medicalCenter = validate(modelAppointment?.centroMedico);\r\n            let specialty = validate(modelAppointment?.especialidadDescripcion);\r\n            if (medicalCenter) returnValidate = true;\r\n            if (flow && specialty) returnValidate = true;\r\n            if (modelAppointment?.appointmentFlow == 'especialidad' && modelAppointment?.especialidadCodigo == '') returnValidate = false;\r\n            if (modelAppointment?.appointmentFlow == 'medico' && modelAppointment?.medicoCodigo == '') returnValidate = false;\r\n\r\n            return returnValidate;\r\n        case 2:\r\n            let doctorCode = validate(modelAppointment?.medicoCodigo);\r\n            let calendar = validate(modelAppointment?.hourSelected);\r\n            if (screen.sWidth <= 768) {\r\n                if (doctorCode) returnValidate = true;\r\n            }\r\n            else {\r\n                if (doctorCode && calendar) returnValidate = true;\r\n            }\r\n            return returnValidate;\r\n        case 3:\r\n            let selectedAppointment = validate(modelAppointment?.selectedAppointment);\r\n            let hourSelected = validate(modelAppointment?.hourSelected);\r\n            if (hourSelected && selectedAppointment) returnValidate = true;\r\n            return returnValidate;\r\n        case 4:\r\n            let date = validate(modelAppointment?.selectedAppointment)\r\n            let hour = validate(modelAppointment?.hourSelected)\r\n            if (date && hour) returnValidate = true;\r\n            return returnValidate;\r\n        case 5:\r\n            return true;\r\n        case 6:\r\n            return true;\r\n        default:\r\n            break;\r\n    }\r\n}\r\n\r\nfunction validate(values) {\r\n    let temp = values ? \"\" : \"*Campo obligatorio\";\r\n    return Object.values(temp).every((value) => value == \"\");\r\n}","import React from \"react\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport \"./PointSelect.css\"\r\nimport {\r\n  InputLabel,\r\n  MenuItem,\r\n  FormControl,\r\n  Select,\r\n  IconButton,\r\n} from \"@material-ui/core\";\r\n\r\nconst PointSelect = (props) => {\r\n  const { menuListClass, btn, handleClickLabel, ...other } = props;\r\n  const screenSize = useResizeScreen();\r\n  const classes = useStyles();\r\n\r\n  function required() {\r\n    if (props.required) {\r\n      return <span style={{ color: \"#ff0000\" }}>*</span>;\r\n    }\r\n  }\r\n\r\n  function isBtn() {\r\n    let response = (\r\n      <InputLabel\r\n        className={`${classes.inputLabelSelectForms} ${props.inputLabelClass}`}\r\n        shrink\r\n        htmlFor=\"bootstrap-input\"\r\n      >\r\n        {props.label} {required()}\r\n      </InputLabel>\r\n    );\r\n    if (btn) {\r\n      response = (\r\n        <IconButton onClick={handleClickLabel} style={{ padding: \"3px\" }}>\r\n          <InputLabel\r\n            className={`${classes.inputLabelSelectForms} ${props.inputLabelClass}`}\r\n            shrink\r\n            htmlFor=\"bootstrap-input\"\r\n          >\r\n            {props.label} {required()}\r\n          </InputLabel>\r\n        </IconButton>\r\n      );\r\n    }\r\n    return response;\r\n  }\r\n\r\n  return screenSize.screen.sWidth > \"900\" ? (\r\n    <FormControl\r\n      {...other}\r\n      sx={{ m: 1, minWidth: \"250px\" }}\r\n      style={{ width: \"250px\" }}\r\n    >\r\n      {isBtn()}\r\n      <Select\r\n        label=\"\"\r\n        placeholder={props.placeholder}\r\n        name={props.name}\r\n        disabled={props.disable}\r\n        value={props.selected}\r\n        onChange={props.onChange}\r\n        displayEmpty\r\n        inputProps={{ \"aria-label\": \"Without label\" }}\r\n        MenuProps={{ classes: { paper: menuListClass } }}\r\n      >\r\n        {props.list?.map((item, i) => (\r\n          <MenuItem key={i} value={item.value} className={item.className}>\r\n            <div\r\n              className={`${classes.boxPointsDrawer}`}\r\n            >\r\n              <div className=\"select-item-point\" />\r\n       \r\n            </div>\r\n            {item.label}\r\n          </MenuItem>\r\n        ))}\r\n      </Select>\r\n    </FormControl>\r\n  ) : (\r\n    <FormControl {...other}>\r\n      {isBtn()}\r\n      <Select\r\n        disabled={props.disable}\r\n        style={{ marginTop: \"15px\", width: \"90% \", marginLeft: \"5%\" }}\r\n        label=\"\"\r\n        name={props.name}\r\n        value={props.selected}\r\n        onChange={props.onChange}\r\n        displayEmpty\r\n        inputProps={{ \"aria-label\": \"Without label\" }}\r\n        classes={{ root: props.customClass }}\r\n        MenuProps={{ classes: { paper: menuListClass } }}\r\n      >\r\n        {props.list?.map((item, i) => (\r\n          <MenuItem key={i} value={item.value} className={item.className}>\r\n            <div\r\n              className={`${classes.boxPointsDrawer}`}\r\n            >\r\n              <div className=\"select-item-point\" />\r\n             </div>\r\n            {item.label}\r\n          </MenuItem>\r\n        ))}\r\n      </Select>\r\n    </FormControl>\r\n  );\r\n};\r\n\r\nexport default PointSelect;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport PointSelect from \"../../controls/Select/PointSelect\";\r\nimport \"./SelectDoctorAccordion.css\";\r\n\r\nconst SelectDoctorAccordion = ({\r\n  specialties,\r\n  specialtyState,\r\n  modelAppointment,\r\n  handleClick,\r\n  preference,\r\n  disabled,\r\n}) => {\r\n  const classes = useStyles();\r\n  const [medicos, setMedicos] = useState([]);\r\n  const [listMedicos, setListMedicos] = useState([]);\r\n\r\n  useEffect(() => {\r\n    let list1 = [];\r\n    if (modelAppointment?.especialidadCodigo != undefined) {\r\n      list1 = specialties?.agenda?.filter(\r\n        (x, i) =>\r\n          x.especialidadCodigo === modelAppointment?.especialidadCodigo &&\r\n          i ===\r\n            specialties?.agenda?.findIndex(\r\n              (elem) =>\r\n                elem.medicoCodigo === x.medicoCodigo &&\r\n                elem.medicoDescripcion === x.medicoDescripcion\r\n            )\r\n      );\r\n    } else {\r\n      list1 = specialties?.agenda?.filter(\r\n        (x, i) =>\r\n          x.especialidadCodigo === specialtyState?.value &&\r\n          i ===\r\n            specialties?.agenda?.findIndex(\r\n              (elem) =>\r\n                elem.medicoCodigo === x.medicoCodigo &&\r\n                elem.medicoDescripcion === x.medicoDescripcion\r\n            )\r\n      );\r\n    }\r\n\r\n    let list = [];\r\n    if (list1 != undefined) {\r\n      list = list1.map((item) => {\r\n        let label = item?.medicoDescripcion;\r\n        return {\r\n          value: item?.medicoCodigo,\r\n          label: label,\r\n          className: getPointColorClassCss(item),\r\n        };\r\n      });\r\n    }\r\n\r\n    function getPointColorClassCss(medico) {\r\n      if (medico?.visualizacion === \"AGENDA SUSPENDIDA\")\r\n        return \"select-doctor-accordion-menu-item-orange\";\r\n      else if (medico?.visualizacion === \"TURNO TELEFONICO\")\r\n        return \"select-doctor-accordion-menu-item-green\";\r\n      else if (medico?.visualizacion === \"DEMANDA ESPONTANEA\")\r\n        return \"select-doctor-accordion-menu-item-red\";\r\n      else return undefined;\r\n    }\r\n\r\n\r\n    if (list != undefined) {\r\n      list.unshift({ value: \"\", label: \"SELECCIONE UNA OPCION\" });\r\n    }\r\n    setListMedicos(list);\r\n    setMedicos(list1);\r\n  }, [specialtyState]);\r\n\r\n  return (\r\n    <>\r\n      <PointSelect\r\n        className={`${classes.afilliateSelectTurn}`}\r\n        menuListClass={classes.deploymentSelectTurn}\r\n        list={listMedicos}\r\n        selected={modelAppointment?.medicoCodigo}\r\n        onChange={handleClick(medicos, preference)}\r\n        disabled={disabled}\r\n      />\r\n      {modelAppointment?.medicoCodigo == \"\" && (\r\n        <span className={classes.spanError} style={{ width: \"auto\" }}>\r\n          *Complete el campo\r\n        </span>\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default React.memo(SelectDoctorAccordion, (prevState, nextState) => {\r\n  return (\r\n    prevState.specialtyState === nextState.specialtyState &&\r\n    prevState.modelAppointment === nextState.modelAppointment\r\n  );\r\n});\r\n","import { CircularProgress, Typography } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst DoctorDetails = ({ doctor, schedule }) => {\r\n  const classes = useStyles();\r\n  const bottomMargin = { marginBottom: \"5px\" };\r\n\r\n  const showObservations = () => {\r\n    return doctor?.observaciones !== \"\" ? doctor?.observaciones : \"No hay observaciones\";\r\n  }\r\n\r\n  return (\r\n    <>\r\n      {doctor? (\r\n        <>\r\n          {schedule && (\r\n            <Typography\r\n              className={` ${classes.txtLinksInCard} ${classes.fontBold} ${classes.txtObservaciones}`}\r\n              style={bottomMargin}\r\n            >\r\n              Próximo turno más cercano:{\" \"}\r\n              {schedule?.turnoFechHora?.split(\"T\")[0]} |{\" \"}\r\n              {schedule?.turnoFechHora?.split(\"T\")[1]} hs.\r\n            </Typography>\r\n          )}\r\n\r\n          <Typography\r\n            className={` ${classes.txtObservaciones}`}\r\n            style={bottomMargin}\r\n          >\r\n            <span className={`${classes.txtBold500} ${classes.grayTxt}`}>\r\n              Horario de atención:{\" \"}\r\n            </span>\r\n            <span className={classes.grayTxt}>{doctor?.horarios}</span>\r\n          </Typography>\r\n          <Typography\r\n            className={`${classes.txtObservaciones}`}\r\n            style={bottomMargin}\r\n          >\r\n            <span className={`${classes.txtBold500} ${classes.grayTxt}`}>\r\n              {`Edades: `}\r\n            </span>\r\n            <span className={classes.grayTxt}>\r\n              de {doctor?.edadDesde} a {doctor?.edadHasta} años{\" \"}\r\n              {doctor?.atiendeDiscapacitados === \"S\" && <>(atiende capacidades especiales)</>}\r\n            </span>\r\n          </Typography>\r\n          <Typography\r\n            className={`${classes.txtBold500}  ${classes.txtObservaciones} ${classes.grayTxt}`}\r\n            style={bottomMargin}\r\n          >\r\n          {`Observaciones: `} {showObservations()}  {doctor?.preparacion}\r\n          </Typography>\r\n        </>\r\n      ) : (\r\n        <div\r\n          className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}\r\n        >\r\n          <CircularProgress />\r\n        </div>\r\n      )}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default DoctorDetails;\r\n","import { CircularProgress, Typography } from \"@material-ui/core\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useCallback, useEffect, useState } from \"react\";\r\nimport { getSpecialties, setModelToSaveAppointment, getNextAvailableAppointmentsDoctor } from \"../../redux/actions/appointmentsActions\";\r\nimport { setNextStep } from \"../../redux/actions/stepAppointmentsActions\";\r\nimport { ValidateSteps } from \"./Utils/ValidateSteps\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport SelectDoctorAccordion from \"./SelectDoctorAccordion\";\r\nimport FooterDrawer from \"./FooterDrawer\";\r\nimport DoctorDetails from \"./DoctorDetails\"\r\n\r\n\r\nconst SpecialtyList = (props) => {\r\n\r\n  const preferenceTurnList = [{ value: \"\", label: \"SELECCIONE UNA OPCION\" }, { value: 1, label: \"PROXIMO TURNO MAS CERCANO\" }, { value: 2, label: \"TURNO POR PROFESIONAL\" }];\r\n  const [preference, setPreference] = useState({ preferenceCodigo: 0, preferenceDescripcion: '' });\r\n  const { activeStep, setActiveStep, setPrefereceStep3, handleBack, handleOpenCancelModal, setSpecialistVisualizacion } = props;\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const specialties = useSelector((state) => state.medicalCenterReducer?.specialtyList);\r\n  const [specialtyState, setSpecialty] = useState({ itemCodigo: 0, itemDescripcion: '' });\r\n  const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n  const [modelAppointment, setModelAppointment] = useState(modelNextAppointment?.modelAppointment);\r\n  const { screen } = useResizeScreen();\r\n  const [groupSpecialties, setGroupSpecialties] = useState([]);\r\n  const [disabled, setDisabled] = useState(false)\r\n\r\n  const paramAll = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    medicoCodigo: \"TODOS\",\r\n    count: 0,\r\n    skip: 0,\r\n    tipoAtencion: modelNextAppointment?.modelAppointment?.modalidadTurno == 'Telemedicina' ? 'TELEMEDICINA' : 'PRESENCIAL'\r\n  };\r\n\r\n  const doctorSchedule = useSelector(\r\n    (state) => state.appointmentsReducer?.nextAvailableAppointmentsDoctor\r\n  );\r\n\r\n  const [doctor, setDoctor] = useState()\r\n\r\n  const [preferenceTurnListState, setPreferenceTurnList] = useState(preferenceTurnList)\r\n\r\n  const telefonico = \"TURNO TELEFONICO\";\r\n\r\n  const handleClick = useCallback((medicos, pref) => (e) => {\r\n \r\n    e.preventDefault();\r\n    const { value } = e.target;\r\n    if (screen.sWidth > 768) {\r\n      setPrefereceStep3(pref.preferenceCodigo);\r\n    }\r\n    if (value != \"\") {\r\n      let doctor = medicos.filter(x => x?.medicoCodigo == value)[0];\r\n      setDoctor(doctor)\r\n      setModelAppointment({ ...modelAppointment, medicoCodigo: doctor?.medicoCodigo, medicoDescripcion: doctor?.medicoDescripcion, doctorVisualizacion: doctor?.visualizacion });\r\n      dispatch(setModelToSaveAppointment({ ...modelAppointment, medicoCodigo: doctor?.medicoCodigo, medicoDescripcion: doctor?.medicoDescripcion, doctorVisualizacion: doctor?.visualizacion }));\r\n    }\r\n  }, [modelAppointment]);\r\n\r\n  const handleNextAppointmentClick = useCallback((specialtyCode, specialtyDescription) => (e) => {\r\n    e.preventDefault();\r\n    setModelAppointment({ ...modelAppointment, especialidadCodigo: specialtyCode, especialidadDescripcion: specialtyDescription });\r\n  }, [modelAppointment]);\r\n\r\n  useEffect(() => {\r\n    setSpecialty({ itemCodigo: modelAppointment?.especialidadCodigo, itemDescripcion: modelAppointment?.especialidadDescripcion });\r\n    if (modelAppointment?.especialidadCodigo == undefined || modelAppointment?.preference == undefined) {\r\n      setModelAppointment({ ...modelAppointment, especialidadCodigo: '', especialidadDescripcion: '', preference: '' });\r\n      dispatch(setModelToSaveAppointment({ ...modelAppointment, especialidadCodigo: '', especialidadDescripcion: '', preference: '' }));\r\n    }\r\n    if (modelNextAppointment.modelModifyAppointment != \"\") {\r\n      setDisabled(true);\r\n    }\r\n    if (modelAppointment?.modalidadTurno == \"Telemedicina\") {\r\n      dispatch(getSpecialties({\r\n        numeroPersona: modelAppointment?.afiliadoCodigo,\r\n        centroMedico: 0,\r\n        tipoAtencion: \"TELEMEDICINA\",\r\n        parametroLlamado: 0,\r\n      }));\r\n    }\r\n  }, []);\r\n\r\n\r\n  useEffect(() => {\r\n\r\n    if(modelAppointment?.doctorVisualizacion == \"TURNO WEB\"){\r\n      dispatch(\r\n        getNextAvailableAppointmentsDoctor({\r\n          ...paramAll,\r\n          medicoCodigo: modelAppointment?.medicoCodigo?.toString(),\r\n        })\r\n      );\r\n    }\r\n    \r\n  }, [modelAppointment?.medicoCodigo, modelAppointment.preference]);\r\n\r\n  const getSchedule = () => {\r\n    let turnosLibres = [];\r\n\r\n    if(modelAppointment?.doctorVisualizacion == \"TURNO WEB\"){\r\n      if (modelAppointment?.modalidadTurno === 'Telemedicina') {\r\n        turnosLibres = doctorSchedule?.turnosLibres?.filter(element => element?.tipoAtencion === \"R\" && element?.medicoCodigo == modelAppointment?.medicoCodigo);\r\n      } else {\r\n        turnosLibres = doctorSchedule?.turnosLibres?.filter(element => element?.tipoAtencion === \"P\" && element?.medicoCodigo == modelAppointment?.medicoCodigo);\r\n      }\r\n    }\r\n    \r\n\r\n    return turnosLibres?.length > 0 ? turnosLibres[0] : undefined;\r\n  }\r\n\r\n  useEffect(() => {\r\n    if (!modelNextAppointment?.modelAppointment?.especialidadCodigo) {\r\n      return;\r\n    }\r\n  \r\n    const { agenda } = specialties;\r\n    const itemCode = specialtyState?.value ?? specialtyState?.itemCodigo;\r\n    const specialtiesList = agenda?.filter(x => x?.especialidadCodigo === itemCode);\r\n    const doctorList = specialtiesList?.filter(x => x?.medicoCodigo === modelAppointment?.medicoCodigo);\r\n  \r\n    const isSpontaneous = specialtiesList?.length > 0 && specialtiesList?.every(x => x?.visualizacion?.trim() === \"DEMANDA ESPONTANEA\")\r\n    const isPhoneAppointment = specialtiesList?.length > 0 && specialtiesList?.every(x => x?.visualizacion === telefonico) || isSpontaneous;\r\n  \r\n    if (isSpontaneous) {\r\n      setModelAppointment({ ...modelAppointment, doctorVisualizacion: \"DEMANDA ESPONTANEA\" });\r\n      dispatch(setModelToSaveAppointment({ ...modelAppointment, doctorVisualizacion: \"DEMANDA ESPONTANEA\" }));\r\n      setDoctor(doctorList?.[0]);\r\n    }\r\n    setPreferenceTurnList(isPhoneAppointment ? preferenceTurnList.filter(x => x.value !== 1) : preferenceTurnList);\r\n  }, [specialtyState, specialties]);\r\n  \r\n  const goToNextStep = () => {\r\n    if (modelAppointment?.especialidadCodigo !== \"\" && modelAppointment?.medicoCodigo !== \"\") {\r\n      if (modelAppointment?.doctorVisualizacion) {\r\n        setSpecialistVisualizacion(modelAppointment?.doctorVisualizacion)\r\n        setActiveStep(prevActiveStep => prevActiveStep + 1);\r\n      }\r\n    }\r\n  }\r\n  \r\n  const handleNext = () => {\r\n    \r\n    if(modelAppointment?.doctorVisualizacion == \"DEMANDA ESPONTANEA\"){\r\n      return false;\r\n    }\r\n\r\n    if (screen.sWidth <= 768 && preference.preferenceCodigo == 1) {\r\n      setActiveStep((prevActiveStep) => prevActiveStep + 2);\r\n      dispatch(setNextStep(activeStep + 2));\r\n    }\r\n    if (ValidateSteps(activeStep, modelNextAppointment.modelAppointment, screen)) {\r\n      goToNextStep();\r\n    }\r\n  };\r\n\r\n  const handleChangePreferenceTurn = (e) => {\r\n    e.preventDefault();\r\n    const { name, value } = e.target;\r\n    const selected = { preferenceCodigo: value, preferenceDescripcion: name };\r\n    setDoctor(undefined)\r\n    setPreference(selected);\r\n    if (screen.sWidth > 768) {\r\n      setPrefereceStep3(selected?.preferenceCodigo);\r\n    }\r\n    setModelAppointment({ ...modelAppointment, medicoCodigo: '', medicoDescripcion: '', doctorVisualizacion: '', preference: value });\r\n    dispatch(setModelToSaveAppointment({ ...modelAppointment, medicoCodigo: '', medicoDescripcion: '', doctorVisualizacion: '', preference: value }));\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (preference.preferenceCodigo == 1) {\r\n      setDoctor(undefined)\r\n      handleNextAppointmentClick(specialtyState?.itemCodigo, specialtyState?.itemDescripcion);\r\n      if (screen.sWidth > 768)\r\n        setPrefereceStep3(preference.preferenceCodigo);\r\n    }\r\n  }, [preference]);\r\n\r\n\r\n  useEffect(() => {\r\n    let listSpecialties = specialties?.itemsEspecialidades?.map((item) => {\r\n      return { value: item?.itemCodigo, label: item?.itemDescripcion };\r\n    });\r\n    if (listSpecialties != undefined) {\r\n      listSpecialties.unshift({ value: \"\", label: \"SELECCIONE UNA OPCION\" })\r\n    }\r\n    setGroupSpecialties(listSpecialties);\r\n  }, [specialties]);\r\n\r\n  const handleChangeSpecialties = (e) => {\r\n    let nameSpecialties = groupSpecialties?.filter((x) => x.value == e.target.value);\r\n\r\n    const updateModelAppointment = {\r\n      ...modelAppointment,\r\n      especialidadCodigo: nameSpecialties?.[0]?.value,\r\n      especialidadDescripcion: nameSpecialties?.[0]?.label,\r\n      medicoCodigo: '',\r\n      preference: '',\r\n      turnoNumero: undefined,\r\n      hourSelected: '',\r\n      selectedAppointment: ''\r\n    };\r\n\r\n    setDoctor(undefined)\r\n\r\n    if (nameSpecialties[0].value !== 0 && nameSpecialties !== null && specialtyState.value != nameSpecialties[0].value) {\r\n      setSpecialty({ value: nameSpecialties[0].value, label: nameSpecialties[0].label });\r\n      setModelAppointment(updateModelAppointment);\r\n      dispatch(setModelToSaveAppointment(updateModelAppointment));\r\n    } else {\r\n      setSpecialty({ value: 0, label: '' });\r\n      setModelAppointment({ ...modelAppointment, especialidadCodigo: '', especialidadDescripcion: '' });\r\n    }\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <div className={`${classes.drawerContainerTurn}`}>\r\n        <Typography className={classes.textTitleTurn} style={{ marginLeft: \"20px\" }}>\r\n          {props.titles.map((titles) => titles.title3)}\r\n        </Typography>\r\n        <Typography className={classes.titleTurn} style={{ margin: \"0px \" }}>\r\n          {modelAppointment?.modalidadTurno}\r\n        </Typography>\r\n        {\r\n          screen.sWidth > 900 && <div className={`${classes.boxPointsDrawer} ${classes.colorsLegends}`}>\r\n            <div className={classes.boxPointsDrawer_AgendaSusp} />\r\n            <Typography className={classes.txtLinksInCard} style={{ alignSelf: 'center', fontSize: '13px', margin: '5px' }}>Agendas suspendidas</Typography>\r\n            <div className={classes.boxPointsDrawer_TurnoTelef} />\r\n            <Typography className={classes.txtLinksInCard} style={{ alignSelf: 'center', fontSize: '13px', margin: '5px' }}>Turnos telefónicos</Typography>\r\n            <div className={classes.boxPointsDrawer_DemandaEspon} />\r\n            <Typography className={classes.txtLinksInCard} style={{ alignSelf: 'center', fontSize: '13px', margin: '5px' }}>Demanda espontánea</Typography>\r\n          </div>\r\n        }\r\n\r\n        <div style={{ marginTop: \"10px\", display: \"grid\" }}>\r\n          {groupSpecialties?.length > 0 ?\r\n            <>\r\n              <CustomSelect\r\n                className={`${classes.afilliateSelectTurn}`}\r\n                customClassList={classes.deploymentSelectTurn}\r\n                list={groupSpecialties}\r\n                selected={modelAppointment?.especialidadCodigo}\r\n                disabled={disabled}\r\n                onChange={handleChangeSpecialties}\r\n              />\r\n              {modelAppointment?.especialidadCodigo == \"\" && <span className={classes.spanError} style={{ width: \"auto\" }} >*Complete el campo</span>}\r\n              {modelAppointment?.especialidadCodigo !== \"\" &&\r\n                <>\r\n                  <CustomSelect\r\n                    className={`${classes.afilliateSelectTurn}`}\r\n                    customClassList={classes.deploymentSelectTurn}\r\n                    list={preferenceTurnListState}\r\n                    selected={modelAppointment?.preference}\r\n                    onChange={handleChangePreferenceTurn}\r\n                    disabled={disabled}\r\n                  />\r\n                  {modelAppointment?.preference == \"\" && <span className={classes.spanError} style={{ width: \"auto\" }}>*Complete el campo</span>}\r\n                </>\r\n              }\r\n\r\n              {(preference.preferenceCodigo == 2 || modelAppointment?.preference == 2) &&\r\n                <SelectDoctorAccordion disabled={disabled} specialties={specialties} specialtyState={specialtyState} modelAppointment={modelAppointment} handleClick={handleClick} preference={preference} />\r\n              }\r\n              <div style={{ marginTop: \"10px\", width: \"auto\", marginLeft: screen.sWidth > 768 && \"20px\", marginBottom: \"20px\" }}>\r\n                  <>\r\n                    {(doctor && [\"TURNO WEB\", telefonico, \"DEMANDA ESPONTANEA\"].includes(modelAppointment?.doctorVisualizacion)) &&\r\n                      <DoctorDetails schedule={getSchedule()} doctor={doctor} />\r\n                    }\r\n                    {(doctor && [\"AGENDA SUSPENDIDA\"].includes(modelAppointment?.doctorVisualizacion)) && screen.sWidth > 768 &&\r\n                      <div style={{ display: \"flex \", justifyContent: \"center\", marginTop: \"0\" }}>\r\n                          <Typography\r\n                              style={{ margin: \"10px\", color: \"#0075C9\" }}\r\n                          >\r\n                              No hay turnos disponibles\r\n                          </Typography>\r\n                      </div>\r\n                    }\r\n                  </>\r\n                \r\n              </div>\r\n            </>\r\n            :\r\n            <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n              <CircularProgress />\r\n            </div>\r\n          }\r\n        </div>\r\n        {screen.sWidth <= 768 && <div className={`${classes.boxPointsDrawer} ${classes.colorsLegends}`}>\r\n          <div className={classes.boxPointsDrawer_AgendaSusp} />\r\n          <Typography className={classes.txtLinksInCard} style={{ alignSelf: 'center', fontSize: '13px', margin: '5px' }}>Agendas suspendidas</Typography>\r\n          <div className={classes.boxPointsDrawer_TurnoTelef} />\r\n          <Typography className={classes.txtLinksInCard} style={{ alignSelf: 'center', fontSize: '13px', margin: '5px' }}>Turnos telefónicos</Typography>\r\n          <div className={classes.boxPointsDrawer_DemandaEspon} />\r\n            <Typography className={classes.txtLinksInCard} style={{ alignSelf: 'center', fontSize: '13px', margin: '5px' }}>Demanda espontánea</Typography>\r\n        </div>\r\n        }\r\n        {screen.sWidth <= 768 &&\r\n          <FooterDrawer activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} handleNext={handleNext} />\r\n        }\r\n\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default SpecialtyList;\r\n\r\nfunction setCssClasses(item, classes) {\r\n  let cssClass = '';\r\n  if (item === 'AGENDA SUSPENDIDA') {\r\n    cssClass = classes.boxPointsDrawer_AgendaSusp;\r\n  } else if (item === telefonico) {\r\n    cssClass = classes.boxPointsDrawer_TurnoTelef;\r\n  }\r\n  return cssClass;\r\n}","import ModalProfile from \"../../DialogProfile/Modal\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { setModelToSaveAppointment } from \"../../../redux/actions/appointmentsActions\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nexport default function ModalObservations(props) {\r\n    const { medico, openModal, setOpenModal } = props;\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const agendaMedico = useSelector((state) => state.medicalCenterReducer.specialtyList.agenda);\r\n    const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n    const [modelAppointment, setModelAppointment] = useState(modelNextAppointment?.modelAppointment);\r\n\r\n    useEffect(() => {\r\n        const selectedObservation = agendaMedico?.find(x => x.medicoCodigo === medico?.medicoCodigo)?.observaciones;\r\n    \r\n        const updatedModelAppointment = {\r\n            ...modelAppointment,\r\n            observaciones: selectedObservation\r\n        };\r\n    \r\n        setModelAppointment(updatedModelAppointment);\r\n        dispatch(setModelToSaveAppointment(updatedModelAppointment));\r\n    }, [agendaMedico]);\r\n    \r\n\r\n    return (\r\n        <div className={classes.borderWhite} style={{ left: \"20px\" }}>\r\n            {agendaMedico?.filter(x => x.medicoCodigo === medico?.medicoCodigo)?.map((item, index) => (\r\n                <ModalProfile\r\n                    key={index}\r\n                    type='cancel'\r\n                    title={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center', marginTop: '25px' }}>\r\n                                Observaciones\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    observation={\r\n                        <div style={{ margin: '0 30px', padding: '0', maxWidth: '250px' }}>\r\n                            <Typography style={{ fontSize: \"12px\", fontWeight: \"bold\", paddingBottom: \"5px\" }}>\r\n                                {item.especialidadDescripcion}\r\n                            </Typography>\r\n                            <Typography style={{ fontSize: \"14px\", paddingBottom: \"15px\" }}>\r\n                                {item.medicoDescripcion}\r\n                            </Typography>\r\n                            <Typography style={{ fontSize: \"12px\", fontWeight: \"bold\", paddingBottom: \"10px\" }}>\r\n                                DATOS DEL TURNO\r\n                            </Typography>\r\n                            <Typography style={{ fontSize: \"12px\", paddingBottom: \"10px\" }}>\r\n                                <span style={{ fontWeight: \"bold\" }}>EDADES: </span>{item.edadDesde} A {item.edadHasta} AÑOS\r\n                            </Typography>\r\n                            <Typography style={{ fontSize: \"12px\", paddingBottom: \"10px\" }}>\r\n                                <span style={{ fontWeight: \"bold\" }}>OBSERVACIONES: </span>{item.observaciones === '' || item.observaciones === undefined ? \"-\" : item.observaciones}\r\n                            </Typography>\r\n                            <Typography style={{ fontSize: \"12px\", paddingBottom: \"10px\" }}>\r\n                                <span style={{ fontWeight: \"bold\" }}>PREPARACION: </span>{item.preparacion === '' || item.preparacion === undefined ? \"-\" : item.preparacion}\r\n                            </Typography>\r\n                        </div>\r\n                    }\r\n                    open={openModal}\r\n                    onClose={setOpenModal}\r\n                    close={true}\r\n                />\r\n            ))}\r\n\r\n        </div>\r\n    )\r\n}\r\n\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport Button from '@material-ui/core/Button';\r\nimport Moment from 'moment';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getNextAvailableAppointments, setModelToSaveAppointment } from '../../redux/actions/appointmentsActions';\r\nimport ModalObservations from \"./Modals/ModalObservations\";\r\nimport FooterDrawer from \"./FooterDrawer\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport NotFound from \"../../components/HomeLogged/NotFound\";\r\nimport { getFullData } from '../../redux/actions/personalDataActions';\r\n\r\nconst NextAppointmentDrawer = (props) => {\r\n  const { activeStep, setActiveStep, handleOpenCancelModal } = props;\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const appointments = useSelector((state) => state.appointmentsReducer);\r\n  const [openModal, setOpenModal] = useState(false);\r\n  const [medico, setMedico] = useState();\r\n  const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n  const [modelAppointment, setModelAppointment] = useState(modelNextAppointment?.modelAppointment);\r\n  const countItems = 10;\r\n  const [skipItems, setSkipItems] = useState(0);\r\n  const { screen } = useResizeScreen();\r\n  const [disableNextButton, setDisableNextButton] = useState(true);\r\n  const [selectedAppointment, setSelectedAppointment] = useState();\r\n\r\n  const persona = {\r\n    especialidadCodigo: modelNextAppointment?.modelAppointment?.especialidadCodigo?.toString(),\r\n    centroMedico: modelNextAppointment?.modelAppointment?.centroMedicoCodigo == undefined ? 0 : modelNextAppointment?.modelAppointment?.centroMedicoCodigo,\r\n    count: countItems,\r\n    skip: skipItems,\r\n    tipoAtencion: modelNextAppointment?.modelAppointment?.modalidadTurno == 'Telemedicina' ? 'TELEMEDICINA' : 'PRESENCIAL'\r\n  };\r\n\r\n  useEffect(() => {\r\n    dispatch(getNextAvailableAppointments(persona));\r\n  }, [skipItems]);\r\n\r\n  useEffect(() => {\r\n    dispatch(getNextAvailableAppointments(persona));\r\n    setModelAppointment(modelNextAppointment?.modelAppointment);\r\n    dispatch(getFullData({ numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")) }));\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n      if (modelAppointment?.turnoNumero) {\r\n      setDisableNextButton(false);\r\n    }\r\n  }, [modelAppointment?.turnoNumero]);\r\n\r\n  const handleClick = (item) => {\r\n    setMedico(item);\r\n    setSelectedAppointment(item);\r\n    setModelAppointment({\r\n      ...modelAppointment,\r\n      medicoCodigo: item.medicoCodigo,\r\n      medicoDescripcion: item.medicoDescripcion,\r\n      selectedAppointment: item.turnoFechHora,\r\n      hourSelected: Moment(item.turnoFechHora).format('HH:mm'),\r\n      turnoNumero: item.turnoNumero\r\n    });\r\n    dispatch(setModelToSaveAppointment({\r\n      ...modelAppointment,\r\n      medicoCodigo: item.medicoCodigo,\r\n      medicoDescripcion: item.medicoDescripcion,\r\n      selectedAppointment: item.turnoFechHora,\r\n      hourSelected: Moment(item.turnoFechHora).format('HH:mm'),\r\n      turnoNumero: item.turnoNumero\r\n    }));\r\n    setOpenModal(prevState => !prevState);\r\n  };\r\n\r\n  const handleClickSeeLess = () => {\r\n    setSkipItems(skipItems - 10);\r\n  };\r\n\r\n  const handleClickSeeMore = () => {\r\n    setSkipItems(skipItems + 10);\r\n  };\r\n\r\n  const handleBack = () => {\r\n    setActiveStep(prevActiveStep => prevActiveStep - 2);\r\n  };\r\n\r\n  const handleNext = () => {\r\n    setActiveStep(prevActiveStep => prevActiveStep + 2);\r\n  };\r\n\r\n\r\n  const listItems = (count) => {\r\n    let list = '';\r\n    list =\r\n      <List\r\n        component=\"nav\"\r\n        className={classes.root}\r\n        aria-label=\"mailbox folders\"\r\n        style={{ marginBottom: \"5px\", maxHeight: \"496px\", overflow: \"auto\" }}\r\n      >\r\n        {appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad?.slice(0, count).filter(x => x.especialidadCodigo === modelAppointment?.especialidadCodigo).map((item, i) => (\r\n          <Fragment key={i}>\r\n            <ListItem className={classes.listItemTurn}>\r\n              <Button\r\n                onClick={() => {handleClick(item)}}\r\n                className={selectedAppointment === item || modelAppointment?.turnoNumero == item.turnoNumero ? classes.btnHoverNextAppointment : classes.btnNextAppointment}>\r\n                <div className={classes.divDate}>\r\n                  <Typography className={classes.dateNext}>\r\n                    {Moment(item.turnoFechHora).format('DD.MM.YYYY')}\r\n                  </Typography>\r\n                  <Typography className={classes.descripNext} style={{ margin: '0 auto' }}>\r\n                    {item.medicoDescripcion}\r\n                  </Typography>\r\n                </div>\r\n                <div className={classes.divHour}>\r\n                  <div>\r\n                    <Typography className={classes.hourNext} >\r\n                      {Moment(item.turnoFechHora).format('HH:mm')}\r\n                    </Typography>\r\n                  </div>\r\n                </div>\r\n              </Button>\r\n            </ListItem>\r\n          </Fragment>\r\n        ))}\r\n      </List>;\r\n    return list;\r\n  };\r\n\r\n  const showButtons = () => {\r\n    if (skipItems === 0) {\r\n      return (\r\n        <Button size=\"small\" style={{ float: \"right\" }} onClick={handleClickSeeMore}>\r\n          SIGUIENTES\r\n        </Button>\r\n      );\r\n    } else if (countItems > appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad?.length) {\r\n      return (\r\n        <Button size=\"small\" style={{ float: \"right\" }} onClick={handleClickSeeLess}>\r\n          ANTERIORES\r\n        </Button>\r\n      );\r\n    }\r\n    else {\r\n      return (\r\n        <>\r\n          <Button size=\"small\" style={{ float: \"right\", margin: \"10px\" }} onClick={handleClickSeeMore}>\r\n            SIGUIENTES\r\n          </Button>\r\n          <Button size=\"small\" style={{ float: \"right\", margin: \"10px\" }} onClick={handleClickSeeLess}>\r\n            ANTERIORES\r\n          </Button>\r\n        </>\r\n      );\r\n    }\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <div className={classes.drawerContainerTurn} style={{ backdropFilter: \"blur(8px) !important\" }}>\r\n        {screen.sWidth < 768 && <> <Typography\r\n          className={classes.titleTurn}\r\n          style={{ marginTop: \"0px\" }}\r\n        >\r\n          {props.titles.map((titles) => titles.title7)}\r\n        </Typography>\r\n\r\n          <Typography\r\n            style={{ color: \"#002858\", fontWeight: \"bold\", fontSize: \"17px\" }}\r\n          >\r\n            {modelAppointment?.especialidadDescripcion}\r\n          </Typography>\r\n\r\n          <Typography\r\n            style={{ color: \"#54c0e8\", fontWeight: \"400\", fontSize: \"15px\" }}\r\n          >\r\n            {modelAppointment?.centroMedico}\r\n          </Typography></>\r\n        }\r\n        {((appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad?.length > 0) && (modelNextAppointment?.modelAppointment?.preference !== \"\")) ?\r\n          <>\r\n            {(listItems(countItems))}\r\n            {showButtons()}\r\n          </>\r\n          :\r\n          (\r\n            modelNextAppointment?.modelAppointment?.preference !== \"\" &&\r\n            <NotFound\r\n              customMsg={\r\n                <div className={classes.contentNotFound}>\r\n                  <span style={{ marginTop: \"20%\" }}>No hay turnos disponibles</span>\r\n                </div>}\r\n                wsItem={appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad}\r\n                fullItem={appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad}\r\n                loading= {appointments?.isLoading}\r\n            />\r\n          )\r\n        }\r\n        {openModal &&\r\n          <ModalObservations\r\n            medico={medico}\r\n            openModal={openModal}\r\n            setOpenModal={setOpenModal}\r\n            activeStep={activeStep}\r\n            setActiveStep={setActiveStep}\r\n          ></ModalObservations>\r\n        }\r\n      </div>\r\n      {screen.sWidth < 768 && modelNextAppointment?.modelAppointment?.doctorVisualizacion !== 'AGENDA SUSPENDIDA' &&\r\n        <FooterDrawer\r\n          activeStep={activeStep}\r\n          handleBack={handleBack}\r\n          handleNext={handleNext}\r\n          handleOpenCancelModal={handleOpenCancelModal}\r\n          disabledNext={disableNextButton}\r\n        />}\r\n    </>\r\n  );\r\n};\r\n\r\nexport default NextAppointmentDrawer;","import { Typography } from \"@material-ui/core\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport HeaderCard from \"../../Billing/Movements/HeaderCard\";\r\nimport AppointmentsCard from \"./AppointmentsCard\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\n\r\nconst HistoryAppointmentCard = ({ item, i, handleClickOpenRepeatModal }) => {\r\n    const classes = useStyles();\r\n\r\n    return (\r\n        <>\r\n            <AppointmentsCard\r\n                index={i}\r\n                headerIcon={<HeaderCard day={item?.fechaFormateada?.nombreDia} numberDay={item?.fechaFormateada?.dia} month={parseInt(item?.turnoFechHora?.substring(5, 7))} year={parseInt(item?.turnoFechHora?.substring(0, 4))} />}\r\n                description={\r\n                    <>\r\n                        <Typography style={{ fontWeight: \"600\", color: '#0075c9' }} className={`${classes.txtCardDescription} `}>\r\n                            <span style={{ color: 'black' }}>{\"Hora: \" + item?.turnoFechHora?.split('T')[1].substring(0, 5) + \" hs\"}</span>\r\n                        </Typography>\r\n                        <Typography style={{ fontWeight: \"600\", color: '#0075c9', paddingBottom: \"10px\" }} className={`${classes.txtCardDescription} `} >\r\n                            <span style={{ color: 'black' }}>{\"CENTRO MEDICO \" + item?.sucursalDescripcion}</span>\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`}>\r\n                            {item?.pacienteNombreApellido}\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`}>\r\n                            {item?.especialidadDescripcion}\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`}>\r\n                            {item?.medicoDescripcion}\r\n                        </Typography>\r\n                    </>\r\n                }\r\n                buttonZone={\r\n                    <section style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\r\n                        <div>\r\n                            <CustomButton\r\n                                title=\"REPETIR TURNO\"\r\n                                customClass={classes.darkLinearGradient}\r\n                                style={{ whiteSpace: \"nowrap\", marginTop: \"10px\", width: \"100%\", fontSize: \"0.5rem\", fontWeight: '600' }}\r\n                                onClick={handleClickOpenRepeatModal(item)}\r\n                            />\r\n                        </div>\r\n                    </section>\r\n                }\r\n                customHeaderColor={classes.darkLinearGradientImportant}\r\n            />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default HistoryAppointmentCard;","import useStyles from \"../../assets/styles/styles\";\r\nimport format from \"date-fns/format\";\r\nimport Card from \"../Card/Card\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport NextAppointmentCard from \"../Appointments/Cards/NextAppointmentCard\";\r\nimport HistoryAppointmentCard from \"../Appointments/Cards/HistoryAppointmentCard\";\r\n\r\nconst CardDetail = ({ appointments, indexItem, handleEdit, setItemAppointment, setOpenModal, handleClickOpenRepeatModal }) => {\r\n  const classes = useStyles();\r\n  const [title, setTitle] = useState('Turnos históricos');\r\n  const [description, setDescription] = useState('No posee turnos históricos para la fecha seleccionada');\r\n\r\n  const checkAppointment = () => {\r\n    let date = appointments.filter((x) => {\r\n      let aux = new Date(x.turnoFechHora);\r\n      return format(aux, \"yyyy-MM-dd\") === indexItem;\r\n    });\r\n    return date?.length;\r\n  };\r\n\r\n  useEffect(() => {\r\n    let today = Date.now();\r\n    let todayFormated = format(today, \"yyyy-MM-dd\");\r\n    if (indexItem >= todayFormated) {\r\n      setTitle('Mis próximos turnos');\r\n      setDescription('No posee próximos turnos');\r\n    } else {\r\n      setTitle('Turnos históricos');\r\n      setDescription('No posee turnos históricos para la fecha seleccionada');\r\n    }\r\n  }, [indexItem]);\r\n\r\n  return (\r\n    <>\r\n      <div style={{ width: \"500px\" }}>\r\n        <Typography className={`${classes.titleTurn} ${classes.txtBold500}`} style={{ marginTop: \"35px \" }}>\r\n          {title}\r\n        </Typography>\r\n        {checkAppointment() > 0 ?\r\n          (\r\n            <>\r\n              {appointments?.filter((x) => {\r\n                let aux = new Date(x.turnoFechHora);\r\n                return format(aux, \"yyyy-MM-dd\") === indexItem;\r\n              })\r\n                .map((item, i) => (\r\n                  item.turnoFechHora >= format(Date.now(), \"yyyy-MM-dd\") ?\r\n                    <NextAppointmentCard item={item} i={i} handleClickOpenRepeatModal={handleEdit} setCancelItem={setItemAppointment} setOpenModal={setOpenModal} />\r\n                    :\r\n                    <HistoryAppointmentCard item={item} i={i} handleClickOpenRepeatModal={handleClickOpenRepeatModal} />\r\n                  // <Card\r\n                  //   isMedicalRecord={true}\r\n                  //   key={i}\r\n                  //   customClass={classes.calendarDetail}\r\n                  //   title={\r\n                  //     <>\r\n                  //       <div className={`${classes.blueTxt} ${classes.fontBold}`}>\r\n                  //         HORA: {item.turnoFechHora.split(\"T\")[1].substring(0, 5)} hs.\r\n                  //       </div>\r\n                  //     </>\r\n                  //   }\r\n                  //   description={\r\n                  //     <>\r\n                  //       <div className={`${classes.grayTxt} ${classes.fontBold}`}>\r\n                  //         CENTRO MEDICO: {item.sucursalDescripcion}\r\n                  //       </div>\r\n                  //       <div className={classes.blueTxt}>\r\n                  //         {item.pacienteNombreApellido}\r\n                  //       </div>\r\n                  //       <div className={classes.grayTxt}>\r\n                  //         {item.especialidadDescripcion}\r\n                  //       </div>\r\n                  //       <div className={classes.grayTxt}>\r\n                  //         {item.medicoDescripcion}\r\n                  //       </div>\r\n                  //     </>\r\n                  //   }\r\n                  // />\r\n                ))}\r\n            </>\r\n          )\r\n          :\r\n          <Typography className={`${classes.titleTurn} ${classes.txtBold500}`} style={{ marginTop: \"50px \" }}>\r\n            {description}\r\n          </Typography>\r\n        }\r\n      </div>\r\n    </>);\r\n};\r\n\r\nexport default React.memo(CardDetail, (prevState, nextState) => {\r\n  return prevState.indexItem === nextState.indexItem && prevState.appointments === nextState.appointments;\r\n});\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport { setModelToSaveAppointment } from \"../../../redux/actions/appointmentsActions\";\r\nimport { Typography } from \"@material-ui/core\";\r\n\r\nconst SelectHour = ({ selectedDate }) => {\r\n  const classes = useStyles();\r\n  const doctorSchedule = useSelector(\r\n    (state) => state.appointmentsReducer.nextAvailableAppointmentsDoctor\r\n  );\r\n  const [modelAppointment, setHour] = useState(selectedDate);\r\n  const dispatch = useDispatch();\r\n  const [freeAppointment, setFreeAppointment] = useState([]);\r\n\r\n  const handleClickHour = (hour, turnoNumero) => (e) => {\r\n    e.preventDefault();\r\n    setHour({\r\n      ...modelAppointment,\r\n      hourSelected: hour,\r\n      turnoNumero: turnoNumero,\r\n    });\r\n    dispatch(\r\n      setModelToSaveAppointment({\r\n        ...selectedDate,\r\n        hourSelected: hour,\r\n        turnoNumero: turnoNumero,\r\n      })\r\n    );\r\n  };\r\n\r\n  const setActive = (item) => {\r\n    let cssClass = \"\";\r\n    if (item === modelAppointment?.hourSelected){\r\n      cssClass = classes.hourSelected;\r\n    }\r\n    return cssClass;\r\n  };\r\n\r\n  useEffect(() => {\r\n    const fechaHora =\r\n      `${selectedDate.selectedAppointment}T${selectedDate.hourSelected}`;\r\n    const hourAppointment = doctorSchedule?.turnosLibres?.filter(\r\n      (x) => x.turnoFechHora === fechaHora\r\n    );\r\n    if (hourAppointment.length > 0) {\r\n      setHour({\r\n        ...selectedDate,\r\n        hourSelected: hourAppointment[0]?.turnoFechHora.split(\"T\")[1],\r\n        turnoNumero: hourAppointment[0]?.turnoNumero,\r\n      });\r\n      dispatch(\r\n        setModelToSaveAppointment({\r\n          ...selectedDate,\r\n          hourSelected: hourAppointment[0]?.turnoFechHora.split(\"T\")[1],\r\n          turnoNumero: hourAppointment[0]?.turnoNumero,\r\n        })\r\n      );\r\n    } else {\r\n      setHour({ ...selectedDate, hourSelected: \"\", turnoNumero: 0 });\r\n      dispatch(\r\n        setModelToSaveAppointment({\r\n          ...selectedDate,\r\n          hourSelected: \"\",\r\n          turnoNumero: 0,\r\n        })\r\n      );\r\n    }\r\n  }, [selectedDate.selectedAppointment]);\r\n\r\n  useEffect(() => {\r\n    let freeAppointments = [];\r\n    if (modelAppointment?.modalidadTurno === 'Telemedicina') {\r\n      freeAppointments = doctorSchedule?.turnosLibres?.filter(element => element?.tipoAtencion === \"R\");\r\n    } else {\r\n      freeAppointments = doctorSchedule?.turnosLibres?.filter(element => element?.tipoAtencion === \"P\");\r\n    }\r\n    setFreeAppointment(freeAppointments)\r\n  }, [doctorSchedule]);\r\n\r\n  return (\r\n    <>\r\n      {doctorSchedule?.turnosLibres?.filter(\r\n        (x) =>\r\n          x.turnoFechHora.split(\"T\")[0] === selectedDate.selectedAppointment &&\r\n          x.estadoTurno === \"DISPONIBLE\"\r\n      ).length > 0 && (\r\n        <Typography\r\n          className={`${classes.txtBold500} ${classes.grayTxt}`}\r\n          style={{ marginTop: \"10px \" }}\r\n        >\r\n          Seleccioná horario\r\n        </Typography>\r\n      )}\r\n      {modelAppointment?.hourSelected === \"\" && (\r\n        <span className={classes.spanError}>*Complete el campo</span>\r\n      )}\r\n      <div\r\n        className={`${classes.boxPointsDrawer} ${classes.backgroundToLightGray}`}\r\n        style={{ flexWrap: \"wrap\" }}\r\n      >\r\n        {freeAppointment\r\n          ?.filter(\r\n            (x) =>\r\n              x.turnoFechHora.split(\"T\")[0] ===\r\n                selectedDate.selectedAppointment &&\r\n              x.estadoTurno === \"DISPONIBLE\"\r\n          )\r\n          .map((item, i) => (\r\n            <CustomButton\r\n              key={i}\r\n              onClick={handleClickHour(\r\n                item.turnoFechHora.split(\"T\")[1],\r\n                item.turnoNumero\r\n              )}\r\n              title={item.turnoFechHora.split(\"T\")[1].substring(0, 5)}\r\n              customClass={`${classes.noneBoxShadow} ${\r\n                classes.hourBtn\r\n              } ${setActive(item.turnoFechHora.split(\"T\")[1])}`}\r\n            />\r\n          ))}\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default SelectHour;\r\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport Calendar from \"react-calendar\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport \"./customCalendar.css\";\r\nimport { format } from \"date-fns\";\r\nimport CardDetail from \"./CardDetail\";\r\nimport SelectHour from \"../AskTurn/SelectDateDrawer/SelectHour\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { setModelToSaveAppointment } from \"../../redux/actions/appointmentsActions\";\r\n\r\nconst CustomCalendar = ({ familyFilter, appointments, withCard, isDoctor, handleEdit, setItemAppointment, setOpenModal, handleClickOpenRepeatModal }) => {\r\n  const [value, onChange] = useState(new Date());\r\n  const [indexItem, setIndexItem] = useState(new Date());\r\n  const [calendarAppointments, setCalendarAppointments] = useState([]);\r\n  const modelAppointmentReducer = useSelector(state => state.appointmentsReducer);\r\n  const [modelAppointment, setModelAppointment] = useState(modelAppointmentReducer?.modelAppointment);\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const [openModalRepeatAppointment, setOpenModalRepeatAppointment] = useState(false);\r\n  const hourRef = useRef(null);\r\n  const [appointmentDate, setAppointmentDate] = useState(\"\");\r\n  const [flagAppointmentSelected, setFlagAppointmentSelected] = useState(false);\r\n  const[selectedDayCalendar, setSelectedDayCalendar] = useState(null);\r\n\r\n  const handleClickDay = useCallback(\r\n    (i) => (e) => {\r\n      let selectedDate = format(e, \"yyyy-MM-dd\");\r\n      setIndexItem(selectedDate);\r\n      var element = document.getElementsByClassName(\"turnoSeleccionado\"); \r\n      element[0]?.classList?.remove(\"turnoSeleccionado\");\r\n      \r\n      const dayObject = selectedDate ? new Date(selectedDate + \"T00:00:00\") : null;\r\n\r\n      if (!isDoctor) {\r\n        setSelectedDayCalendar(dayObject);\r\n\r\n      }\r\n    },\r\n    [indexItem]\r\n  );\r\n\r\n  const isDateCalendar = (shiftday) => {\r\n    return (selectedDayCalendar != null && selectedDayCalendar?.getDate() == shiftday?.getDate() && selectedDayCalendar?.getMonth() == shiftday?.getMonth() && selectedDayCalendar?.getFullYear() == shiftday?.getFullYear());\r\n  }\r\n\r\n  useEffect(() => {\r\n    setModelAppointment({ ...modelAppointmentReducer?.modelAppointment, selectedAppointment: indexItem });\r\n    dispatch(setModelToSaveAppointment({ ...modelAppointment, selectedAppointment: indexItem }));\r\n\r\n  }, [indexItem]);\r\n\r\n  const setFilteredAppointmentsFunction = useCallback(() => {\r\n    let appointmentsFiltered = [];\r\n    if (isDoctor) {\r\n      Object.entries(familyFilter).forEach(([key, filterValue]) => {\r\n        if (filterValue) {\r\n          appointments?.filter(x => x.medicoCodigo === Number.parseInt(key)).map(item => {\r\n            appointmentsFiltered.push(item);\r\n          });\r\n        }\r\n      });\r\n    } else {\r\n      if (familyFilter?.value === 0) {\r\n        appointments?.map(item => {\r\n          appointmentsFiltered.push(item);\r\n        });\r\n      } else {\r\n        appointments?.filter(x => x.pacienteNumero === Number.parseInt(familyFilter?.value)).map(item => {\r\n          appointmentsFiltered.push(item);\r\n        });\r\n      }\r\n    }\r\n    setCalendarAppointments(appointmentsFiltered);\r\n  }, [familyFilter, appointments]);\r\n\r\n  const checkAppointments = useCallback(\r\n    ({ date, view }) => {\r\n      let classesToAdd = [];\r\n      Object.entries(calendarAppointments)?.forEach(([key, item]) => {\r\n        let dateAux = new Date(item.turnoFechHora);\r\n        let calendarDate = format(date, \"yyyy-MM-dd\");\r\n        let auxDateAppointment = format(dateAux, \"yyyy-MM-dd\");\r\n        if (view === \"month\" && calendarDate === auxDateAppointment) {\r\n          let css = setClassDate(item, isDoctor, appointmentDate, setFlagAppointmentSelected);\r\n          classesToAdd.push(css);\r\n        }\r\n      });\r\n      return classesToAdd;\r\n    },\r\n    [calendarAppointments, familyFilter]\r\n  );\r\n\r\n  useEffect(() => {\r\n    setFilteredAppointmentsFunction();\r\n  }, [familyFilter, appointments]);\r\n\r\n  useEffect(() => {\r\n    if (isDoctor && modelAppointment?.selectedAppointment !== undefined) {\r\n      setAppointmentDate(modelAppointment?.selectedAppointment);\r\n    }\r\n    else {\r\n      document.getElementsByClassName(\"react-calendar__tile--now\")?.[0]?.click();\r\n    }\r\n    setFilteredAppointmentsFunction();\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (isDoctor && modelAppointment?.selectedAppointment !== undefined && flagAppointmentSelected) {\r\n      document.getElementsByClassName(\"turnoSeleccionado\")?.[0]?.click();\r\n    }\r\n  }, [flagAppointmentSelected]);\r\n\r\n  useEffect(() => {\r\n    if (isDoctor) {\r\n      hourRef?.current?.scrollIntoView({ behavior: 'smooth' });\r\n    }\r\n  });\r\n\r\n  return (\r\n    <>\r\n      {isDoctor ?\r\n        <>\r\n          <div id='calendarioTurnos' className={classes.centeredBox}>\r\n            <Calendar\r\n              onChange={onChange}\r\n              onClickDay={handleClickDay()}\r\n              showNeighboringMonth={false}\r\n              locale=\"es-ES\"\r\n              value={value}\r\n              tileClassName={checkAppointments}\r\n              next2AriaLabel={null}\r\n              next2Label={null}\r\n              prev2AriaLabel={null}\r\n              prev2Label={null}\r\n            />\r\n          </div>\r\n\r\n          <div className={classes.HourTurnCercano} style={{ marginTop: '10px' }} ref={hourRef}>\r\n            <SelectHour selectedDate={modelAppointment} />\r\n          </div>\r\n\r\n        </>\r\n        :\r\n        <div\r\n          id='calendarioPrincipal'\r\n          style={{\r\n            justifyContent: \"center\",\r\n            display: \"flex\",\r\n            paddingTop: \"50px\",\r\n          }}\r\n        >\r\n          <Calendar\r\n            onChange={onChange}\r\n            onClickDay={handleClickDay()}\r\n            showNeighboringMonth={false}\r\n            locale=\"es-ES\"\r\n            value={value}\r\n            tileClassName={ ({date}) =>  isDateCalendar(date) ? \"activeDay\" : checkAppointments({date, view: \"month\"}) }\r\n          />\r\n          {withCard &&\r\n            <CardDetail appointments={calendarAppointments} indexItem={indexItem} handleEdit={handleEdit} setItemAppointment={setItemAppointment} setOpenModal={setOpenModal} handleClickOpenRepeatModal={handleClickOpenRepeatModal} />\r\n          }\r\n        </div>\r\n      }\r\n\r\n      {\r\n        openModalRepeatAppointment &&\r\n        <ModalActivities\r\n          title={'Modificar Turno'}\r\n          description={'¿Estás seguro que deseas modificar el turno seleccionado?'}\r\n          open={openModalRepeatAppointment}\r\n          onClose={setOpenModalRepeatAppointment}\r\n          modalconfirm={true}\r\n          modalLogout={false}\r\n          buttonType={'submit'}\r\n          handleClick={handleClickModifyRepeatAppointment(modifyRepeatTitle)}\r\n        />\r\n      }\r\n    </>\r\n  );\r\n};\r\n\r\nexport default React.memo(CustomCalendar, (prevState, nextState) => {\r\n  return prevState.familyFilter === nextState.familyFilter && prevState.appointments === nextState.appointments;\r\n});\r\n\r\n\r\nfunction setClassDate(item, isDoctor, appointmentDate, setFlagAppointmentSelected) {\r\n  const DEFAULT_CSS_CLASS = 'appointment';\r\n  const CSS_CLASSES = {\r\n    DISPONIBLE: 'disponible',\r\n    LICENCIA: 'licencia',\r\n    'Sin-Turno': 'sinTurno',\r\n    SELECCIONADO: 'turnoSeleccionado',\r\n  };\r\n  let cssAppointmentState = DEFAULT_CSS_CLASS;\r\n  if (isDoctor) {\r\n    cssAppointmentState = CSS_CLASSES[item.estadoTurno];\r\n    if (item.turnoFechHora.split('T')[0] === appointmentDate) {\r\n      cssAppointmentState = CSS_CLASSES['SELECCIONADO'];\r\n      setFlagAppointmentSelected(true);\r\n    }\r\n  }\r\n  return cssAppointmentState;\r\n}","import { Typography } from \"@material-ui/core\";\r\nimport ModalProfile from \"../../DialogProfile/Modal\";\r\nconst DoesntFreeAppointmentModal = ({ openModal, onClose }) => {\r\n    return (\r\n        <>\r\n            {openModal &&\r\n                <ModalProfile\r\n                    type='cancel'\r\n                    title={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                Repetir turno\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    observation={\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <Typography>\r\n                                El médico seleccionado no tiene turnos disponibles.\r\n                            </Typography>\r\n                        </div>\r\n                    }\r\n                    description={''}\r\n                    open={openModal}\r\n                    onClose={onClose}\r\n                    close={true}\r\n                />\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default DoesntFreeAppointmentModal;","import { CircularProgress, Typography } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport {\r\n  getNextAvailableAppointmentsDoctor,\r\n  setModelToSaveAppointment,\r\n} from \"../../../redux/actions/appointmentsActions\";\r\nimport CustomCalendar from \"../../Calendar/Calendar\";\r\nimport FooterDrawer from \"../FooterDrawer\";\r\nimport { ValidateSteps } from \"../Utils/ValidateSteps\";\r\nimport \"./doctorCalendar.css\";\r\nimport DoesntFreeAppointmentModal from \"./DoesntFreeAppointmentModal\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport { getFullData } from '../../../redux/actions/personalDataActions';\r\n\r\n\r\nconst SelectDateDrawer = (props) => {\r\n  const {\r\n    activeStep,\r\n    setActiveStep,\r\n    handleOpenCancelModal,\r\n    handleBack,\r\n    handleCloseDrawer,\r\n  } = props;\r\n  const modelNextAppointment = useSelector(\r\n    (state) => state.appointmentsReducer\r\n  );\r\n  const [modelAppointment, setModelAppointment] = useState(\r\n    modelNextAppointment?.modelAppointment\r\n  );\r\n  const specialties = useSelector(\r\n    (state) => state.medicalCenterReducer?.specialtyList\r\n  );\r\n  const doctorSchedule = useSelector(\r\n    (state) => state.appointmentsReducer?.nextAvailableAppointmentsDoctor\r\n  );\r\n  const dispatch = useDispatch();\r\n  const classes = useStyles();\r\n  const [schedule, setSchedule] = useState([\"\"]);\r\n  const [description, setDescription] = useState([\"\"]);\r\n  const [doctorCodes, setDoctorCodes] = useState([\"\"]);\r\n  const [openModal, setOpenModal] = useState();\r\n  const { screen } = useResizeScreen();\r\n  const loading = useSelector((state) => state.medicalCenterReducer?.isLoading);\r\n\r\n  const paramAll = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    medicoCodigo: \"TODOS\",\r\n    count: 0,\r\n    skip: 0,\r\n    tipoAtencion: modelNextAppointment?.modelAppointment?.modalidadTurno == 'Telemedicina' ? 'TELEMEDICINA' : 'PRESENCIAL'\r\n  };\r\n\r\n  const inlineCalendarStyles = {\r\n    appointmentType: { alignSelf: \"center\", fontSize: \"12px\", margin: \"5px\" },\r\n\r\n    appointmentStateIndicator: { display: 'flex', flexDirection: screen.sWidth < 321 ? 'column' : 'row' },\r\n\r\n    noAvailableTurnIndicator: { alignSelf: \"center\", fontSize: \"12px\", margin: \"5px\", textAlign: \"center\"}\r\n}\r\n\r\n  useEffect(() => {\r\n    dispatch(getFullData({ numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")) }));\r\n  }, [])\r\n\r\n  useEffect(() => {\r\n    setModelAppointment(modelNextAppointment?.modelAppointment);\r\n  }, [modelNextAppointment?.modelAppointment]);\r\n\r\n  useEffect(() => {\r\n    dispatch(\r\n      getNextAvailableAppointmentsDoctor({\r\n        ...paramAll,\r\n        medicoCodigo: modelAppointment?.medicoCodigo?.toString(),\r\n      })\r\n    );\r\n    setDoctorCodes({ [modelAppointment?.medicoCodigo]: true });\r\n  }, [modelAppointment?.medicoCodigo, modelAppointment.preference]);\r\n\r\n  useEffect(() => {\r\n    validateSpecialties(\r\n      specialties,\r\n      setOpenModal,\r\n      setDescription,\r\n      modelAppointment\r\n    );\r\n    let turnosLibres = [];\r\n    if (modelAppointment?.modalidadTurno === 'Telemedicina') {\r\n      turnosLibres = doctorSchedule?.turnosLibres?.filter(element => element?.tipoAtencion === \"R\");\r\n    } else {\r\n      turnosLibres = doctorSchedule?.turnosLibres?.filter(element => element?.tipoAtencion === \"P\");\r\n\r\n      doctorSchedule?.turnosLibres?.filter( x => x.estadoTurno === 'LICENCIA' )?.map( item => {\r\n        turnosLibres?.push( item );\r\n      });\r\n    }\r\n    setSchedule(turnosLibres);\r\n\r\n  }, [doctorSchedule, specialties]);\r\n\r\n  useEffect(() => {\r\n    if (description !== undefined) {\r\n      const descriptionsAppointment = description[0]?.observaciones;\r\n      const preparation = description[0]?.preparacion;\r\n      setModelAppointment({\r\n        ...modelAppointment,\r\n        observaciones: descriptionsAppointment,\r\n        preparacion: preparation,\r\n      });\r\n      dispatch(\r\n        setModelToSaveAppointment({\r\n          ...modelAppointment,\r\n          observaciones: descriptionsAppointment,\r\n          preparacion: preparation,\r\n        })\r\n      );\r\n    }\r\n  }, [description]);\r\n\r\n  const handleNext = () => {\r\n    if (\r\n      ValidateSteps(activeStep, modelNextAppointment?.modelAppointment, screen)\r\n    ) {\r\n      setActiveStep((prevActiveStep) => prevActiveStep + 3);\r\n    }\r\n  };\r\n\r\n  const handleClose = () => {\r\n    setOpenModal(false);\r\n  };\r\n\r\n  const showObservations = () => {\r\n    let observaciones = \"No hay observaciones\"\r\n\r\n    if(description !== undefined){\r\n      description[0]?.observaciones !== \"\" && (observaciones = description[0]?.observaciones)\r\n    }\r\n\r\n    return observaciones\r\n  }\r\n\r\n  const centeredCircularProgress = () => {\r\n    return (\r\n      <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n        <CircularProgress />\r\n      </div>\r\n    );\r\n  }\r\n\r\n  return (\r\n    (specialties?.length != 0 && !modelNextAppointment?.isLoading && !loading ? <>\r\n      <div className={classes.drawerContainerTurn}>\r\n        {screen.sWidth < 768 && (\r\n          <>\r\n            <Typography\r\n              className={classes.textTitleTurn}\r\n              style={{ margin: \"0px \" }}\r\n            >\r\n              {props.titles.map((titles) => titles.title8)}\r\n            </Typography>\r\n            <div style={{ marginTop: \"10px\" }}>\r\n              <Typography\r\n                className={`${classes.subtitleTurn} ${classes.txtDarkBlue}`}\r\n                style={{ margin: \"0px \" }}\r\n              >\r\n                {modelAppointment?.medicoDescripcion}\r\n              </Typography>\r\n              <Typography\r\n                className={`${classes.titleTurn} ${classes.txtBold500}`}\r\n                style={{ margin: \"0px \" }}\r\n              >\r\n                {modelAppointment?.especialidadDescripcion}\r\n              </Typography>\r\n            </div>\r\n            <div style={{ marginTop: \"10px\" }}>\r\n              {schedule !== undefined && description !== undefined ? (\r\n                <>\r\n                  <Typography\r\n                    className={` ${classes.txtLinksInCard} ${classes.fontBold} ${classes.txtObservaciones}`}\r\n                    style={{ margin: \"0px \" }}\r\n                  >\r\n                    Próximo turno más cercano:{\" \"}\r\n                    {schedule[0]?.turnoFechHora?.split(\"T\")[0]} |{\" \"}\r\n                    {schedule[0]?.turnoFechHora?.split(\"T\")[1]} hs.\r\n                  </Typography>\r\n                  <Typography\r\n                    className={`${classes.subtitleTurn} ${classes.txtDarkBlue} ${classes.txtObservaciones}`}\r\n                    style={{ margin: \"0px \" }}\r\n                  >\r\n                    Horario de atención:{\" \"}\r\n                    <span className={classes.txtBold500}>\r\n                      {description[0]?.horarios}\r\n                    </span>\r\n                  </Typography>\r\n                  <Typography\r\n                    className={`${classes.subtitleTurn} ${classes.txtDarkBlue} ${classes.txtObservaciones}`}\r\n                    style={{ margin: \"0px \" }}\r\n                  >\r\n                    Edades:{\" \"}\r\n                    <span className={classes.txtBold500}>\r\n                      de {description[0]?.edadDesde} a{\" \"}\r\n                      {description[0]?.edadHasta} años{\" \"}\r\n                      {description[0]?.atiendeDiscapacitados === \"S\" && <>(atiende capacidades especiales)</>}\r\n                    </span>\r\n                  </Typography>\r\n                  <Typography\r\n                    className={`${classes.subtitleTurn} ${classes.txtDarkBlue} ${classes.txtObservaciones}`}\r\n                    style={{ margin: \"0px \" }}\r\n                  >\r\n                    Observaciones: {showObservations()}\r\n                    {description[0]?.preparacion}\r\n                  </Typography>\r\n                </>\r\n              ) : (\r\n                <div\r\n                  className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}\r\n                >\r\n                  <CircularProgress />\r\n                </div>\r\n              )}\r\n            </div>\r\n          </>\r\n        )}\r\n        {specialties?.length != 0 ?\r\n        <div className={`${classes.boxPointsDrawer} ${classes.centeredBox}`}>\r\n          <div style={{ display: 'flex', flexDirection: screen.sWidth < 321 ? 'column' : 'row' }}>\r\n            <div\r\n              className={`${classes.boxPointsDrawer_AgendaSusp} ${classes.boxPointsDrawer_Seleccionado} ${classes.box15x15}`}\r\n            />\r\n            <Typography\r\n              className={classes.txtLinksInCard}\r\n              style={ inlineCalendarStyles.appointmentType }\r\n            >\r\n              Seleccionado\r\n            </Typography>\r\n          </div>\r\n          <div style={ inlineCalendarStyles.appointmentStateIndicator }>\r\n            <div\r\n              className={`${classes.boxPointsDrawer_AgendaSusp} ${classes.boxPointsDrawer_Disponible} ${classes.box15x15}`}\r\n            />\r\n            <Typography\r\n              className={classes.txtLinksInCard}\r\n              style={ inlineCalendarStyles.appointmentType }\r\n            >\r\n              Disponible\r\n            </Typography>\r\n          </div>\r\n          <div style={ inlineCalendarStyles.appointmentStateIndicator }>\r\n            <div\r\n              className={`${classes.boxPointsDrawer_AgendaSusp} ${classes.boxPointsDrawer_SinTurno} ${classes.box15x15}`}\r\n              style={{ width: \"15px !important\" }}\r\n            />\r\n            <Typography\r\n              className={`${classes.txtLinksInCard}`}\r\n              style={ inlineCalendarStyles.noAvailableTurnIndicator }\r\n            >\r\n              Sin turno disponible\r\n            </Typography>\r\n          </div>\r\n          <div style={ inlineCalendarStyles.appointmentStateIndicator }>\r\n            <div\r\n              className={`${classes.boxPointsDrawer_AgendaSusp} ${classes.boxPointsDrawer_Licencia} ${classes.box15x15}`}\r\n            />\r\n            <Typography\r\n              className={classes.txtLinksInCard}\r\n              style={ inlineCalendarStyles.appointmentType }\r\n            >\r\n              Licencia\r\n            </Typography>\r\n          </div>\r\n        </div>\r\n        :\r\n        centeredCircularProgress()\r\n        }\r\n        {(schedule !== undefined && schedule[0] !== \"\") && (!modelNextAppointment?.isLoading && specialties?.length != 0) ? (\r\n          <CustomCalendar\r\n            familyFilter={doctorCodes}\r\n            appointments={schedule}\r\n            withCard={false}\r\n            isDoctor={true}\r\n          />\r\n        ) : (\r\n          <div\r\n            className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}\r\n          >\r\n            <CircularProgress />\r\n          </div>\r\n        )}\r\n      </div>\r\n      {screen.sWidth < 768 && (\r\n        <FooterDrawer\r\n          activeStep={activeStep}\r\n          handleOpenCancelModal={handleOpenCancelModal}\r\n          handleBack={handleBack}\r\n          handleNext={handleNext}\r\n        />\r\n      )}\r\n      {doctorSchedule?.turnosLibres?.length === 0 &&\r\n        <DoesntFreeAppointmentModal onClose={handleClose} openModal={openModal} />\r\n      }\r\n      {(doctorSchedule?.turnosLibres?.length === undefined || doctorSchedule?.turnosLibres?.length === 0) && (!modelNextAppointment?.isLoading && !loading) && (\r\n        <Typography\r\n          className={`${classes.txtBold500} ${classes.grayTxt}`}\r\n          style={{ marginTop: \"10px \" }}\r\n        >\r\n          No hay turnos disponibles\r\n        </Typography>\r\n      )}\r\n    </>\r\n    :\r\n    centeredCircularProgress()\r\n    )\r\n  );\r\n};\r\n\r\nexport default React.memo(SelectDateDrawer, (prevState, nextState) => {\r\n  return (\r\n    prevState.modelNextAppointment?.modelAppointment?.medicoCodigo ===\r\n    nextState.modelNextAppointment?.modelAppointment?.medicoCodigo\r\n  );\r\n});\r\n\r\nfunction validateSpecialties(\r\n  specialties,\r\n  setOpenModal,\r\n  setDescription,\r\n  modelAppointment\r\n) {\r\n  let aux = \"\";\r\n  if (specialties) {\r\n    aux = specialties?.agenda?.filter(\r\n      (x) => x.medicoCodigo === modelAppointment?.medicoCodigo\r\n    );\r\n    if (aux?.length === 0) {\r\n      setOpenModal(true);\r\n    } else {\r\n      setOpenModal(false);\r\n    }\r\n    setDescription(\r\n      specialties?.agenda?.filter(\r\n        (x) =>\r\n          x.medicoCodigo === modelAppointment?.medicoCodigo &&\r\n          x.especialidadCodigo === modelAppointment?.especialidadCodigo\r\n      )\r\n    );\r\n  }\r\n}\r\n","import ModalProfile from \"../../DialogProfile/Modal\";\r\nimport { CircularProgress, Typography } from \"@material-ui/core\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { AppointmentCanceled, AppointmentConfirm, clearAffilliate, clearModelAppointment, clearMsgError, setModifyAppointment } from \"../../../redux/actions/appointmentsActions\";\r\nimport DoneIcon from '@material-ui/icons/Done';\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport { Box, Dialog, DialogContent, IconButton } from \"@mui/material\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { getConfigurations } from \"../../../redux/actions/configurationAction\";\r\n\r\nexport default function ModalConfirm(props) {\r\n    const { model, openModal, setOpenModal, handleCloseDrawer } = props;\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const [open, setOpen] = useState(false);\r\n    const confirmTurnReducer = useSelector(state => state.appointmentsReducer?.postAppointment);\r\n    const configurations = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const [loading, setLoading] = useState(false)\r\n    const [openModalConfirm, setOpenModalConfirm] = useState(openModal)\r\n    const [openModalError, setOpenModalError] = useState(false);\r\n    const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n    const errorMessage = useSelector(state => state.appointmentsReducer.msgError);\r\n    const [openModalNewTurn, setOpenModalNewTurn] = useState(false);\r\n    const isNotProfessionalAndSpecialtyFlow = modelNextAppointment?.modelAppointment?.appointmentFlow !== 'medico' && modelNextAppointment?.modelAppointment?.appointmentFlow !== 'especialidad';\r\n    const [message, setMessage] = useState('');\r\n\r\n    const handleCancel = () => {\r\n        setOpenModal(prevState => !prevState)\r\n        dispatch(setModifyAppointment(\"\"));\r\n    }\r\n\r\n    useEffect(() => {\r\n        dispatch(getConfigurations());\r\n    }, [])\r\n\r\n    const handleAccept = () => {\r\n        setLoading(true);\r\n        if(modelNextAppointment?.modelModifyAppointment == \"modify\") {\r\n            let auxModel = {\r\n                numeroPersona: model?.numeroPersona,\r\n                numeroTurno: model?.turnoAnterior,\r\n                enviarMail: model?.enviarMail,\r\n                mail: model?.mail\r\n            };\r\n            dispatch(AppointmentCanceled(auxModel));\r\n            deleteModel();\r\n            dispatch(AppointmentConfirm(model));\r\n        } else {\r\n            deleteModel();\r\n            dispatch(AppointmentConfirm(model));\r\n        }\r\n        \r\n    }\r\n\r\n    const setConfigurationMessage = () => {\r\n        const message = configurations?.filter(configuration => configuration?.id == 'mensajePopUpConfirmacionTurnos');\r\n\r\n        message?.[0]?.valor && setMessage(message?.[0]?.valor);\r\n    }\r\n\r\n    useEffect(() => {\r\n        setConfigurationMessage();\r\n    }, [configurations])\r\n\r\n    const deleteModel = () => {\r\n        delete model.turnoAnterior;\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (confirmTurnReducer?.succeeded) {\r\n            setOpenModalConfirm(false)\r\n            setLoading(false)\r\n            setOpen(true);\r\n        }\r\n        else if (!confirmTurnReducer?.succeeded && (confirmTurnReducer?.succeeded != undefined)) {\r\n            setOpenModalConfirm(false)\r\n            setOpenModalError(true)\r\n        }\r\n    }, [confirmTurnReducer])\r\n\r\n    useEffect(() => {\r\n        if(errorMessage?.length > 0) {\r\n            setOpenModalConfirm(false);\r\n            setOpenModalError(true);\r\n        }\r\n    }, [errorMessage])\r\n\r\n    const handleNewTurn = () => {\r\n        window.location.replace('/AppointmentHome?type=AskNewAppointment');\r\n    }\r\n\r\n    const handleCancelNewTurn = () => {\r\n        window.location.replace('/');\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (open) {\r\n            if (isNotProfessionalAndSpecialtyFlow) {\r\n                dispatch(clearModelAppointment())\r\n                dispatch(clearAffilliate())\r\n                handleCloseDrawer();\r\n            }\r\n            setTimeout(() => {\r\n                setOpen(prevState => !prevState)\r\n            }, 1500);\r\n            setTimeout(() => {\r\n                setOpenModalNewTurn(true)\r\n            }, 1500);\r\n        }\r\n    }, [open])\r\n    \r\n    const handleCancelErrorModal = () => {\r\n        setOpenModalError(false);\r\n        setOpenModal(prevState => !prevState);\r\n        dispatch(clearMsgError());\r\n    }\r\n\r\n    const showMessageModal = () => {\r\n        return (\r\n            <div className={classes.borderWhite} style={{ left: \"20px\" }}>\r\n                <Dialog\r\n                    onClose={handleCancelErrorModal}\r\n                    aria-labelledby=\"customized-dialog-title\"\r\n                    open={openModalError}\r\n                    id=\"modalTurn\">\r\n                        <IconButton\r\n                            aria-label=\"close\"\r\n                            className={classes.closeButton}\r\n                            onClick={() => {handleCancelErrorModal()}}\r\n                        ><CloseIcon />\r\n                        </IconButton>\r\n                    <Box display=\"flex\" id=\"cancelModal\">\r\n                        <div style={{ alignSelf: 'center' }}>\r\n                            <DialogContent className={classes.contentDialogTitle}>\r\n                                <section\r\n                                    style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap' }}>\r\n                                    <CancelIcon\r\n                                        style={{ fontSize: \"50px\", marginBottom: \"20px\" }}\r\n                                        className={classes.quickAccessIcon} />\r\n                                    <div style={{ display: 'flex', justifyContent: 'center', flex: '1 1 100%', textAlign: \"center\" }}>\r\n                                        <span>{errorMessage}</span>\r\n                                    </div>\r\n                                    </section>\r\n                            </DialogContent>\r\n                        </div>\r\n                    </Box>\r\n                </Dialog>\r\n            </div>\r\n        );\r\n    }\r\n\r\n\r\n    return (\r\n        <div className={classes.borderWhite} style={{ left: \"20px\" }}>\r\n            <ModalProfile\r\n                type='cancel'\r\n                title={\r\n                    loading ?\r\n                        <>\r\n                            <div className={classes.popUpNewTurn}>Por favor esperá un momento...</div>\r\n\r\n                        </>\r\n                        :\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                Confirmar turno\r\n                            </div>\r\n                        </>\r\n                }\r\n                observation={\r\n                    loading ?\r\n                        <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}>\r\n                            <CircularProgress color={'inherit'} />\r\n                        </div>\r\n                        :\r\n                        <div>\r\n                            <Typography style={{ fontSize: \"14px\" }}  className={classes.popUpNewTurn}>\r\n                                ¿Estás seguro que querés confirmar tu turno?\r\n                            </Typography>\r\n                            <Typography style={{ fontSize: \"14px\", marginTop: '20px' }}  className={classes.popUpNewTurn}>\r\n                                {message}\r\n                            </Typography>\r\n                        </div>\r\n                }\r\n                description={\r\n                    !loading &&\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <div style={{ marginRight: \"0\" }}>\r\n                                <CustomButton\r\n                                    title={\"SI\"}\r\n                                    customClass={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n                                    onClick={handleAccept}\r\n                                />\r\n                            </div>\r\n                            <div style={{ marginLeft: \"0\" }}>\r\n                                <CustomButton\r\n                                    title={\"NO\"}\r\n                                    customClass={classes.buttonNotConfirmModal}\r\n                                    onClick={handleCancel}\r\n                                />\r\n                            </div>\r\n                        </div>\r\n                    </>\r\n                }\r\n                open={openModalConfirm}\r\n                onClose={() => {handleCancel()}}\r\n            />\r\n            <div className={classes.borderWhite} style={{ left: \"20px\" }}>\r\n                <ModalProfile\r\n                    type='cancel'\r\n                    observation={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center', marginBottom: \"20px\" }}>\r\n                                <div className={classes.iconConfirmTurn} >\r\n                                    <DoneIcon></DoneIcon>\r\n                                </div>\r\n                            </div>\r\n                            <div >\r\n                                <Typography style={{ fontSize: \"16px\" }}>\r\n                                    Tu turno fue confirmado con éxito\r\n                                </Typography>\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    open={open}\r\n                    onClose={setOpen}\r\n                />\r\n            </div>\r\n\r\n            <div className={classes.borderWhite} style={{ left: \"20px\" }}>\r\n                {showMessageModal()}\r\n            </div>\r\n\r\n            <ModalProfile\r\n                type='cancel'\r\n                title={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            Sacar nuevo turno\r\n                        </div>\r\n                    </>\r\n                }\r\n                observation={\r\n                    <div >\r\n                        <Typography style={{ fontSize: \"14px\" }}>\r\n                            ¿Necesitás sacar otro turno?\r\n                        </Typography>\r\n                    </div>\r\n                }\r\n                description={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <div style={{ marginRight: \"0\" }}>\r\n                                <CustomButton\r\n                                    title={\"SI\"}\r\n                                    customClass={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n                                    onClick={handleNewTurn}\r\n                                />\r\n                            </div>\r\n                            <div style={{ marginLeft: \"0\" }}>\r\n                                <CustomButton\r\n                                    title={\"NO\"}\r\n                                    customClass={classes.buttonNotConfirmModal}\r\n                                    onClick={handleCancelNewTurn}\r\n                                />\r\n                            </div>\r\n                        </div>\r\n                    </>\r\n                }\r\n                open={openModalNewTurn}\r\n                onClose={setOpenModalNewTurn}\r\n                style={{ textAlign: 'center' }}\r\n            />\r\n        </div>\r\n    )\r\n}\r\n\r\n","import React from 'react'\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport CustomButton from '../../../../controls/Button/CustomButton';\r\nimport { IconButton } from '@material-ui/core';\r\nimport { useResizeScreen } from '../../../../hooks/useResizeScreen';\r\nimport useStyles from \"../../../../assets/styles/styles\";\r\nimport { useSelector } from 'react-redux';\r\n\r\n\r\n\r\nconst TopButtons = (props) => {\r\n    const { activeStepTurn, handleOpenCancelModalTurn, handleBackTurn, handleNextTurn, titleCancel, titleConfirm, disabledNext=false } = props;\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n    const flow = modelNextAppointment?.modelAppointment?.appointmentFlow;\r\n\r\n\r\n    function displayButtons() {\r\n        let response = \"space-between\";\r\n        if (activeStepTurn == 0) {\r\n            response = \"flex-end\"\r\n        }\r\n        return response;\r\n    }\r\n\r\n    const showNextButton = () => {\r\n        return (modelNextAppointment?.modelAppointment?.especialidadDescripcion !== \"ATENCION CLINICA ESPONTANEA\") || (flow == 'medico' || flow == 'especialidad');\r\n    }\r\n\r\n    const nextStep = () => {\r\n        if ((flow == 'medico') && (activeStepTurn == 2) && (modelNextAppointment?.modelAppointment?.turnoNumero == undefined)) {\r\n            return null;\r\n        } else {\r\n            return handleNextTurn;\r\n        }\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <div style={{ display: \"flex\", justifyContent: \"flex-end\" }}>\r\n                <CustomButton\r\n                    title={titleCancel}\r\n                    customClass={`${classes.whiteAndBlueBtn} ${classes.fontBold}`}\r\n                    style={{ minWidth: \"100px\" }}\r\n                    onClick={handleOpenCancelModalTurn}\r\n                />\r\n            </div>\r\n            <div style={{ display: \"flex\", justifyContent: displayButtons(), alignItems: \"center\", paddingTop: \"10px\" }}>\r\n                <div>\r\n                    {activeStepTurn !== 0 && (modelNextAppointment.modelModifyAppointment == \"\" || modelNextAppointment.modelModifyAppointment == undefined) &&\r\n                        <IconButton onClick={handleBackTurn}>\r\n                            <ArrowBackIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"25px\" }} />\r\n                        </IconButton>}\r\n                </div>\r\n                {screen.sWidth > 768 && showNextButton() &&\r\n                    <CustomButton\r\n                        title={titleConfirm}\r\n                        customClass={`${classes.lightLinearGradient} ${classes.fontBold}`}\r\n                        style={{ minWidth: \"100px\", fontSize: \"12px\" }}\r\n                        disabled={disabledNext}\r\n                        onClick={nextStep()}\r\n                    />\r\n                }\r\n            </div>\r\n        </>\r\n    )\r\n}\r\n\r\nexport default TopButtons\r\n","import React from 'react';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport UseStyle from \"../../assets/styles/styles\";\r\nimport { Step, StepLabel } from '@material-ui/core';\r\n\r\nconst WizardLine = (props) => {\r\n    const { activeStep, list } = props;\r\n    const classes = UseStyle();\r\n\r\n    function firstStep() {\r\n        let result = classes.firstStepperTurn\r\n        if (activeStep !== 0) {\r\n            result = classes.stepperTurn\r\n        }\r\n        return result;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <Stepper activeStep={activeStep} alternativeLabel className={firstStep()} >\r\n                {list.map((step, index) => (\r\n                    <Step\r\n                        key={index}\r\n                    >\r\n                        <StepLabel\r\n                            StepIconProps={{\r\n                                classes: {\r\n                                    completed: classes.colorIconStepper,\r\n                                    active: classes.colorIconStepper,\r\n                                }\r\n                            }}></StepLabel>\r\n                    </Step>\r\n                ))\r\n                }\r\n            </Stepper >\r\n        </>\r\n    );\r\n};\r\n\r\nexport default WizardLine;","import React, { useEffect, useState, Fragment, useRef } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport {\r\n  IconButton,\r\n  Switch,\r\n  TextField,\r\n  Typography,\r\n  Divider,\r\n  InputAdornment\r\n} from \"@material-ui/core\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Moment from \"moment\";\r\nimport \"moment/locale/es\";\r\nimport FooterDrawer from \"./FooterDrawer\";\r\nimport ModalConfirm from \"./Modals/ModalConfirm\";\r\nimport FavoriteIcon from \"@material-ui/icons/Favorite\";\r\nimport FavoriteBorderIcon from \"@material-ui/icons/FavoriteBorder\";\r\nimport { ABAppointmentFavorite } from \"../../redux/actions/appointmentsActions\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport TopButtons from \"./Web/Buttons/TopButtons\";\r\nimport WizardLine from \"./WizardLine\";\r\nimport { abmFullData, getFullData } from '../../redux/actions/personalDataActions';\r\nimport { WS_PARAMETERS_LENGTH } from '../MedicalData/Phones/Utils/phonesUtilsFunctions';\r\nimport PhonesInput from \"../../controls/InputCustom/PhonesInput\";\r\nimport { FormHelperText } from \"@mui/material\";\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport { getConfigurations } from \"../../redux/actions/configurationAction\";\r\n\r\nconst list = [\r\n  {\r\n    step0: \"\",\r\n  },\r\n  {\r\n    step1: \"\",\r\n  },\r\n  {\r\n    step2: \"\",\r\n  },\r\n  {\r\n    step3: \"\",\r\n  },\r\n];\r\n\r\nexport default function ConfirmAppointmentDrawer(props) {\r\n  const {\r\n    activeStep,\r\n    setActiveStep,\r\n    handleOpenCancelModal,\r\n    handleCloseDrawer,\r\n  } = props;\r\n  const affiliated = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\"))\r\n  };\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const { screen } = useResizeScreen();\r\n  const modelAppointmentReducer = useSelector(\r\n    (state) => state.appointmentsReducer?.modelAppointment\r\n  );\r\n  const fullgroupfamily = useSelector(\r\n    (state) => state.appointmentsReducer?.fullGroupFamily?.afiliados\r\n  );\r\n  const [modelAppointment, setModelAppointment] = useState(\r\n    modelAppointmentReducer\r\n  );\r\n  const [model, setModel] = useState({\r\n    numeroPersona: 0,\r\n    numeroTurno: 0,\r\n    medicoCodigo: 0,\r\n    origen: 0,\r\n    ip: 0,\r\n    enviarMail: \"N\",\r\n    mail: \"\",\r\n    enviarNotificacionApp: \"N\",\r\n  });\r\n  const [disabled, setDisabled] = useState({\r\n    email: false,\r\n    whatsapp: true,\r\n    appmobile: true,\r\n  });\r\n  const [emailS, setEmail] = useState(\"\");\r\n  const [switchState, setSwitchState] = useState({});\r\n  const [openModal, setOpenModal] = useState(false);\r\n  const [favoriteModel, setFavoriteModel] = useState({\r\n    numeroPersona: 0,\r\n    medicoCodigo: 0,\r\n    tipo: \"\",\r\n  });\r\n  const [favorite, setFavorite] = useState(false);\r\n  const [error, setError] = useState(false);\r\n  const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n  const configurations = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n  const [phones, setPhones] = useState({});\r\n  const [personalData, setPersonalData] = useState([]);\r\n  const [modelABM, setModelABM] = useState(personalData);\r\n  const [disablePhone, setDisablePhone] = useState(true);\r\n  const [phoneError, setPhoneError] = useState([]);\r\n  const editPhoneRef = useRef(null);\r\n  const [disablePhoneCaption, setDisablePhoneCaption] = useState('');\r\n  const [notDisablePhoneCaption, setNotDisablePhoneCaption] = useState('');\r\n  const [initialLoad, setInitialLoad] = useState(true);\r\n  const [changePhoneMode, setChangePhoneMode] = useState(false);\r\n\r\n  const bold400 = \"400\";\r\n  const weightBold = \"bold\";\r\n  const sixteenPx = \"16px\";\r\n  const fourteenPx = \"14px\";\r\n  const spaceBetween = \"space-between\";\r\n  const fivePx = \"5px\";\r\n  const fiftyPercent = \"50%\";\r\n  const disFlex = \"flex\";\r\n  const textCapitalize = \"capitalize\";\r\n  const leftMargin = screen.sWidth > 768 && '-10px';\r\n\r\n  Moment.locale(\"es\");\r\n\r\n  useEffect(() => {\r\n    const val = fullgroupfamily\r\n      ?.filter(\r\n        (x) =>\r\n          x.numeroPersona === Number.parseInt(modelAppointment.afiliadoCodigo)\r\n      )\r\n      .find((x) => x.mail);\r\n    setEmail(val?.mail);\r\n    dispatch(getFullData(affiliated));\r\n    dispatch(getConfigurations());\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (Object.values(fullPersonalData?.fullData).length > 0) {\r\n      setModelABM(fullPersonalData?.fullData?.afiliado);\r\n      setPersonalData(fullPersonalData?.fullData?.afiliado);\r\n      let auxPhones = fullPersonalData?.fullData?.afiliado?.telefonos;\r\n      let mobilePhoneNumber = auxPhones?.filter(mobilePhone => mobilePhone?.telefonoTipoDescripcion == 'Movil')?.[0];\r\n\r\n      let genericPhone = {\r\n        interno: 0,\r\n        paisCodigo: 54,\r\n        areaCodigo: '',\r\n        numero: '',\r\n        telefono: '',\r\n        telefonoModo: 'A',\r\n        telefonoTipoCodigo: 3,\r\n        telefonoTipoDescripcion: 'Movil'\r\n      };\r\n\r\n      auxPhones?.forEach(phone => {\r\n        phone.telefonoModo = \"M\";\r\n      });\r\n\r\n      if (mobilePhoneNumber == undefined) {\r\n        setChangePhoneMode(true);\r\n        setPhones(genericPhone)\r\n      } else {\r\n        setPhones(mobilePhoneNumber);\r\n      }\r\n    }\r\n  }, [fullPersonalData?.fullData?.afiliado]);\r\n\r\n  const setPhoneCaptions = () => {\r\n    const phoneCaption = configurations?.filter(configuration => configuration?.id == 'leyendaTelefonosConfirmacionDeTurnos');\r\n    const phoneEditCaption = configurations?.filter(configuration => configuration?.id == 'leyendaInputTelefonoTurnos');\r\n\r\n    phoneCaption?.[0]?.valor && setDisablePhoneCaption(phoneCaption?.[0]?.valor);\r\n    phoneEditCaption?.[0]?.valor && setNotDisablePhoneCaption(phoneEditCaption?.[0]?.valor);\r\n  }\r\n\r\n  useEffect(() => {\r\n    setPhoneCaptions();\r\n  }, [configurations])\r\n\r\n  const handleNext = () => {\r\n    setModelFunction(setModel, modelAppointment, model, emailS);\r\n    if (!error) {\r\n      setOpenModal(prevState => !prevState);\r\n      if (favoriteModel?.numeroPersona !== 0) {\r\n        dispatch(ABAppointmentFavorite(favoriteModel));\r\n      }\r\n    }\r\n  };\r\n\r\n  const handleBack = () => {\r\n    if (screen.sWidth <= 768) {\r\n      setActiveStep((prevActiveStep) => prevActiveStep - 4);\r\n    } else {\r\n      setActiveStep((prevActiveStep) => prevActiveStep - 1);\r\n    }\r\n  };\r\n\r\n  const handleSwitch = () => (e) => {\r\n    const { name } = e.target;\r\n    setSwitchState((prevState) => ({\r\n      ...prevState,\r\n      [name]: e.target.checked,\r\n    }));\r\n    if (name === \"email\") {\r\n      if (e.target.checked) {\r\n        setModelAppointment({\r\n          ...modelAppointment,\r\n          enviarMail: \"S\",\r\n          email: emailS,\r\n        });\r\n      }\r\n    }\r\n\r\n    if (name === \"appmobile\") {\r\n      if (e.target.checked) {\r\n        setModelAppointment({\r\n          ...modelAppointment,\r\n          enviarNotificacionApp: \"S\",\r\n        });\r\n      } else {\r\n        setModelAppointment({\r\n          ...modelAppointment,\r\n          enviarNotificacionApp: \"N\",\r\n        });\r\n      }\r\n    }\r\n\r\n    setDisabled((prevState) => ({\r\n      ...prevState,\r\n      [name]: !e.target.checked,\r\n    }));\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (\r\n      modelAppointment?.enviarMail !== undefined ||\r\n      modelAppointment?.enviarNotificacionApp !== undefined\r\n    ) {\r\n      if (\r\n        modelAppointment?.enviarMail === \"S\" ||\r\n        modelAppointment?.enviarNotificacionApp === \"S\"\r\n      ) {\r\n        setError(false);\r\n      }\r\n    }\r\n  }, [modelAppointment?.enviarMail, modelAppointment?.enviarNotificacionApp]);\r\n\r\n  useEffect(() => {\r\n    if (favorite) {\r\n      setFavoriteModel({\r\n        ...favoriteModel,\r\n        numeroPersona: Number.parseInt(modelAppointment?.afiliadoCodigo),\r\n        medicoCodigo: modelAppointment?.medicoCodigo,\r\n        tipo: \"ALTA\",\r\n      });\r\n    } else {\r\n      setFavoriteModel({\r\n        ...favoriteModel,\r\n        numeroPersona: 0,\r\n        medicoCodigo: 0,\r\n        tipo: \"\",\r\n      });\r\n    }\r\n  }, [favorite]);\r\n\r\n  useEffect(() => {\r\n    if (phones?.numero == '') {\r\n      setDisablePhone(false);\r\n    }\r\n  }, [phones])\r\n\r\n  const enablePhone = () => {\r\n    setDisablePhone((prevActiveStep) => !prevActiveStep)\r\n  }\r\n\r\n  useEffect(() => {\r\n    if (!disablePhone) {\r\n      if (editPhoneRef.current) {\r\n        editPhoneRef.current.scrollIntoView({ behavior: 'smooth' });\r\n      }\r\n    }\r\n  }, [disablePhone])\r\n\r\n  const showsInputs = (require, label, item) => {\r\n    if (disablePhone && item?.numero !== '') {\r\n      return (\r\n        <>\r\n          <PhonesInput\r\n            key={phones}\r\n            inputLabelClass={classes.phoneLabelOnConfirmation}\r\n            require={require}\r\n            value={`${item?.paisCodigo}  ${item?.areaCodigo}  ${item?.numero}`}\r\n            disabled={disablePhone}\r\n            label={label}\r\n            endAdornment={\r\n              <InputAdornment position=\"start\" sx={{ marginLeft: '10px' }}>\r\n                <IconButton onClick={enablePhone} size='small'>\r\n                  <EditIcon sx={{ color: \"#0075c9\" }}/>\r\n                </IconButton>\r\n              </InputAdornment>\r\n            }\r\n          />\r\n        </>\r\n      );\r\n    }\r\n    else {\r\n      return (inputEdit(item));\r\n    }\r\n  };\r\n\r\n  const showEditPhoneButtons = () => {\r\n    return (\r\n      <>\r\n        <CustomButton\r\n          customClass={`${classes.updatePhoneBtn} ${classes.lightLinearGradient} `}\r\n          title='GUARDAR'\r\n          onClick={handleSubmit}\r\n        />\r\n        <CustomButton\r\n          customClass={`${classes.updatePhoneBtn} ${classes.fontBold} `}\r\n          title='CANCELAR'\r\n          onClick={handleCancelEditPhone}\r\n          style={{ color: '#0075c9', border: '2px solid #0075c9' }}\r\n        />\r\n      </>\r\n    );\r\n  }\r\n\r\n  const inputEdit = (item) => {\r\n    return (\r\n      <>\r\n        <div style={{ display: \"flex\", alignItems: 'center', justifyContent: screen.sWidth < 768 && 'center' }}>\r\n          <div className={classes.inputContactDataBeforeCountryCode}>\r\n            <PhonesInput\r\n              name=\"paisCodigo\"\r\n              defaultValue={item?.paisCodigo}\r\n              onChange={handleChangeInputPhones}\r\n              disabled={disablePhone}\r\n              onInput={(e) => { e.target.value = e.target.value?.replace(/[^0-9]/g, '')?.replace(/(\\..*?)\\..*/g, '$1'); }}\r\n              inputProps={{ maxLength: WS_PARAMETERS_LENGTH.CodigoPais }}\r\n              label=\"Cód. país\"\r\n              style={{ marginBottom: \"10px\" }}\r\n            />\r\n          </div>\r\n          <div className={classes.inputContactDataBefore}>\r\n            <PhonesInput\r\n              name=\"areaCodigo\"\r\n              defaultValue={item?.areaCodigo}\r\n              onChange={handleChangeInputPhones}\r\n              disabled={disablePhone}\r\n              onInput={(e) => { e.target.value = e.target.value?.replace(/[^0-9]/g, '')?.replace(/(\\..*?)\\..*/g, '$1'); }}\r\n              inputProps={{ maxLength: WS_PARAMETERS_LENGTH.CodigoArea }}\r\n              label=\"Cód. área\"\r\n              style={{ marginBottom: \"10px\", marginRight: \"10px\" }}\r\n            />\r\n          </div>\r\n          <div className={classes.inputContactData}>\r\n            <PhonesInput\r\n              name=\"numero\"\r\n              defaultValue={item?.numero}\r\n              onChange={handleChangeInputPhones}\r\n              disabled={disablePhone}\r\n              onInput={(e) => { e.target.value = e.target.value?.replace(/[^0-9]/g, '')?.replace(/(\\..*?)\\..*/g, '$1'); }}\r\n              inputProps={{ maxLength: WS_PARAMETERS_LENGTH.TelefonoNumero }}\r\n              label=\"Teléfono\"\r\n              style={{ marginBottom: \"10px\" }}\r\n            />\r\n          </div>\r\n          {\r\n            screen.sWidth > 768 &&\r\n            <div style={{ display: 'flex' }}>\r\n              {showEditPhoneButtons()}\r\n            </div>\r\n          } \r\n        </div>\r\n        {phoneError?.map((x) => (\r\n          <>\r\n            <FormHelperText key={x} className={classes.errorText}>\r\n              {x?.paisCodigo !== '' && `Código de país: ${x?.paisCodigo}`}\r\n            </FormHelperText>\r\n            <FormHelperText key={x} className={classes.errorText}>\r\n              {x?.areaCodigo !== '' && `Código de área: ${x?.areaCodigo}`}\r\n            </FormHelperText>\r\n            <FormHelperText key={x} className={classes.errorText}>\r\n              {x?.numero !== '' && `Número: ${x?.numero}`}\r\n            </FormHelperText>\r\n          </>\r\n        ))}\r\n        {\r\n          screen.sWidth < 768 &&\r\n          <div style={{ display: 'flex', justifyContent: 'center', marginBottom: '20px' }}>\r\n            {showEditPhoneButtons()}\r\n          </div>\r\n        }\r\n      </>\r\n    );\r\n  };\r\n\r\n  const handleCancelEditPhone = () => {\r\n    let auxPhones = fullPersonalData?.fullData?.afiliado?.telefonos;\r\n    let mobilePhoneNumber = auxPhones?.filter(mobilePhone => mobilePhone?.telefonoTipoCodigo == 3)?.[0];\r\n\r\n    if(mobilePhoneNumber !== undefined) {\r\n      dispatch(getFullData(affiliated));\r\n      enablePhone();\r\n      setPhoneError([]);\r\n    } else {\r\n      return;\r\n    }\r\n  }\r\n\r\n  const handleSubmit = (e) => {\r\n    e.preventDefault();\r\n\r\n    if (validate(phones)) {\r\n      let form = modelABM;\r\n      form.documentos = [];\r\n      form.domicilios = [];\r\n      form.deportes = [];\r\n      form.hobbies = [];\r\n      form.adjuntos = [];\r\n      let auxiliarPhones = phones;\r\n      auxiliarPhones.telefonoModo = (initialLoad && changePhoneMode) ? 'A' : 'M';\r\n      auxiliarPhones.numero = parseInt(auxiliarPhones.numero);\r\n      auxiliarPhones.paisCodigo = parseInt(auxiliarPhones.paisCodigo);\r\n\r\n      auxiliarPhones.areaCodigo = parseInt(auxiliarPhones?.areaCodigo);\r\n\r\n      delete auxiliarPhones.telefonoTipoDescripcion;\r\n      delete auxiliarPhones.telefono;\r\n      form.telefonos = [auxiliarPhones];\r\n      delete form.cuentasReintegro;\r\n\r\n      let modelToSend = {\r\n        informacion: form,\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n      };\r\n\r\n      dispatch(abmFullData(modelToSend));\r\n      setInitialLoad(false);\r\n      enablePhone();\r\n    }\r\n  };\r\n\r\n  const handleChangeInputPhones = (e) => {\r\n    e.preventDefault();\r\n\r\n    let auxPhones = phones;\r\n    const { name, value } = e.target;\r\n    auxPhones[name] = value;\r\n    \r\n    auxPhones.telefono = `${auxPhones?.paisCodigo} ${auxPhones?.areaCodigo} ${auxPhones?.numero}`;\r\n\r\n    setPhones(auxPhones);\r\n  };\r\n\r\n  const validate = (object) => {\r\n    let aux = [];\r\n    let validation = [];\r\n    let phoneObject = {};\r\n    const phoneWithoutFifteen = 'El teléfono no debe anteponer el número 15';\r\n    const obligatoryField = '*Campo obligatorio';\r\n\r\n    phoneObject.paisCodigo = object?.paisCodigo ? '' : obligatoryField;\r\n    phoneObject.areaCodigo = object?.areaCodigo ? '' : obligatoryField;\r\n    phoneObject.numero = object?.numero ? '' : obligatoryField;\r\n\r\n    if (object?.areaCodigo?.toString()?.endsWith(\"15\")) {\r\n      phoneObject.areaCodigo = phoneWithoutFifteen;\r\n    }\r\n\r\n    if (object?.numero?.toString()?.startsWith(\"15\")) {\r\n      phoneObject.numero = phoneWithoutFifteen;\r\n    }\r\n\r\n    aux?.push(phoneObject);\r\n\r\n    if (Object.values(phoneObject)?.every((x) => x === '')) {\r\n      validation?.push(true);\r\n    } else {\r\n      validation?.push(false);\r\n    }\r\n    setPhoneError(aux);\r\n\r\n    return Object.values(validation)?.every((valid) => valid === true);\r\n  }\r\n\r\n  return (\r\n    <>\r\n      {screen.sWidth > 768 && (\r\n        <>\r\n          <TopButtons\r\n            handleOpenCancelModalTurn={handleOpenCancelModal}\r\n            handleBackTurn={handleBack}\r\n            activeStepTurn={activeStep}\r\n            handleNextTurn={handleNext}\r\n            titleCancel={\"Cancelar\"}\r\n            titleConfirm={\"Confirmar\"}\r\n            disabledNext={!disablePhone}\r\n          />\r\n          <WizardLine list={list} activeStep={activeStep} />\r\n          <div style={{ paddingTop: \"10px\" }}>\r\n            <Typography\r\n              className={`${classes.titleTurn}`}\r\n              style={{ fontWeight: \"600\" }}\r\n            >\r\n              Nuevo turno\r\n            </Typography>\r\n          </div>\r\n          <Divider className={classes.formDivider} />\r\n        </>\r\n      )}\r\n\r\n      <div\r\n        className={`${classes.drawerContainerTurn}`}\r\n        style={{ padding: screen.sWidth > 768 && \"20px\" }}\r\n      >\r\n        <div style={{ display: disFlex, justifyContent: spaceBetween }}>\r\n          <Typography\r\n            className={classes.textTitleTurn}\r\n            style={{ marginTop: \"0px\" }}\r\n          >\r\n            {props.titles.map((titles) => titles.title9)}\r\n          </Typography>\r\n          <IconButton\r\n            onClick={() => {\r\n              setFavorite((prevState) => !prevState);\r\n            }}\r\n          >\r\n            {favorite ? (\r\n              <FavoriteIcon\r\n                className={`${classes.FavoriteIcon} ${classes.iconPositionFavorite} `}\r\n              />\r\n            ) : (\r\n              <FavoriteBorderIcon\r\n                className={`${classes.iconPositionFavorite} `}\r\n              />\r\n            )}\r\n          </IconButton>\r\n        </div>\r\n\r\n        <div\r\n          style={{\r\n            display: disFlex,\r\n            paddingTop: screen.sWidth > 768 && \"10px\",\r\n          }}\r\n        >\r\n          <Typography\r\n            paragraph\r\n            style={{ fontWeight: weightBold, fontSize: fourteenPx }}\r\n          >\r\n            PARA:\r\n            <span style={{ marginLeft: fivePx, fontWeight: bold400 }}>\r\n              {modelAppointment?.afiliadoDescripcion}\r\n            </span>\r\n          </Typography>\r\n        </div>\r\n\r\n        <Typography\r\n          className={screen.sWidth > 768 && classes.txtTitleBlue}\r\n          style={{ fontSize: sixteenPx }}\r\n        >\r\n          Datos del turno\r\n        </Typography>\r\n        {screen.sWidth > 768 && (\r\n          <Divider className={` ${classes.dividerAppointment}`} />\r\n        )}\r\n\r\n        <div className={classes.divConfirmTurn}>\r\n          <div\r\n            style={{\r\n              display: disFlex,\r\n              width: screen.sWidth > 768 && fiftyPercent,\r\n            }}\r\n          >\r\n            <Typography\r\n              paragraph\r\n              className={classes.darkgrayTxt}\r\n              style={{ fontWeight: weightBold, fontSize: sixteenPx, marginLeft: leftMargin }}\r\n            >\r\n              Fecha y hora:\r\n              <span\r\n                style={{\r\n                  textTransform: textCapitalize,\r\n                  marginLeft: fivePx,\r\n                  fontWeight: bold400,\r\n                }}\r\n              >\r\n                {Moment(modelAppointment?.selectedAppointment).format(\"dddd DD\")}\r\n              </span>\r\n                <span style={{ fontWeight: bold400 }}>{\" de \"}</span>\r\n                <span style={{ textTransform: textCapitalize, fontWeight: 'normal' }}>\r\n                  {Moment(modelAppointment?.selectedAppointment).format(\"MMMM\")}\r\n                </span>\r\n                <span style={{ fontWeight: bold400 }}>{\" a las \"}</span>\r\n                <span style={{ fontWeight: bold400 }}>{`${modelAppointment?.hourSelected?.substring(0, 5)} hs.`}</span>\r\n            </Typography>\r\n          </div>\r\n\r\n          <div\r\n            style={{\r\n              display: disFlex,\r\n              width: screen.sWidth > 768 && fiftyPercent,\r\n            }}\r\n          >\r\n            <Typography\r\n              paragraph\r\n              className={classes.darkgrayTxt}\r\n              style={{ fontWeight: weightBold, fontSize: sixteenPx }}\r\n            >\r\n              Centro Médico:\r\n              <span style={{ marginLeft: fivePx, fontWeight: bold400 }}>\r\n                {modelAppointment?.nombreCentroMedico === undefined\r\n                  ? \"-\"\r\n                  : modelAppointment?.nombreCentroMedico}\r\n                {modelAppointment?.nombreCentroMedico === undefined ? \"\" : \", \"}\r\n                {modelAppointment?.direccion}\r\n              </span>\r\n            </Typography>\r\n          </div>\r\n\r\n          <div\r\n            style={{\r\n              display: disFlex,\r\n              width: screen.sWidth > 768 && fiftyPercent,\r\n            }}\r\n          >\r\n            <Typography\r\n              paragraph\r\n              className={classes.darkgrayTxt}\r\n              style={{ fontWeight: weightBold, fontSize: sixteenPx, marginLeft: leftMargin }}\r\n            >\r\n              Médico:\r\n              <span style={{ marginLeft: fivePx }}>\r\n                {modelAppointment?.medicoDescripcion}\r\n              </span>\r\n            </Typography>\r\n          </div>\r\n\r\n          <div\r\n            style={{\r\n              display: disFlex,\r\n              width: screen.sWidth > 768 && fiftyPercent,\r\n            }}\r\n          >\r\n            <Typography\r\n              paragraph\r\n              className={classes.darkgrayTxt}\r\n              style={{ fontWeight: weightBold, fontSize: sixteenPx }}\r\n            >\r\n              Especialidad:\r\n              <span\r\n                style={{\r\n                  textTransform: textCapitalize,\r\n                  marginLeft: fivePx,\r\n                  fontWeight: bold400,\r\n                }}\r\n              >\r\n                {modelAppointment?.especialidadDescripcion}\r\n              </span>\r\n            </Typography>\r\n          </div>\r\n\r\n          <div\r\n            style={{\r\n              display: disFlex,\r\n              width: screen.sWidth > 768 && fiftyPercent,\r\n            }}\r\n          >\r\n            <Typography\r\n              paragraph\r\n              className={classes.darkgrayTxt}\r\n              style={{ fontWeight: weightBold, fontSize: sixteenPx, marginLeft: leftMargin }}\r\n            >\r\n              Modalidad de atención:\r\n              <span\r\n                style={{\r\n                  textTransform: textCapitalize,\r\n                  marginLeft: fivePx,\r\n                  fontWeight: bold400,\r\n                }}\r\n              >\r\n                {modelAppointment?.modalidadTurno}\r\n              </span>\r\n            </Typography>\r\n          </div>\r\n\r\n          <div\r\n            style={{\r\n              display: disFlex,\r\n              width: screen.sWidth > 768 && fiftyPercent,\r\n            }}\r\n          >\r\n            <Typography\r\n              paragraph\r\n              className={classes.darkgrayTxt}\r\n              style={{ fontWeight: weightBold, fontSize: sixteenPx }}\r\n            >\r\n              Observaciones:\r\n              <span\r\n                style={{\r\n                  marginLeft: fivePx,\r\n                  fontWeight: bold400,\r\n                }}\r\n              >\r\n                {modelAppointment?.observaciones === \"\" ||\r\n                  modelAppointment?.observaciones === undefined\r\n                  ? \"No hay observaciones\"\r\n                  : modelAppointment?.observaciones}\r\n              </span>\r\n            </Typography>\r\n          </div>\r\n        </div>\r\n\r\n        <Typography\r\n          className={classes.darkgrayTxt}\r\n          style={{\r\n            fontSize: sixteenPx,\r\n            fontWeight: \"600\",\r\n            marginBottom: \"12px\",\r\n            lineHeight: \"1em\",\r\n          }}\r\n        >\r\n          ¿Por qué medio te gustaría recibir la confirmación del turno?\r\n        </Typography>\r\n\r\n\r\n\r\n        {fullgroupfamily\r\n          ?.filter(\r\n            (x) =>\r\n              x.numeroPersona ===\r\n              Number.parseInt(modelAppointment.afiliadoCodigo)\r\n          )\r\n          .map((item, index) => (\r\n            <Fragment key={index}>\r\n              <div className={classes.divConfirmTurn} style={{ marginLeft: leftMargin }}>\r\n                <div style={{ width: screen.sWidth > 768 ? \"40%\" : \"90%\", margin: screen.sWidth < 768 && '0 auto' }}>\r\n                  <div\r\n                    style={{\r\n                      display: disFlex,\r\n                      flexDirection: \"row\",\r\n                      flexWrap: \"nowrap\",\r\n                      alignContent: \"stretch\",\r\n                      justifyContent: spaceBetween,\r\n                    }}\r\n                  >\r\n                    <Typography\r\n                      className={classes.subtitleTurn}\r\n                      style={{\r\n                        fontSize: fourteenPx,\r\n                        lineHeight: \"1em\",\r\n                        marginLeft: screen.sWidth < 768 && '17px'\r\n                      }}\r\n                    >\r\n                      Email\r\n                    </Typography>\r\n                  </div>\r\n                  <TextField\r\n                    name={\"email\"}\r\n                    disabled={disabled[\"email\"]}\r\n                    className={`${classes.textConfirmTurn}`}\r\n                    onChange={(event) => {\r\n                      setEmail(event.target.value);\r\n                      setModelAppointment({\r\n                        ...modelAppointment,\r\n                        email: event.target.value,\r\n                      });\r\n                    }}\r\n                    defaultValue={item.mail}\r\n                    style={{ marginTop: \"20px\" }}\r\n                  />\r\n                </div>\r\n\r\n                <div style={{ width: screen.sWidth > 768 && \"40%\", display: 'none' }}>\r\n                  <div\r\n                    style={{\r\n                      display: disFlex,\r\n                      flexDirection: \"row\",\r\n                      flexWrap: \"nowrap\",\r\n                      alignContent: \"stretch\",\r\n                      justifyContent: spaceBetween,\r\n                    }}\r\n                  >\r\n                    <Typography\r\n                      className={classes.subtitleTurn}\r\n                      style={{\r\n                        fontSize: fourteenPx,\r\n                        fontWeight: bold400,\r\n                        marginBottom: \"12px\",\r\n                        lineHeight: \"1em\",\r\n                      }}\r\n                    >\r\n                      App Mobile\r\n                    </Typography>\r\n                    <Switch\r\n                      classes={{ root: classes.switchColor }}\r\n                      name={\"appmobile\"}\r\n                      onChange={handleSwitch()}\r\n                      value={\"appmobile\"}\r\n                      checked={!!switchState[\"appmobile\"]}\r\n                    ></Switch>\r\n                  </div>\r\n                </div>\r\n                <div style={{ width: screen.sWidth > 768 ? \"50%\" : \"100%\", marginTop: screen.sWidth > 768 ? '10px' : '30px' }}>\r\n                  {showsInputs(false, 'Teléfono móvil', phones)}\r\n                  \r\n                  <Typography\r\n                    style={{\r\n                      margin: screen.sWidth < 768 ? '10px 10px' : '5px',\r\n                      color: '#0075c9',\r\n                      fontSize: '12px',\r\n                    }}>\r\n                    {disablePhoneCaption}\r\n                  </Typography>\r\n\r\n                  {\r\n                    !disablePhone &&\r\n                    <Typography\r\n                      ref={editPhoneRef}\r\n                      style={{\r\n                        width: '80%',\r\n                        margin: screen.sWidth < 768 ? '5px 10px' : '5px',\r\n                        color: '#0075c9',\r\n                        fontSize: '12px',\r\n                      }}>\r\n                      {notDisablePhoneCaption}\r\n                    </Typography>\r\n                  }\r\n                </div>\r\n              </div>\r\n            </Fragment>\r\n          ))}\r\n      </div>\r\n      {openModal && (\r\n        <ModalConfirm\r\n          model={model}\r\n          openModal={openModal}\r\n          setOpenModal={setOpenModal}\r\n          activeStep={activeStep}\r\n          setActiveStep={setActiveStep}\r\n          handleCloseDrawer={handleCloseDrawer}\r\n        ></ModalConfirm>\r\n      )}\r\n      {screen.sWidth <= 768 && (\r\n        <FooterDrawer\r\n          activeStep={activeStep}\r\n          handleOpenCancelModal={handleOpenCancelModal}\r\n          handleBack={handleBack}\r\n          handleNext={handleNext}\r\n          confirm={true}\r\n          disabledNext={!disablePhone}\r\n        />\r\n      )}\r\n    </>\r\n  );\r\n}\r\n\r\nfunction setModelFunction(setterModel, modelAppointmentObj, modelObj, email) {\r\n  setterModel({\r\n    ...modelObj,\r\n    enviarMail: \"S\",\r\n    enviarNotificacionApp: \"S\",\r\n    mail: email,\r\n    ip: modelObj?.ip,\r\n    medicoCodigo: modelAppointmentObj?.medicoCodigo,\r\n    numeroPersona: Number.parseInt(modelAppointmentObj?.afiliadoCodigo),\r\n    numeroTurno: modelAppointmentObj?.turnoNumero,\r\n    origen: modelAppointmentObj.modalidadTurno === \"Turno presencial\" ? 99 : 98,\r\n    turnoAnterior: modelAppointmentObj?.turnoAnterior,\r\n  });\r\n}\r\n","export const getSpecialtyAndDoctorCodes = (specialties, model) => {\r\n    const { agenda } = specialties;\r\n    const specialtyCode = model?.modelAppointment?.especialidadCodigo;\r\n    const doctorCode = model?.modelAppointment?.medicoCodigo;\r\n    return { agenda, specialtyCode, doctorCode };\r\n};\r\n\r\nexport const checkSpecialistVisualizacion = (agenda, specialtyCode, doctorCode, setVisualization) => {\r\n    const specialtiesList = agenda?.filter(x => x?.especialidadCodigo === specialtyCode);\r\n    const doctorList = specialtiesList?.filter(x => x?.medicoCodigo === doctorCode);\r\n\r\n    const doctorListToFilter = (search) => {\r\n        return doctorList?.length > 0 && doctorList?.every(x => x?.visualizacion?.trim() === `${search}`)\r\n    }\r\n    \r\n    const isSpontaneous = doctorListToFilter(\"DEMANDA ESPONTANEA\");\r\n    const isPhoneAppointment = doctorListToFilter(\"TURNO TELEFONICO\");\r\n    const isShiftScheduleSuspended = doctorListToFilter(\"AGENDA SUSPENDIDA\");\r\n\r\n    (isSpontaneous) && setVisualization(\"DEMANDA ESPONTANEA\");\r\n    (isPhoneAppointment) && setVisualization(\"TURNO TELEFONICO\");\r\n    (isShiftScheduleSuspended) && setVisualization(\"AGENDA SUSPENDIDA\");\r\n\r\n    const suspended = isShiftScheduleSuspended || isPhoneAppointment || isSpontaneous;\r\n\r\n    return suspended;\r\n};","import SpecialtyList from \"../SpecialtyListDrawer\";\r\nimport PhoneShiftsDrawer from \"../PhoneShiftsDrawer\";\r\nimport NextAppointmentDrawer from \"../NextAppointmentDrawer\";\r\nimport SelectDateDrawer from \"../SelectDateDrawer/SelectDateDrawer\";\r\nimport { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport { checkSpecialistVisualizacion, getSpecialtyAndDoctorCodes } from \"../Utils/CheckAppointmentVisualization\";\r\n\r\nconst Step3 = (props) => {\r\n    const { titles, activeStep, setActiveStep, handleOpenCancelModal, handleBack, handleCloseDrawer, handleNext } = props;\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [preferenceStep3, setPrefereceStep3] = useState(0);\r\n    const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n    const specialties = useSelector((state) => state.medicalCenterReducer?.specialtyList);\r\n    const [modelAppointment, setModelAppointment] = useState(modelNextAppointment?.modelAppointment);\r\n    const [ phoneAppointment, setPhoneAppointments ] = useState(undefined);\r\n    const loading = useSelector((state) => state.medicalCenterReducer?.isLoading);\r\n    const [ specialistVisualizacion, setSpecialistVisualizacion ] = useState(\"\");\r\n\r\n    useEffect(() => {\r\n        setModelAppointment(modelNextAppointment?.modelAppointment);\r\n    }, [modelNextAppointment?.modelAppointment]);\r\n\r\n    useEffect(() => {\r\n        if (!modelNextAppointment?.modelAppointment?.especialidadCodigo) {\r\n            return;\r\n        }\r\n\r\n        const { agenda, specialtyCode, doctorCode } = getSpecialtyAndDoctorCodes(specialties, modelNextAppointment);\r\n        const suspended = checkSpecialistVisualizacion(agenda, specialtyCode, doctorCode, setSpecialistVisualizacion);\r\n\r\n        if (suspended !== undefined) {\r\n            setPhoneAppointments(suspended);\r\n        }\r\n\r\n    }, [specialties]);\r\n\r\n    return (<>\r\n        <div className={classes.step3Div} style={{ padding: (screen.sWidth > 768 && \"30px\") }}>\r\n            <div style={{ width: \"90%\" }}>\r\n                <SpecialtyList preferenceStep3={preferenceStep3} setPrefereceStep3={setPrefereceStep3} titles={titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} />\r\n            </div>\r\n            {\r\n                !loading ?\r\n                <div style={{ width: \"90%\" }}>\r\n                    {\r\n                        ((modelNextAppointment?.modelModifyAppointment == 'modify' ||\r\n                        modelNextAppointment?.modelModifyAppointment == 'repeat')  &&\r\n                        modelNextAppointment?.medicoCodigo !== \"\" && !phoneAppointment) &&\r\n                        <SelectDateDrawer\r\n                            modelNextAppointment={modelNextAppointment} \r\n                            titles={props.titles}\r\n                            activeStep={activeStep}\r\n                            setActiveStep={setActiveStep}\r\n                            handleOpenCancelModal={handleOpenCancelModal}\r\n                            handleNext={handleNext}\r\n                            handleBack={handleBack}\r\n                            handleCloseDrawer={handleCloseDrawer}\r\n                        />\r\n                    }\r\n                    {\r\n                        (preferenceStep3 == 1 || modelAppointment?.preference == 1) &&\r\n                        <NextAppointmentDrawer\r\n                            key={modelNextAppointment?.modelAppointment?.preference}\r\n                            modelNextAppointment={modelNextAppointment}\r\n                            titles={props.titles}\r\n                            activeStep={activeStep}\r\n                            setActiveStep={setActiveStep}\r\n                            handleOpenCancelModal={handleOpenCancelModal}\r\n                            handleNext={handleNext}\r\n                        />\r\n                    }\r\n                    {\r\n                        ((preferenceStep3 == 2 || modelAppointment?.preference == 2) &&\r\n                        (modelAppointment?.doctorVisualizacion == 'TURNO WEB' && !phoneAppointment) &&\r\n                        modelAppointment?.medicoCodigo != '') &&\r\n                        <SelectDateDrawer\r\n                            modelNextAppointment={modelNextAppointment}\r\n                            titles={props.titles}\r\n                            activeStep={activeStep}\r\n                            setActiveStep={setActiveStep}\r\n                            handleOpenCancelModal={handleOpenCancelModal}\r\n                            handleNext={handleNext}\r\n                            handleBack={handleBack}\r\n                            handleCloseDrawer={handleCloseDrawer}\r\n                        />\r\n                    }\r\n                    {\r\n                        ((preferenceStep3 == 2 || modelAppointment?.preference == 2) &&\r\n                        (modelAppointment?.doctorVisualizacion == 'TURNO TELEFONICO' ||\r\n                        specialistVisualizacion == 'TURNO TELEFONICO') &&\r\n                        modelAppointment?.medicoCodigo != '')  &&\r\n                        <PhoneShiftsDrawer\r\n                            modelNextAppointment={modelNextAppointment}\r\n                            titles={props.titles}\r\n                            activeStep={activeStep}\r\n                            setActiveStep={setActiveStep}\r\n                            handleOpenCancelModal={handleOpenCancelModal}\r\n                            handleNext={handleNext}\r\n                            handleBack={handleBack}\r\n                            handleCloseDrawer={handleCloseDrawer}\r\n                        />\r\n                    }\r\n                </div>\r\n                :\r\n                <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\r\n                    <CircularProgress style={{ color: \"#002858\" }} />\r\n                </div>\r\n            }\r\n        </div>\r\n    </>);\r\n};\r\n\r\nexport default Step3;","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport Button from '@material-ui/core/Button';\r\nimport Moment from 'moment';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { setModelToSaveAppointment, getFreeDoctorAppointmentsList, getNextAvailableAppointments, getDoctorsList } from '../../redux/actions/appointmentsActions';\r\nimport FooterDrawer from \"./FooterDrawer\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport NotFound from \"../HomeLogged/NotFound\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport ModalProfile from \"../DialogProfile/Modal\";\r\nimport { format } from \"date-fns\";\r\nimport ButtonPhones from \"../ButtonPhones/ButtonPhones\";\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport { getFullData } from '../../redux/actions/personalDataActions';\r\n\r\nconst AppointmentsList = (props) => {\r\n    const { activeStep, setActiveStep, handleOpenCancelModal, medicalCenters } = props;\r\n    const classes = useStyles();\r\n    const date = new Date();\r\n    const dispatch = useDispatch();\r\n    const appointments = useSelector((state) => state.appointmentsReducer);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n    const [modelAppointment, setModelAppointment] = useState(modelNextAppointment?.modelAppointment);\r\n    const countItems = 1000;\r\n    const [skipItems, setSkipItems] = useState(0);\r\n    const { screen } = useResizeScreen();\r\n    const selectedSpecialty = [{ value: modelAppointment?.especialidadCodigo, label: modelAppointment?.especialidadDescripcion }];\r\n    const selectedDoctor = [{ value: modelAppointment?.medicoCodigo, label: modelAppointment?.medicoDescripcion }];\r\n    const freeDoctorAppointmentsList = useSelector(state => state.appointmentsReducer?.freeDoctorAppointmentsList.turnosLibres);\r\n    const [modalObservations, setModalObservations] = useState({});\r\n    const flow = modelNextAppointment?.modelAppointment?.appointmentFlow;\r\n    const isDoctorFlow = flow === 'medico';\r\n    const isLoading = useSelector(state => state.appointmentsReducer?.isLoading);\r\n    const doctorsList = useSelector(state => state.appointmentsReducer?.doctorsList?.medicos);\r\n    const [doctorListToCompare, setDoctorListToCompare] = useState(doctorsList);\r\n    const [selectedAppointment, setSelectedAppointment] = useState();\r\n    const personalDataReducer = useSelector((state) => state.personalDataReducer);\r\n    const phones = useSelector((state) => state.phonesReducer.phoneShift);\r\n    const [visualization, setVisualization] = useState('');\r\n    const [phonesToShow, setPhonesToShow] = useState([]);\r\n    const [spontaneousInformation, setSpontaneousInformation] = useState({});\r\n    const isSpontaneous = modelAppointment?.especialidadDescripcion?.toUpperCase()?.includes('ESPONTANEA');\r\n\r\n    const optionsToSelect = [\r\n        {\r\n            key: 'doctorSelection',\r\n            label: 'Profesional',\r\n            component: (\r\n                <div style={{ display: modelAppointment?.medicoCodigo === '' && 'none' }}>\r\n                    <Typography style={{ fontWeight: '400', fontSize: '14px', marginLeft: '25px', marginTop: '20px' }}>\r\n                        Profesional\r\n                    </Typography>\r\n                    <CustomSelect\r\n                        className={`${classes.afilliateSelectTurn}`}\r\n                        list={selectedDoctor}\r\n                        selected={modelAppointment?.medicoCodigo}\r\n                        disabled={true}\r\n                    />\r\n                </div>\r\n            ),\r\n        },\r\n        {\r\n            key: 'specialtySelection',\r\n            label: 'Especialidad',\r\n            component: (\r\n                <div>\r\n                    <Typography style={{ fontWeight: '400', fontSize: '14px', marginLeft: '25px', marginTop: '20px' }}>\r\n                        Especialidad\r\n                    </Typography>\r\n                    <CustomSelect\r\n                        className={`${classes.afilliateSelectTurn}`}\r\n                        list={selectedSpecialty}\r\n                        selected={modelAppointment?.especialidadCodigo}\r\n                        disabled={true}\r\n                    />\r\n                </div>\r\n            ),\r\n        },\r\n    ];\r\n\r\n    useEffect(() => {\r\n        setPhonesToShow(\r\n            phones?.filter((phone) => phone?.planCode?.includes(personalDataReducer?.fullData?.afiliado?.planDescripcion))\r\n        );\r\n    }, [personalDataReducer]);\r\n\r\n    const getFreeAppointmentsParameters = {\r\n        numeroPersona: modelNextAppointment?.modelAppointment?.afiliadoCodigo,\r\n        proveedorNumero: modelNextAppointment?.modelAppointment?.proveedorNumero,\r\n        count: countItems,\r\n        skip: skipItems,\r\n        fechaDesde: date?.toISOString()?.split('T')[0],\r\n        fechaHasta: format(date?.setMonth(date?.getMonth() + 6), 'yyyy-MM-dd'),\r\n        tipoAtencion: 'PRESENCIAL'\r\n    };\r\n\r\n    const getAvailableAppointmentsBySpecialty = {\r\n        especialidadCodigo: modelNextAppointment?.modelAppointment?.especialidadCodigo,\r\n        centroMedico: 0,\r\n        count: countItems,\r\n        skip: skipItems,\r\n        tipoAtencion: 'PRESENCIAL'\r\n      };\r\n\r\n    useEffect(() => {\r\n        const visualizationType = modelNextAppointment?.modelAppointment?.observations?.[0]?.centrosMedicos?.filter(\r\n            doctorVisualization => doctorVisualization?.especialidadCodigo == modelNextAppointment?.modelAppointment?.especialidadCodigo\r\n        );\r\n\r\n        setVisualization(visualizationType?.[0]?.visualizacion?.trim());\r\n\r\n        setSpontaneousInformation({\r\n            edadDesde: visualizationType?.[0]?.edadDesde,\r\n            edadHasta: visualizationType?.[0]?.edadHasta,\r\n            horarios: visualizationType?.[0]?.horarios,\r\n            atiendeDiscapacitados: visualizationType?.[0]?.atiendeDiscapacitados,\r\n            observaciones: visualizationType?.[0]?.observaciones,\r\n            centroMedico: getMedicalCenterDescription(visualizationType?.[0]?.centroMedicoCodigo)\r\n        });\r\n\r\n        if (visualizationType?.[0]?.observaciones != '' || visualizationType?.[0]?.observaciones != undefined) {\r\n            dispatch(setModelToSaveAppointment({ ...modelAppointment, observaciones: visualizationType?.[0]?.observaciones }));\r\n        }\r\n\r\n        setSkipItems(0);\r\n        dispatch(getFullData({ numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")) }));\r\n    }, [])\r\n\r\n    const getMedicalCenterDescription = (medicalCenterCode) => {\r\n        let medicalCenterDescription = medicalCenters?.filter(center => center?.centroMedicoCodigo == medicalCenterCode);\r\n        \r\n        return medicalCenterDescription?.[0]?.centroMedicoNombre ?? '';\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (isDoctorFlow) {\r\n            dispatch(getFreeDoctorAppointmentsList(getFreeAppointmentsParameters));\r\n        } else {\r\n            dispatch(getNextAvailableAppointments(getAvailableAppointmentsBySpecialty));\r\n        }\r\n    }, [skipItems]);\r\n\r\n    useEffect(() => {\r\n        setModelAppointment(modelNextAppointment?.modelAppointment)\r\n    }, [modelNextAppointment?.modelAppointment]);\r\n\r\n    useEffect(() => {\r\n        if ((flow == 'especialidad') && (modelAppointment?.centroMedicoCodigo !== undefined) && (doctorsList != doctorListToCompare)) {\r\n            let observations = doctorsList?.filter(selectedDoctor => selectedDoctor?.medicoNombre == modelAppointment?.medicoDescripcion?.trim());\r\n    \r\n            setModalObservations(observations?.[0]?.centrosMedicos?.filter(\r\n                center =>\r\n                    center?.centroMedicoCodigo == modelAppointment?.centroMedicoCodigo &&\r\n                    center?.especialidadCodigo == modelNextAppointment?.modelAppointment?.especialidadCodigo)?.[0]\r\n            );\r\n            setOpenModal(prevState => !prevState);\r\n        }\r\n        setDoctorListToCompare(doctorsList);\r\n    }, [doctorsList])\r\n\r\n    useEffect(() => {\r\n        dispatch(setModelToSaveAppointment({ ...modelAppointment, observaciones: modalObservations?.observaciones }));\r\n    }, [modalObservations])\r\n\r\n    const handleClick = (item) => e => {\r\n        e.preventDefault();\r\n\r\n        if (flow == 'especialidad') {\r\n            dispatch(getDoctorsList({\r\n                numeroPersona: modelAppointment?.afiliadoCodigo,\r\n                medicoNombre: item?.medicoDescripcion?.trim()\r\n            }));\r\n        }\r\n\r\n        setSelectedAppointment(item);\r\n\r\n        let observations = modelNextAppointment?.modelAppointment?.observations?.[0]?.centrosMedicos;\r\n        let medicalCenterCode = (isDoctorFlow ? item?.centroMedicoCodigo : item?.sucursalCodigo);\r\n        let medicalCenter = medicalCenters?.filter(center => center?.centroMedicoCodigo == medicalCenterCode);\r\n\r\n        let modelToSend = {\r\n            ...modelAppointment,\r\n            selectedAppointment: item?.turnoFechHora,\r\n            hourSelected: Moment(item?.turnoFechHora).format('HH:mm'),\r\n            turnoNumero: item?.turnoNumero,\r\n            nombreCentroMedico: medicalCenter?.[0]?.centroMedicoNombre,\r\n            direccion: medicalCenter?.[0]?.direccion,\r\n            medicoCodigo: isDoctorFlow ? modelAppointment?.medicoCodigo : item?.medicoCodigo,\r\n            medicoDescripcion: isDoctorFlow ? modelAppointment?.medicoDescripcion : item?.medicoDescripcion,\r\n            centroMedicoCodigo: medicalCenterCode\r\n        }\r\n\r\n        setModalObservations(observations?.filter(center => center?.centroMedicoCodigo == medicalCenterCode && center?.especialidadCodigo == modelNextAppointment?.modelAppointment?.especialidadCodigo)?.[0]);\r\n        setModelAppointment(modelToSend);\r\n        dispatch(setModelToSaveAppointment(modelToSend));\r\n        isDoctorFlow && setOpenModal(prevState => !prevState);\r\n    };\r\n\r\n    const handleClickSeeMore = () => setSkipItems(skipItems + 10);\r\n\r\n    const handleClickSeeLess = () => setSkipItems(skipItems - 10);\r\n\r\n    const handleNext = () => {\r\n        modelAppointment?.turnoNumero != null && setActiveStep(prevActiveStep => prevActiveStep + 1);\r\n    }\r\n\r\n    const handleBack = () => setActiveStep(prevActiveStep => prevActiveStep - 2);\r\n\r\n    const modalObservationsBody = () => {\r\n        return (\r\n            <div style={{ margin: '0 30px', padding: '0', maxWidth: '250px' }}>\r\n                <Typography style={{ fontSize: \"12px\", fontWeight: \"bold\", paddingBottom: \"5px\" }}>\r\n                    {modelAppointment?.especialidadDescripcion}\r\n                </Typography>\r\n                <Typography style={{ fontSize: \"14px\", paddingBottom: \"15px\" }}>\r\n                    {modelAppointment?.medicoDescripcion}\r\n                </Typography>\r\n                <Typography style={{ fontSize: \"12px\", fontWeight: \"bold\", paddingBottom: \"10px\" }}>\r\n                    DATOS DEL TURNO\r\n                </Typography>\r\n                <Typography style={{ fontSize: \"12px\", paddingBottom: \"10px\" }}>\r\n                    <span style={{ fontWeight: \"bold\" }}>EDADES: </span>{modalObservations?.edadDesde} A {modalObservations?.edadHasta} AÑOS\r\n                </Typography>\r\n                <Typography style={{ fontSize: \"12px\", paddingBottom: \"10px\" }}>\r\n                    <span style={{ fontWeight: \"bold\" }}>OBSERVACIONES: </span>\r\n                    {modalObservations?.observaciones === '' || modalObservations?.observaciones === undefined ? \"-\" : modalObservations?.observaciones}\r\n                </Typography>\r\n                <Typography style={{ fontSize: \"12px\", paddingBottom: \"10px\" }}>\r\n                    <span style={{ fontWeight: \"bold\" }}>PREPARACION: </span>\r\n                    {modalObservations?.preparacion === '' || modalObservations?.preparacion === undefined ? \"-\" : modalObservations?.preparacion}\r\n                </Typography>\r\n            </div>\r\n        );\r\n    }\r\n\r\n    const showAppointmentObservations = () => {\r\n        return (\r\n            <div className={classes.borderWhite} style={{ left: \"20px\" }}>\r\n                <ModalProfile\r\n                    type='cancel'\r\n                    title={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center', marginTop: '25px' }}>\r\n                                Observaciones\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    observation={ modalObservationsBody() }\r\n                    open={openModal}\r\n                    onClose={setOpenModal}\r\n                    close={true}\r\n                />\r\n            </div>\r\n        )\r\n    }\r\n\r\n    const doctorAppointments = () => {\r\n        return (freeDoctorAppointmentsList?.filter(x => x?.especialidadCodigo == modelAppointment?.especialidadCodigo));\r\n    }\r\n\r\n    const listItems = () => {\r\n        const dataList = isDoctorFlow ? doctorAppointments() : appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad;\r\n\r\n        return (\r\n            <List\r\n                component=\"nav\"\r\n                className={classes.root}\r\n                aria-label=\"mailbox folders\"\r\n                style={{ marginBottom: \"40px\", maxHeight: \"496px\", overflow: \"auto\", marginTop: \"0\", paddingTop: \"0\" }}>\r\n                {dataList?.slice(0, 10)?.map((item) => (\r\n                    <Fragment key={item}>\r\n                        <ListItem className={classes.listItemTurn}>\r\n                            <Button\r\n                                onClick={handleClick(item)}\r\n                                className={selectedAppointment === item || modelAppointment?.turnoNumero == item?.turnoNumero ? classes.btnHoverNextAppointment : classes.btnNextAppointment}>\r\n                                <div className={`${classes.divDate}`} style={{ justifyContent: 'space-between' }}>\r\n                                    <Typography className={classes.dateNext}>\r\n                                        {Moment(item?.turnoFechHora).format('DD.MM.YYYY')}\r\n                                    </Typography>\r\n                                    <Typography\r\n                                        className={`${classes.descripNext}`}\r\n                                        style={{\r\n                                            whiteSpace: 'nowrap',\r\n                                            width: screen.sWidth < 768 ? '130px' : '200px',\r\n                                            overflow: 'hidden',\r\n                                            textOverflow: 'ellipsis',\r\n                                            fontWeight: 700,\r\n                                            fontSize: '.8rem'\r\n                                        }}\r\n                                    >\r\n                                        {isDoctorFlow ? getMedicalCenterDescription(item?.centroMedicoCodigo) : item?.sucursalDescripcion}\r\n                                    </Typography>\r\n                                    <div className={classes.divHour}>\r\n                                        <div>\r\n                                            <Typography className={classes.hourNext} >\r\n                                                {Moment(item?.turnoFechHora)?.format('HH:mm')}\r\n                                            </Typography>\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                            </Button>\r\n                        </ListItem>\r\n                    </Fragment>\r\n                ))}\r\n            </List>\r\n        );\r\n    };\r\n\r\n    const showButtons = () => {\r\n        if (skipItems === 0) {\r\n            return (\r\n                <Button size=\"small\" style={{ float: \"right\" }} onClick={handleClickSeeMore}>\r\n                    VER MAS\r\n                </Button>\r\n            );\r\n        } else if (10 > (flow == 'especialidad' ? appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad?.length : freeDoctorAppointmentsList?.length)) {\r\n            return (\r\n                <Button size=\"small\" style={{ float: \"right\" }} onClick={handleClickSeeLess}>\r\n                    VER MENOS\r\n                </Button>\r\n            );\r\n        }\r\n        else {\r\n            return (\r\n                <>\r\n                    <Button size=\"small\" style={{ float: \"right\", margin: \"10px\" }} onClick={handleClickSeeMore}>\r\n                        VER MAS\r\n                    </Button>\r\n                    <Button size=\"small\" style={{ float: \"right\", margin: \"10px\" }} onClick={handleClickSeeLess}>\r\n                        VER MENOS\r\n                    </Button>\r\n                </>\r\n            );\r\n        }\r\n    };\r\n\r\n    const setTitle = () => {\r\n        let title = '';\r\n        if (screen.sWidth < 768) {\r\n            title = (\r\n                <>\r\n                    <Typography\r\n                        className={classes.titleTurn}\r\n                        style={{ color: \"#002858\", fontWeight: \"bold\", fontSize: \"15px\", marginBottom: '-10px' }}\r\n                    >\r\n                        {modelAppointment?.especialidadDescripcion}\r\n                    </Typography>\r\n\r\n                    <Typography className={classes.titleTurn} style={{ marginBottom: '20px' }}>\r\n                        {modelAppointment?.medicoDescripcion}\r\n                    </Typography>\r\n                </>\r\n            );\r\n        }\r\n        return title;\r\n    }\r\n\r\n    const isNotSpontaneous = () => {\r\n        return (!isSpontaneous && (visualization !== 'DEMANDA ESPONTANEA'));\r\n    }\r\n\r\n    const showComponentByVisualization = () => {\r\n        if (visualization == 'TURNO TELEFONICO') {\r\n            return (\r\n                <div style={{ width: screen.sWidth < 768 && '280px', margin: screen.sWidth < 768 ? '0 auto' : '0' }}>\r\n                    <Typography\r\n                        style={{\r\n                            fontFamily: \"Arial, regular\",\r\n                            fontSize: screen.sWidth < 768 ? \"16px\" : \"20px\",\r\n                            color: \"#0075c9\",\r\n                            fontWeight: 'bold',\r\n                            marginTop: screen.sWidth > 768 && '15px',\r\n                            marginLeft: screen.sWidth > 768 && '10%'\r\n                        }}\r\n                    >\r\n                        Turno telefónico\r\n                    </Typography>\r\n                    <ButtonPhones listItems={phonesToShow} />\r\n                </div>\r\n            );\r\n        }\r\n\r\n        return (\r\n            (isNotSpontaneous()) &&\r\n            <div>\r\n                {listItems()}\r\n                {showButtons()}\r\n            </div>\r\n        );\r\n    }\r\n\r\n    const componentContainer = (component) => {\r\n        return (\r\n            <div\r\n                style={{\r\n                    justifyContent: \"space-between\",\r\n                    display: \"grid\",\r\n                    gridTemplateColumns: screen.sWidth > 1100 ? \"1fr 1fr\" : \"1fr\",\r\n                    paddingTop: \"5px\",\r\n                    paddingBottom: \"5px\"\r\n                }}\r\n            >\r\n                {optionSelected()}\r\n                {component}\r\n            </div>\r\n        );\r\n    }\r\n\r\n    const showSpontaneousInformation = () => {\r\n        return (\r\n            <>\r\n                <div style={{ marginTop: screen.sWidth > 968 && '30px', marginLeft: screen.sWidth < 768 && '20px' }}>\r\n                    <Typography\r\n                        className={`${classes.txtObservaciones}`}\r\n                        style={{ margin: \"5px\" }}\r\n                    >\r\n                        <span className={`${classes.txtBold500} ${classes.grayTxt}`}>\r\n                            Centro médico:{\" \"}\r\n                        </span>\r\n                        <span className={classes.grayTxt}>{spontaneousInformation?.centroMedico}</span>\r\n                    </Typography>\r\n                    <Typography\r\n                        className={`${classes.txtObservaciones}`}\r\n                        style={{ margin: \"5px\" }}\r\n                    >\r\n                        <span className={`${classes.txtBold500} ${classes.grayTxt}`}>\r\n                            Horarios de atención:{\" \"}\r\n                        </span>\r\n                        <span className={classes.grayTxt}>{spontaneousInformation?.horarios}</span>\r\n                    </Typography>\r\n                    <Typography\r\n                        className={`${classes.txtObservaciones}`}\r\n                        style={{ margin: \"5px\" }}\r\n                    >\r\n                        <span className={`${classes.txtBold500} ${classes.grayTxt}`}>\r\n                            {`Edades: `}\r\n                        </span>\r\n                        <span className={classes.grayTxt}>\r\n                            de {spontaneousInformation?.edadDesde} a {spontaneousInformation?.edadHasta} años{\" \"}\r\n                            {spontaneousInformation?.atiendeDiscapacitados === \"S\" &&\r\n                                <>(atiende capacidades especiales)</>\r\n                            }\r\n                        </span>\r\n                    </Typography>\r\n                    <Typography\r\n                        className={`${classes.txtBold500} ${classes.txtObservaciones} ${classes.grayTxt}`}\r\n                        style={{ margin: \"5px\" }}\r\n                    >\r\n                        {spontaneousInformation?.observaciones !== '' && (`Observaciones: ${spontaneousInformation?.observaciones}`)}\r\n                    </Typography>\r\n\r\n                </div>\r\n            </>\r\n        );\r\n    }\r\n\r\n    const optionSelected = () => {\r\n        if (screen.sWidth > 768) {\r\n            return (\r\n                <div style={{ marginLeft: '14px' }}>\r\n                    {flow === 'medico' ?\r\n                        (\r\n                            <>\r\n                                {optionsToSelect?.find((option) => option?.key === 'doctorSelection')?.component}\r\n                                {optionsToSelect?.find((option) => option?.key === 'specialtySelection')?.component}\r\n                            </>\r\n                        )\r\n                    :\r\n                        (\r\n                            <>\r\n                                {optionsToSelect?.find((option) => option?.key === 'specialtySelection')?.component}\r\n                                {optionsToSelect?.find((option) => option?.key === 'doctorSelection')?.component}\r\n                            </>\r\n                        )\r\n                    }\r\n                </div>\r\n            );\r\n        }\r\n        return null;\r\n    };\r\n\r\n    const showAppointmentsList = () => {\r\n        return (\r\n            isDoctorFlow\r\n            ? doctorAppointments()?.length\r\n            : appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad?.length\r\n        );\r\n    }\r\n\r\n    const showMessage = () => {\r\n        if (!isDoctorFlow) {\r\n            return (\r\n                componentContainer(\r\n                    <NotFound\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span style={{ marginTop: \"10%\" }}>\r\n                                    {appointments?.nextAvailableAppointments?.mensajes?.length > 0\r\n                                        ? appointments?.nextAvailableAppointments?.mensajes?.[0]\r\n                                        : 'No hay turnos disponibles'\r\n                                    }\r\n                                </span>\r\n                            </div>\r\n                        }\r\n                        wsItem={appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad}\r\n                        fullItem={appointments?.nextAvailableAppointments?.turnosLibresPorEspecialidad}\r\n                        loading={appointments?.isLoading}\r\n                    />\r\n                )\r\n            );\r\n        } else if(isDoctorFlow && isNotSpontaneous()) {\r\n            return (\r\n                componentContainer(\r\n                    <NotFound\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span style={{ marginTop: \"10%\" }}>No hay turnos disponibles</span>\r\n                            </div>\r\n                        }\r\n                        wsItem={doctorAppointments() ?? []}\r\n                        fullItem={doctorAppointments() ?? []}\r\n                        loading={appointments?.isLoading}\r\n                    />\r\n                )\r\n            );\r\n        }\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <div className={classes.drawerContainerTurn} style={{ backdropFilter: \"blur(8px) !important\", marginLeft: '20px' }}>\r\n                    <>\r\n                        <Typography className={classes.titleTurn} style={{ marginTop: \"20px\" }}>\r\n                            {flow === \"especialidad\"\r\n                                ? \"Turno por Especialidad / Presencial\"\r\n                                : \"Turno por Médico / Presencial\"\r\n                            }\r\n                        </Typography>\r\n                        {setTitle()}\r\n                    </>\r\n                {showAppointmentsList() > 0 && !isLoading && isNotSpontaneous() ?\r\n                    <>\r\n                        {componentContainer(showComponentByVisualization())}\r\n                    </>\r\n                    :\r\n                    showMessage()\r\n                }\r\n\r\n                {!appointments?.isLoading && ((visualization == 'DEMANDA ESPONTANEA' || isSpontaneous) && flow !== 'especialidad')\r\n                    ? componentContainer(showSpontaneousInformation())\r\n                    :\r\n                    (\r\n                        visualization == 'DEMANDA ESPONTANEA' &&\r\n                        <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                    )\r\n                }\r\n\r\n                {openModal && showAppointmentObservations()}\r\n\r\n            </div>\r\n\r\n            {screen.sWidth < 768 &&\r\n                <FooterDrawer\r\n                    activeStep={activeStep}\r\n                    handleBack={handleBack}\r\n                    handleNext={handleNext}\r\n                    handleOpenCancelModal={handleOpenCancelModal}\r\n                />\r\n            }\r\n\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AppointmentsList;","import { CircularProgress, Typography } from \"@material-ui/core\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { setModelToSaveAppointment, getSpecialtiesList, getDoctorsList } from \"../../redux/actions/appointmentsActions\";\r\nimport { Autocomplete, Dialog, DialogContent, DialogTitle, IconButton } from \"@mui/material\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport TextField from '@mui/material/TextField';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nconst specialtiesListParameters = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    especialidadDescripcion: ''\r\n};\r\n\r\nconst doctorsListParameters = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n    medicoNombre: ''\r\n};\r\n\r\nconst FlowSpecialtyListDrawer = (props) => {\r\n    const dispatch = useDispatch();\r\n    const { handleBack } = props;\r\n    const classes = useStyles();\r\n    const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n    const [modelAppointment, setModelAppointment] = useState(modelNextAppointment?.modelAppointment);\r\n    const [groupSpecialties, setGroupSpecialties] = useState([]);\r\n    const [groupDoctors, setGroupDoctors] = useState([]);\r\n    const [specialtiesByDoctor, setSpecialtiesByDoctor] = useState([]);\r\n    const specialtiesList = useSelector(state => state.appointmentsReducer?.specialtiesList?.especialidades);\r\n    const doctorsList = useSelector(state => state.appointmentsReducer?.doctorsList?.medicos);\r\n    const [hasFocus, setHasFocus] = useState(false);\r\n    const [searchValue, setSearchValue] = useState('');\r\n    const [shouldSearch, setShouldSearch] = useState(false);\r\n    const error = useSelector(state => state.appointmentsReducer?.msgError);\r\n    const [hasDoctorFocus, setHasDoctorFocus] = useState(false);\r\n    const [searchDoctorValue, setSearchDoctorValue] = useState('');\r\n    const [shouldSearchDoctor, setShouldSearchDoctor] = useState(false);\r\n    const flow = modelNextAppointment?.modelAppointment?.appointmentFlow;\r\n    const isDoctorFlow = flow === 'medico';\r\n    const [isLoading, setIsLoading] = useState(false);\r\n    const { screen } = useResizeScreen();\r\n    const [specialtiesOptions, setSpecialtiesOptions] = useState([]);\r\n\r\n\r\n    const setPopUp = () => {\r\n        let flag = false;\r\n        if(modelAppointment?.appointmentFlow === 'especialidad') {\r\n            if(modelAppointment?.especialidadCodigo == undefined || modelAppointment?.especialidadCodigo == '') {\r\n                flag = true;\r\n            }\r\n        } else if(modelAppointment?.appointmentFlow === 'medico') {\r\n            if(modelAppointment?.medicoCodigo == undefined || modelAppointment?.medicoCodigo == '') {\r\n                flag = true;\r\n            }\r\n        }\r\n        return flag;\r\n    }\r\n\r\n    const [openModal, setOpenModal] = useState(setPopUp());\r\n\r\n    const handleFocusChange = (e) => {\r\n        setHasFocus(e.type === 'focus');\r\n    };\r\n\r\n    const handleFocusDoctorChange = (e) => {\r\n        setHasDoctorFocus(e.type === 'focus');\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (!openModal) {\r\n            if (modelAppointment?.especialidadCodigo == undefined || modelAppointment?.medicoCodigo == undefined) {\r\n                setModelAppointment({\r\n                    ...modelAppointment,\r\n                    especialidadCodigo: '',\r\n                    especialidadDescripcion: '',\r\n                    medicoCodigo: '',\r\n                    medicoDescripcion: ''\r\n                });\r\n            }\r\n        }\r\n    }, [openModal])\r\n\r\n    useEffect(() => {\r\n        if (modelAppointment?.medicoDescripcion?.length > 3) {\r\n            setHasDoctorFocus(false);\r\n        }\r\n\r\n        if (modelAppointment?.especialidadDescripcion?.length > 3) {\r\n            setHasFocus(false);\r\n        }\r\n    }, [modelAppointment?.medicoDescripcion, modelAppointment?.especialidadDescripcion])\r\n\r\n    useEffect(() => {\r\n        let listSpecialties = [];\r\n\r\n        listSpecialties = specialtiesList?.map(item => {\r\n            return {\r\n                value: item?.especialidadCodigo?.trim(),\r\n                label: item?.especialidadDescripcion?.trim()\r\n            };\r\n        });\r\n\r\n        if (listSpecialties != undefined) {\r\n            listSpecialties?.unshift({ value: \"\", label: \"NOMBRE DE LA ESPECIALIDAD\" });\r\n        }\r\n\r\n        setGroupSpecialties(listSpecialties);\r\n    }, [specialtiesList]);\r\n\r\n    useEffect(() => {\r\n        let listDoctors = [];\r\n\r\n        listDoctors = doctorsList?.map(item => {\r\n            return {\r\n                value: item?.centrosMedicos?.[0]?.medicoCodigo,\r\n                label: item?.medicoNombre\r\n            };\r\n        });\r\n\r\n        if (doctorsList != undefined) {\r\n            listDoctors?.unshift({ value: \"\", label: \"NOMBRE DEL PROFESIONAL\" });\r\n        }\r\n\r\n        setGroupDoctors(listDoctors);\r\n\r\n    }, [doctorsList])\r\n\r\n    useEffect(() => {\r\n        if (modelAppointment?.especialidadCodigo == undefined || modelAppointment?.especialidadCodigo == '') {\r\n            setDefaultSpecialtyValue();\r\n        }\r\n\r\n        if (modelAppointment?.medicoCodigo == undefined || modelAppointment?.medicoCodigo == '') {\r\n            setDefaultDoctorValue();\r\n        }\r\n\r\n        setModelAppointment({\r\n            ...modelAppointment,\r\n            turnoNumero: undefined\r\n        });\r\n    }, [])\r\n\r\n    useEffect(() => {\r\n        if (error == 'No hay especialidades para el parámetro de busqueda seleccionado' ||\r\n            error == 'No hay médicos para el parámetro de busqueda seleccionado') {\r\n            setIsLoading(false);\r\n        }\r\n    }, [error])\r\n\r\n    const setDefaultSpecialtyValue = () => {\r\n        setGroupSpecialties([{ value: \"\", label: \"NOMBRE DE LA ESPECIALIDAD\" }]);\r\n    }\r\n\r\n    const setDefaultDoctorValue = () => {\r\n        setGroupDoctors([{ value: \"\", label: \"NOMBRE DEL PROFESIONAL\" }]);\r\n    }\r\n\r\n    useEffect(() => {\r\n        if ((searchValue?.length > 2 && searchValue != \"NOMBRE DE LA ESPECIALIDAD\") && shouldSearch) {\r\n            setIsLoading(true);\r\n            dispatch(getSpecialtiesList({ ...specialtiesListParameters, especialidadDescripcion: searchValue }));\r\n            setShouldSearch(false);\r\n        }\r\n    }, [searchValue, shouldSearch]);\r\n\r\n    useEffect(() => {\r\n        if ((searchDoctorValue?.length > 2 && searchDoctorValue!=\"NOMBRE DEL PROFESIONAL\" ) && shouldSearchDoctor) {\r\n            setIsLoading(true);\r\n            dispatch(getDoctorsList({ ...doctorsListParameters, medicoNombre: searchDoctorValue }));\r\n            setShouldSearchDoctor(false);\r\n        }\r\n    }, [searchDoctorValue, shouldSearchDoctor]);\r\n\r\n    const handleChangeSpecialties = (e, newValue) => {\r\n        let specialties = groupSpecialties;\r\n        let doctorSpecialties = specialtiesByDoctor;\r\n        \r\n\r\n        setSearchValue(newValue);\r\n\r\n        setShouldSearch(true);\r\n\r\n        if (newValue == null || newValue == \"NOMBRE DE LA ESPECIALIDAD\") {\r\n            setModelAppointment({\r\n                ...modelAppointment,\r\n                especialidadCodigo: specialties?.[0]?.value?.trim(),\r\n                especialidadDescripcion: specialties?.[0]?.label?.trim()\r\n            });\r\n            return;\r\n        }\r\n\r\n        let nameSpecialties = (isDoctorFlow ? doctorSpecialties : specialties)?.filter(x => x?.label?.trim() == newValue?.trim());\r\n\r\n        if (parseInt(nameSpecialties?.[0]?.value) !== 0 && nameSpecialties !== null) {\r\n            if (!isDoctorFlow) {\r\n                setModelAppointment({\r\n                    ...modelAppointment,\r\n                    especialidadCodigo: nameSpecialties?.[0]?.value?.trim(),\r\n                    especialidadDescripcion: nameSpecialties?.[0]?.label?.trim(),\r\n                    medicoCodigo: '',\r\n                    medicoDescripcion: ''\r\n                });\r\n            } else {\r\n                setModelAppointment({\r\n                    ...modelAppointment,\r\n                    especialidadCodigo: nameSpecialties?.[0]?.value?.trim(),\r\n                    especialidadDescripcion: nameSpecialties?.[0]?.label?.trim(),\r\n                });\r\n            }\r\n        } else {\r\n            setModelAppointment({\r\n                ...modelAppointment,\r\n                especialidadCodigo: '',\r\n                especialidadDescripcion: ''\r\n            });\r\n        }\r\n        setDefaultSpecialtyValue();\r\n        setIsLoading(false);\r\n    };\r\n\r\n    const handleChangeDoctors = (e, newValue) => {\r\n        let listSpecialties = [];\r\n\r\n        setSearchDoctorValue(newValue?.trim());\r\n\r\n        setShouldSearchDoctor(true);\r\n\r\n        let nameDoctor = groupDoctors?.filter(doctorName => doctorName?.label?.trim() == newValue?.trim());\r\n        let selectedProvider = doctorsList?.filter(selectedDoctor => selectedDoctor?.medicoNombre == nameDoctor?.[0]?.label);\r\n\r\n        if (nameDoctor?.[0]?.value !== 0 && nameDoctor !== null) {\r\n            setModelAppointment({\r\n                ...modelAppointment,\r\n                medicoCodigo: nameDoctor?.[0]?.value,\r\n                medicoDescripcion: nameDoctor?.[0]?.label,\r\n                proveedorNumero: selectedProvider?.[0]?.proveedorNumero,\r\n                especialidadCodigo: '',\r\n                especialidadDescripcion: '',\r\n                observations: selectedProvider\r\n            });\r\n        } else {\r\n            setModelAppointment({\r\n                ...modelAppointment,\r\n                medicoCodigo: groupDoctors?.[0]?.value,\r\n                medicoDescripcion: groupDoctors?.[0]?.label,\r\n                especialidadCodigo: '',\r\n                especialidadDescripcion: ''\r\n            });\r\n        }\r\n\r\n        listSpecialties = selectedProvider?.[0]?.centrosMedicos?.map(item => {\r\n            return {\r\n                value: item?.especialidadCodigo?.trim(),\r\n                label: item?.especialidadDescripcion?.trim()\r\n            };\r\n        });\r\n\r\n        const uniqueSpecialties = listSpecialties?.reduce((accumulator, item) => {\r\n            const existingIndex = accumulator?.findIndex(\r\n                specialty => specialty?.value === item?.value && specialty?.label === item?.label\r\n            );\r\n\r\n            if (existingIndex === -1) {\r\n                accumulator?.push(item);\r\n            }\r\n\r\n            return accumulator;\r\n        }, []);\r\n\r\n        setSpecialtiesByDoctor(uniqueSpecialties);\r\n        setDefaultDoctorValue();\r\n        setIsLoading(false);\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(setModelToSaveAppointment({ ...modelAppointment }));\r\n    }, [modelAppointment?.medicoCodigo, modelAppointment?.especialidadCodigo]);\r\n\r\n    useEffect(() => {\r\n        if (specialtiesByDoctor?.length === 1) {\r\n            setModelAppointment({\r\n                ...modelAppointment,\r\n                especialidadCodigo: specialtiesByDoctor?.[0]?.value,\r\n                especialidadDescripcion: specialtiesByDoctor?.[0]?.label\r\n            });\r\n        }\r\n    }, [specialtiesByDoctor]);\r\n    \r\n    useEffect(() => {\r\n        setSpecialtiesOptions(specialtiesList?.map(item => ({\r\n            value: item?.especialidadCodigo?.trim(),\r\n            label: item?.especialidadDescripcion?.trim()\r\n        })) || []);\r\n    }, [specialtiesList]);\r\n\r\n    useEffect(() => {\r\n        if (searchValue?.length === 0) {\r\n            setSpecialtiesOptions([]);\r\n        }\r\n    }, [searchValue]);\r\n\r\n    const closeModal = () => {\r\n        setModelAppointment({\r\n            ...modelAppointment,\r\n            especialidadCodigo: '',\r\n            especialidadDescripcion: '',\r\n            centroMedico: '',\r\n            centroMedicoCodigo: '',\r\n            direccion: '',\r\n            nombreCentroMedico: '',\r\n            selectedAppointment: '',\r\n            medicoCodigo: '',\r\n            medicoDescripcion: ''\r\n        });\r\n        setOpenModal(false);\r\n    }\r\n\r\n    const appointmentFlowPopUp = () => {\r\n        return (\r\n            <>\r\n                <Dialog\r\n                    onClose={closeModal}\r\n                    aria-labelledby=\"customized-dialog-title\"\r\n                    open={openModal}\r\n                    id=\"backDropActivities\">\r\n                    <div id=\"modalActivities\">\r\n                        <IconButton\r\n                            aria-label=\"close\"\r\n                            className={classes.closeButton}\r\n                            onClick={closeModal}>\r\n                            <CloseIcon />\r\n                        </IconButton>\r\n\r\n                        <DialogTitle\r\n                            id=\"customized-dialog-title\"\r\n                            className={`${classes.contentDialogTitle}`}\r\n                            style={{ textAlign: \"center\" }}\r\n                            onClose={closeModal}>\r\n                            <Typography className={classes.titleDialogActivities} style={{ fontWeight: \"600\" }}>\r\n                                <div style={{ marginTop: \"30px\" }}>Atención</div>\r\n                            </Typography>\r\n                        </DialogTitle>\r\n\r\n                        <DialogContent className={`${classes.contentDialogTitle}`} style={{ paddingTop: \"10px\" }}>\r\n                            <Typography style={{ paddingBottom: \"20px\" }}>\r\n                                <div style={{ textAlign: \"center\" }}>\r\n                                    {modelAppointment?.appointmentFlow === \"especialidad\"\r\n                                        ? <div>Vas a ver los <b>próximos turnos disponibles</b> de la especialidad en nuestros <b>Centros Médicos</b></div>\r\n                                        : <div>Vas a ver los <b>próximos turnos disponibles</b> del profesional en nuestros <b>Centros Médicos</b></div>\r\n                                    }\r\n                                </div>\r\n                            </Typography>\r\n                            <div style={{ textAlign: \"center\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }}>\r\n                                <CustomButton\r\n                                    title=\"ACEPTAR\"\r\n                                    onClick={closeModal}\r\n                                    customClass={`${classes.lightLinearGradient}`}\r\n                                    style={{\r\n                                        margin: \"10px\",\r\n                                        height: \"34px\",\r\n                                        fontSize: \"12px\",\r\n                                        fontWeight: \"600\",\r\n                                        width: \"100px\",\r\n                                        border: \"1px solid #0075c9\"\r\n                                    }}\r\n                                    sx={{'&:hover': {\r\n                                        color: \"#0075c9 !important\",\r\n                                        background: \"#ffffff !important\",\r\n                                    }}}\r\n                                />\r\n                                <CustomButton\r\n                                    title=\"CANCELAR\"\r\n                                    onClick={handleBack}\r\n                                    style={{\r\n                                        margin: \"10px\",\r\n                                        fontSize: \"12px\",\r\n                                        boxShadow: \"0px 2px 8px 0 #585858\",\r\n                                        borderRadius: \"20px\",\r\n                                        fontWeight: \"600\",\r\n                                        backgroundColor: \"#ffffff\",\r\n                                        color: \"#0075c9\",\r\n                                        border: \"1px solid #0075c9\",\r\n                                        width: \"100px\"\r\n                                    }}\r\n                                    sx={{'&:hover': {\r\n                                        color: \"#ffffff !important\",\r\n                                        background: \"linear-gradient(90deg, #54c0e8, #0075c9 100%)\",\r\n                                    }}}\r\n                                />\r\n                            </div>\r\n                        </DialogContent>\r\n                    </div>\r\n                </Dialog>\r\n            </>\r\n        );\r\n    }\r\n\r\n    const specialtiesAutocomplete = (list) => {\r\n        return (\r\n            <Autocomplete\r\n                freeSolo\r\n                clearText={'Borrar'}\r\n                onBlur={handleFocusChange}\r\n                clearOnEscape={false}\r\n                loading={isLoading}\r\n                loadingText={error == '' ? 'Buscando especialidades...' : error}\r\n                noOptionsText={'No hay opciones'}\r\n                renderInput={(params) => (\r\n                    <TextField\r\n                        {...params}\r\n                        className={`${classes.afilliateSelectTurn}`}\r\n                        variant=\"outlined\"\r\n                        style={{ textTransform: 'uppercase' }} />\r\n                )}\r\n                options={list}  \r\n                onInputChange={(e, newValue) => { handleChangeSpecialties(e, newValue) }}\r\n                className={`${classes.afilliateSelectTurn}`}\r\n                value={modelAppointment?.especialidadCodigo == \"\" ? \"NOMBRE DE LA ESPECIALIDAD\" : modelAppointment?.especialidadDescripcion}\r\n            />\r\n        );\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <div className={`${classes.drawerContainerTurn}`} style={{ marginLeft: screen.sWidth > 768 && '20px' }}>\r\n                <Typography className={classes.titleTurn} style={{ marginTop: \"20px\", marginLeft: 0 }}>\r\n                    {modelAppointment?.appointmentFlow === \"especialidad\"\r\n                        ? \"Turno por Especialidad / Presencial\"\r\n                        : \"Turno por Médico / Presencial\"\r\n                    }\r\n                </Typography>\r\n                {modelAppointment?.appointmentFlow === \"especialidad\" ?\r\n                    <div className={classes.appointmentsAutocompleteContainer}>\r\n                        {(groupSpecialties?.length > 0 && !openModal) ?\r\n                            <>\r\n                                <Typography className={classes.appointmentsAutocompleteLabels}>\r\n                                    Escribí el nombre de la especialidad\r\n                                </Typography>\r\n                                {specialtiesAutocomplete(groupSpecialties)}\r\n                                {modelAppointment?.especialidadCodigo == \"\" && <span className={classes.spanError} style={{ width: \"auto\" }} >*Complete el campo</span>}\r\n                            </>\r\n                            :\r\n                            <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                                <CircularProgress />\r\n                            </div>\r\n                        }\r\n                    </div>\r\n                    :\r\n                    <div className={classes.appointmentsAutocompleteContainer}>\r\n                        {(groupDoctors?.length > 0 && !openModal) ?\r\n                            <>\r\n                                <Typography className={classes.appointmentsAutocompleteLabels}>\r\n                                    Escribí el nombre del profesional\r\n                                </Typography>\r\n                                <Autocomplete\r\n                                    freeSolo\r\n                                    clearText={'Borrar'}\r\n                                    loading={isLoading}\r\n                                    loadingText={error == '' ? 'Buscando profesionales...' : error}\r\n                                    noOptionsText={'No hay opciones'}\r\n                                    open={hasDoctorFocus}\r\n                                    onFocus={handleFocusDoctorChange}\r\n                                    onBlur={handleFocusDoctorChange}\r\n                                    clearOnEscape={false}\r\n                                    renderInput={(params) => (\r\n                                        <TextField {...params} className={`${classes.afilliateSelectTurn}`} variant=\"outlined\" />\r\n                                    )}\r\n                                    options={groupDoctors}\r\n                                    onInputChange={(e, newValue) => { handleChangeDoctors(e, newValue) }}\r\n                                    className={`${classes.afilliateSelectTurn}`}\r\n                                    value={modelAppointment?.medicoCodigo == \"\" ? \"NOMBRE DEL PROFESIONAL\" : modelAppointment?.medicoDescripcion}\r\n                                />\r\n                                {modelAppointment?.medicoCodigo == \"\" && <span className={classes.spanError} style={{ width: \"auto\" }}>*Complete el campo</span>}\r\n\r\n                                {(modelAppointment?.medicoCodigo !== \"\" && modelAppointment?.medicoCodigo !== undefined && specialtiesByDoctor?.length > 1) &&\r\n                                    <>\r\n                                        <Typography className={classes.appointmentsAutocompleteLabels}>\r\n                                            Escribí el nombre de la especialidad\r\n                                        </Typography>\r\n                                        {specialtiesAutocomplete(specialtiesByDoctor)}\r\n                                        {modelAppointment?.especialidadCodigo == \"\" && <span className={classes.spanError} style={{ width: \"auto\" }} >*Complete el campo</span>}\r\n                                    </>\r\n                                }\r\n                            </>\r\n                            :\r\n                            <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                                <CircularProgress />\r\n                            </div>\r\n                        }\r\n                    </div>\r\n                }\r\n\r\n            </div>\r\n\r\n            { openModal && appointmentFlowPopUp() }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default FlowSpecialtyListDrawer;\r\n","import AskTurnDrawer from \"./AskTurnDrawer\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport MedicalCenterDrawer from \"./MedicalCenterDrawer\";\r\nimport PhoneShiftsDrawer from \"./PhoneShiftsDrawer\";\r\nimport SpecialtyList from \"./SpecialtyListDrawer\";\r\nimport NextAppointmentDrawer from \"./NextAppointmentDrawer\";\r\nimport SelectDateDrawer from \"./SelectDateDrawer/SelectDateDrawer\";\r\nimport { getMedicalCenters } from '../../redux/actions/appointmentsActions';\r\nimport { getShiftPhone } from \"../../redux/actions/phonesUtilsActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport ConfirmAppointmentDrawer from \"./ConfirmAppointmentDrawer\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Step3 from \"./Web/Step3\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport AppointmentsList from \"./AppointmentsList\";\r\nimport FlowSpecialtyListDrawer from \"./FlowSpecialtYListDrawer\";\r\n\r\nconst DrawerAppointmentsSteps = (props) => {\r\n    const { activeStep, setActiveStep, handleOpenCancelModal, handleNext, handleBack, handleCloseDrawer, isWeb, specialistVisualizacion, setSpecialistVisualizacion } = props;\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const [resize, setResize] = useState('web');\r\n    const { modelAppointment } = useSelector(state => state.appointmentsReducer);\r\n    const medicalCenters = useSelector(state => state.medicalCenterReducer.medicalCenters.centrosMedicos);\r\n    const flow = modelAppointment?.appointmentFlow;\r\n\r\n    useEffect(() => {\r\n        if (screen.sWidth <= 768) {\r\n            setResize('mobile');\r\n        }\r\n    }, [screen.sWidth]);\r\n\r\n\r\n    const step3ComponentBySpecialistVisualizacion = () => {\r\n        if(specialistVisualizacion == \"TURNO WEB\"){\r\n            return <SelectDateDrawer titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleNext={handleNext} handleBack={handleBack} handleCloseDrawer={handleCloseDrawer} />\r\n        }\r\n        if(specialistVisualizacion == \"TURNO TELEFONICO\"){\r\n            return <PhoneShiftsDrawer titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleNext={handleNext} handleBack={handleBack} handleCloseDrawer={handleCloseDrawer} />\r\n        }\r\n        if(specialistVisualizacion === \"AGENDA SUSPENDIDA\"){\r\n            return (\r\n                <div style={{ display: \"flex \", justifyContent: \"center\", marginTop: \"40px\" }}>\r\n                    <Typography\r\n                        style={{ margin: \"10px\", color: \"#0075C9\" }}\r\n                    >\r\n                        No hay turnos disponibles\r\n                    </Typography>\r\n                </div>\r\n            );\r\n        }\r\n        if (specialistVisualizacion === \"DEMANDA ESPONTANEA\") {\r\n            return <SpecialtyList titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setSpecialistVisualizacion={setSpecialistVisualizacion}/>\r\n        }\r\n    }\r\n\r\n    const ShowStepsFunction = () => {\r\n        const DEFAULT_STEP = <AskTurnDrawer titles={props.titles} />;\r\n        const ACTIVE_STEPS = {\r\n            0: <AskTurnDrawer titles={props.titles} />,\r\n            1: <MedicalCenterDrawer titles={props.titles} />,\r\n            2: <SpecialtyList titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setSpecialistVisualizacion={setSpecialistVisualizacion}/>,\r\n            3: step3ComponentBySpecialistVisualizacion(),\r\n            4: <NextAppointmentDrawer titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleNext={handleNext} />,\r\n            5: <PhoneShiftsDrawer titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep}  handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} handleCloseDrawer={handleCloseDrawer}/>,\r\n            6: <ConfirmAppointmentDrawer titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleCloseDrawer={handleCloseDrawer} />\r\n        };\r\n\r\n        const ACTIVEWEB_STEPS = {\r\n            0: ACTIVE_STEPS[activeStep],\r\n            1: ACTIVE_STEPS[activeStep],\r\n            2: <Step3 titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleNext={handleNext} handleBack={handleBack} handleCloseDrawer={handleCloseDrawer} />,\r\n            3: <ConfirmAppointmentDrawer titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleCloseDrawer={handleCloseDrawer} />\r\n        };\r\n\r\n        const ACTIVE_DOCTOR_AND_SPECIALTY_STEPS = {\r\n            0: <AskTurnDrawer titles={props.titles} />,\r\n            1: <FlowSpecialtyListDrawer titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} />,\r\n            2: <AppointmentsList titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleNext={handleNext} medicalCenters={medicalCenters} />,\r\n            3: <ConfirmAppointmentDrawer titles={props.titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleCloseDrawer={handleCloseDrawer} />\r\n        };\r\n\r\n        let returnActiveStep = DEFAULT_STEP;\r\n\r\n        if (activeStep) {\r\n            if (isWeb) {\r\n                if (activeStep === 6) {\r\n                    setActiveStep(3);\r\n                }\r\n            } else {\r\n                if (activeStep === 2 && resize === 'web') {\r\n                    setActiveStep(2);\r\n                }\r\n                if (activeStep === 3 && resize === 'web') {\r\n                    setActiveStep(6);\r\n                }\r\n            }\r\n            switch (flow) {\r\n                case 'centro':\r\n                    returnActiveStep = isWeb ? ACTIVEWEB_STEPS[activeStep] : ACTIVE_STEPS[activeStep];\r\n                    break;\r\n                case 'especialidad':\r\n                    returnActiveStep = ACTIVE_DOCTOR_AND_SPECIALTY_STEPS[activeStep];\r\n                    break;\r\n                case 'medico':\r\n                    returnActiveStep = ACTIVE_DOCTOR_AND_SPECIALTY_STEPS[activeStep];\r\n                    break;\r\n                default:\r\n                    returnActiveStep = isWeb ? ACTIVEWEB_STEPS[activeStep] : ACTIVE_STEPS[activeStep];\r\n                    break;\r\n            }\r\n        }\r\n        return returnActiveStep;\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getMedicalCenters({ numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")) }));\r\n        dispatch(getShiftPhone());\r\n    }, []);\r\n\r\n    return <>\r\n        {ShowStepsFunction()}\r\n    </>;\r\n};\r\n\r\nexport default DrawerAppointmentsSteps;\r\n","import { Divider, Typography } from '@material-ui/core';\r\nimport React from 'react'\r\nimport DrawerAppointmentsSteps from './DrawerAppointmentsSteps';\r\nimport WizardLine from './WizardLine';\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport TopButtons from './Web/Buttons/TopButtons';\r\nimport { useResizeScreen } from '../../hooks/useResizeScreen';\r\n\r\nconst list = [\r\n    {\r\n        step0: \"\"\r\n    },\r\n    {\r\n        step1: \"\"\r\n    },\r\n    {\r\n        step2: \"\"\r\n    },\r\n    {\r\n        step3: \"\"\r\n    },\r\n];\r\n\r\nconst titles = [\r\n    {\r\n        title1: \"Elegir Afiliado\",\r\n    },\r\n    {\r\n        title2: \"Elegir modalidad de atención\",\r\n    },\r\n    {\r\n        title3: \"Elegir especialidad/profesional\",\r\n    },\r\n    {\r\n        title4: \"Centro Médico\",\r\n    },\r\n    {\r\n        title5: \"Elegir Centro Médico\",\r\n    },\r\n    {\r\n        title6: \"Turno telefónico\",\r\n    },\r\n    {\r\n        title7: \"Próximos turnos\",\r\n    },\r\n    {\r\n        title8: \"Próximo turno\",\r\n    },\r\n    {\r\n        title9: \"Confirmación\",\r\n    }\r\n];\r\n\r\nconst AskNewAppointment = (props) => {\r\n    const {\r\n        activeStepTurn, setActiveStepTurn, handleOpenCancelModalTurn,\r\n        handleBackTurn, handleNextTurn, handleCloseDrawerTurn,\r\n        setSpecialistVisualizacion, specialistVisualizacion\r\n    } = props;\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n\r\n    return (\r\n        <>\r\n            {screen.sWidth > 768 && activeStepTurn === 3 ?\r\n                <div className={classes.containerNewAppointment} >\r\n                    <DrawerAppointmentsSteps\r\n                        isWeb={true} open={true} titles={titles}\r\n                        activeStep={activeStepTurn} setActiveStep={setActiveStepTurn}\r\n                        handleOpenCancelModal={handleOpenCancelModalTurn}\r\n                        handleBack={handleBackTurn} handleNext={handleNextTurn}\r\n                        handleCloseDrawer={handleCloseDrawerTurn}\r\n                        setSpecialistVisualizacion={setSpecialistVisualizacion}\r\n                        specialistVisualizacion={specialistVisualizacion}\r\n                    />\r\n                </div>\r\n                :\r\n                <div className={classes.containerNewAppointment} >\r\n                    <TopButtons\r\n                        handleOpenCancelModalTurn={handleOpenCancelModalTurn}\r\n                        handleBackTurn={handleBackTurn}\r\n                        activeStepTurn={activeStepTurn}\r\n                        handleNextTurn={handleNextTurn}\r\n                        titleCancel={\"Cancelar\"}\r\n                        titleConfirm={\"Siguiente\"} />\r\n                    <WizardLine list={list} activeStep={activeStepTurn} />\r\n                    <div style={{ paddingTop: '10px' }}>\r\n                        <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ fontWeight: \"600\" }}>\r\n                            Nuevo turno\r\n                        </Typography>\r\n                    </div>\r\n                    <Divider className={classes.formDivider} />\r\n                    <DrawerAppointmentsSteps\r\n                        isWeb={true} open={true} titles={titles}\r\n                        activeStep={activeStepTurn} setActiveStep={setActiveStepTurn}\r\n                        handleOpenCancelModal={handleOpenCancelModalTurn} handleBack={handleBackTurn}\r\n                        handleNext={handleNextTurn} handleCloseDrawer={handleCloseDrawerTurn}\r\n                        setSpecialistVisualizacion={setSpecialistVisualizacion}\r\n                        specialistVisualizacion={specialistVisualizacion}\r\n                    />\r\n                </div>\r\n            }\r\n        </>\r\n    )\r\n}\r\n\r\nexport default AskNewAppointment\r\n","import useStyles from \"../../../assets/styles/styles\";\r\nimport { Typography } from \"@material-ui/core\";\r\n\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { cleanPerfilCompleto, getPerfilCompleto } from \"../../../redux/actions/medicalRecords\";\r\nimport ModalProfile from \"../../DialogProfile/Modal\";\r\nimport MedicalCard from \"../Card/MedicalCard\";\r\nimport { formatPhoneNumber } from \"../../../utils/utilsFunctions\";\r\n\r\nconst MedicalRecordContainer = ({ showMaps, maps }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const dispatch = useDispatch();\r\n    const {loading, cartilla, completeProfile} = useSelector((state) => state.cartillaReducer);\r\n    const [profileSelected, setProfileSelected] = useState(undefined);\r\n    const [open, setOpen] = useState(false);\r\n\r\n    const handleClick = (item, i) => (e) => {\r\n        dispatch(getPerfilCompleto({ PrestadorNumero: item.prestadorNumero }));\r\n        setOpen(true);\r\n    };\r\n\r\n    function cardStyles() {\r\n        let response = `${classes.newsRoot} ${classes.addListCard}`;\r\n        if (screen.sWidth <= '800') {\r\n            response = `${classes.imageListCard} ${classes.addListCardMobile}`;\r\n        }\r\n        return response;\r\n    }\r\n\r\n    function validFilter(isOpen) {\r\n        return isOpen ? \"blur(2px)\" : \" blur(0px)\";\r\n    }\r\n\r\n    useEffect(() => {\r\n        setProfileSelected(completeProfile);\r\n    }, [completeProfile]);\r\n\r\n    useEffect(() => {\r\n        !open && setProfileSelected(undefined);\r\n    },[open]);\r\n\r\n    useEffect(() => {\r\n        return (() => {\r\n            dispatch(cleanPerfilCompleto());\r\n        });\r\n    }, []);\r\n\r\n    return (\r\n        <>\r\n            {!maps &&\r\n                ((!loading && cartilla?.cartilla?.length > 0) ?\r\n                    <section>\r\n                        <div\r\n                            className={`${cardStyles()} ${classes.imageListChildren}`}\r\n                            style={{\r\n                                filter: validFilter(open),\r\n                                gap: '0px',\r\n                                display: 'grid',\r\n                                justifyItems: \"center\"\r\n                            }}\r\n\r\n                        >\r\n                            {cartilla?.cartilla?.map((item, i) => (<>\r\n                                <MedicalCard item={item} i={i} handleClick={handleClick} showMaps={showMaps} />\r\n                            </>\r\n                            ))}\r\n                        </div>\r\n                    </section>\r\n                    :\r\n                    <NotFound wsItem={cartilla?.cartilla} fullItem={cartilla} loading={loading} />\r\n                )\r\n            }\r\n            {open && (\r\n                profileSelected ?\r\n                    (<ModalProfile\r\n                        title={\r\n                            <>\r\n                                <Typography className={classes.titleDialogTitle}>\r\n                                    {completeProfile?.prestador?.prestadorRazonSocial}\r\n                                </Typography>\r\n                                <Typography className={classes.subTitleDialogTitle}>\r\n                                    {completeProfile?.prestador?.especialidad[0]?.especialidadDescripcion}\r\n                                </Typography>\r\n                            </>\r\n                        }\r\n                        description={\r\n                            <>\r\n                                <Typography paragraph className={classes.subParagraphDialog}>\r\n                                    DATOS DEL PRESTADOR {completeProfile?.prestador?.prestadorRazonSocial}\r\n                                </Typography>\r\n                                <Typography className={classes.titleDialogContent}>\r\n                                    TELEFONO:\r\n                                </Typography>\r\n                                { completeProfile?.prestador?.telefono?.length > 0 ?\r\n                                    completeProfile?.prestador?.telefono?.map((phone, i) => (\r\n                                        <Typography\r\n                                            key={i}\r\n                                            paragraph\r\n                                            className={classes.paragraphDialog}\r\n                                        >\r\n                                            <a\r\n                                                className={classes.linkDialog}\r\n                                                href={`tel:${phone?.telefonoNumero}`}\r\n                                            >\r\n                                                {formatPhoneNumber(phone?.telefonoNumero, true)}\r\n                                            </a>\r\n                                            <br />\r\n                                        </Typography>\r\n                                    ))\r\n                                    :\r\n                                    <Typography className={classes.paragraphDialog} style={{ marginBottom: '10px' }}>\r\n                                        NO HAY TELEFONO\r\n                                    </Typography>\r\n                                }\r\n                                <Typography className={classes.titleDialogContent}>\r\n                                    DIRECCION:\r\n                                </Typography>\r\n                                {completeProfile?.prestador?.direccion.map((locationValue, key) => (\r\n                                    <Typography\r\n                                        key={key}\r\n                                        paragraph\r\n                                        className={classes.paragraphDialog}\r\n                                    >\r\n                                        {locationValue?.domicilio} | {locationValue?.localidad} | {locationValue?.barrio}\r\n                                        <br />\r\n                                    </Typography>\r\n                                ))}\r\n                                <Typography className={classes.titleDialogContent}>\r\n                                    CORREO:\r\n                                </Typography>\r\n                                {\r\n                                    !completeProfile?.prestador?.mail.length > 0 &&\r\n                                    (\r\n                                        <Typography\r\n                                        paragraph\r\n                                        className={classes.paragraphDialog}>\r\n                                            NO HAY CORREO\r\n                                        <br />\r\n                                    </Typography>\r\n                                    )\r\n                                }\r\n                                {completeProfile?.prestador?.mail.map((mailValue, index) => (\r\n                                    <Typography\r\n                                        key={index}\r\n                                        paragraph\r\n                                        className={classes.paragraphDialog}\r\n                                    >\r\n                                        <a className={classes.linkDialog} href={`mailto:${mailValue?.mailDireccion}`}>\r\n                                            {mailValue?.mailDireccion}\r\n                                        </a>\r\n                                        <br />\r\n                                    </Typography>\r\n                                ))}\r\n                            </>\r\n                        }\r\n                        observation={\r\n                            <>\r\n                                <Typography className={classes.titleDialogContent}>\r\n                                    OBSERVACIONES:\r\n                                </Typography>\r\n                                {\r\n                                    !completeProfile?.prestador?.datoAdicional.length > 0 &&\r\n                                    (\r\n                                        <Typography\r\n                                        paragraph\r\n                                        className={classes.paragraphDialog}>\r\n                                            NO HAY OBSERVACIONES\r\n                                        <br />\r\n                                    </Typography>\r\n                                    )\r\n                                }\r\n                                {completeProfile?.prestador?.datoAdicional.map((observations, y) => (\r\n                                    <>\r\n                                        {observations?.titulo === \"OBSERVACIONES\" && (\r\n                                            <Typography\r\n                                                key={y}\r\n                                                paragraph\r\n                                                className={classes.paragraphDialog}\r\n                                            >\r\n                                                {observations?.detalle}\r\n                                                <br />\r\n                                            </Typography>\r\n                                        )}\r\n                                    </>\r\n                                ))}\r\n                            </>\r\n                        }\r\n                        specialties={\r\n                            <>\r\n                                <Typography className={classes.titleDialogContent}>\r\n                                    ESPECIALIDADES:\r\n                                </Typography>\r\n                                {completeProfile?.prestador?.especialidad.map((especialidadValue, z) => (\r\n                                    <>\r\n                                        <Typography key={z} className={classes.paragraphDialog}>\r\n                                            {especialidadValue?.especialidadDescripcion}\r\n                                        </Typography>\r\n                                    </>\r\n                                ))}\r\n                            </>\r\n                        }\r\n                        open={open}\r\n                        onClose={setOpen}\r\n                    />)\r\n                :\r\n                <NotFound wsItem={completeProfile?.prestador} fullItem={completeProfile} />\r\n            )\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default MedicalRecordContainer;","import * as actionTypes from '../consts/actionTypes';\r\n\r\nexport function setAuthorizationDetails(param) {\r\n    return {\r\n        type: actionTypes.SET_AUTHORIZATION_DETAILS,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getAuthorizationDetails() {\r\n    return {\r\n        type: actionTypes.GET_AUTHORIZATION_DETAILS,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function getAuthorizationDetailsSuccess(model) {\r\n    return {\r\n        type: actionTypes.GET_AUTHORIZATION_DETAIL,\r\n        payload: model\r\n    };\r\n}\r\n\r\nexport function getComments(param) {\r\n    return {\r\n        type: actionTypes.GET_COMMENTS,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function pushComments(comment) {\r\n    return {\r\n        type: actionTypes.PUSH_COMMENTS,\r\n        payload: comment\r\n    };\r\n}\r\n\r\nexport function getReadComments(param) {\r\n    return {\r\n        type: actionTypes.GET_READ_COMMENTS,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getAuthorizationsDetials() {\r\n    return {\r\n        type: actionTypes.GET_AUTHORIZATIONS_DETAILS,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function setModelAuthRequest(param) {\r\n    return {\r\n        type: actionTypes.SET_MODEL_AUTH_REQUEST,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function clearModelAuthRequest() {\r\n    return {\r\n        type: actionTypes.CLEAR_MODEL_REQUEST,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function clearModelDetails() {\r\n    return {\r\n        type: actionTypes.CLEAR_MODEL_DETAILS_AUTH,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function clearHistorialAuthRequest() {\r\n    return {\r\n        type: actionTypes.CLEAR_HISTORIAL_REQUEST,\r\n        payload: ''\r\n    };\r\n}\r\n\r\n\r\nexport function getStepCountAuthorizationsRequest() {\r\n    return {\r\n        type: actionTypes.GET_STEPS_AUTH_REQUEST,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function setActualStepAuthorizationsRequest(actualStep) {\r\n    return {\r\n        type: actionTypes.SET_ACTUAL_STEP_AUTH_REQUEST,\r\n        payload: actualStep\r\n    };\r\n}\r\n\r\nexport function setNextStepAuthorizationsRequest(step) {\r\n    return {\r\n        type: actionTypes.NEXT_STEP_AUTH_REQUEST,\r\n        payload: step\r\n    };\r\n}\r\n\r\nexport function setPrevStepAuthorizationsRequest(step) {\r\n    return {\r\n        type: actionTypes.PREV_STEP_AUTH_REQUEST,\r\n        payload: step\r\n    };\r\n}\r\nexport function getTypeAttached(param) {\r\n    return {\r\n        type: actionTypes.GET_AUTHORIZATIONS_TYPEATTACHED,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getParamsAuthRequest() {\r\n    return {\r\n        type: actionTypes.GET_PARAMS_AUTH_REQUEST,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function getAttached(param) {\r\n    return {\r\n        type: actionTypes.GET_AUTHORIZATIONS_ATTACHED,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function postAttached(param) {\r\n    return {\r\n        type: actionTypes.POST_AUTHORIZATIONS_ATTACHED,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function postRequest(param) {\r\n    return {\r\n        type: actionTypes.POST_AUTHORIZATIONS_REQUEST,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getAuthorizationAffiliate(param) {\r\n    return {\r\n        type: actionTypes.GET_AUTHORIZATIONS_AFFILIATE,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function downloadAttachments(param) {\r\n    return {\r\n      type: actionTypes.DOWNLOAD_ATTACHMENTS,\r\n      payload: param,\r\n    };\r\n}\r\n\r\nexport function downloadAuthorization(param) {\r\n    return {\r\n      type: actionTypes.DOWNLOAD_AUTHORIZATION,\r\n      payload: param,\r\n    };\r\n  }\r\n\r\nexport function cancelAuthorizationRequest(param) {\r\n    return {\r\n        type: actionTypes.CANCEL_AUTHORIZATION,\r\n        payload: param\r\n    };\r\n}\r\n","import React from \"react\";\r\nimport { clearModelAuthRequest, setModelAuthRequest } from '../../../../redux/actions/authorizationsActions';\r\nimport { useHistory } from \"react-router\";\r\nimport CustomButton from '../../../../controls/Button/CustomButton';\r\nimport useStyles from '../../../../assets/styles/styles';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Typography } from '@material-ui/core';\r\nimport ModalProfile from \"../../../../components/DialogProfile/Modal\";\r\n\r\n\r\nconst MobileAuthorizationsButtons = ({ openCancelModal, setOpenCancelModal, handleNext, activeStep }) => {\r\n    const dispatch = useDispatch();\r\n    const history = useHistory();\r\n    const classes = useStyles();\r\n\r\n    const handleCancelModal = () => {\r\n        setOpenCancelModal(prevState => !prevState);\r\n    };\r\n\r\n    const handleClose = () => {\r\n        dispatch(clearModelAuthRequest());\r\n        dispatch(setModelAuthRequest({}))\r\n        history.push('/Authorizations');\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <ModalProfile\r\n                type='cancel'\r\n                title={<div style={{ display: 'flex', justifyContent: 'center' }}>Cancelar autorización</div>}\r\n                observation={\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        <Typography>¿Está seguro que desea salir?</Typography>\r\n                    </div>\r\n                }\r\n                description={\r\n                    <div style={{ display: 'flex', justifyContent: 'space-evenly' }}>\r\n                        <CustomButton\r\n                            className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n                            title={\"Si\"}\r\n                            onClick={handleClose}\r\n                        />\r\n                        <CustomButton\r\n                            customClass={`${classes.buttonNotConfirmModal}`}\r\n                            title={\"No\"}\r\n                            onClick={handleCancelModal}\r\n                        />\r\n                    </div>\r\n                }\r\n                onClose={setOpenCancelModal}\r\n                open={openCancelModal}\r\n            />\r\n\r\n            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                <CustomButton\r\n                    customClass={`${classes.whiteAndBlueBtn} ${classes.fontBold}`}\r\n                    title={'Cancelar'}\r\n                    onClick={handleCancelModal}\r\n                    style={{ minWidth: \"100px\" }}\r\n                />\r\n                <CustomButton\r\n                    customClass={`${classes.lightLinearGradient} ${classes.fontBold}`}\r\n                    title={activeStep === 2 ? 'Confirmar' : 'Siguiente'}\r\n                    onClick={handleNext}\r\n                    style={{ minWidth: \"100px\", fontSize: \"12px\" }}\r\n                />\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default MobileAuthorizationsButtons;\r\n","import { Accordion, AccordionDetails, AccordionSummary, FormControl, FormHelperText, IconButton, Typography } from \"@material-ui/core\";\r\nimport React, { Fragment, useEffect, useRef, useState } from \"react\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport AttachFileOutlinedIcon from '@material-ui/icons/AttachFileOutlined';\r\nimport useStyles from '../../../../assets/styles/styles.js';\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport { useResizeScreen } from \"../../../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../../../controls/Button/CustomButton.jsx\";\r\nimport ModalActivities from \"../../../DialogActivities/ModalActivities.jsx\";\r\nimport UploadModal from \"../../../../controls/UploadModal/UploadModal.jsx\";\r\nimport ConfirmModal from \"../../../PersonalData/ConfirmModal.jsx\";\r\nimport { deleteFile, validate } from \"../../../../utils/utilsFunctions.js\";\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport CustomSelect from \"../../../../controls/Select/CustomSelect.jsx\";\r\nimport { format } from \"date-fns\";\r\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { setActualStepAuthorizationsRequest, setModelAuthRequest, setNextStepAuthorizationsRequest } from \"../../../../redux/actions/authorizationsActions.js\";\r\nimport TopButtons from \"../../../AskTurn/Web/Buttons/TopButtons.jsx\";\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport FrequentQuestionsButton from \"../../FrequentQuestionsButtons.jsx\";\r\nimport MobileAuthorizationsButtons from \"./MobileAuthorizationsButtons.jsx\";\r\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\r\nimport LineBreakInput from \"../../../../controls/InputCustom/LineBreakInput.jsx\";\r\n\r\n\r\nconst listSelect = [\r\n    { value: 0, label: \"Orden\" },\r\n    { value: 1, label: \"Prescripcion\" },\r\n];\r\n\r\nconst Step2 = ({ activeStep, handleOpenCancelModal, handleBack, setActiveStep }) => {\r\n    const [listTypeAttached, setListTypeAttached] = useState([{ value: 0, label: '' }]);\r\n    const [typeAttachedSelected, setTypeAttachedSelected] = useState('');\r\n    const [listAttached, setListAttached] = useState([]);\r\n    const [files, setFiles] = useState([]);\r\n    const [openModalRemove, setOpenModalRemove] = useState(false);\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const inputFile = useRef();\r\n    const [hide, setHide] = useState(false);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [error, setError] = useState({});\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [txtObservation, setTxtObservation] = useState('');\r\n    const [itemRemove, setItemRemove] = useState({});\r\n    const paramsAuthorizations = useSelector((state) => state.authorizationsReducer?.params);\r\n    const authSelector = useSelector((state) => state.authorizationsReducer?.modelRequest);\r\n    const [modelRequest, setModelRequest] = useState(authSelector);\r\n    const dispatch = useDispatch();\r\n    const [allFiles, setAllFiles] = useState([]);\r\n    const [labelTypeAttachedSelected, setLabelTypeAttachedSelected] = useState('');\r\n    const [attachmentRequired, setAttachmentRequired] = useState({});\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n    const [manyFilesModal, setManyFilesModal] = useState(false);\r\n    const [ sameFile, setSameFile ] = useState(false);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const [cancelModal, setCancelModal] = useState(false);\r\n    const [counterLength, setCounterLength] = useState(0);\r\n\r\n\r\n    const handleAddAttachment = () => {\r\n        if (files.length === 0) {\r\n            if (screen.sWidth > 768) {\r\n                inputFile?.current?.click();\r\n            }\r\n            else {\r\n                setOpenModal(true);\r\n            }\r\n        }\r\n    };\r\n\r\n    const handleChangeSelect = () => e => {\r\n        const { name, value } = e.target;\r\n        let auxSelected = listTypeAttached.filter(x => x.value === value);\r\n        setLabelTypeAttachedSelected(auxSelected);\r\n        setTypeAttachedSelected(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleRemove = () => {\r\n        let attachedDeleteItem = listAttached?.filter(x => x.nombre !== itemRemove?.nombre);\r\n        let filesDeleteItem = files?.filter(x => x.archivoNombre !== itemRemove?.nombre);\r\n        setListAttached(attachedDeleteItem);\r\n        setAllFiles(filesDeleteItem);\r\n        setFiles(filesDeleteItem);\r\n        let filesModel = JSON.parse(modelRequest?.adjuntos);\r\n        let newFilesToSend = filesModel?.filter(filesToSend => filesToSend?.archivoNombre !== itemRemove?.nombre);\r\n        setModelRequest(prevState => ({ ...prevState, 'adjuntos': JSON.stringify(newFilesToSend) }));\r\n        setOpenModalRemove(false);\r\n    };\r\n\r\n    const handleUpload = (e) => {\r\n        let alertGreatSize = \"\";\r\n        var filesUpload = e.target.files;\r\n        for (let file of filesUpload) {\r\n            let size = (file.size / 1024);\r\n            if (\r\n                size < parseInt(configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor) * 1000\r\n            ) {\r\n                let adj = {\r\n                    archivoNombre: file.name.substring(0, file.name.lastIndexOf(\".\")),\r\n                    archivoExtension: file.name.substring(file.name.lastIndexOf(\".\") + 1),\r\n                    archivoNombreCompleto: file.name,\r\n                    archivoTamanio: parseInt(size),//KB\r\n                    archivo: null,//new Blob([file],{type: file.type}),\r\n                    archivoClasificacion: 0,\r\n                };\r\n\r\n                let exists = listAttached?.filter(x => x?.nombre?.trim() == adj?.archivoNombre?.trim());\r\n\r\n                if(exists?.length > 0) {\r\n                    setSameFile(true);\r\n                } else {\r\n                    const reader = new FileReader();\r\n                    reader.onloadend = () => {\r\n                        adj.archivo = reader.result?.split(',').pop();\r\n                        setFiles([...files, adj]);\r\n                        setHide(true);\r\n                    };\r\n                    reader.readAsDataURL(file);\r\n                }\r\n            } else {\r\n                alertGreatSize = alertGreatSize + \" \" + file.name;\r\n            }\r\n        }\r\n        if (alertGreatSize != \"\") {\r\n            setModalTitle('Atención');\r\n            setModalDescription(\r\n                `Los archivos: ${alertGreatSize} superan el tamaño máximo.\r\n                Asegurese de que los archivos no superen los ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB`\r\n            );\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass(classes.backgroundError);\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        e.target.value = null;\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n\r\n        if (validateFiles(files) && validateSelect(typeAttachedSelected)) {\r\n            let dateNow = Date.now();\r\n            setFiles([...files, { archivoClasificacion: typeAttachedSelected, archivoObservacion: txtObservation, archivoTipo: labelTypeAttachedSelected }]);\r\n            let lenFiles = files.length - 1;\r\n            let auxFile = files[lenFiles];\r\n            auxFile.archivoClasificacion = typeAttachedSelected;\r\n            auxFile.archivoObservacion = txtObservation;\r\n            auxFile.archivoTipo = labelTypeAttachedSelected;\r\n            let aux = [...allFiles, auxFile];\r\n            setModelRequest(prevState => ({ ...prevState, 'adjuntos': JSON.stringify(aux) }));\r\n            let type = listTypeAttached.find(x => x.value == typeAttachedSelected);\r\n            let listAux = listAttached;\r\n            let newItemList = {\r\n                nombre: files[0]?.archivoNombre,\r\n                fecha: format(dateNow, \"dd/MM/yyyy\"),\r\n                tipo: type?.label,\r\n                observacion: txtObservation,\r\n                delete: true\r\n            };\r\n            if (Object.values(attachmentRequired)?.length > 0) {\r\n                let requiredAttachments = attachmentRequired;\r\n                setAttachmentRequired(requiredAttachments);\r\n            }\r\n            listAux.push(newItemList);\r\n            setListAttached(listAux);\r\n            setAllFiles([...allFiles, auxFile]);\r\n            cleanStates();\r\n\r\n            listAttached?.length <= 3 ? setOpenConfirm(prevState => !prevState) : setManyFilesModal(prevState => !prevState);\r\n            \r\n        }\r\n    };\r\n\r\n    const handleChangeText = (e) => {\r\n        const { value } = e.target;\r\n        if (value.length <= 200) {\r\n            setTxtObservation(value);\r\n            setCounterLength(value.length);\r\n        };\r\n    };\r\n\r\n    const handleModalRemove = (attached) => e => {\r\n        setItemRemove(attached);\r\n        setOpenModalRemove(true);\r\n    };\r\n\r\n    function validateSelect(select) {\r\n        let aux = [];\r\n        let validation = [];\r\n        let Obj = {};\r\n        Obj.selectAttached = select.toString() ? '' : '*Campo obligatorio';\r\n        aux = Obj;\r\n        if (Object.values(aux).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n        setError(aux);\r\n        return Object.values(validation).every((valid) => valid === true);\r\n    }\r\n\r\n    function cleanStates() {\r\n        setFiles([]);\r\n        setTxtObservation('');\r\n        setTypeAttachedSelected('');\r\n        setHide(false);\r\n    }\r\n\r\n    const handleNext = () => {\r\n        if (validateNextStep(authSelector)) {\r\n            let active = activeStep + 1;\r\n            setActiveStep(active);\r\n            dispatch(setActualStepAuthorizationsRequest(activeStep));\r\n            dispatch(setNextStepAuthorizationsRequest(active));\r\n        }\r\n    };\r\n\r\n    function validateNextStep(model) {\r\n        let validation;\r\n        let attachmentsToSend = model?.adjuntos !== undefined ? JSON.parse(model?.adjuntos) : [];\r\n\r\n        if (model?.attachmentRequired?.length > 0) {\r\n            if (model?.attachmentRequired?.length > attachmentsToSend?.length) {\r\n                validation = false;\r\n            } else {\r\n                validation = true;\r\n            }\r\n        } else {\r\n            validation = true;\r\n        }\r\n        return validation;\r\n    }\r\n\r\n    useEffect(() => {\r\n        let list = paramsAuthorizations?.tipoAdjuntos?.map((type) => {\r\n            return { value: parseInt(type?.tipoAdjuntosCodigo), label: type?.tipoAdjuntosDescripcion };\r\n        });\r\n        let requiredAttachments = {};\r\n        if (Object.values(authSelector).length > 0 && authSelector?.adjuntos !== undefined) {\r\n            let dateNow = Date.now();\r\n            let filesModel = JSON.parse(authSelector.adjuntos);\r\n            let listAttachedAux = [];\r\n            filesModel.map(item => {\r\n                const type = listTypeAttached.find(x => x.value === item.archivoTipo[0]?.value);\r\n                let aux = {\r\n                    nombre: item.archivoNombre,\r\n                    fecha: format(dateNow, \"dd/MM/yyyy\"),\r\n                    tipo: type?.label,\r\n                    observacion: item.archivoObservacion,\r\n                    delete: true\r\n                };\r\n                listAttachedAux.push(aux);\r\n            });\r\n            setListAttached(listAttachedAux);\r\n            setAllFiles(filesModel);\r\n        }\r\n        if (Object.values(authSelector?.attachmentRequired)?.length > 0) {\r\n            authSelector?.attachmentRequired?.map(item => {\r\n                requiredAttachments[item] = \"*Adjunto obligatorio\";\r\n            });\r\n            setAttachmentRequired(requiredAttachments);\r\n        }\r\n        setListTypeAttached(list);\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        dispatch(setModelAuthRequest(modelRequest));\r\n    }, [modelRequest]);\r\n\r\n    return (\r\n        <Fragment>\r\n            {screen.sWidth > 768 &&\r\n                <TopButtons handleOpenCancelModalTurn={handleOpenCancelModal} handleBackTurn={handleBack} activeStepTurn={activeStep} handleNextTurn={handleNext} titleCancel={\"Cancelar\"} titleConfirm={\"Siguiente\"} />\r\n            }\r\n            <Accordion style={{ boxShadow: 'none', marginTop: '30px' }}>\r\n                <AccordionSummary\r\n                    expandIcon={<ExpandMoreIcon />}\r\n                    aria-controls=\"panel1a-content\"\r\n                    id=\"panel1a-header\"\r\n                    style={{ borderBottom: '1px solid #e2e3e3' }}\r\n                >\r\n                    <AttachFileOutlinedIcon style={{ marginRight: \"5px\", backgroundColor: '#0075c9', color: '#ffffff', borderRadius: '15px', fontSize: '30px', padding: '5px' }} className={classes.iconFilter} />\r\n                    <span style={{ paddingLeft: '10px' }}>Adjuntos</span>\r\n                </AccordionSummary>\r\n                <AccordionDetails>\r\n                    {listAttached?.length > 0 ?\r\n                        <div className={classes.authorizationsAccordion}>\r\n                            <Typography className={classes.txtSubtitleCalendar} style={{ fontSize: \"16px\" }}>\r\n                                NOMBRE\r\n                            </Typography>\r\n                            {listAttached?.map((attached, i) => {\r\n                                return (\r\n                                    <>\r\n                                        <Accordion\r\n                                            key={i}\r\n                                            style={{ width: \"100%\" }}\r\n                                        >\r\n                                            <AccordionSummary\r\n                                                expandIcon={<ExpandMoreIcon />}\r\n                                                aria-controls=\"panel1a-content\"\r\n                                                id=\"panel1a-header\"\r\n                                                classes={{ content: classes.width100 }}\r\n                                            >\r\n                                                <div style={{ width: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", overflow: \"hidden\" }}>\r\n                                                    <Typography className={classes.txtEllipsis}>\r\n                                                        {attached?.nombre}\r\n                                                    </Typography>\r\n                                                </div>\r\n                                                <div style={{ width: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginLeft: \"20px\" }}>\r\n                                                    <Typography className={classes.txtSubtitleCalendar}>\r\n                                                        {attached?.fecha}\r\n                                                    </Typography>\r\n                                                    {attached?.delete &&\r\n                                                        <div style={{ display: \"flex\" }}>\r\n                                                            <IconButton\r\n                                                                className={classes.padding0}\r\n                                                                onClick={handleModalRemove(attached)}\r\n                                                            >\r\n                                                                < DeleteOutlineIcon />\r\n                                                            </IconButton>\r\n                                                        </div>\r\n                                                    }\r\n                                                </div>\r\n                                            </AccordionSummary>\r\n                                            <AccordionDetails >\r\n                                                {<>\r\n                                                    <div className={classes.displayFlex}>\r\n                                                        <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>Tipo de archivo: </Typography>\r\n                                                        <Typography style={{ marginLeft: '5px' }} className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`}>\r\n                                                            {attached?.tipo}\r\n                                                        </Typography>\r\n\r\n                                                    </div>\r\n                                                    <div className={classes.displayFlex}>\r\n                                                        <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>Observaciones / comentarios: </Typography>\r\n                                                        <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`} style={{ marginLeft: '5px' }}>\r\n                                                            {attached?.observacion ? attached?.observacion : \"No hay observaciones\"}\r\n                                                        </Typography>\r\n                                                    </div>\r\n                                                </>}\r\n                                            </AccordionDetails>\r\n                                        </Accordion>\r\n                                    </>);\r\n                            })}\r\n                        </div>\r\n                        :\r\n                        <Typography style={{ marginTop: \"20px\", fontSize: \"16px\", textAlign: \"center\" }}>\r\n                            NO HAY ADJUNTOS\r\n                        </Typography>\r\n                    }\r\n                </AccordionDetails>\r\n            </Accordion>\r\n            <section style={{ display: 'flex', flexDirection: \"column\", alignItems: \"center\", paddingTop: '20px' }}>\r\n\r\n                <div style={{ display: 'flex' , alignItems: 'center' }}>\r\n                    <CustomButton title={\"Nuevo adjunto\"}\r\n                        onClick={handleAddAttachment}\r\n                        style={{ height: \"25px\", padding: '16px' }}\r\n                        icon={<AddCircleIcon style={{ marginRight: \"5px\" }} />}\r\n                        customClass={`${classes.txtMobile} ${classes.lightLinearGradient}`}\r\n                    />\r\n                    {\r\n                        screen.sWidth > 768 &&\r\n                        <FrequentQuestionsButton />\r\n                    }\r\n                </div>\r\n\r\n                {Object.values(attachmentRequired)?.some(x => x !== '') &&\r\n                    <FormHelperText className={classes.errorText} style={{ marginTop: screen.sWidth < 768 && '20px' }}>\r\n                        Debe adjuntar los siguientes archivos:\r\n                        {Object.entries(attachmentRequired)?.map(item => {\r\n                            return (\r\n                                <div key={item}>\r\n                                    * {item[0]}\r\n                                </div>\r\n                            );\r\n                        })}\r\n                    </FormHelperText>\r\n                }\r\n                <FormControl style={{ paddingTop: '20px', paddingBottom: '20px' }} variant=\"standard\" className={classes.widthMobile}>\r\n                    <Typography className={classes.textTitleTurn} style={{ fontSize: '13px', margin: '5px 7px' }}>Tipo de archivo </Typography>\r\n                    <CustomSelect\r\n                        label=''\r\n                        name={'selectAttached'}\r\n                        className={`${classes.selectAuthorizations}`}\r\n                        list={listTypeAttached === undefined ? listSelect : listTypeAttached}\r\n                        selected={typeAttachedSelected}\r\n                        onChange={handleChangeSelect()}\r\n                    />\r\n                    <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.selectAttached}</FormHelperText>\r\n                </FormControl>\r\n            </section>\r\n            {files.length !== 0 && hide &&\r\n                <>\r\n                    <section\r\n                        style={{ display: 'flex', flexDirection: \"column\", alignItems: \"center\", paddingTop: '20px' }}\r\n                    >\r\n                        {files?.map((file, i) => (\r\n                            <div key={i} style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }} className={`${classes.txtSubtitleCalendar}`}>\r\n                                <p className={`${classes.txtEllipsis}`}>\r\n                                    {file?.archivoNombre}\r\n                                </p>\r\n                                <IconButton\r\n                                    onClick={deleteFile(fileButtons, setFileButtons, setFiles, files, file?.btnNombre, file?.archivoNombre)}>\r\n                                    <HighlightOffIcon />\r\n                                </IconButton>\r\n                            </div>\r\n                        ))}\r\n                        <FormControl variant=\"standard\" className={classes.widthMobile}>\r\n                            <Typography className={classes.textTitleTurn} style={{ fontSize: '13px', margin: '5px 7px' }}>Observaciones</Typography>\r\n                            <LineBreakInput\r\n                                formControlClass={`${classes.txtObservations}`}\r\n                                inputLabelClass={classes.txtLabelComments}\r\n                                customClass={classes.txtBoxObservation}\r\n                                name=\"observacion\"\r\n                                placeholder='Escribí tu comentario aquí...'\r\n                                onChange={handleChangeText}\r\n                                multiline\r\n                                style={{\r\n                                    borderRadius: 29,\r\n                                    position: 'relative',\r\n                                    border: '1px solid #ced4da', \r\n                                    fontSize: 16,\r\n                                    minWidth: '224px !important',\r\n                                    margin: '0 0 7px 0',\r\n                                    textOverflow: 'ellipsis',\r\n                                    overflow: 'hidden',\r\n                                    whiteSpace: \"nowrap\",\r\n                                  }}\r\n                                rows={5}\r\n                                inputProps={{ maxLength: 200 }}\r\n                            />\r\n                        <Typography variant=\"caption\" style={{ marginLeft: screen.sWidth < 768 ? \"240px\" : '450px', }}>{counterLength}/200</Typography>\r\n                        </FormControl>\r\n                        <CustomButton title={\"ADJUNTAR\"} onClick={handleSubmit}\r\n                            style={{\r\n                                height: \"25px\",\r\n                                fontSize: \"12px\",\r\n                                fontWeight: \"600\",\r\n                                margin: \"50px\",\r\n                            }}\r\n                            customClass={`${classes.customHeaderBtn} ${classes.btnAttached} ${classes.lightLinearGradientReverse} ${classes.txtMobile}`}\r\n                        />\r\n                    </section>\r\n                </>\r\n            }\r\n\r\n            <ConfirmModal\r\n                description={\"No puede adjuntar dos archivos con el mismo nombre\"}\r\n                isOpen={sameFile}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n                setOpen={setSameFile}\r\n            />\r\n\r\n            <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription}\r\n            />\r\n\r\n            <UploadModal\r\n                title='Adjuntar archivo'\r\n                description=''\r\n                observation=''\r\n                open={openModal}\r\n                onClose={setOpenModal}\r\n                setModalTitle={setModalTitle}\r\n                setModalDescription={setModalDescription}\r\n                setModalIcon={setModalIcon}\r\n                setErrorClass={setErrorClass}\r\n                setOpenSendSuccess={setOpenSendSuccess}\r\n                listAttached={listAttached}\r\n                setFiles={setFiles}\r\n                setRepeatFile={setSameFile}\r\n                files={files}\r\n                fileButtons={fileButtons}\r\n                setFileButtons={setFileButtons}\r\n                hide={true}\r\n                setHide={setHide}\r\n            />\r\n            {\r\n                openModalRemove &&\r\n                <ModalActivities\r\n                    title={'Eliminar adjunto'}\r\n                    description={'¿Estás seguro que deseas eliminar el adjunto?'}\r\n                    open={openModalRemove}\r\n                    onClose={setOpenModalRemove}\r\n                    modalconfirm={true}\r\n                    modalLogout={false}\r\n                    buttonType={'submit'}\r\n                    handleClick={handleRemove}\r\n                />\r\n            }\r\n            <ConfirmModal\r\n                isOpen={openConfirm}\r\n                setOpen={setOpenConfirm}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={\"El archivo se ha adjuntado con éxito.\"}\r\n            />\r\n\r\n            <ConfirmModal\r\n                isOpen={manyFilesModal}\r\n                setOpen={setManyFilesModal}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <ErrorOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={\"Se han cargado demasiados archivos, la solicitud podría demorar en completarse.\"}\r\n            />\r\n            <input ref={inputFile} type=\"file\" hidden id='upFile' onChange={handleUpload} name='upFileName' />\r\n            {screen.sWidth < 768 &&\r\n                <MobileAuthorizationsButtons\r\n                    cancelModal={cancelModal}\r\n                    setCancelModal={setCancelModal}\r\n                    handleNext={handleNext}\r\n                    activeStep={activeStep}\r\n                />\r\n            }\r\n        </Fragment>\r\n    );\r\n};\r\n\r\nexport default React.memo(Step2, (prevState, nextState) => {\r\n    return prevState.activeStep === nextState.activeStep;\r\n});\r\n\r\nconst validateFiles = (files) => {\r\n    let auxFiles = [];\r\n    let response = false;\r\n    if (auxFiles.length > 0) {\r\n        let aux = [];\r\n        files?.forEach(item => {\r\n            if (item?.adjuntoObligatorio === 'S') {\r\n                aux.push(auxFiles?.some(x => x === item.btnNombre));\r\n            }\r\n        });\r\n        if (aux.length > 0 && Object.values(aux)?.every(x => x === true)) {\r\n            response = true;\r\n        }\r\n    } else {\r\n        response = true;\r\n    }\r\n    return response;\r\n};","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport CustomSelect from \"../../../../controls/Select/CustomSelect\";\r\nimport Autocomplete from \"../../../../controls/Autocomplete/Autocomplete\";\r\nimport useStyles from '../../../../assets/styles/styles.js';\r\nimport { FormControl, FormHelperText, InputLabel, TextField, Typography } from \"@material-ui/core\";\r\nimport CustomizedInputs from \"../../../../controls/InputCustom/CustomizedInputs\";\r\nimport { LocalizationProvider, MobileDatePicker } from \"@material-ui/lab\";\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport { format } from \"date-fns\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getAuthorizationDetails, setActualStepAuthorizationsRequest, setModelAuthRequest, setNextStepAuthorizationsRequest } from \"../../../../redux/actions/authorizationsActions\";\r\nimport { getDataGroupFamily } from \"../../../../redux/actions/appointmentsActions\";\r\nimport Step2 from \"./Step2\";\r\nimport TopButtons from \"../../../AskTurn/Web/Buttons/TopButtons\";\r\nimport ModalActivities from \"../../../DialogActivities/ModalActivities\";\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport { useResizeScreen } from \"../../../../hooks/useResizeScreen\";\r\nimport { es } from \"date-fns/locale\";\r\nimport { getPracticas } from \"../../../../redux/actions/practicasActions\";\r\nimport MobileAuthorizationsButtons from \"./MobileAuthorizationsButtons\";\r\nimport LineBreakInput from \"../../../../controls/InputCustom/LineBreakInput.jsx\";\r\n\r\nconst campoItemList = [\r\n    { value: 1, label: 'Fecha Realización/Entrega' },\r\n    { value: 2, label: 'Lugar de Realización/Entrega' },\r\n    { value: 3, label: 'Teléfono de Afiliado' },\r\n    { value: 4, label: 'E-mail de Afiliado' },\r\n    { value: 5, label: 'Fecha Prescripción' },\r\n    { value: 6, label: 'Matrícula de Prescriptor' },\r\n    { value: 7, label: 'Nombre de Prescriptor' },\r\n    { value: 8, label: 'Teléfono de Prescriptor' },\r\n    { value: 9, label: 'E-mail de Prescriptor' },\r\n    { value: 10, label: 'Detalle de Prescripción' },\r\n\r\n];\r\n\r\nconst datosWS = [];\r\n\r\nconst Step1 = ({ activeStep, handleOpenCancelModal, handleBack, setActiveStep }) => {\r\n    const classes = useStyles();\r\n    const [listPrestaciones, setListPrestaciones] = useState([{ value: 0, label: '' }]);\r\n    const [prestacion, setPrestacion] = useState('');\r\n    const [listPracticas, setListPracticas] = useState([]);\r\n    const [camposValue, setCamposValue] = useState([{\r\n        campoItem: 0,\r\n        campoCaption: '',\r\n        campoValorDefault: '',\r\n        campoObligatorio: true,\r\n        campoAdjuntoObligatorio: true,\r\n        campoAdjuntoDetalle: ''\r\n    }]);\r\n    const dispatch = useDispatch();\r\n    const groupFamilyState = useSelector((state) => state?.appointmentsReducer?.groupFamilyTurn);\r\n    const authSelector = useSelector((state) => state?.authorizationsReducer?.modelRequest);\r\n    const paramsAuthorizations = useSelector((state) => state?.authorizationsReducer?.params);\r\n    const [groupFamily, setGroupFamily] = useState([{}]);\r\n    const [affiliate, setAffiliate] = useState('');\r\n    const [modelRequest, setModelRequest] = useState(authSelector);\r\n    const [error, setError] = useState({ TipoAutorizacionCodigo: '*Campo obligatorio', numeroPersona: '*Campo obligatorio' });\r\n    const [practica, setPractica] = useState('');\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [txtModal, setTxtModal] = useState({ title: '', description: '' });\r\n    const { screen } = useResizeScreen();\r\n    const configurationReduxState = useSelector(state => state?.configurationReducer?.allConfigurations?.configurations);\r\n    const practicas = useSelector((state) => state?.practicasReducer?.practices);\r\n    const [openCancelModal, setOpenCancelModal] = useState(false);\r\n    const [counterLength, setCounterLength] = useState(0);\r\n\r\n    useEffect(() => {\r\n        dispatch(getPracticas());\r\n    }, [activeStep]);\r\n\r\n    const getPracticasByPrestacion = (prestacionValue) => {\r\n        let prestacionesFiltered = listPrestaciones?.filter(x => x.value === prestacionValue)[0]?.label;\r\n        let practicasFiltered = practicas?.filter(y => y.tipoPrestacion === prestacionesFiltered);\r\n        let auxPracticas = [];\r\n        practicasFiltered[0]?.practices?.forEach((item, key) => {\r\n            let aux = { itemCodigo: key, itemDescripcion: item.value};\r\n            auxPracticas.push(aux);\r\n        })\r\n        setListPracticas(auxPracticas);\r\n    }\r\n\r\n    const handleChangeSelect = (e) => {\r\n        const { name, value } = e.target;\r\n        if (name === 'tipoPrestacion') {\r\n            getPracticasByPrestacion(value);\r\n            setPrestacion(value);\r\n            let err = error;\r\n            err[name] = '';\r\n            setError(err);\r\n        }\r\n    };\r\n\r\n    const handleChangeSelectPractica = (newValue) => {\r\n        setPractica(newValue.itemDescripcion);\r\n      };\r\n\r\n    const handleChangeInput = (item) => (e) => {\r\n        const { name, value } = e.target;\r\n        setValueInput(item, value, name);\r\n    };\r\n\r\n    const handleChangeObservations = () => (e) => {\r\n        const { name, value } = e.target;\r\n        if (value.length <= 200) {\r\n            setModelRequest(prevState => ({ ...prevState, [name]: value }));\r\n            setCounterLength(value.length);\r\n        };\r\n    };\r\n\r\n    const setValueInput = (item, value, name) => {\r\n        let aux = camposValue;\r\n        let err = error;\r\n        aux.filter(x => x.campoItem === item)[0].campoValorDefault = value;\r\n        if(value?.length < 1) {\r\n            err[item] = \"*Campo Obligatorio\"\r\n            setError(err);\r\n        } else {\r\n            err[item] = '';\r\n            setError(err);\r\n        }\r\n        setCamposValue(aux);\r\n        setModelRequest(prevState => ({ ...prevState, [name]: value }));\r\n\r\n\r\n        if(item == 5){ //Fecha de Orden Medica / Prescripcion\r\n            const dateValue = new Date(value);\r\n            const dateToday = new Date()\r\n\r\n            const diffTime = dateToday - dateValue; //segundos\r\n            const diffDays = diffTime / (1000 * 60 * 60 * 24);  //dias\r\n\r\n            if(diffDays < 0){\r\n                let err = error;\r\n                err[item] = '*No puede ser una fecha futura';\r\n                setError(err)\r\n            }\r\n\r\n            if(prestacion == 'M' && diffDays > 30){\r\n\r\n                let err = error;\r\n                err[item] = '*No puede ser una fecha con más de 30 días de anterioridad';\r\n                setError(err)\r\n            }\r\n            else if (diffDays > 60){\r\n                let err = error;\r\n                err[item] = '*No puede ser una fecha con más de 60 días de anterioridad';\r\n                setError(err)\r\n            }\r\n        }\r\n    };\r\n\r\n    const setName = (item) => {\r\n        const tipoAutorizacion = paramsAuthorizations?.tipoAutorizaciones?.filter(x => x.tipoAutorizacionCodigo == prestacion)[0]\r\n\r\n        const name = tipoAutorizacion.tipoAutorizacionCampos.filter(c => c.campoItem == item.campoItem)[0]?.campoCaption\r\n        \r\n        return name;\r\n    };\r\n\r\n    const handleChangeSelectAffiliate = (e) => {\r\n        const { value } = e.target;\r\n        setAffiliate(value);\r\n        setModelRequest(prevState => ({ ...prevState, numeroPersona: value }));\r\n        let err = error;\r\n        err.numeroPersona = '';\r\n        setError(err);\r\n    };\r\n\r\n    const handleNext = () => {\r\n        if (validateNextStep(modelRequest, error)) {\r\n            let active = activeStep + 1;\r\n            setActiveStep(active);\r\n            dispatch(setActualStepAuthorizationsRequest(activeStep));\r\n            dispatch(setNextStepAuthorizationsRequest(active));\r\n        }\r\n    };\r\n\r\n    function validateNextStep(model, errorModel) {\r\n        let responseFunction = false;\r\n        if (model?.TipoAutorizacionCodigo !== undefined) {\r\n            let auxSetError = {};\r\n            Object.entries(errorModel)?.forEach((item) => {\r\n                let name = item[0];\r\n                let value = item[1];\r\n                let response = {};\r\n                if (value.includes('*')) {\r\n                    response[name] = value;\r\n                } else {\r\n                    response[name] = '';\r\n                }\r\n                auxSetError[name] = response[name];\r\n            });\r\n            setError(auxSetError);\r\n\r\n            if (Object.values(auxSetError)?.every(x => x === '')) {\r\n                responseFunction = true;\r\n            }\r\n        } else {\r\n            setError({ ...errorModel, TipoAutorizacionCodigo: '*Campo Obligatorio' });\r\n        }\r\n        return responseFunction;\r\n    }\r\n\r\n    useEffect(() => {\r\n        dispatch(setModelAuthRequest(modelRequest));\r\n    }, [modelRequest]);\r\n\r\n    useEffect(() => {\r\n        setModelRequest(prevState => ({ ...prevState, 'practica': practica }));\r\n    }, [practica]);\r\n\r\n    useEffect(() => {\r\n        dispatch(getAuthorizationDetails());\r\n        dispatch(getDataGroupFamily({ numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")) }));\r\n        if (Object.values(authSelector).length > 0) {\r\n            let err = error;\r\n            setPrestacion(authSelector?.TipoAutorizacionCodigo);\r\n            setPractica(authSelector?.practica);\r\n            setAffiliate(authSelector?.numeroPersona);\r\n            err.numeroPersona = '';\r\n            setError(err);\r\n        }\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let aux = [];\r\n        let list = isFromService(paramsAuthorizations, datosWS);\r\n        list?.forEach(item => {\r\n            let auxItem = { value: item?.tipoAutorizacionCodigo, label: item?.tipoAutorizacionDescripcion };\r\n            aux.push(auxItem);\r\n        });\r\n        setListPrestaciones(aux);\r\n    }, [paramsAuthorizations]);\r\n\r\n    useEffect(() => {\r\n        let aux = [];\r\n        let params = isFromService(paramsAuthorizations, datosWS);\r\n        let prestacionModal = {\r\n            title: '',\r\n            description: ''\r\n        };\r\n        params?.filter(x => x.tipoAutorizacionCodigo === prestacion)?.forEach(item => {\r\n            prestacionModal.title = item?.tipoAutorizacionDescripcion;\r\n            prestacionModal.description = item?.tipoAutorizacionTextoDetalle;\r\n            item?.tipoAutorizacionCampos?.forEach(campo => {\r\n                let auxCampo = {\r\n                    campoItem: campo[\"campoItem\"],\r\n                    campoCaption: campo[\"campoCaption\"],\r\n                    campoValorDefault: authSelector[campo.campoCaption] ?? campo[\"campoValorDefault\"],\r\n                    campoObligatorio: campo[\"campoObligatorio\"],\r\n                    campoAdjuntoObligatorio: campo[\"campoAdjuntoObligatorio\"],\r\n                    campoAdjuntoDetalle: campo[\"campoAdjuntoDetalle\"],\r\n                };\r\n                aux.push(auxCampo);\r\n            });\r\n        });\r\n        let auxError = new Object();\r\n        let attachmentRequired = [];\r\n        aux?.forEach(item => {\r\n            if (authSelector[item.campoCaption]) {\r\n                let caption = item.campoCaption;\r\n                auxError[caption] = '';\r\n            } else {\r\n                if (item.campoObligatorio) {\r\n                    let caption = item.campoItem;\r\n                    auxError[caption] = '*Campo obligatorio';\r\n                }\r\n            }\r\n            if (item.campoAdjuntoObligatorio) {\r\n                attachmentRequired.push(item.campoAdjuntoDetalle);\r\n            }\r\n        });\r\n        let errPrestacion = '*Campo Obligatorio';\r\n        if (prestacion !== '') {\r\n            errPrestacion = '';\r\n        }\r\n        auxError.TipoAutorizacionCodigo = errPrestacion;\r\n        auxError.numeroPersona = error.numeroPersona ? '*Campo obligatorio' : '';\r\n        setError(auxError);\r\n        setCamposValue(aux);\r\n        setTxtModal(prestacionModal);\r\n        setModelRequest(prevState => ({ ...prevState, 'TipoAutorizacionCodigo': prestacion, 'attachmentRequired': attachmentRequired }));\r\n    }, [prestacion, listPrestaciones]);\r\n\r\n    useEffect(() => {\r\n        let listGroupFamily = groupFamilyState.map((item) => {\r\n            return { value: parseInt(item?.itemCodigo), label: item?.itemDescripcion };\r\n        });\r\n        setGroupFamily(listGroupFamily);\r\n    }, [groupFamilyState]);\r\n\r\n    function showPracticesInformation(condition) {\r\n        var response;\r\n        if(condition > 768) {\r\n            response = (\r\n                <FormControl className={classes.formControlCustomSelectAuthorizations} variant=\"standard\">\r\n                    <Autocomplete\r\n                        autocompleteProp='nope'\r\n                        label=\"PRACTICA\"\r\n                        name=\"practica\"\r\n                        option={listPracticas}\r\n                        onChange={(event, newValue) => handleChangeSelectPractica(newValue)}\r\n                        customClass={classes.enableTextField}\r\n                    />\r\n                    <div style={{ width: \"250px\", marginBottom: \"20px\" }}>\r\n                        <span style={{ fontSize: '0.7rem', color: '#0075c9', marginLeft: \"0px\" }}>\r\n                            Las siguientes prácticas generalmente no requieren autorización,\r\n                            verificar con el prestador. Si la práctica buscada no se encuentra en este listado,\r\n                            continuar con la solicitud.\r\n                        </span>\r\n                    </div>\r\n                </FormControl>\r\n            );\r\n        } else {\r\n            response = (\r\n                <FormControl className={classes.formControlCustomSelectAuthorizations} variant=\"standard\">\r\n                    <div style={{ width: \"250px\", marginBottom: \"20px\" }}>\r\n                        <span style={{ fontSize: '0.7rem', color: '#0075c9', marginLeft: \"0px\" }}>\r\n                            Las siguientes prácticas generalmente no requieren autorización,\r\n                            verificar con el prestador. Si la práctica buscada no se encuentra en este listado,\r\n                            continuar con la solicitud.\r\n                        </span>\r\n                    </div>\r\n                    <Autocomplete\r\n                        autocompleteProp='nope'\r\n                        label=\"PRACTICA\"\r\n                        name=\"practica\"\r\n                        option={listPracticas}\r\n                        onChange={(event, newValue) => handleChangeSelectPractica(newValue)}\r\n                        customClass={classes.enableTextField}\r\n                    />\r\n                </FormControl>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    \r\n    const observationsLabel = ({ sWidth }) => (\r\n        <span style={{ marginTop: \"-30px\", marginRight: sWidth < 768 ? \"155px\" :  \"360px\" }}>OBSERVACIONES</span>\r\n    );\r\n\r\n    const typeOfBenefitLabel = ({ sWidth }) => (\r\n        <span style={{ marginRight: sWidth < 768 ? \"0px\" :  \"0px\"}}>TIPO DE PRESTACION</span>\r\n    );\r\n\r\n\r\n    return (\r\n        <Fragment>\r\n            {screen.sWidth > 768 &&\r\n                <TopButtons handleOpenCancelModalTurn={handleOpenCancelModal} handleBackTurn={handleBack} activeStepTurn={activeStep} handleNextTurn={handleNext} titleCancel={\"Cancelar\"} titleConfirm={\"Siguiente\"} />\r\n            }\r\n            <div style={{ padding: \"20px\" }} >\r\n                <div className={classes.divStep2Refunds}>\r\n                    <FormControl className={`${classes.formControlCustomSelectAuthorizations} `} variant=\"standard\">\r\n                        <CustomSelect\r\n                            name='tipoPrestacion'\r\n                            required={true}\r\n                            label={\r\n                                typeOfBenefitLabel(screen)\r\n                            }\r\n                            list={listPrestaciones}\r\n                            onChange={handleChangeSelect}\r\n                            selected={prestacion}\r\n                        />\r\n                        <FormHelperText className={classes.errorText}>{error['TipoAutorizacionCodigo']}</FormHelperText>\r\n                    </FormControl>\r\n                    {(prestacion === \"A\" || prestacion === \"R\") &&\r\n                        showPracticesInformation(screen.sWidth)\r\n                    }\r\n                    <FormControl className={classes.formControlCustomSelectAuthorizations} variant=\"standard\">\r\n                        <CustomSelect\r\n                            name='afiliado'\r\n                            required={true}\r\n                            label='AFILIADO'\r\n                            list={groupFamily}\r\n                            onChange={handleChangeSelectAffiliate}\r\n                            selected={affiliate}\r\n                        />\r\n                        <FormHelperText className={classes.errorText}>{error['numeroPersona']}</FormHelperText>\r\n                    </FormControl>\r\n                    {(prestacion && paramsAuthorizations) && camposValue?.map((item, i) => {\r\n                        return (\r\n                            <Fragment key={i}>\r\n                                {item?.campoItem === 1 || item?.campoItem === 5 ?\r\n                                    <FormControl className={`${classes.formControlDatePickerAuthorizations}`} >\r\n                                        <FormControl className={classes.formControlStep2Authorizations}>\r\n                                            <InputLabel className={classes.inputLabelForms} style={{ top: \"15px !important \", marginLeft: \"-10px\", paddingBottom: '30px', paddingTop: '10px' }}  shrink htmlFor=\"bootstrap-input\">\r\n                                                {setName(item)}\r\n                                            </InputLabel>\r\n                                            <div style={{ marginTop: \"23px\", marginRight: '5px', marginLeft: '5px'}} className={`${classes.top22} ${classes.datePickerAuthorizations}`}>\r\n                                                <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}  >\r\n                                                    <MobileDatePicker\r\n                                                        cancelText=\"Cancelar\"\r\n                                                        required={false}\r\n                                                        toolbarTitle=\"\"\r\n                                                        format=\"dd/MM/YYYY\"\r\n                                                        value={item.campoValorDefault}\r\n                                                        onChange={(newValue) => { setValueInput(item.campoItem, newValue?.toISOString(), item?.campoCaption); }}\r\n                                                        renderInput={(params) => <TextField {...params} />}\r\n                                                    />\r\n                                                </LocalizationProvider>\r\n                                            </div>\r\n                                        </FormControl>\r\n                                        <FormHelperText className={classes.errorText}>{error[item?.campoItem]}</FormHelperText>\r\n                                    </FormControl>\r\n                                    :\r\n                                    <FormControl className={classes.formControlStep2Authorizations} style={{marginTop:\"-1px\", marginLeft:\"15px\"}} variant=\"standard\">\r\n                                        <CustomizedInputs\r\n                                            id=''\r\n                                            name={setName(item)}\r\n                                            value={item?.campoValorDefault}\r\n                                            onChange={handleChangeInput(item?.campoItem)}\r\n                                            style={{right:\"8px\"}}\r\n                                            label={setName(item)}\r\n                                        />\r\n                                        <FormHelperText className={classes.errorText}>{error[item?.campoItem]}</FormHelperText>\r\n                                    </FormControl>\r\n                                }\r\n                            </Fragment>\r\n                        );\r\n                    })}\r\n                    <FormControl variant=\"standard\" className={classes.widthMobile} style={{ width: \"100%\", marginTop:\"40px\", marginLeft: screen.sWidth < 768 ? \"25px\" :\"10px\" }}>\r\n                        <LineBreakInput\r\n                            formControlClass={`${classes.txtObservations}`}\r\n                            inputLabelClass={classes.txtLabelComments}\r\n                            customClass={classes.txtBoxObservation}\r\n                            name=\"observacion\"\r\n                            label={observationsLabel(screen)}\r\n                            placeholder='Escribe tu texto aqui'\r\n                            onChange={handleChangeObservations()}\r\n                            multiline\r\n                            style={{\r\n                                borderRadius: 29,\r\n                                position: 'relative',\r\n                                border: '1px solid #ced4da', \r\n                                fontSize: 16,\r\n                                minWidth: '224px !important',\r\n                                margin: '0 0 7px 0',\r\n                                textOverflow: 'ellipsis',\r\n                                overflow: 'hidden',\r\n                                whiteSpace: \"nowrap\",\r\n                            }}\r\n                            rows={5}\r\n                            inputProps={{ maxLength: 200 }}\r\n                        />\r\n                        <Typography variant=\"caption\" style={{ marginLeft: screen.sWidth < 768 ? \"190px\" : '450px', }}>{counterLength}/200</Typography>\r\n                    </FormControl>\r\n                </div>\r\n            </div>\r\n\r\n            {(screen.sWidth > 768 && activeStep === 1) &&\r\n                <Step2 activeStep={activeStep} />\r\n            }\r\n            {openModal &&\r\n                <ModalActivities\r\n                    title={\r\n                        <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap' }}>\r\n                            <CheckCircleIcon style={{ fontSize: \"50px\" }} className={classes.quickAccessIcon} />\r\n                            <div style={{ display: 'flex', justifyContent: 'center', flex: '1 1 100%' }}>\r\n                                <span>{txtModal?.title}</span>\r\n                            </div>\r\n                        </section>\r\n                    }\r\n                    description={\r\n                        <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'nowrap' }}>\r\n                            {configurationReduxState?.filter(x => x.id === 'popUpAutorizacionesPracticas')[0]?.valor}\r\n                        </section>}\r\n                    open={openModal}\r\n                    onClose={setOpenModal}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n            {screen.sWidth < 768 &&\r\n                <MobileAuthorizationsButtons\r\n                    openCancelModal={openCancelModal}\r\n                    setOpenCancelModal={setOpenCancelModal}\r\n                    handleNext={handleNext}\r\n                    activeStep={activeStep}\r\n                />\r\n            }\r\n        </Fragment>\r\n    );\r\n};\r\n\r\nexport default Step1;\r\n\r\n\r\nfunction isFromService(paramsAuthorizations, datosWs) {\r\n    let list = [];\r\n    if (Object.values(paramsAuthorizations)?.length > 0 && Object.values(paramsAuthorizations?.tipoAutorizaciones)?.length > 0) {\r\n        list = paramsAuthorizations?.tipoAutorizaciones;\r\n    } else {\r\n        list = datosWs[0]?.tipoAutorizaciones;\r\n    }\r\n    return list;\r\n}\r\n","import * as actionTypes from '../consts/actionTypes';\r\n\r\nexport function getPracticas() {\r\n    return {\r\n        type: actionTypes.GET_PRACTICAS,\r\n        payload: ''\r\n    };\r\n}","import { CircularProgress, FormControl, FormHelperText, IconButton, InputAdornment, Typography } from '@material-ui/core';\r\nimport React, { useEffect, useState, useLayoutEffect } from 'react';\r\nimport CustomizedInputs from '../../../../controls/InputCustom/CustomizedInputs';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport useStyles from \"../../../../assets/styles/styles\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport ModalActivities from \"../../../DialogActivities/ModalActivities\";\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { validate } from \"../../../../utils/utilsFunctions\";\r\n\r\nimport TopButtons from \"../../../AskTurn/Web/Buttons/TopButtons\";\r\nimport { useResizeScreen } from '../../../../hooks/useResizeScreen';\r\nimport { postRequest } from '../../../../redux/actions/authorizationsActions';\r\nimport { cleanMsgError } from '../../../../redux/actions/errorActions';\r\nimport MobileAuthorizationsButtons from './MobileAuthorizationsButtons';\r\n\r\nconst Step3 = (props) => {\r\n    const { handleOpenCancelModal, activeStep, handleBack } = props;\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const dispatch = useDispatch();\r\n    const [mail, setMail] = useState('');\r\n    const [phone, setPhone] = useState('');\r\n    const [disabledPhone, setDisabledPhone] = useState(true);\r\n    const [disabledEmail, setDisabledEmail] = useState(true);\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const authSelectorModel = useSelector((state) => state.authorizationsReducer?.modelRequest);\r\n    const requestSelector = useSelector((state) => state.authorizationsReducer?.postRequest);\r\n    const paramsAuthorizations = useSelector((state) => state.authorizationsReducer?.params);\r\n    const errorReduxState = useSelector((state) => state.authorizationsReducer?.msgError);\r\n\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [openModalError, setOpenModalError] = useState(false);\r\n    const [error, setError] = useState([]);\r\n    const [mailError, setMailError] = useState('');\r\n    const [model, setModel] = useState();\r\n    const [openModalConfirm, setOpenModalConfirm] = useState(false);\r\n    const today = new Date();\r\n    const [loading, setLoading] = useState(false);\r\n    const [cancelAuthorization, setCancelAuthorization] = useState(false);\r\n    const [filesQuantity, setFilesQuantity] = useState(undefined);\r\n\r\n    const handleChangePhone = () => e => {\r\n        const { name, value } = e.target;\r\n        setPhone(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleEditEmail = () => {\r\n        setDisabledEmail(prevState => !prevState);\r\n    };\r\n\r\n    const handleEditPhone = () => {\r\n        setDisabledPhone(prevState => !prevState);\r\n    };\r\n\r\n    useLayoutEffect(() => {\r\n        dispatch(cleanMsgError());\r\n\r\n        if (authSelectorModel?.adjuntos) {\r\n            setFilesQuantity(JSON.parse(authSelectorModel?.adjuntos));\r\n        }\r\n    }, [])\r\n\r\n    useEffect(() => {\r\n        let phoneUser = fullPersonalData?.fullData?.afiliado?.telefonos[0]?.telefono;\r\n        setPhone(phoneUser);\r\n        let mailUser = fullPersonalData?.fullData?.afiliado?.mails[0]?.mail.trim();\r\n        setMail(mailUser);\r\n    }, [fullPersonalData?.fullData?.afiliado]);\r\n\r\n    const handleNext = () => {\r\n        setterModel(model, setModel, authSelectorModel, phone, mail, today);\r\n        setOpenModalConfirm(true);\r\n    };\r\n\r\n    const handleSubmit = () => {\r\n        setLoading(true);\r\n        dispatch(postRequest(model));\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (requestSelector?.confirmacion) {\r\n            setOpenModalConfirm(false);\r\n            setOpenModal(true);\r\n            setLoading(false);\r\n        }\r\n        else if (!requestSelector?.confirmacion && requestSelector?.confirmacion != undefined) {\r\n            setOpenModalConfirm(false);\r\n            setOpenModalError(true);\r\n            setLoading(false);\r\n        }\r\n    }, [requestSelector]);\r\n\r\n    useEffect(() => {\r\n\r\n        if (loading && errorReduxState?.length > 0) {\r\n            setOpenModalConfirm(false);\r\n            setOpenModalError(true);\r\n            setLoading(false);\r\n        }\r\n\r\n    }, [errorReduxState]);\r\n\r\n    useEffect(() => {\r\n        if (openModal) {\r\n            setTimeout(() => { window.location.replace('/Authorizations'); }, 3000);\r\n        }\r\n    }, [openModal]);\r\n\r\n    const getPlazoHoras = () => {\r\n        const plazo = paramsAuthorizations?.tipoAutorizaciones?.filter(x => x.tipoAutorizacionCodigo == authSelectorModel.TipoAutorizacionCodigo)[0]?.tipoAutorizacionPlazo;\r\n\r\n        return plazo ? plazo : '48'\r\n    }\r\n\r\n    const handleSave = (e) => {\r\n        const isValid = validateEmail(mail)\r\n        if (isValid) {\r\n            setMailError('')\r\n            handleNext(e)\r\n        }\r\n        else {\r\n            setMailError('No cumple con el formato permitido: mail@mail.com');\r\n        }\r\n    }\r\n\r\n    const handleChangeMail = (e) => {\r\n        const { value } = e.target;\r\n\r\n        setMail(value);\r\n    };\r\n\r\n    const validateEmail = email => {\r\n        const regex = /[a-z0-9!#$%&'*{1,5}/=?^_`{|}~-]{1,5}(?:\\.[a-z0-9!#$%&'*{1,5}/=?^_`{|}~-]{1,5})*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.){1,5}[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.test(email);\r\n\r\n        return regex\r\n    }\r\n\r\n    return (\r\n        <>\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <>\r\n                    <TopButtons\r\n                        handleOpenCancelModalTurn={handleOpenCancelModal}\r\n                        handleBackTurn={handleBack}\r\n                        activeStepTurn={activeStep}\r\n                        handleNextTurn={handleSave}\r\n                        step={2}\r\n                        titleCancel={\"ANULAR SOLICITUD\"}\r\n                        titleConfirm={\"CREAR SOLICITUD\"} />\r\n                </>\r\n            }\r\n\r\n            <div className={classes.divConfirmAuthorization} >\r\n                <Typography className={classes.titleConfirmAuthorization}>Iniciar solicitud de autorización</Typography>\r\n                <Typography className={classes.subtitleConfirmAuthorization}>Los plazos habituales para tu autorización son: </Typography>\r\n                <Typography className={classes.titleConfirmAuthorization} style={{ fontWeight: \"400\" }}>\r\n                    {getPlazoHoras()}\r\n                </Typography>\r\n                <Typography className={classes.subtitleConfirmAuthorization}>\r\n                    Estos plazos pueden modificarse según la complejidad de la práctica y su aprobación está sujeta a evaluación de Auditoría Médica. De ser necesario, se requerirá documentación adicional\r\n                </Typography>\r\n            </div>\r\n            <Typography className={`${classes.titleTurn} ${classes.titleSecondary}`} >DATOS DE CONTACTO</Typography>\r\n            <div className={classes.formConfirmAuthorization} >\r\n                <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2}`} variant=\"standard\">\r\n                    <CustomizedInputs\r\n                        formControlClass={classes.width70}\r\n                        value={phone}\r\n                        label='TELEFONO'\r\n                        name='telefono'\r\n                        disabled={disabledPhone}\r\n                        onChange={handleChangePhone()}\r\n                        endAdornment={\r\n                            <InputAdornment position=\"start\">\r\n                                <IconButton onClick={handleEditPhone}>\r\n                                    <EditIcon />\r\n                                </IconButton>\r\n                            </InputAdornment>\r\n                        }\r\n                        onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                        inputProps={{ maxLength: 20 }}\r\n                    />\r\n                    <FormHelperText className={classes.errorText}>{error?.telefono}</FormHelperText>\r\n                </FormControl>\r\n                <FormControl className={`${classes.formControlAddress} ${classes.itemGridSpan2}`}  >\r\n                    <CustomizedInputs\r\n                        formControlClass={classes.width70}\r\n                        label={\"E-MAIL\"}\r\n                        value={mail}\r\n                        name='mail'\r\n                        disabled={disabledEmail}\r\n                        onChange={handleChangeMail}\r\n                        endAdornment={\r\n                            <InputAdornment position=\"start\">\r\n                                <IconButton onClick={handleEditEmail}>\r\n                                    <EditIcon />\r\n                                </IconButton>\r\n                            </InputAdornment>\r\n                        }\r\n                    />\r\n                    <FormHelperText className={classes.errorText}>{error?.mail}</FormHelperText>\r\n                    <FormHelperText className={classes.errorText}>{mailError}</FormHelperText>\r\n                </FormControl>\r\n            </div>\r\n            {\r\n                openModalConfirm &&\r\n                <ModalActivities\r\n                    title={\r\n                        loading &&\r\n                        <>\r\n                            <span>Espere un momento...</span>\r\n                        </>\r\n                    }\r\n                    description={\r\n                        loading\r\n                        ?\r\n                            <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}>\r\n                                <CircularProgress color={'inherit'} />\r\n                            </div>\r\n                        :\r\n                            <div style={{ textAlign: 'center' }}>\r\n                                {\r\n                                    filesQuantity &&\r\n                                    <Typography>\r\n                                        {`Adjuntaste ${filesQuantity?.length} ${filesQuantity?.length === 1 ? 'archivo' : 'archivos'}`}\r\n                                    </Typography>\r\n                                }\r\n                                \r\n                                <Typography style={{ marginTop: '20px' }}>¿Estás seguro de confirmar el alta de la solicitud?</Typography>\r\n                            </div>\r\n                    }\r\n                    open={openModalConfirm}\r\n                    onClose={setOpenModalConfirm}\r\n                    modalconfirm={loading ? false : true}\r\n                    modalLogout={false}\r\n                    buttonType={'submit'}\r\n                    handleClick={handleSubmit}\r\n                />\r\n            }\r\n            {openModal &&\r\n                <ModalActivities\r\n                    title={\r\n                        <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap' }}>\r\n                            <CheckCircleIcon style={{ fontSize: \"50px\" }} className={classes.quickAccessIcon} />\r\n                            <div style={{ display: 'flex', justifyContent: 'center', flex: '1 1 100%', marginTop: '30px' }}>\r\n                                <span>TU SOLICITUD SE CREO CON EXITO</span>\r\n                            </div>\r\n                        </section>\r\n                    }\r\n                    description={\r\n                        <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'nowrap' }}>\r\n                            {''}\r\n                        </section>}\r\n                    open={openModal}\r\n                    onClose={setOpenModal}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n            {openModalError &&\r\n                <ModalActivities\r\n                    title={\r\n                        <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap' }}>\r\n                            <CancelIcon style={{ fontSize: \"50px\" }} className={classes.quickAccessIcon} />\r\n                            <div style={{ display: 'flex', justifyContent: 'center', flex: '1 1 100%' }}>\r\n                                <span>{errorReduxState}</span>\r\n                            </div>\r\n                        </section>\r\n                    }\r\n                    open={openModalError}\r\n                    onClose={setOpenModalError}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n            {screen.sWidth < 768 &&\r\n                <MobileAuthorizationsButtons\r\n                    cancelAuthorization={cancelAuthorization}\r\n                    setCancelAuthorization={setCancelAuthorization}\r\n                    handleNext={handleNext}\r\n                    activeStep={activeStep}\r\n                />\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Step3;\r\n\r\nfunction setterModel(model, setModel, authModel, phone, mail, today) {\r\n    const realizationFields = ['FECHA DEL TURNO', 'FECHA ESTIMADA', 'FECHA DE APLICACION'];\r\n    const prescriptionFields = ['FECHA DE ORDEN MEDICA / PRESCRIPCION', 'FECHA DE LA ORDEN / PRESCRIPCION', 'FECHA DE LA ORDEN', 'FECHA ORDEN MEDICA / PRESCRIPCION'];\r\n    const realizationLocationFields = ['LUGAR', 'LUGAR DEL TURNO / PRESTADOR', 'LUGAR DE ENTREGA', 'LUGAR DEL TURNO', 'ORTOPEDIA / DOMICILIO', 'DOMICILIO DE ENTREGA'];\r\n    const prescriptorPhoneFields = ['TELEFONO PROFESIONAL'];\r\n    const prescriptorEmailFields = ['MAIL PROFESIONAL'];\r\n  \r\n    const getFieldValue = (fieldNames) => {\r\n      for (const fieldName of fieldNames) {\r\n        const value = authModel[fieldName];\r\n        if (value) {\r\n          return value;\r\n        }\r\n      }\r\n      return null;\r\n    };\r\n  \r\n    const realizationDate = getFieldValue(realizationFields) ?? today.toISOString();\r\n    const prescriptionDate = getFieldValue(prescriptionFields) ?? today.toISOString();\r\n    const realizationLocation = getFieldValue(realizationLocationFields) ?? '';\r\n    const prescriptorPhone = getFieldValue(prescriptorPhoneFields) ?? '';\r\n    const prescriptorEmail = getFieldValue(prescriptorEmailFields) ?? '';\r\n\r\n    setModel({\r\n      ...model,\r\n      numeroPersona: authModel?.numeroPersona,\r\n      afiliadoBeneficiario: authModel?.numeroPersona,\r\n      tipoAutorizacionCodigo: authModel?.TipoAutorizacionCodigo?.toString(),\r\n      observacion: authModel?.observacion ?? '',\r\n      realizacionFecha: realizationDate,\r\n      realizacionLugar: realizationLocation,\r\n      prescripcionFecha: prescriptionDate,\r\n      prescripcionMatricula: authModel['Matricula de Prescriptor'] ?? '',\r\n      prescriptorNombre: authModel['Nombre de Prescriptor'] ?? '',\r\n      prescriptorEmail: prescriptorEmail,\r\n      prescriptorTelefono: prescriptorPhone,\r\n      contactoEmail: mail,\r\n      contactoTelefono: phone,\r\n      adjuntos: authModel?.adjuntos ?? '',\r\n    });\r\n}\r\n","import * as actionTypes from '../consts/actionTypes';\r\n\r\nexport function cleanMsgError() {\r\n    return {\r\n        type: actionTypes.RESET_SEND_REQUEST_FAILURE,\r\n        payload: ''\r\n    };\r\n}","import React from 'react';\r\nimport Step1 from './Steps/Step1';\r\nimport Step2 from './Steps/Step2';\r\nimport Step3 from './Steps/Step3';\r\n\r\nconst DrawerRequestSteps = ({ isWeb, open, activeStep, setActiveStep, handleOpenCancelModal, handleBack, handleNext, handleCloseDrawer }) => {\r\n    const ShowStepsFunction = () => {\r\n        const DEFAULT_STEP = <Step1 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />;\r\n        const ACTIVE_STEPS = {\r\n            0: <Step1 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n            1: <Step2 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n            2: <Step3 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} />,\r\n        };\r\n\r\n        const ACTIVEWEB_STEPS = {\r\n            0: <Step1 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n            1: ACTIVE_STEPS[activeStep],\r\n            2: ACTIVE_STEPS[activeStep],\r\n        };\r\n\r\n        let returnActiveStep = DEFAULT_STEP;\r\n\r\n        if (activeStep) {\r\n            if (isWeb) {\r\n                returnActiveStep = ACTIVEWEB_STEPS[activeStep];\r\n            } else {\r\n                returnActiveStep = ACTIVE_STEPS[activeStep];\r\n            }\r\n        }\r\n        return returnActiveStep;\r\n    };\r\n\r\n    return <>\r\n        {ShowStepsFunction()}\r\n    </>;\r\n};\r\n\r\nexport default React.memo(DrawerRequestSteps, (prevState, nextState) => {\r\n    return prevState.activeStep === nextState.activeStep;\r\n});\r\n","import React, { Fragment } from 'react';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport TopButtons from \"../../AskTurn/Web/Buttons/TopButtons\";\r\nimport DrawerRequestSteps from \"./DrawerRequestSteps\";\r\n\r\nconst list = [\r\n    {\r\n        step0: \"\"\r\n    },\r\n    {\r\n        step1: \"\"\r\n    },\r\n];\r\n\r\nconst titles = [\r\n    {\r\n        title1: \"Iniciar solicitud\",\r\n    },\r\n    {\r\n        title2: \"Confirmar solicitud\",\r\n    }\r\n];\r\n\r\nconst RequestAuthorization = (props) => {\r\n    const { activeStep, setActiveStep, handleOpenCancelModal, handleBack, handleNext, handleCloseDrawer, } = props;\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n\r\n    const addTopButtons = () => {\r\n        let response = (<Fragment></Fragment>);\r\n        if (activeStep > 1) {\r\n            response = (<TopButtons handleOpenCancelModalTurn={handleOpenCancelModal} handleBackTurn={handleBack} activeStepTurn={activeStep} handleNextTurn={handleNext} titleCancel={\"Cancelar\"} titleConfirm={\"Siguiente\"} />);\r\n        }\r\n        return response;\r\n    };\r\n\r\n    return <>\r\n        {screen.sWidth > 768 && activeStep === 2 ?\r\n            <div className={classes.containerNewAppointment} >\r\n                <DrawerRequestSteps isWeb={true} open={true} titles={titles} activeStep={activeStep} setActiveStep={setActiveStep}\r\n                    handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} handleNext={handleNext} handleCloseDrawer={handleCloseDrawer} />\r\n            </div>\r\n            :\r\n            <div className={classes.containerNewAppointment} >\r\n                {addTopButtons()}\r\n                <DrawerRequestSteps isWeb={true} open={true}\r\n                    activeStep={activeStep} setActiveStep={setActiveStep}\r\n                    handleOpenCancelModal={handleOpenCancelModal}\r\n                    handleCloseDrawer={handleCloseDrawer}\r\n                    handleBack={handleBack} handleNext={handleNext}\r\n                />\r\n            </div>\r\n        }\r\n    </>;\r\n};\r\n\r\nexport default RequestAuthorization;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function getRefunds(param) {\r\n  return {\r\n    type: actionTypes.GET_REFUNDS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function accountRefundAB(param) {\r\n  return {\r\n    type: actionTypes.AB_ACCOUNT_REFUND,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getAccountRefunds(param) {\r\n  return {\r\n    type: actionTypes.GET_ACCOUNT_REFUNDS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getParametersRefunds() {\r\n  return {\r\n    type: actionTypes.GET_PARAMETERS_REFUNDS,\r\n    payload: '',\r\n  };\r\n}\r\n\r\nexport function setModel(model) {\r\n  return {\r\n    type: actionTypes.SET_MODEL_REFUNDS,\r\n    payload: model\r\n  };\r\n}\r\n\r\nexport function clearModelRefundsRequest() {\r\n  return {\r\n    type: actionTypes.CLEAR_MODEL_REFUNDS,\r\n    payload: ''\r\n  };\r\n}\r\nexport function clearPostRefundsRequest() {\r\n  return {\r\n    type: actionTypes.CLEAR_POST_REFUNDS,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function clearStateRefunds() {\r\n  return {\r\n    type: actionTypes.CLEAR_STATE_REFUNDS,\r\n    payload: ''\r\n  };\r\n}\r\nexport function clearMsgError() {\r\n  return {\r\n    type: actionTypes.CLEAR_MSG_ERROR,\r\n    payload: ''\r\n  };\r\n}\r\n\r\nexport function postRefundRequest(param) {\r\n  return {\r\n    type: actionTypes.POST_REFUNDS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getRefundDetails(param) {\r\n  return {\r\n    type: actionTypes.GET_REFUND_DETAILS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getRefundAttachments(param) {\r\n  return {\r\n    type: actionTypes.GET_REFUND_ATTACHMENTS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getRefundComments(param) {\r\n  return {\r\n    type: actionTypes.GET_REFUND_COMMENTS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getDetailsAttachments(param) {\r\n  return {\r\n    type: actionTypes.GET_DETAILS_ATTACHMENTS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function getRefundTypeAttached(param) {\r\n  return {\r\n      type: actionTypes.GET_REFUND_TYPE_ATTACHED,\r\n      payload: param\r\n  };\r\n}\r\n\r\nexport function pushRefundComments(comment) {\r\n  return {\r\n      type: actionTypes.PUSH_REFUND_COMMENTS,\r\n      payload: comment\r\n  };\r\n}\r\n\r\nexport function postRefundAttached(param) {\r\n  return {\r\n      type: actionTypes.POST_REFUND_ATTACHED,\r\n      payload: param\r\n  };\r\n}\r\n\r\nexport function cancelRefundRequest(param) {\r\n  return {\r\n    type: actionTypes.CANCEL_REFUND,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function postReadRefundComment(param) {\r\n  return {\r\n    type: actionTypes.POST_READ_REFUNDS_COMMENTS,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function downloadRefund(param) {\r\n  return {\r\n    type: actionTypes.DOWNLOAD_REFUND,\r\n    payload: param,\r\n  };\r\n}\r\n\r\nexport function setFilters(model) {\r\n  return {\r\n    type: actionTypes.SET_REFUNDS_FILTERS,\r\n    payload: model\r\n  };\r\n}\r\n\r\nexport function clearRefundsFilters() {\r\n  return {\r\n    type: actionTypes.CLEAR_REFUNDS_FILTERS,\r\n    payload: ''\r\n  };\r\n}","import { FormControl, FormHelperText } from '@material-ui/core'\r\nimport React, { Fragment, useEffect, useState } from 'react'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport CustomSelect from '../../../../controls/Select/CustomSelect'\r\nimport TopButtons from '../../../AskTurn/Web/Buttons/TopButtons'\r\nimport useStyles from '../../../../assets/styles/styles'\r\nimport { useResizeScreen } from '../../../../hooks/useResizeScreen'\r\nimport FooterDrawer from '../../../AskTurn/FooterDrawer'\r\nimport { setModel, getParametersRefunds } from '../../../../redux/actions/refundsActions'\r\nimport { Typography } from '@mui/material'\r\nimport Loading from '../../../LoadingPage/Loading'\r\nimport { validatorForms } from '../../../../utils/utilsFunctions';\r\nimport CustomButton from '../../../../controls/Button/CustomButton'\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport LineBreakInput from \"../../../../controls/InputCustom/LineBreakInput.jsx\";\r\n\r\nconst propertiesValidations = [\r\n    {\r\n        name: 'afiliadoBeneficiario',\r\n        type: 'number',\r\n        required: true\r\n    },\r\n    {\r\n        name: 'tipoReintegroCodigo',\r\n        type: 'number',\r\n        required: true\r\n    }];\r\n\r\nconst AddRefundStep1 = ({ activeStep, handleOpenCancelModal, handleBack, setActiveStep }) => {\r\n\r\n    const { loading, parametersRefunds, modelRequest } = useSelector(state => state.refundsReducer);\r\n    const [modelToSend, setModelToSend] = useState({ ...modelRequest });\r\n    const { groupFamilyTurn } = useSelector((state) => state.appointmentsReducer);\r\n    const { allConfigurations } = useSelector(state => state.configurationReducer);\r\n    const [groupFamilyList, setGroupFamilyList] = useState();\r\n    const [typeAtentionList, setTypeAtentionList] = useState();\r\n    const [error, setError] = useState({ numeroPersona: '', tipoReintegroCodigo: '' });\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const [textInfo, setTextInfo] = useState('');\r\n    const [counterLength, setCounterLength] = useState(0);\r\n\r\n\r\n    useEffect(() => {\r\n        dispatch(getParametersRefunds());\r\n    }, []);\r\n\r\n    const handleNext = () => {\r\n\r\n        if (validateModelStep1()) {\r\n            dispatch(setModel(modelToSend));\r\n            setActiveStep(activeStep + 1);\r\n        }\r\n    };\r\n\r\n    const handleChange = (e) => {\r\n        setModelToSend({ ...modelToSend, [e.target.name]: `${e.target.value}` });\r\n        setError({ ...error, [e.target.name]: \"\" });\r\n    }\r\n\r\n    const handleChangeObservations = (e) => {\r\n        const { value } = e.target;\r\n        if (value.length <= 200) {\r\n            setModelToSend({ ...modelToSend, [e.target.name]: value });\r\n            setCounterLength(value.length);\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n\r\n        const listGroupFamily = groupFamilyTurn.map((item) => {\r\n            return { value: item?.itemCodigo, label: item?.itemDescripcion };\r\n        });\r\n        setGroupFamilyList(listGroupFamily);\r\n    }, [groupFamilyTurn]);\r\n\r\n    useEffect(() => {\r\n\r\n        const listTypeAtention = parametersRefunds?.tipoReintegros?.map((item) => {\r\n            return { value: item?.tipoReintegroCodigo, label: item?.tipoReintegroDescripcion };\r\n        });\r\n        setTypeAtentionList(listTypeAtention);\r\n    }, [parametersRefunds]);\r\n\r\n    const validateModelStep1 = () => {\r\n        const { auxErrors, valid } = validatorForms(propertiesValidations, modelToSend);\r\n\r\n        setError(auxErrors)\r\n\r\n        return valid;\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (modelToSend?.tipoReintegroCodigo != null && parametersRefunds?.tipoReintegros != null) {\r\n            const typeRefund = parametersRefunds?.tipoReintegros?.find(x => x.tipoReintegroCodigo === modelToSend?.tipoReintegroCodigo);\r\n            setTextInfo(typeRefund?.tipoReintegroTextoDetalle);\r\n        }else{\r\n            setTextInfo('');\r\n        }\r\n    }, [modelToSend?.tipoReintegroCodigo])\r\n\r\n    const textInfoMargin = () => {\r\n        let margin = '';\r\n        if(screen.sWidth < 321) {\r\n            margin = '20px';\r\n        } else if(screen.sWidth < 500) {\r\n            margin = '40px';\r\n        } else if(screen.sWidth < 900) {\r\n            margin = '50px';\r\n        }\r\n        return margin;\r\n    }\r\n\r\n    const observationsLabel = ({ sWidth }) => (\r\n        <span style={{ marginTop: \"-35px\", marginRight: sWidth < 768 ? \"190px\" :  \"360px\" }}>OBSERVACIONES</span>\r\n    );\r\n\r\n    return (\r\n        <Fragment>\r\n            {screen.sWidth > 768 &&\r\n                <TopButtons handleOpenCancelModalTurn={handleOpenCancelModal} handleBackTurn={handleBack} activeStepTurn={activeStep} handleNextTurn={handleNext} titleCancel={\"Cancelar\"} titleConfirm={\"Siguiente\"} />\r\n            }\r\n            {\r\n                loading ?\r\n                    (<Loading isLoading={loading} />)\r\n                    :\r\n                    (\r\n                        <section style={{ display: 'flex', padding: '5px', flexWrap: 'wrap', marginTop: \"40px\" }}>\r\n                            <FormControl className={`${classes.formControlCustomSelect} ${classes.formBiggerSelect} `} variant=\"standard\">\r\n                                <CustomSelect\r\n                                    name='afiliadoBeneficiario'\r\n                                    required={true}\r\n                                    label='AFILIADO'\r\n                                    list={groupFamilyList}\r\n                                    onChange={handleChange}\r\n                                    selected={modelToSend?.afiliadoBeneficiario}\r\n                                />\r\n                                <FormHelperText className={classes.errorText}>{error['afiliadoBeneficiario']}</FormHelperText>\r\n                            </FormControl>\r\n                            <FormControl className={`${classes.formControlCustomSelect} ${classes.formBiggerSelect} `} variant=\"standard\">\r\n                                <CustomSelect\r\n                                    name='tipoReintegroCodigo'\r\n                                    required={true}\r\n                                    label='TIPO DE ATENCION'\r\n                                    list={typeAtentionList}\r\n                                    onChange={handleChange}\r\n                                    selected={modelToSend?.tipoReintegroCodigo}\r\n                                />\r\n                                <FormHelperText className={classes.errorText}>{error['tipoReintegroCodigo']}</FormHelperText>\r\n                                <FormHelperText className={classes.infoText}  style={{ width: 'auto', marginLeft: textInfoMargin() }}>{textInfo}</FormHelperText>\r\n                                <a\r\n                                    href={allConfigurations?.configurations?.filter(x => x.id === 'informacionReintegros')[0]?.valor}\r\n                                    download=\"informacionReintegros.pdf\"\r\n                                    style={{\r\n                                        textDecoration: \"none\",\r\n                                        textAlign: screen.sWidth < 900 && 'center' \r\n                                    }}\r\n                                    target=\"_blank\"\r\n                                >\r\n                                    <CustomButton\r\n                                        icon={<InfoIcon style={{marginRight:'5px'}} />}\r\n                                        title={'REQUISITOS DOCUMENTACION PDF'}\r\n                                        customClass={`${classes.lightLinearGradient}`}\r\n                                        style={{\r\n                                            fontSize: \"11px\",\r\n                                            whiteSpace: \"nowrap\",\r\n                                            overflow: \"hidden\",\r\n                                            height: \"35px\",\r\n                                            width: \"250px\",\r\n                                            textAlign: 'center',\r\n                                            margin: '15px 0'\r\n                                          }}\r\n                                    />\r\n                                </a>\r\n                            </FormControl>\r\n                            <FormControl variant=\"standard\" className={classes.widthMobile} style={{ width: \"100%\" ,marginLeft:\"10px\", marginTop:\"30px\"}}>\r\n                                <LineBreakInput\r\n                                    formControlClass={`${classes.txtObservations}`}\r\n                                    inputLabelClass={classes.txtLabelComments}\r\n                                    customClass={classes.txtBoxObservation}\r\n                                    name=\"observacion\"\r\n                                    label={observationsLabel(screen)}\r\n                                    placeholder='Escribe tu texto aqui'\r\n                                    value={modelToSend?.observacion}\r\n                                    onChange={handleChangeObservations}\r\n                                    multiline\r\n                                    style={{\r\n                                        left: screen.sWidth < 768 ? \"10px\" : \"-2px\",\r\n                                        borderRadius: 29,\r\n                                        position: 'relative',\r\n                                        border: '1px solid #ced4da',\r\n                                        fontSize: 16,\r\n                                        minWidth: '224px !important',\r\n                                        margin: '0 0 7px 0',\r\n                                        textOverflow: 'ellipsis',\r\n                                        overflow: 'hidden',\r\n                                        whiteSpace: \"nowrap\",\r\n                                    }}\r\n                                    rows={5}\r\n                                    inputProps={{ maxLength: 200 }}\r\n                                />\r\n                                <Typography variant=\"caption\" style={{ marginLeft: screen.sWidth < 768 ? \"250px\" : '450px', }}>{counterLength}/200</Typography>\r\n                            </FormControl>\r\n                        </section>\r\n                    )\r\n            }\r\n            {\r\n                screen.sWidth <= 768 &&\r\n                <FooterDrawer activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} handleNext={handleNext} customClassDiv={classes.footerAuthRequest} confirm={true} />\r\n            }\r\n        </Fragment>\r\n    )\r\n}\r\n\r\nexport default AddRefundStep1 ","import React from 'react'\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport useStyles from '../../assets/styles/styles';\r\nimport { BootstrapInput } from '../../assets/styles/bootstrapInput';\r\n\r\nconst InputNumber = (props) => {\r\n    const { type, ...other } = props;\r\n    const classes = useStyles();\r\n\r\n    function required() {\r\n        if (props.customRequired) {\r\n            return <span style={{ color: '#ff0000' }}>*</span>;\r\n        }\r\n    }\r\n\r\n    const onInputNumber = (e) => {\r\n        e.preventDefault();\r\n        if (type === 'number') {\r\n            e.target.value = e.target.value.replace(/\\D/g, '').replace(/(\\..*?)\\..*/g, '$1');\r\n        }\r\n        if (type === 'decimal') {\r\n            let value = e.target.value = e.target.value.replace(/[^0-9,]/g, '').replace(/(\\,.*?)\\,.*/g, '$1');\r\n\r\n            if (!parseFloat(value)) {\r\n                value = e.target.value = value.substring(0, value.length - 1);\r\n            }\r\n\r\n            if (value.includes(',')) {\r\n\r\n                let intNumbers = value.split(',')[0];\r\n                let decimalNumbers = value.split(',')[1];\r\n                if (intNumbers.length > 12) {\r\n                    intNumbers = intNumbers.substring(0, intNumbers.length - 1);\r\n                }\r\n                if (decimalNumbers.length > 2) {\r\n                    decimalNumbers = decimalNumbers.substring(0, 2);\r\n                }\r\n                e.target.value = `${intNumbers},${decimalNumbers}`;\r\n            }\r\n        }\r\n    };\r\n\r\n    return (\r\n        <FormControl className={`${classes.formControl} ${props.formControlClass}`} variant=\"standard\">\r\n            <InputLabel className={`${classes.inputLabelForms} ${props.inputLabelClass}`} shrink htmlFor=\"bootstrap-input\">\r\n                {props.label}{required()}\r\n            </InputLabel>\r\n            <BootstrapInput\r\n                {...other}\r\n                onInput={onInputNumber}\r\n                disabled={props.disabled}\r\n                className={`${classes.customInput} ${props.customClass}`}\r\n                id=\"bootstrap-input\"\r\n            />\r\n        </FormControl>\r\n    );\r\n}\r\n\r\nexport default InputNumber","import { FormControl, FormHelperText, Typography } from '@material-ui/core';\r\nimport React, { useState, useEffect } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport DatePicker from '../../../../controls/DatePicker/CustomizedDatePicker';\r\nimport Input from '../../../../controls/InputCustom/CustomizedInputs';\r\nimport { useResizeScreen } from '../../../../hooks/useResizeScreen';\r\nimport TopButtons from '../../../AskTurn/Web/Buttons/TopButtons';\r\nimport useStyles from \"../../../../assets/styles/styles\";\r\nimport Select from '../../../../controls/Select/CustomSelect';\r\nimport { getParametersRefunds, setModel } from '../../../../redux/actions/refundsActions';\r\nimport { validCuitCuil, validatorForms } from '../../../../utils/utilsFunctions';\r\nimport Loading from '../../../LoadingPage/Loading';\r\nimport FooterDrawer from '../../../AskTurn/FooterDrawer';\r\nimport InputNumber from '../../../../controls/InputCustom/InputNumber';\r\n\r\nconst modelErrors = {\r\n    comprobanteCuit: '',\r\n    comprobanteRazonSocial: '',\r\n    comprobanteTipoCodigo: '',\r\n    comprobanteFecha: '',\r\n    comprobantePuntoVenta: '',\r\n    comprobanteNumero: '',\r\n    comprobanteCantidadSesiones: '',\r\n    comprobanteImporte: ''\r\n};\r\n\r\nconst AddRefundStep2 = ({ activeStep, handleOpenCancelModal, handleBack, setActiveStep }) => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const { loading, parametersRefunds, modelRequest } = useSelector(state => state?.refundsReducer);\r\n    const [modelToSend, setModelToSend] = useState({});\r\n    const [error, setError] = useState(modelErrors);\r\n    const [listsInputs, setListInputs] = useState({ comprobanteLetra: [{ value: '', label: 'SELECCIONE TIPO' }], comprobanteTipoCodigo: [] });\r\n    const [listInputsForm, setListInputsForm] = useState([]);\r\n\r\n    useEffect(() => {\r\n        let propertiesValidations = [\r\n            {\r\n                name: 'comprobanteNroDocumento',\r\n                type: 'number',\r\n                subType: 'cuitcuil',\r\n                exactLength: 11,\r\n                required: null,\r\n                label: 'CUIT',\r\n                campoItem: 27\r\n            },\r\n            {\r\n                name: 'comprobanteRazonSocial',\r\n                type: 'string',\r\n                required: null,\r\n                maxLength: 100,\r\n                label: 'APELLIDO O RAZON SOCIAL',\r\n                campoItem: 14\r\n            },\r\n            {\r\n                name: 'comprobanteTipoCodigo',\r\n                type: 'list',\r\n                required: null,\r\n                label: 'TIPO',\r\n                campoItem: 15\r\n            },\r\n            {\r\n                name: 'comprobanteLetra',\r\n                type: 'list',\r\n                required: null,\r\n                label: 'LETRA',\r\n                campoItem: 16\r\n            },\r\n            {\r\n                name: 'comprobanteFecha',\r\n                type: 'date',\r\n                required: null,\r\n                label: 'FECHA',\r\n                campoItem: 19\r\n            },\r\n            {\r\n                name: 'comprobantePuntoVenta',\r\n                type: 'number',\r\n                maxLength: 4,\r\n                required: null,\r\n                label: 'PUNTO DE VENTA',\r\n                campoItem: 17\r\n            },\r\n            {\r\n                name: 'comprobanteNumero',\r\n                type: 'number',\r\n                required: null,\r\n                maxLength: 8,\r\n                label: 'NUMERO',\r\n                campoItem: 18\r\n            },\r\n            {\r\n                name: 'comprobanteCantidadSesiones',\r\n                type: 'number',\r\n                required: null,\r\n                maxLength: 6,\r\n                label: 'CANTIDAD DE SESIONES',\r\n                campoItem: 21\r\n            },\r\n            {\r\n                name: 'comprobanteImporte',\r\n                type: 'decimal',\r\n                maxDecimals : 2,\r\n                maxLength: 9,\r\n                required: null,\r\n                label: 'IMPORTE TOTAL',\r\n                campoItem: 20\r\n            }\r\n        ];\r\n\r\n        const listFiltered = parametersRefunds?.tipoReintegros?.find(x => x?.tipoReintegroCodigo === modelRequest?.tipoReintegroCodigo);\r\n\r\n        for( let i = 0; i < propertiesValidations?.length; i++) {\r\n            let refundFieldsFiltered = listFiltered?.tipoReintegroCampos?.filter(x => x?.campoItem === propertiesValidations?.[i]?.campoItem);\r\n            if(refundFieldsFiltered?.length > 0) {\r\n                propertiesValidations[i].required = refundFieldsFiltered?.[0]?.campoObligatorio;\r\n                propertiesValidations[i].label = refundFieldsFiltered?.[0]?.campoCaption?.toUpperCase();\r\n            }\r\n        }\r\n        setListInputsForm(propertiesValidations);\r\n\r\n        let areSessionsRequired = listFiltered?.tipoReintegroCampos?.some(x => x?.campoItem === 21 && x?.campoObligatorio);\r\n\r\n        if (!areSessionsRequired) {\r\n            const listWithoutSessions = propertiesValidations?.filter(x => x?.name !== 'comprobanteCantidadSesiones');\r\n            \r\n            setListInputsForm(listWithoutSessions);\r\n        }\r\n    }, [modelRequest, loading]);\r\n\r\n\r\n    const handleNext = (e) => {\r\n        e.preventDefault();\r\n        if (validateModelStep2() && validateCuitNumber()) {\r\n            dispatch(setModel({ ...modelRequest, ...modelToSend, comprobanteImporte: modelToSend?.comprobanteImporte?.replace(',','.') }));\r\n            setActiveStep(activeStep + 1);\r\n        }\r\n    };\r\n\r\n    const handleChange = (e) => {\r\n        e.preventDefault();\r\n\r\n        let aux = { ...modelToSend, [e.target.name]: `${e.target.value}` };\r\n\r\n        if (e.target.name === 'comprobanteTipoCodigo') {\r\n            aux = { ...aux, comprobanteLetra: null }\r\n        }\r\n\r\n        setModelToSend(aux);\r\n\r\n        setError({ ...error, [e.target.name]: \"\" });\r\n    }\r\n\r\n    useEffect(() => {\r\n        validateCuitNumber();\r\n    }, [modelToSend?.comprobanteNroDocumento])\r\n\r\n    const validateCuitNumber = () => {\r\n        const cuitNumber = modelToSend?.comprobanteNroDocumento;\r\n\r\n        if (cuitNumber?.length > 0) {\r\n            const isValidCuit = validCuitCuil(cuitNumber);\r\n            setError({ ...error, comprobanteNroDocumento: isValidCuit ? '' : '*El Cuit/Cuil ingresado no es válido' });\r\n\r\n            return isValidCuit;\r\n        }\r\n\r\n        return true;\r\n    }\r\n\r\n    useEffect(() => {\r\n        dispatch(getParametersRefunds());\r\n        validateInitialValues();\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        const listReceiptType = parametersRefunds?.tipoReintegroComprobantes?.map((item) => {\r\n            return { value: item?.tipoReintegroComprobanteCodigo, label: item?.tipoReintegroComprobanteDescripcion };\r\n        });\r\n\r\n        setListInputs({ ...listsInputs, comprobanteTipoCodigo: listReceiptType })\r\n\r\n    }, [parametersRefunds]);\r\n\r\n    useEffect(() => {\r\n\r\n        if (modelToSend?.comprobanteTipoCodigo != null) {\r\n            const listFiltered = parametersRefunds?.tipoReintegroComprobantes?.find(x => x?.tipoReintegroComprobanteCodigo === modelToSend?.comprobanteTipoCodigo);\r\n            const listLetters = listFiltered?.letrasComprobantes?.map((item) => {\r\n                return { value: item?.letraComprobanteCodigo, label: item?.letraComprobanteCodigo };\r\n            });\r\n\r\n            setListInputs({ ...listsInputs, comprobanteLetra: listLetters });\r\n        }\r\n\r\n    }, [modelToSend?.comprobanteTipoCodigo])\r\n\r\n    const setDate = (value) => {\r\n        setModelToSend({ ...modelToSend, comprobanteFecha: value });\r\n        setError({ ...error, comprobanteFecha: \"\" });\r\n    }\r\n\r\n    const validateInitialValues = () => {\r\n        let aux ={};\r\n        if(modelRequest){\r\n            aux = {...modelRequest};\r\n            \r\n            if(modelRequest?.comprobanteFecha == null){\r\n                aux = {...aux, comprobanteFecha: new Date()};\r\n            }\r\n        }\r\n\r\n        setModelToSend(aux);\r\n    }\r\n\r\n    const validateModelStep2 = () => {\r\n        const { auxErrors, valid } = validatorForms(listInputsForm, modelToSend);\r\n\r\n        setError(auxErrors);\r\n\r\n        return valid;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            {screen.sWidth > 768 &&\r\n                <TopButtons handleOpenCancelModalTurn={handleOpenCancelModal} handleBackTurn={handleBack} activeStepTurn={activeStep} handleNextTurn={handleNext} titleCancel={\"Cancelar\"} titleConfirm={\"Siguiente\"} />\r\n            }\r\n            {\r\n                loading ?\r\n                    (<Loading isLoading={loading} />)\r\n                    :\r\n                    (\r\n                        <div style={{ padding: \"20px\" }}>\r\n                            <div style={{ marginBottom: \"30px\" }}>\r\n                                <Typography className={classes.titleTurn}>\r\n                                    DATOS DEL COMPROBANTE\r\n                                </Typography>\r\n                            </div>\r\n                            <div>\r\n                                {\r\n                                    listInputsForm?.map(({ name, label, type }) => {\r\n                                        switch (type) {\r\n                                            case 'number':\r\n                                            case 'decimal':\r\n                                                return <FormControl className={`${classes.formControlStep2Refunds} `} variant=\"standard\">\r\n                                                    <InputNumber\r\n                                                        label={label}\r\n                                                        name={name}\r\n                                                        value={modelToSend[name]}\r\n                                                        type={type}\r\n                                                        onChange={handleChange}\r\n                                                    />\r\n                                                    <FormHelperText className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error[name]}</FormHelperText>\r\n                                                </FormControl>\r\n                                            case 'date':\r\n                                                return <FormControl className={`${classes.formControlDatePickerRefunds} `} variant=\"standard\">\r\n                                                    <DatePicker\r\n                                                        label={label}\r\n                                                        name={name}\r\n                                                        onChange={setDate}\r\n                                                        value={modelToSend[name]}\r\n                                                    />\r\n                                                    <FormHelperText style={{margin:\"10px 0 15px 30px\"}} className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error[name]}</FormHelperText>\r\n\r\n                                                </FormControl>\r\n                                            case 'list':\r\n                                                return <FormControl className={`${classes.formControlCustomSelectRefunds} `} variant=\"standard\">\r\n                                                    <Select\r\n                                                        label={label}\r\n                                                        name={name}\r\n                                                        list={listsInputs[name]}\r\n                                                        onChange={handleChange}\r\n                                                        selected={modelToSend[name] ?? ''}\r\n                                                    />\r\n                                                    <FormHelperText style={{marginLeft:\"30px\"}} className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error[name]}</FormHelperText>\r\n                                                </FormControl>\r\n                                            default:\r\n                                                return <FormControl className={`${classes.formControlStep2Refunds} `} variant=\"standard\">\r\n                                                    <Input\r\n                                                        label={label}\r\n                                                        name={name}\r\n                                                        value={modelToSend[name]}\r\n                                                        onChange={handleChange}\r\n                                                    />\r\n                                                    <FormHelperText className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error[name]}</FormHelperText>\r\n                                                </FormControl>\r\n                                        }\r\n                                    }\r\n                                    )\r\n                                }\r\n\r\n                            </div>\r\n                        </div>\r\n                    )\r\n            }\r\n            {\r\n                screen.sWidth <= 768 &&\r\n                <FooterDrawer activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} handleNext={handleNext} customClassDiv={classes.footerAuthRequest} confirm={true} />\r\n            }\r\n        </>\r\n    )\r\n}\r\n\r\nexport default AddRefundStep2","import { Accordion, AccordionDetails, AccordionSummary, FormControl, FormHelperText, IconButton, Typography } from \"@material-ui/core\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport AttachFileOutlinedIcon from '@material-ui/icons/AttachFileOutlined';\r\nimport useStyles from '../../../../assets/styles/styles.js';\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport { useResizeScreen } from \"../../../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../../../controls/Button/CustomButton.jsx\";\r\nimport ModalActivities from \"../../../DialogActivities/ModalActivities.jsx\";\r\nimport UploadModal from \"../../../../controls/UploadModal/UploadModal.jsx\";\r\nimport ConfirmModal from \"../../../PersonalData/ConfirmModal.jsx\";\r\nimport { validate } from \"../../../../utils/utilsFunctions.js\";\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport CustomSelect from \"../../../../controls/Select/CustomSelect.jsx\";\r\nimport { format } from \"date-fns\";\r\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport TopButtons from \"../../../AskTurn/Web/Buttons/TopButtons.jsx\";\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport FrequentQuestionsButton from \"../../../Authorizations/FrequentQuestionsButtons\";\r\nimport { getRefundTypeAttached, setModel, getParametersRefunds } from \"../../../../redux/actions/refundsActions\";\r\nimport FooterDrawer from \"../../../AskTurn/FooterDrawer.jsx\";\r\nimport LineBreakInput from \"../../../../controls/InputCustom/LineBreakInput.jsx\";\r\n\r\n\r\nconst AddRefundStep3 = ({ activeStep, handleOpenCancelModal, handleBack, setActiveStep }) => {\r\n    const dispatch = useDispatch();\r\n    const refundsTypeAttached = useSelector(state => state?.refundsReducer?.refundTypeAttached);\r\n    const refundsModelRequestSelector = useSelector(state => state?.refundsReducer?.modelRequest);\r\n    const [itemRemove, setItemRemove] = useState({});\r\n    const [listTypeAttached, setListTypeAttached] = useState([{ value: 0, label: '' }]);\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [typeAttachedSelected, setTypeAttachedSelected] = useState('');\r\n    const inputFile = useRef();\r\n    const [listAttached, setListAttached] = useState([]);\r\n    const { screen } = useResizeScreen();\r\n    const [files, setFiles] = useState([]);\r\n    const [openModalRemove, setOpenModalRemove] = useState(false);\r\n    const [hide, setHide] = useState(false);\r\n    const classes = useStyles();\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [txtObservation, setTxtObservation] = useState('');\r\n    const [error, setError] = useState({ attachedError: \"\" });\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [modelRequest, setModelRequest] = useState(refundsModelRequestSelector);\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const [allFiles, setAllFiles] = useState([]);\r\n    const [labelTypeAttachedSelected, setLabelTypeAttachedSelected] = useState('');\r\n    const [openConfirm, setOpenConfirm] = useState(false);\r\n    const configurationReduxState = useSelector(state => state?.configurationReducer?.allConfigurations?.configurations);\r\n    const [openExistFile, setOpenExistFile] = useState(false);\r\n    const { parametersRefunds } = useSelector(state => state?.refundsReducer);\r\n    const [totalRequiredAttachments, setTotalRequiredAttachments] = useState([]);\r\n    const [counterLength, setCounterLength] = useState(0);\r\n\r\n    useEffect(() => {\r\n        dispatch(getRefundTypeAttached(\"REINTEGRO\"));\r\n        dispatch(getParametersRefunds());\r\n    }, [])\r\n\r\n    const handleAddAttachment = () => {\r\n        if (files?.length === 0) {\r\n            if (screen.sWidth > 768) {\r\n                inputFile?.current?.click();\r\n            }\r\n            else {\r\n                setOpenModal(true);\r\n            }\r\n        }\r\n    };\r\n\r\n    const handleChangeSelect = () => e => {\r\n        const { name, value } = e.target;\r\n        let auxSelected = listTypeAttached?.filter(x => x?.value === value);\r\n        setLabelTypeAttachedSelected(auxSelected);\r\n        setTypeAttachedSelected(value);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleRemove = () => {\r\n        let attachedDeleteItem = listAttached?.filter(x => x?.nombre !== itemRemove?.nombre);\r\n        let filesDeleteItem = files?.filter(x => x?.archivoNombre !== itemRemove?.nombre);\r\n        setListAttached(attachedDeleteItem);\r\n        setAllFiles(filesDeleteItem);\r\n        setFiles(filesDeleteItem);\r\n        let modelBeforeRemove = JSON.parse(modelRequest?.adjuntos)\r\n        let modelAfterRemove = modelBeforeRemove?.filter(x => x?.archivoNombre !== itemRemove?.nombre)\r\n        setModelRequest(modelRequest => (\r\n            { ...modelRequest,\r\n                'adjuntos': modelAfterRemove?.length > 0 ? JSON.stringify(modelAfterRemove) : undefined\r\n            }\r\n        ));\r\n        setOpenModalRemove(false);\r\n    };\r\n\r\n    const handleUpload = (e) => {\r\n        e.preventDefault();\r\n        let redAlert = \"\";\r\n        let filesUpload = e.target.files;\r\n        for (let uploadedFile of filesUpload) {\r\n            let size = (uploadedFile.size / 1024);\r\n            if (size < parseInt(configurationReduxState?.filter(x =>\r\n                x?.id === 'medidaArchivosAdjuntos')[0]?.valor) * 1000) {\r\n                let auxAdj = {\r\n                    archivoNombre: uploadedFile.name.substring(0, uploadedFile.name.lastIndexOf(\".\")),\r\n                    archivoExtension: uploadedFile.name.substring(uploadedFile.name.lastIndexOf(\".\") + 1),\r\n                    archivoNombreCompleto: uploadedFile.name,\r\n                    archivoTamanio: parseInt(size),\r\n                    archivoClasificacion: 0,\r\n                    archivo: null,\r\n                };\r\n\r\n                let existThisFile = listAttached?.filter(x => x?.nombre === auxAdj?.archivoNombre);\r\n\r\n                if(existThisFile?.length > 0) {\r\n                    setOpenExistFile(true);\r\n                } else {\r\n                    const reader = new FileReader();\r\n                    reader.onloadend = () => {\r\n                        auxAdj.archivo = reader.result?.split(',').pop();\r\n                        setFiles([...files, auxAdj]);\r\n                        setHide(true);\r\n                    };\r\n                    reader.readAsDataURL(uploadedFile);\r\n                }\r\n                \r\n            } else {\r\n                redAlert = redAlert + \" \" + uploadedFile.name;\r\n            }\r\n        }\r\n        if (redAlert != \"\") {\r\n            setModalTitle('Atención');\r\n            setModalDescription(\r\n                `El archivo: ${redAlert} supera el tamaño máximo.\r\n                Asegurate de que los archivos no superen los ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB`\r\n            );\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass(classes.backgroundError);\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        e.target.value = null;\r\n    };\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        if (files?.length > 0 && validateSelect(typeAttachedSelected)) {\r\n            let dateNow = Date.now();\r\n            setFiles([...files, { archivoClasificacion: typeAttachedSelected, archivoObservacion: txtObservation, archivoTipo: labelTypeAttachedSelected }]);\r\n            let lenFiles = files?.length - 1;\r\n            let auxFile = files[lenFiles];\r\n            auxFile.archivoClasificacion = typeAttachedSelected;\r\n            auxFile.archivoObservacion = txtObservation;\r\n            let aux = [...allFiles, auxFile];\r\n            setModelRequest(modelRequest => ({ ...modelRequest, 'adjuntos': JSON.stringify(aux) }));\r\n            let type = listTypeAttached?.find(x => x?.value == typeAttachedSelected);\r\n            let listAux = listAttached;\r\n            let newItemList = {\r\n                nombre: files[0]?.archivoNombre,\r\n                fecha: format(dateNow, \"dd/MM/yyyy\"),\r\n                tipo: type?.label,\r\n                observacion: txtObservation,\r\n                delete: true\r\n            };\r\n            listAux.push(newItemList);\r\n            setListAttached(listAux);\r\n            setAllFiles([...allFiles, auxFile]);\r\n            cleanStates();\r\n            setOpenConfirm(prevState => !prevState);\r\n        }\r\n    };\r\n\r\n    const handleChangeText = e => {\r\n        const { value } = e.target;\r\n        if (value.length <= 200) {\r\n            setTxtObservation(value);\r\n            setCounterLength(value.length);\r\n        }\r\n    };\r\n\r\n    const handleModalRemove = attached => e => {\r\n        setItemRemove(attached);\r\n        setOpenModalRemove(true);\r\n    };\r\n\r\n    function validateSelect(select) {\r\n        let aux = [];\r\n        let validation = [];\r\n        let Obj = {};\r\n\r\n        Obj.selectAttached = select?.toString() ? '' : '*Campo obligatorio';\r\n        aux = Obj;\r\n\r\n\r\n        if (Object.values(aux).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n\r\n        if(select === \"\") {\r\n            setError(aux);\r\n        }\r\n\r\n        return Object.values(validation).every(valid => valid === true);\r\n    }\r\n\r\n    function cleanStates() {\r\n        setFiles([]);\r\n        setTxtObservation('');\r\n        setTypeAttachedSelected('');\r\n        setHide(false);\r\n    }\r\n\r\n    const handleNext = (e) => {\r\n        e.preventDefault();\r\n        if (validateModelStep3(modelRequest)) {\r\n            dispatch(setModel({ ...modelRequest }));\r\n            setActiveStep(activeStep + 1);\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        let requiredAttachments = [];\r\n        const fields = parametersRefunds?.tipoReintegros?.find(x => x?.tipoReintegroCodigo === modelRequest?.tipoReintegroCodigo);\r\n        const filteredFields = fields?.tipoReintegroCampos;\r\n\r\n        filteredFields?.forEach(field => {\r\n            if (field?.campoAdjuntoObligatorio) {\r\n                requiredAttachments?.push(field);\r\n            }\r\n        });\r\n\r\n        setTotalRequiredAttachments(requiredAttachments)\r\n    }, [])\r\n\r\n    const attachmentsDetails = () => {\r\n        let caption = (\r\n            totalRequiredAttachments?.map(requiredAttachments => (\r\n                <FormHelperText\r\n                    className={classes.errorText}\r\n                    style={{ marginLeft: screen.sWidth > 768 ? \"-65px\" : \"-5px\" }}\r\n                    key={requiredAttachments}\r\n                >\r\n                    {` * ${requiredAttachments?.campoAdjuntoDetalle}`}\r\n                </FormHelperText>\r\n            ))\r\n        );\r\n        return caption;\r\n    }\r\n\r\n    function validateModelStep3(model) {\r\n        let responseFunction = false;\r\n\r\n        let modelToSend = model?.adjuntos !== undefined ? JSON.parse(model?.adjuntos) : [];\r\n\r\n        if (totalRequiredAttachments?.length > modelToSend?.length) {\r\n            setError({ ...error, attachedError: `Es obligatorio adjuntar ${totalRequiredAttachments?.length} ` + (totalRequiredAttachments?.length > 1 ? \"archivos\" : \"archivo\")});\r\n            return responseFunction;\r\n        } else {\r\n            setError({ ...error, attachedError: \"\" });\r\n            return true;\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        let list = refundsTypeAttached?.tipoAdjunto?.map(type => {\r\n            return { value: parseInt(type?.tipoAdjuntosCodigo), label: type?.tipoAdjuntosDescripcion };\r\n        });\r\n        setListTypeAttached(list);\r\n\r\n        if (modelRequest?.adjuntos !== undefined) {\r\n            let dateNow = Date.now();\r\n            let filesModel = JSON.parse(modelRequest?.adjuntos);\r\n            let listAttachedAux = [];\r\n            filesModel?.map(item => {\r\n                const type = listTypeAttached?.find(x => x?.value === item?.archivoClasificacion);\r\n                let aux = {\r\n                    nombre: item?.archivoNombre,\r\n                    fecha: format(dateNow, \"dd/MM/yyyy\"),\r\n                    tipo: type?.label,\r\n                    observacion: item?.archivoObservacion,\r\n                    delete: true\r\n                };\r\n                listAttachedAux?.push(aux);\r\n            });\r\n            setListAttached(listAttachedAux);\r\n            setAllFiles(filesModel);\r\n        }\r\n    }, [refundsTypeAttached?.tipoAdjunto, modelRequest?.adjuntos]);\r\n\r\n    const deleteFile = (setFiles, files, fileName) => (e) => {\r\n        e.preventDefault();\r\n        let auxFiles = files?.filter(item => {\r\n            return item?.archivoNombre !== fileName;\r\n        });\r\n        setFiles(auxFiles);\r\n    };\r\n\r\n    const AttachedFilesAccordion = () => {\r\n        return (\r\n            <Accordion expanded={true} style={{ boxShadow: 'none', marginTop: '30px' }}>\r\n                <AccordionSummary\r\n                    expandIcon={<ExpandMoreIcon />}\r\n                    aria-controls=\"panel1a-content\"\r\n                    id=\"panel1a-header\"\r\n                    style={{ borderBottom: '1px solid #e2e3e3' }}\r\n                >\r\n                    <AttachFileOutlinedIcon\r\n                        style={{\r\n                            marginRight: \"5px\",\r\n                            backgroundColor: '#0075c9',\r\n                            color: '#ffffff',\r\n                            borderRadius: '15px',\r\n                            fontSize: '30px',\r\n                            padding: '5px'\r\n                        }}\r\n                        className={classes.iconFilter}\r\n                    />\r\n                    <span style={{ paddingLeft: '10px' }}>Adjuntos</span>\r\n                </AccordionSummary>\r\n                <AccordionDetails>\r\n                    { listAttached?.length > 0 ?\r\n                        <div className={classes.authorizationsAccordion}>\r\n                            <Typography className={classes.txtSubtitleCalendar} style={{ fontSize: \"16px\", marginBottom: \"20px\" }}>\r\n                                NOMBRE\r\n                            </Typography>\r\n                            { listAttached?.map((attached, i) => {\r\n                                return (\r\n                                    <>\r\n                                        <Accordion\r\n                                            key={i}\r\n                                            style={{ width: \"100%\" }}\r\n                                            expanded={true}\r\n                                        >\r\n                                            <AccordionSummary\r\n                                                expandIcon={<ExpandMoreIcon />}\r\n                                                aria-controls=\"panel1a-content\"\r\n                                                id=\"panel1a-header\"\r\n                                                classes={{ content: classes.width100 }}\r\n                                            >\r\n                                                <div\r\n                                                    style={{\r\n                                                        width: \"100%\",\r\n                                                        display: \"flex\",\r\n                                                        justifyContent: \"space-between\",\r\n                                                        alignItems: \"center\",\r\n                                                        overflow: \"hidden\"\r\n                                                    }}\r\n                                                >\r\n                                                    <Typography\r\n                                                        className={classes.txtEllipsis}\r\n                                                    >\r\n                                                        { attached?.nombre }\r\n                                                    </Typography>\r\n                                                </div>\r\n                                                <div\r\n                                                    style={{\r\n                                                        width: \"100%\",\r\n                                                        display: \"flex\",\r\n                                                        justifyContent: \"space-between\",\r\n                                                        alignItems: \"center\",\r\n                                                        marginLeft: \"20px\"\r\n                                                    }}\r\n                                                >\r\n                                                    <Typography className={classes.txtSubtitleCalendar}>\r\n                                                        { attached?.fecha }\r\n                                                    </Typography>\r\n                                                    { (attached?.delete && attached?.observacion !== 'Comprobante digital') &&\r\n                                                        <div style={{ display: \"flex\" }}>\r\n                                                            <IconButton className={classes.padding0} onClick={handleModalRemove(attached)}>\r\n                                                                <DeleteOutlineIcon />\r\n                                                            </IconButton>\r\n                                                        </div>\r\n                                                    }\r\n                                                </div>\r\n                                            </AccordionSummary>\r\n                                            <AccordionDetails >\r\n                                                {\r\n                                                    <>\r\n                                                        <div className={classes.displayFlex}>\r\n                                                            <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>\r\n                                                                Tipo de archivo:\r\n                                                            </Typography>\r\n                                                            <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`} style={{ marginLeft: \"10px\" }}>\r\n                                                                { attached?.tipo }\r\n                                                            </Typography>\r\n\r\n                                                        </div>\r\n                                                        <div className={classes.displayFlex}>\r\n                                                            <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>\r\n                                                                Observaciones / Comentarios:\r\n                                                            </Typography>\r\n                                                            <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`} style={{ marginLeft: \"10px\" }}>\r\n                                                                { attached?.observacion !== \"\" ? attached?.observacion : \"No hay observaciones\" }\r\n                                                            </Typography>\r\n                                                        </div>\r\n                                                    </>\r\n                                                }\r\n                                            </AccordionDetails>\r\n                                        </Accordion>\r\n                                    </>);\r\n                            })}\r\n                        </div>\r\n                        :\r\n                        <Typography style={{ marginTop: \"20px\", fontSize: \"14px\", textAlign: \"center\" }}>\r\n                            No hay archivos adjuntos\r\n                        </Typography>\r\n                    }\r\n                </AccordionDetails>\r\n            </Accordion>\r\n        );\r\n    }\r\n\r\n    const AddAttachedButton = () => {\r\n        return (\r\n            <div style={{ display: 'flex', alignItems: 'center' }}>\r\n                <CustomButton title={\"Nuevo adjunto\"}\r\n                    onClick={handleAddAttachment}\r\n                    style={{ height: \"20px\", padding: \"16px\", fontSize: \"12px\" }}\r\n                    icon={<AddCircleIcon style={{ marginRight: \"8px\" }} />}\r\n                    customClass={`${classes.txtMobile} ${classes.lightLinearGradient}`}\r\n                />\r\n                {\r\n                    screen.sWidth > 768 &&\r\n                    <FrequentQuestionsButton />\r\n                }\r\n            </div>\r\n        );\r\n    }\r\n\r\n    return (\r\n        <>\r\n            { screen.sWidth > 768 &&\r\n                <TopButtons\r\n                    handleOpenCancelModalTurn={handleOpenCancelModal}\r\n                    handleBackTurn={handleBack}\r\n                    activeStepTurn={activeStep}\r\n                    handleNextTurn={handleNext}\r\n                    titleCancel={\"Cancelar\"}\r\n                    titleConfirm={\"Siguiente\"}\r\n                />\r\n            }\r\n\r\n            <AttachedFilesAccordion />\r\n\r\n            <section style={{ display: 'flex', flexDirection: \"column\", alignItems: \"center\", paddingTop: '20px' }}>\r\n                <AddAttachedButton />\r\n\r\n                { error?.attachedError !== \"\" ?\r\n                    <>\r\n                        <FormHelperText\r\n                            className={classes.errorText}\r\n                            style={{ marginLeft: screen.sWidth > 768 ? \"-65px\" : \"-5px\", marginTop: screen.sWidth < 768 && \"10px\"}}\r\n                        >\r\n                            { error?.attachedError }\r\n                        </FormHelperText>\r\n                        {attachmentsDetails()}\r\n                    </>\r\n                : \r\n                    \"\"\r\n                }\r\n            </section>\r\n\r\n            { files?.length !== 0 && hide &&\r\n                <>\r\n                    <div style={{ paddingTop: '20px', paddingBottom: '20px', display: 'flex', flexDirection: \"column\", alignItems: \"center\" }}>\r\n                        <FormControl  variant=\"standard\" className={classes.widthMobile}>\r\n                            <Typography>Tipo de archivo </Typography>\r\n                            <CustomSelect\r\n                                label=''\r\n                                name={'selectAttached'}\r\n                                className={`${classes.selectAuthorizations}`}\r\n                                list={listTypeAttached}\r\n                                selected={typeAttachedSelected}\r\n                                onChange={handleChangeSelect()}\r\n                            />\r\n                            <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.selectAttached}</FormHelperText>\r\n                        </FormControl>\r\n                    </div>\r\n                    \r\n                    <section\r\n                        style={{ display: 'flex', flexDirection: \"column\", alignItems: \"center\", paddingTop: '20px' }}\r\n                    >\r\n                        { files?.map((file, i) => (\r\n                            <div key={i} style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }} className={`${classes.txtSubtitleCalendar}`}>\r\n                                <p className={`${classes.txtEllipsis}`}>\r\n                                    { file?.archivoNombre }\r\n                                </p>\r\n                                <IconButton\r\n                                    onClick={deleteFile(setFiles, files, file?.archivoNombre)}>\r\n                                    <HighlightOffIcon />\r\n                                </IconButton>\r\n                            </div>\r\n                        ))}\r\n\r\n                        <FormControl variant=\"standard\" className={ classes.widthMobile }>\r\n                            <Typography>Observaciones</Typography>\r\n                            <LineBreakInput\r\n                                formControlClass={`${classes.txtObservations}`}\r\n                                inputLabelClass={classes.txtLabelComments}\r\n                                customClass={classes.txtBoxObservation}\r\n                                name=\"observacion\"\r\n                                placeholder='Escribí tu texto aquí'\r\n                                onChange={handleChangeText}\r\n                                multiline\r\n                                style={{\r\n                                    borderRadius: 29,\r\n                                    position: 'relative',\r\n                                    border: '1px solid #ced4da', \r\n                                    fontSize: 16,\r\n                                    minWidth: '224px !important',\r\n                                    margin: '0 0 7px 0',\r\n                                    textOverflow: 'ellipsis',\r\n                                    overflow: 'hidden',\r\n                                    whiteSpace: \"nowrap\",\r\n                                  }}\r\n                                rows={5}\r\n                                inputProps={{ maxLength: 200 }}\r\n                            />\r\n                        <Typography variant=\"caption\" style={{  marginLeft: screen.sWidth < 768 ? \"250px\" : '450px',}}>{counterLength}/200</Typography>\r\n                    </FormControl>\r\n\r\n                        <CustomButton\r\n                            title={\"ADJUNTAR\"}\r\n                            onClick={handleSubmit}\r\n                            style={{\r\n                                height: \"20px\",\r\n                                fontSize: \"12px\",\r\n                                fontWeight: \"600\",\r\n                                margin: \"50px\",\r\n                                padding: \"16px\"\r\n                            }}\r\n                            customClass={`${classes.customHeaderBtn} ${classes.btnAttached} ${classes.lightLinearGradientReverse} ${classes.txtMobile}`}\r\n                        />\r\n                    </section>\r\n                </>\r\n            }\r\n\r\n            <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            { modalIcon }\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            { modalTitle }\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={ modalDescription }\r\n            />\r\n\r\n            <UploadModal\r\n                title='Adjuntar archivo'\r\n                description=''\r\n                observation=''\r\n                open={openModal}\r\n                setModalTitle={setModalTitle}\r\n                onClose={setOpenModal}\r\n                setModalIcon={setModalIcon}\r\n                setModalDescription={setModalDescription}\r\n                setOpenSendSuccess={setOpenSendSuccess}\r\n                setErrorClass={setErrorClass}\r\n                files={files}\r\n                setFiles={setFiles}\r\n                setFileButtons={setFileButtons}\r\n                fileButtons={fileButtons}\r\n                setHide={setHide}\r\n                hide={true}\r\n                listAttached={listAttached}\r\n                setRepeatFile={setOpenExistFile}\r\n            />\r\n\r\n            { openModalRemove &&\r\n                <ModalActivities\r\n                open={openModalRemove}\r\n                    title={'Eliminar adjunto'}\r\n                    buttonType={'submit'}\r\n                    description={'¿Estás seguro que querés eliminar el adjunto?'}\r\n                    modalconfirm={true}\r\n                    onClose={setOpenModalRemove}\r\n                    handleClick={handleRemove}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n\r\n            <ConfirmModal\r\n                setOpen={setOpenConfirm}\r\n                isOpen={openConfirm}\r\n                description={\"El archivo se ha adjuntado con éxito.\"}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n            />\r\n\r\n            <ConfirmModal\r\n                setOpen={setOpenExistFile}\r\n                isOpen={openExistFile}\r\n                description={\"No puede adjuntar dos archivos con el mismo nombre\"}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n            />\r\n\r\n            <input ref={inputFile} type=\"file\" hidden id='upFile' onChange={handleUpload} name='upFileName' />\r\n\r\n            { screen.sWidth <= 768 &&\r\n                <div style={{ marginTop: \"50px\" }}>\r\n                    <FooterDrawer\r\n                        activeStep={activeStep}\r\n                        handleOpenCancelModal={handleOpenCancelModal}\r\n                        handleBack={handleBack}\r\n                        handleNext={handleNext}\r\n                        customClassDiv={classes.footerAuthRequest}\r\n                        confirm={true}\r\n                    />\r\n                </div>\r\n            }\r\n\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AddRefundStep3;\r\n\r\n","import React, { useEffect, useState, useRef } from 'react'\r\nimport Select from '../../../../controls/Select/CustomSelect';\r\nimport TopButtons from '../../../AskTurn/Web/Buttons/TopButtons';\r\nimport AddCircleOutlinedIcon from '@material-ui/icons/AddCircleOutlined';\r\nimport RemoveCircleOutlinedIcon from '@material-ui/icons/RemoveCircleOutlined';\r\nimport Input from '../../../../controls/InputCustom/CustomizedInputs';\r\nimport InputNumber from '../../../../controls/InputCustom/InputNumber';\r\nimport FooterDrawer from '../../../AskTurn/FooterDrawer';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useResizeScreen } from '../../../../hooks/useResizeScreen';\r\nimport useStyles from \"../../../../assets/styles/styles\";\r\nimport { Button, FormControl, FormHelperText, IconButton, Typography } from \"@material-ui/core\";\r\nimport { getAccountRefunds, setModel, getRefundTypeAttached } from '../../../../redux/actions/refundsActions';\r\nimport { showErrorMessageModal, validatorForms } from '../../../../utils/utilsFunctions';\r\nimport Loading from '../../../LoadingPage/Loading';\r\nimport CustomButton from '../../../../controls/Button/CustomButton';\r\nimport FrequentQuestionsButton from '../../../Authorizations/FrequentQuestionsButtons';\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport { Dialog } from '@mui/material';\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport ConfirmModal from '../../../PersonalData/ConfirmModal';\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst tipoCuenta = [\r\n    { tipoCuentaCodigo: 1, tipoCuentaDescripcion: 'CUENTA CORRIENTE' },\r\n    { tipoCuentaCodigo: 2, tipoCuentaDescripcion: 'CAJA DE AHORRO' },\r\n];\r\n\r\nconst model = {\r\n    CBU: '',\r\n    CUILCUIT: '',\r\n    tipoCuentaCodigo: '',\r\n    numeroCuenta: '',\r\n    bancoCodigo: 0,\r\n    bancoNombre: '',\r\n    comprobanteDigital:''\r\n};\r\n\r\nconst selectAccountValidations = [\r\n    {\r\n        name: 'numeroCuenta',\r\n        type: 'number',\r\n        required: true,\r\n    }\r\n]\r\n\r\nconst addAccountValidations = [\r\n    {\r\n        name: 'CBU',\r\n        type: 'number',\r\n        exactLength: 22,\r\n        required: true,\r\n        label: 'CBU',\r\n    },\r\n    {\r\n        name: 'CUILCUIT',\r\n        type: 'number',\r\n        subType: 'cuitcuil',\r\n        exactLength: 11,\r\n        required: true,\r\n        label: 'CUIT / CUIL',\r\n    },\r\n    {\r\n        name: 'bancoNombre',\r\n        type: 'string',\r\n        maxLength: 100,\r\n        required: true,\r\n        label: 'NOMBRE DEL BANCO',\r\n    },\r\n    {\r\n        name: 'tipoCuentaCodigo',\r\n        type: 'list',\r\n        required: true,\r\n        label: 'TIPO DE CUENTA',\r\n        list: [],\r\n        maxLength: 2\r\n    },\r\n    {\r\n        name: 'numeroCuenta',\r\n        type: 'number',\r\n        maxLength: 17,\r\n        required: true,\r\n        label: 'NUMERO DE CUENTA',\r\n    },\r\n    {\r\n        name: 'comprobanteDigital',\r\n        type: 'file',\r\n        required: true,\r\n    }];\r\n\r\nconst AddRefundStep4 = ({ activeStep, handleOpenCancelModal, handleBack, setActiveStep }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const dispatch = useDispatch();\r\n\r\n    const [accountsList, setAccountsList] = useState([]);\r\n    const [error, setError] = useState(model);\r\n    const { accountRefunds, modelRequest, loading } = useSelector(state => state.refundsReducer);\r\n    const [modelToSend, setModelToSend] = useState({ ...modelRequest, comprobanteTipoDocumento: \"CUIT\" });\r\n    const [isNewAccount, setIsNewAccount] = useState(modelToSend?.isNewAccount);\r\n    const [openUploadModal, setOpenUploadModal] = useState(false);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const [files, setFiles] = useState([]);\r\n    const inputFile = useRef();\r\n    const inputPhoto = useRef();\r\n    const [openExistFileModal, setOpenExistFileModal] = useState(false);\r\n    const refundsTypeAttached = useSelector(state => state?.refundsReducer?.refundTypeAttached);\r\n    const [typeAttached, setTypeAttached] = useState([{ value: 0, label: '' }]);\r\n    const [otherType, setOtherType] = useState([{ value: 0, label: '' }]);\r\n    const [typeSelectedAttached, setTypeSelectedAttached] = useState('');\r\n    const [labelTypeSelectedAttached, setLabelTypeSelectedAttached] = useState('');\r\n    const [showTypeSelect, setShowTypeSelect] = useState(false);\r\n    const [attachedError, setAttachedError] = useState({ attached: \"*El adjunto Comprobante Digital es obligatorio\" });\r\n    const errorMessage = useSelector(state => state.refundsReducer.msgError);\r\n    const [openErrorModal, setOpenErrorModal] = useState();\r\n\r\n    const handleNext = (e) => {\r\n        e.preventDefault();\r\n        if (validateModelStep4()) {\r\n            dispatch(setModel({ ...modelRequest, ...modelToSend, isNewAccount }));\r\n            setActiveStep(activeStep + 1);\r\n        }\r\n    }\r\n\r\n    const handleChange = (e) => {\r\n        setModelToSend({ ...modelToSend, [e.target.name]: `${e.target.value}` });\r\n        setError({ ...error, [e.target.name]: \"\" });\r\n    }\r\n\r\n    const handleSelectAccount = (e) => {\r\n        let aux = accountRefunds?.cuentasReintegro?.find(item => item?.numeroCuenta === e.target.value);\r\n        setModelToSend({ ...modelToSend, ...aux, bancoNombre: aux.bancoDescripcion, comprobanteTipoDocumento: \"CUIT\" });\r\n        setError({ ...error, [e.target.name]: \"\" });\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (errorMessage !== \"\" && errorMessage !== undefined) {\r\n            setOpenErrorModal(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    const handleNew = () => {\r\n        setIsNewAccount(!isNewAccount);\r\n        setError(model);\r\n        setModelToSend({ ...model, comprobanteTipoDocumento: \"CUIT\", comprobanteDigital: '' });\r\n        setFiles([]);\r\n        deleteFile();\r\n    }\r\n\r\n    const deleteFile = () => {\r\n        let modelStep3 = JSON.parse(modelRequest?.adjuntos); \r\n        let modelStep4 = [modelToSend?.comprobanteDigital]; \r\n        let model = modelStep3?.filter(x => x.archivoNombreCompleto !== modelStep4?.[0]?.archivoNombreCompleto);\r\n        setModelToSend({...modelToSend, 'comprobanteDigital': ''});\r\n        dispatch(setModel({ ...modelToSend, 'adjuntos': JSON.stringify(model), 'comprobanteDigital': '' }));\r\n    }\r\n\r\n    useEffect(() => {\r\n\r\n        /*Agrego tipo de cuentas*/\r\n        let type = tipoCuenta.map((item) => {\r\n            return { value: item.tipoCuentaCodigo, label: item.tipoCuentaDescripcion };\r\n        });\r\n\r\n        addAccountValidations.forEach((item) => {\r\n            if (item.name === 'tipoCuentaCodigo') {\r\n                item.list = type;\r\n            }\r\n        })\r\n\r\n        dispatch(getAccountRefunds(userCode));\r\n        dispatch(getRefundTypeAttached(\"REINTEGRO\"));\r\n\r\n        let modelStep3 = modelRequest?.adjuntos !== undefined ? JSON.parse(modelRequest?.adjuntos) : [];\r\n        let model = modelStep3?.filter(x => x.archivoObservacion === \"Comprobante digital\");\r\n        if(model?.length > 0) {\r\n            setFiles(model);\r\n        } else {\r\n            setFiles([]);\r\n        }\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let listAccounts = [{ value: \"\", label: \"POR FAVOR AGREGUE UNA CUENTA\" }];\r\n        listAccounts = accountRefunds?.cuentasReintegro?.map((item) => {\r\n            return { value: item?.numeroCuenta, label: `${item?.numeroCuenta} ${item?.bancoDescripcion}` };\r\n        });\r\n        setAccountsList(listAccounts);\r\n    }, [accountRefunds]);\r\n\r\n    useEffect(() => {\r\n      if(modelToSend?.comprobanteDigital != null && modelToSend?.comprobanteDigital !== ''){\r\n        setAttachedError({attached: ''});\r\n      }else{\r\n        setAttachedError({ attached: \"*El adjunto Comprobante Digital es obligatorio\" });\r\n      }\r\n    }, [modelToSend?.comprobanteDigital])\r\n    \r\n\r\n    const validateModelStep4 = () => {\r\n        let auxValidation = {};\r\n\r\n        if (isNewAccount) {\r\n            auxValidation = addAccountValidations;\r\n        } else {\r\n            auxValidation = selectAccountValidations;\r\n        }\r\n\r\n        const { auxErrors, valid } = validatorForms(auxValidation, modelToSend);\r\n\r\n        setError(auxErrors);\r\n\r\n        return valid;\r\n    }\r\n\r\n    const addAttachment = () => {\r\n        if (screen.sWidth > 768) {\r\n            inputFile?.current?.click();\r\n        } else {\r\n            setOpenUploadModal(true);\r\n        }\r\n    };\r\n\r\n    const uploadFile = (e) => {\r\n        e.preventDefault();\r\n        let redModal = \"\";\r\n        let uploadedFiles = e.target.files;\r\n        for (let uploaded of uploadedFiles) {\r\n            let size = (uploaded.size / 1024);\r\n            if (size < parseInt(configurationReduxState?.filter(x =>\r\n                x?.id === 'medidaArchivosAdjuntos')[0]?.valor) * 1000) {\r\n                let auxAdj = {\r\n                    archivoNombre: uploaded.name.substring(0, uploaded.name.lastIndexOf(\".\")),\r\n                    archivoExtension: uploaded.name.substring(uploaded.name.lastIndexOf(\".\") + 1),\r\n                    archivoNombreCompleto: uploaded.name,\r\n                    archivoTamanio: parseInt(size),\r\n                    archivoClasificacion: otherType?.[0]?.value !== 0 && otherType?.[0]?.value,\r\n                    archivo: null,\r\n                    archivoObservacion: 'Comprobante digital',\r\n                };\r\n\r\n                let joinAttached = JSON.parse(modelRequest?.adjuntos);\r\n                let filesInModel = joinAttached?.filter(x => x?.archivoNombreCompleto === auxAdj?.archivoNombreCompleto);\r\n\r\n                if(filesInModel?.length > 0) {\r\n                    setOpenExistFileModal(true);\r\n                } else {\r\n                    const reader = new FileReader();\r\n                    reader.onloadend = () => {\r\n                        auxAdj.archivo = reader.result?.split(',').pop();\r\n                        setFiles([...files, auxAdj]);\r\n                        joinAttached?.push(auxAdj);\r\n                        setModelToSend({...modelToSend, 'adjuntos': JSON.stringify(joinAttached),'comprobanteDigital': auxAdj});\r\n                    };\r\n                    reader.readAsDataURL(uploaded);\r\n                }\r\n\r\n            } else {\r\n                redModal = redModal + \" \" + uploaded.name;\r\n            }\r\n        }\r\n        if (redModal != \"\") {\r\n            setModalTitle('Atención');\r\n            setModalDescription(\r\n                `El archivo: ${redModal} supera el tamaño máximo.\r\n                Asegurate de que los archivos no superen los ${configurationReduxState?.filter(x => x?.id === 'medidaArchivosAdjuntos')[0]?.valor}MB`\r\n            );\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass(classes.backgroundError);\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        e.target.value = null;\r\n        handleClose();\r\n    };\r\n\r\n    const handleDeleteFile = (setFiles, files, fileName) => e => {\r\n        e.preventDefault();\r\n\r\n        let auxFiles = files?.filter(item => {\r\n            return item?.archivoNombre !== fileName;\r\n        });\r\n\r\n        setFiles(auxFiles);\r\n        setAttachedError({ attached: \"*El adjunto Comprobante Digital es obligatorio\" });\r\n        deleteFile();\r\n    };\r\n\r\n    useEffect(() => {\r\n        let type = refundsTypeAttached?.tipoAdjunto?.map(type => {\r\n            return { value: parseInt(type?.tipoAdjuntosCodigo), label: type?.tipoAdjuntosDescripcion };\r\n        });\r\n        setTypeAttached(type);\r\n\r\n        let othersType = type?.filter(x => x?.label === 'Otros');\r\n\r\n        if(othersType?.length > 0) {\r\n            setOtherType([{ value: othersType?.[0]?.value, label: othersType?.[0]?.label }]);\r\n            setShowTypeSelect(false);\r\n        } else {\r\n            setShowTypeSelect(true);\r\n        }\r\n    }, [refundsTypeAttached?.tipoAdjunto]);\r\n\r\n    const handleChangeSelect = () => e => {\r\n        const { value } = e.target;\r\n        let auxSelected = typeAttached?.filter(x => x?.value === value);\r\n        setLabelTypeSelectedAttached(auxSelected?.[0]?.label);\r\n        setTypeSelectedAttached(value);\r\n        setOtherType([{ value: value, label: auxSelected?.[0]?.label }]);\r\n    };\r\n\r\n    const disabledButton = () => {\r\n        let disable;\r\n        if(showTypeSelect) {\r\n            if(labelTypeSelectedAttached === '') {\r\n                disable = true;\r\n            } else {\r\n                disable = false;\r\n            }\r\n        } else if(files?.length > 0){\r\n            disable = true;\r\n        } else {\r\n            disable = false;\r\n        }\r\n\r\n        return disable;\r\n    }\r\n\r\n    const handleClose = () => {\r\n        setOpenUploadModal(false);\r\n    };\r\n\r\n    const modalUpload = () => {\r\n        return (\r\n            <Dialog\r\n                onClose={handleClose}\r\n                open={openUploadModal}\r\n                aria-labelledby=\"customized-dialog-title\"\r\n                id=\"backDropActivities\"\r\n            >\r\n                <div id=\"modalActivities\" style={{ textAlign: 'center' }}>\r\n                    <IconButton\r\n                        className={classes.closeButton}\r\n                        aria-label=\"close\"\r\n                        onClick={handleClose}\r\n                    >\r\n                        <CloseIcon />\r\n                    </IconButton>\r\n                    <DialogTitle\r\n                        className={`${classes.contentDialogTitle}`}\r\n                        style={{ padding: '20px' }}\r\n                        id=\"customized-dialog-title\"\r\n                        onClose={handleClose}\r\n                    >\r\n                        <Typography\r\n                            className={classes.titleDialogActivities}\r\n                            style={{ fontWeight: \"600\", display: 'flex', alignItems: 'center', justifyContent: 'center', margin: '10px' }}>\r\n                            {'Adjuntar comprobante digital'}\r\n                            <FrequentQuestionsButton />\r\n                        </Typography>\r\n                    </DialogTitle>\r\n\r\n                    <DialogContent className={`${classes.contentDialogTitle}`} style={{ paddingTop: \"0px\" }}>\r\n                        <div style={{ textAlign: \"center\" }}>\r\n                            <CustomButton\r\n                                onClick={() => { inputFile?.current?.click(); }}\r\n                                style={{ padding: '5px 15px 5px 5px', width: '200px', marginBottom: '10px' }}\r\n                                icon={<AttachFileIcon />}\r\n                                title={\"ADJUNTAR ARCHIVO\"}\r\n                                customClass={`${classes.lightLinearGradient} ${classes.marginLeft}`}\r\n                            />\r\n                            <CustomButton\r\n                                onClick={() => { inputPhoto?.current?.click(); }}\r\n                                title={\"SACAR FOTO\"}\r\n                                style={{ padding: '5px 15px 5px 5px', width: '200px', marginBottom: '10px' }}\r\n                                icon={<AttachFileIcon />}\r\n                                customClass={`${classes.lightLinearGradient} ${classes.marginLeft}`}\r\n                            />\r\n                        </div>\r\n                    </DialogContent>\r\n                </div>\r\n            </Dialog>\r\n        );\r\n    }\r\n\r\n    const showUploadFiles = () => {\r\n        return (\r\n            <section\r\n                style={{ display: 'flex', flexDirection: \"column\", alignItems: \"center\", paddingTop: '10px', marginLeft: '40px' }}\r\n            >\r\n                {files?.map((file, i) => (\r\n                    <div key={i} className={`${classes.txtSubtitleCalendar}`} style={{ display: \"flex\", justifyContent: \"start\", width: \"100%\", color: '#666666' }}>\r\n                        <p className={`${classes.txtEllipsis}`}>\r\n                            Adjuntaste el archivo: <span className={`${classes.txtSubtitleCalendar}`} style={{ marginLeft: '5px' }}>{file?.archivoNombreCompleto}</span>\r\n                        </p>\r\n                        <IconButton\r\n                            style={{ marginTop: '-3px' }}\r\n                            onClick={handleDeleteFile(setFiles, files, file?.archivoNombre)}>\r\n                            <HighlightOffIcon />\r\n                        </IconButton>\r\n                    </div>\r\n                ))}\r\n            </section>\r\n        );\r\n    }\r\n\r\n    return (\r\n        <>\r\n            {screen.sWidth > 768 &&\r\n                <TopButtons handleOpenCancelModalTurn={handleOpenCancelModal} handleBackTurn={handleBack} activeStepTurn={activeStep} handleNextTurn={handleNext} titleCancel={\"Cancelar\"} titleConfirm={\"Siguiente\"} />\r\n            }\r\n            {\r\n                loading ?\r\n                    (<Loading isLoading={loading} />)\r\n                    :\r\n                    (\r\n                        <div style={{ padding: \"30px\", display: \"flex\", flexDirection: \"column\" }}>\r\n                            <>\r\n                                <div style={{ marginBottom: \"30px\" }}>\r\n                                    <Typography className={classes.titleTurn}>\r\n                                        DATOS BANCARIOS\r\n                                    </Typography>\r\n                                </div>\r\n                                <FormControl className={`${classes.formControlCustomSelectRefunds}`} variant=\"standard\">\r\n                                    <Select\r\n                                        name={'numeroCuenta'}\r\n                                        label={'CUENTA DE ACREDITACION'}\r\n                                        list={accountsList}\r\n                                        selected={modelToSend?.numeroCuenta ?? ''}\r\n                                        onChange={handleSelectAccount}\r\n                                        disabled={isNewAccount}\r\n                                    />\r\n                                    <FormHelperText style={{marginLeft:\"30px\"}} className={`${classes.errorText} ${classes.errorTextFormMobile}`} hidden={isNewAccount}>{error?.numeroCuenta}</FormHelperText>\r\n                                </FormControl>\r\n\r\n                                <div>\r\n                                    <Button style={{ marginLeft: \"15px\" }} onClick={handleNew}>\r\n                                        {\r\n                                            isNewAccount ? (\r\n                                                <>\r\n                                                    <RemoveCircleOutlinedIcon className={`${classes.RemoveArrowIcon}`} style={{ marginRight: '5px', marginTop: '-1px' }} />\r\n                                                    <span style={{ color: '#0276C9', fontWeight: '600' }}>Seleccionar Una Cuenta</span>\r\n                                                </>\r\n                                            ) : (\r\n                                                <>\r\n                                                    <AddCircleOutlinedIcon className={`${classes.ShowMoreArrowIcon}`} style={{ marginRight: '5px', marginTop: '-1px' }} />\r\n                                                    <span style={{ color: '#0276C9', fontWeight: '600' }}>Agregar Nueva Cuenta</span>\r\n                                                </>\r\n                                            )\r\n                                        }\r\n                                    </Button>\r\n                                </div>\r\n\r\n                                {isNewAccount &&\r\n                                    <div style={{  marginTop: \"10px\" }}>\r\n                                        {\r\n                                            addAccountValidations.map(({ name, label, type, list }) => {\r\n                                                switch (type) {\r\n                                                    case 'file': return<></>\r\n                                                    case 'number':\r\n                                                    case 'decimal':\r\n                                                        return <FormControl className={`${classes.formControlStep2Refunds}`} variant=\"standard\">\r\n                                                            <InputNumber\r\n                                                                label={label}\r\n                                                                name={name}\r\n                                                                value={modelToSend[name]}\r\n                                                                type={type}\r\n                                                                onChange={handleChange}\r\n                                                            />\r\n                                                            <FormHelperText className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error[name]}</FormHelperText>\r\n                                                        </FormControl>\r\n                                                    case 'list':\r\n                                                        return <FormControl className={`${classes.formControlCustomSelectRefunds}`} variant=\"standard\">\r\n                                                            <Select\r\n                                                                label={label}\r\n                                                                name={name}\r\n                                                                selected={modelToSend[name]}\r\n                                                                list={list}\r\n                                                                onChange={handleChange}\r\n                                                            />\r\n                                                            <FormHelperText style={{marginLeft:\"25px\"}} className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error[name]}</FormHelperText>\r\n                                                        </FormControl>\r\n                                                    default:\r\n                                                        return <FormControl variant=\"standard\" className={`${classes.formControlStep2Refunds}`}>\r\n                                                            <Input\r\n                                                                name={name}\r\n                                                                label={label}\r\n                                                                value={modelToSend[name]}\r\n                                                                onChange={handleChange}\r\n                                                            />\r\n                                                            <FormHelperText className={`${classes.errorText} ${classes.errorTextFormMobile}`}>{error[name]}</FormHelperText>\r\n                                                        </FormControl>\r\n                                                }\r\n                                            })\r\n                                        }\r\n\r\n                                        <Typography className={`${classes.titleTurn} ${classes.titleBox}`} style={{ textTransform: 'uppercase', fontSize: \"14px\", margin: \"10px 0\" }}>\r\n                                            ADJUNTAR COMPROBANTE DIGITAL\r\n                                        </Typography>\r\n\r\n                                        { showTypeSelect &&\r\n                                            <div style={{ paddingTop: '20px', paddingBottom: '20px', display: 'flex', flexDirection: \"column\", alignItems: \"start\" }}>\r\n                                                <FormControl className={`${classes.formControlCustomSelectRefunds}`} variant=\"standard\">\r\n                                                    <Select\r\n                                                        label='TIPO DE ARCHIVO'\r\n                                                        name={'selectAttached'}\r\n                                                        className={`${classes.selectAuthorizations}`}\r\n                                                        list={typeAttached}\r\n                                                        selected={typeSelectedAttached}\r\n                                                        onChange={handleChangeSelect()}\r\n                                                    />\r\n                                                </FormControl>\r\n                                            </div>\r\n                                        }\r\n\r\n                                        <div style={{ display: 'flex', alignItems: 'center', marginLeft: '35px' }}>\r\n                                            <CustomButton title={\"Nuevo adjunto\"}\r\n                                                onClick={addAttachment}\r\n                                                style={{ height: \"20px\", padding: \"16px\", fontSize: \"12px\" }}\r\n                                                icon={<AddCircleIcon style={{ marginRight: \"8px\" }} />}\r\n                                                customClass={`${classes.txtMobile} ${classes.lightLinearGradient}`}\r\n                                                disabled={disabledButton()}\r\n                                            />\r\n                                            {\r\n                                                screen.sWidth > 768 &&\r\n                                                <FrequentQuestionsButton />\r\n                                            }\r\n                                        </div>\r\n                                        <FormHelperText className={`${classes.errorText}`} style={{ marginTop: screen.sWidth < 768 && '15px' }}>{attachedError?.attached}</FormHelperText>\r\n\r\n                                        { files?.length > 0 && showUploadFiles() }\r\n\r\n                                        <FormHelperText\r\n                                            className={`${classes.formControlStep2Refunds}`}\r\n                                            style={{ color: '#0276C9', fontWeight: '500', marginTop: '20px' }}\r\n                                        >Esta cuenta se verá reflejada en 48 hs hábiles</FormHelperText>\r\n\r\n                                        {openUploadModal && modalUpload()}\r\n\r\n                                        <input\r\n                                            ref={inputFile}\r\n                                            type=\"file\"\r\n                                            hidden\r\n                                            id='upFile'\r\n                                            onChange={uploadFile}\r\n                                            name='upFileName'\r\n                                        />\r\n\r\n                                        <input\r\n                                            ref={inputPhoto}\r\n                                            type=\"file\"\r\n                                            hidden\r\n                                            capture=\"environment\"\r\n                                            id='upPhoto'\r\n                                            onChange={uploadFile}\r\n                                            name='upPhotoName'\r\n                                        />\r\n                                    </div>\r\n                                }\r\n                            </>\r\n                        </div>\r\n                    )\r\n            }\r\n            {\r\n                screen.sWidth <= 768 &&\r\n                <FooterDrawer\r\n                    activeStep={activeStep}\r\n                    handleOpenCancelModal={handleOpenCancelModal}\r\n                    handleBack={handleBack}\r\n                    handleNext={handleNext}\r\n                    customClassDiv={classes.footerAuthRequest}\r\n                    confirm={true}\r\n                />\r\n            }\r\n\r\n            <ConfirmModal\r\n                setOpen={setOpenExistFileModal}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n                isOpen={openExistFileModal}\r\n                description={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            El archivo seleccionado ya existe en esta solicitud\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center', marginTop: '10px' }}>\r\n                            Por favor verificá el paso anterior\r\n                        </div>\r\n                    </>\r\n                }\r\n            />\r\n\r\n            {showErrorMessageModal(errorMessage, openErrorModal, setOpenErrorModal, classes.borderWhite, classes.quickAccessIcon)}\r\n        </>\r\n    )\r\n}\r\n\r\nexport default AddRefundStep4","import { Checkbox, CircularProgress, FormControl, FormControlLabel, FormGroup, FormHelperText, IconButton, InputAdornment, Typography } from '@mui/material';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport useStyles from '../../../../assets/styles/styles';\r\nimport CustomizedInputs from '../../../../controls/InputCustom/CustomizedInputs';\r\nimport { useResizeScreen } from '../../../../hooks/useResizeScreen';\r\nimport FooterDrawer from '../../../AskTurn/FooterDrawer';\r\nimport TopButtons from '../../../AskTurn/Web/Buttons/TopButtons';\r\nimport ModalActivities from '../../../DialogActivities/ModalActivities';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport BlockIcon from '@material-ui/icons/Block';\r\nimport InputNumber from '../../../../controls/InputCustom/InputNumber';\r\nimport { validatorForms } from '../../../../utils/utilsFunctions';\r\nimport { setModel, postRefundRequest, clearPostRefundsRequest, clearMsgError } from '../../../../redux/actions/refundsActions';\r\nimport Loading from '../../../LoadingPage/Loading';\r\nimport CustomButton from '../../../../controls/Button/CustomButton';\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst modelErrors = {\r\n    phone: '',\r\n    email: '',\r\n};\r\n\r\nconst propertiesValidations = [\r\n    {\r\n        name: 'contactoTelefono',\r\n        type: 'number',\r\n        required: true,\r\n        label: 'TELEFONO',\r\n        maxLength: 40\r\n    },\r\n    {\r\n        name: 'contactoEmail',\r\n        type: 'string',\r\n        required: true,\r\n        label: 'E-MAIL',\r\n        maxLength: 100\r\n    }\r\n]\r\n\r\nconst AddRefundStep5 = ({ handleOpenCancelModal, activeStep, handleBack }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const dispatch = useDispatch();\r\n    const [modelToSend, setModelToSend] = useState({});\r\n    const [disabledInputs, setDisabledInputs] = useState({ contactoEmail: true, contactoTelefono: true });\r\n    const [error, setError] = useState(modelErrors);\r\n    const [termsAndConditions, setTermsAndConditions] = useState(false);\r\n    const [openModalConfirm, setOpenModalConfirm] = useState(false);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [openModalError, setOpenModalError] = useState(false);\r\n    const { modelRequest, loading, postRefund, msgError } = useSelector(state => state.refundsReducer);\r\n    const fullPersonalData = useSelector(state => state.personalDataReducer);\r\n    const { allConfigurations } = useSelector(state => state.configurationReducer);\r\n\r\n    const handleNext = () => {\r\n        if (validateModelStep5()) {\r\n            dispatch(setModel({ ...modelRequest, ...modelToSend, numeroPersona: userCode }));\r\n            setOpenModalConfirm(true);\r\n        }\r\n    }\r\n\r\n    const handleSubmit = () => {\r\n        dispatch(postRefundRequest(modelRequest));\r\n    }\r\n\r\n    const handleChange = (e) => {\r\n        setModelToSend({ ...modelToSend, [e.target.name]: `${e.target.value}` });\r\n        setError({ ...error, [e.target.name]: \"\" });\r\n    }\r\n\r\n    const handleDisable = (name) => {\r\n        setDisabledInputs({ ...disabledInputs, [name]: !disabledInputs[name] })\r\n    }\r\n\r\n    const handleChangeCheck = () => {\r\n        setTermsAndConditions(!termsAndConditions);\r\n    }\r\n\r\n    const validateModelStep5 = () => {\r\n\r\n        const { auxErrors, valid } = validatorForms(propertiesValidations, modelToSend);\r\n\r\n        setError(auxErrors);\r\n\r\n        return valid;\r\n    }\r\n\r\n    useEffect(() => {\r\n      if(!openModalError){\r\n        dispatch(clearMsgError());\r\n      }\r\n    }, [openModalError])\r\n    \r\n\r\n    useEffect(() => {\r\n        const phone = fullPersonalData?.fullData?.afiliado?.telefonos[0]?.telefono;\r\n        const email = fullPersonalData?.fullData?.afiliado?.mails[0]?.mail?.trim();\r\n\r\n        setModelToSend({ ...modelToSend, contactoTelefono: phone, contactoEmail: email });\r\n\r\n    }, [fullPersonalData?.fullData?.afiliado]);\r\n\r\n    useEffect(() => {\r\n        if (postRefund?.confirmacion) {\r\n            setOpenModalConfirm(false);\r\n            setOpenModal(true);\r\n        }\r\n        else if (postRefund?.confirmacion !== undefined && postRefund?.confirmacion === false) {\r\n            setOpenModalConfirm(false);\r\n            setOpenModalError(true);\r\n        }\r\n    }, [postRefund]);\r\n\r\n    useEffect(() => {\r\n        if (msgError?.length > 0) {\r\n            setOpenModalConfirm(false);\r\n            setOpenModal(false);\r\n            setOpenModalError(true);\r\n        }\r\n    }, [msgError]);\r\n\r\n    useEffect(() => {\r\n        if (openModal) {\r\n            setTimeout(() => { window.location.replace('/Refunds'); }, 3000);\r\n        }\r\n    }, [openModal]);\r\n\r\n    useEffect(() => {\r\n        return () => {\r\n            dispatch(clearPostRefundsRequest());\r\n        }\r\n    }, [])\r\n\r\n    return (\r\n        <>\r\n            {\r\n                screen.sWidth > 768 &&\r\n                <>\r\n                    <TopButtons\r\n                        handleOpenCancelModalTurn={handleOpenCancelModal}\r\n                        handleBackTurn={handleBack}\r\n                        activeStepTurn={activeStep}\r\n                        handleNextTurn={handleNext}\r\n                        disabledNext={!termsAndConditions}\r\n                        step={2}\r\n                        titleCancel={\"CANCELAR\"}\r\n                        titleConfirm={\"ENVIAR REINTEGRO\"} />\r\n                </>\r\n            }\r\n            {\r\n                loading ?\r\n                    (<Loading isLoading={loading} />)\r\n                    :\r\n                    (\r\n                        <div>\r\n                            <div style={{ marginBottom: \"30px\" }}>\r\n                                <Typography className={`${classes.titleTurn}`} >DATOS DE CONTACTO</Typography>\r\n                            </div>\r\n                            <div className={classes.formConfirmAuthorization} >\r\n                                {\r\n                                    propertiesValidations?.map(({ name, label, type }) => {\r\n                                        if (type === 'number') {\r\n                                            return (\r\n                                                <FormControl key={name} className={`${classes.formControlAddress} ${classes.itemGridSpan2}`} variant=\"standard\">\r\n                                                    <InputNumber\r\n                                                        formControlClass={classes.width70}\r\n                                                        value={modelToSend[name]}\r\n                                                        label={label}\r\n                                                        name={name}\r\n                                                        type={type}\r\n                                                        disabled={disabledInputs[name]}\r\n                                                        onChange={handleChange}\r\n                                                        endAdornment={\r\n                                                            <InputAdornment position=\"start\">\r\n                                                                <IconButton onClick={() => handleDisable(name)}>\r\n                                                                    {\r\n                                                                        disabledInputs[name] ? (\r\n                                                                            <EditIcon />\r\n                                                                        ) : (\r\n                                                                            <BlockIcon />\r\n                                                                        )\r\n                                                                    }\r\n                                                                </IconButton>\r\n                                                            </InputAdornment>\r\n                                                        }\r\n                                                    />\r\n                                                    <FormHelperText className={classes.errorText}>{error[name]}</FormHelperText>\r\n                                                </FormControl>)\r\n                                        } else {\r\n                                            return (\r\n                                                <FormControl key={name} className={`${classes.formControlAddress} ${classes.itemGridSpan2}`}  >\r\n                                                    <CustomizedInputs\r\n                                                        formControlClass={classes.width70}\r\n                                                        label={label}\r\n                                                        value={modelToSend[name]}\r\n                                                        disabled={disabledInputs[name]}\r\n                                                        onChange={handleChange}\r\n                                                        name={name}\r\n                                                        endAdornment={\r\n                                                            <InputAdornment position=\"start\">\r\n                                                                <IconButton onClick={() => handleDisable(name)}>\r\n                                                                    {\r\n                                                                        disabledInputs[name] ? (\r\n                                                                            <EditIcon />\r\n                                                                        ) : (\r\n                                                                            <BlockIcon />\r\n                                                                        )\r\n                                                                    }\r\n                                                                </IconButton>\r\n                                                            </InputAdornment>\r\n                                                        }\r\n                                                    />\r\n                                                    <FormHelperText className={classes.errorText}>{error[name]}</FormHelperText>\r\n                                                </FormControl>)\r\n                                        }\r\n                                    })\r\n                                }\r\n\r\n                            </div>\r\n                            <div className={classes.divConfirmRefund}>\r\n                                <FormGroup >\r\n                                    <FormControlLabel\r\n                                        control={<Checkbox color='primary'\r\n                                            checked={termsAndConditions}\r\n                                            onChange={handleChangeCheck} />}\r\n                                        label=\"Acepto términos y condiciones\"\r\n                                    />\r\n                                </FormGroup>\r\n                                <a\r\n                                    href={allConfigurations?.configurations?.filter(x => x.id === 'terminosCondicionesReintegros')[0]?.valor}\r\n                                    download=\"terminosycondiciones.pdf\"\r\n                                    style={{ textDecoration: \"none\" }}\r\n                                    target=\"_blank\"\r\n                                >\r\n                                    <CustomButton\r\n                                        title={'DESCARGAR PDF'}\r\n                                        customClass={`${classes.downloadTermsAndConditionsBtn} ${classes.lightLinearGradient}`}\r\n                                    />\r\n                                </a>\r\n                            </div>\r\n\r\n                        </div>\r\n\r\n                    )\r\n            }\r\n\r\n\r\n            {\r\n                openModalConfirm &&\r\n                <ModalActivities\r\n                    title={\r\n                        <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '10px' }}>\r\n                            <span>¿Confirma el alta de la solicitud?</span>\r\n                        </div>\r\n                    }\r\n                    description={\r\n                        loading &&\r\n                        <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}>\r\n                            <CircularProgress color={'inherit'} />\r\n                        </div>\r\n                    }\r\n                    open={openModalConfirm}\r\n                    onClose={setOpenModalConfirm}\r\n                    modalconfirm={!loading}\r\n                    modalLogout={false}\r\n                    buttonType={'submit'}\r\n                    handleClick={handleSubmit}\r\n                />\r\n            }\r\n            {\r\n                openModal &&\r\n                <ModalActivities\r\n                    title={\r\n                        <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap' }}>\r\n                            <CheckCircleIcon style={{ fontSize: \"50px\" }} className={classes.quickAccessIcon} />\r\n                            <div style={{ display: 'flex', justifyContent: 'center', flex: '1 1 100%' }}>\r\n                                <span>TU SOLICITUD SE CREO CON EXITO</span>\r\n                            </div>\r\n                        </section>\r\n                    }\r\n                    open={openModal}\r\n                    onClose={setOpenModal}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n            {\r\n                openModalError &&\r\n                <ModalActivities\r\n                    title={\r\n                        <section style={{ justifyContent: 'center', display: 'flex', flexWrap: 'wrap' }}>\r\n                            <CancelIcon style={{ fontSize: \"50px\", marginBottom: \"20px\" }} className={classes.quickAccessIcon} />\r\n                            <div style={{ justifyContent: 'center', display: 'flex', flex: '1 1 100%' }}>\r\n                                <span>{msgError}</span>\r\n                            </div>\r\n                        </section>\r\n                    }\r\n                    onClose={setOpenModalError}\r\n                    modalLogout={false}\r\n                    modalconfirm={false}\r\n                    open={openModalError}\r\n                />\r\n            }\r\n            {\r\n                screen.sWidth <= 768 &&\r\n                <FooterDrawer\r\n                    activeStep={activeStep}\r\n                    handleOpenCancelModal={handleOpenCancelModal}\r\n                    handleBack={handleBack}\r\n                    handleNext={handleNext}\r\n                    disabledNext={!termsAndConditions}\r\n                    customClassDiv={classes.footerAuthRequest}\r\n                    confirm={true}\r\n                />\r\n            }\r\n        </>\r\n    );\r\n}\r\n\r\nexport default AddRefundStep5","import React from 'react';\r\nimport AddRefundStep1 from './CustomSteps/AddRefundStep1';\r\nimport AddRefundStep2 from './CustomSteps/AddRefundStep2';\r\nimport AddRefundStep3 from './CustomSteps/AddRefundStep3';\r\nimport AddRefundStep4 from './CustomSteps/AddRefundStep4';\r\nimport AddRefundStep5 from './CustomSteps/AddRefundStep5';\r\n\r\nconst DrawerRefundsSteps = ({ isWeb, activeStep, setActiveStep, handleOpenCancelModal, handleBack }) => {\r\n    const ShowStepsFunction = () => {\r\n        const DEFAULT_STEP = <AddRefundStep1 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />;\r\n        const ACTIVE_STEPS = {\r\n            0: <AddRefundStep1 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n            1: <AddRefundStep2 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n            2: <AddRefundStep3 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n            3: <AddRefundStep4 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n            4: <AddRefundStep5 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n        };\r\n\r\n        const ACTIVEWEB_STEPS = {\r\n            0: <AddRefundStep1 activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} setActiveStep={setActiveStep} />,\r\n            1: ACTIVE_STEPS[activeStep],\r\n            2: ACTIVE_STEPS[activeStep],\r\n            3: ACTIVE_STEPS[activeStep],\r\n            4: ACTIVE_STEPS[activeStep]\r\n        };\r\n\r\n        let returnActiveStep = DEFAULT_STEP;\r\n\r\n        if (activeStep) {\r\n            if (isWeb) {\r\n                returnActiveStep = ACTIVEWEB_STEPS[activeStep];\r\n            } else {\r\n                returnActiveStep = ACTIVE_STEPS[activeStep];\r\n            }\r\n        }\r\n        return returnActiveStep;\r\n    };\r\n\r\n    return <>\r\n        {ShowStepsFunction()}\r\n    </>;\r\n};\r\n\r\nexport default React.memo(DrawerRefundsSteps, (prevState, nextState) => {\r\n    return prevState.activeStep === nextState.activeStep;\r\n});\r\n","import { IconButton, Typography } from \"@material-ui/core\";\r\nimport { Fragment, useCallback, useState, useEffect } from \"react\";\r\nimport WizardLine from \"../../AskTurn/WizardLine\";\r\nimport DrawerRefundsSteps from \"./DrawerRefundsSteps\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport Header from \"../../GenericHeader/Header\";\r\nimport { clearModelRefundsRequest, clearStateRefunds } from \"../../../redux/actions/refundsActions\";\r\nimport ModalProfile from \"../../../components/DialogProfile/Modal\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\n\r\nconst RefundsRequest = () => {\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [activeStep, setActiveStep] = useState(0);\r\n    const dispatch = useDispatch();\r\n    const classes = useStyles();\r\n    const list = [\r\n        {\r\n            step0: \"\"\r\n        },\r\n        {\r\n            step1: \"\"\r\n        },\r\n        {\r\n            step2: \"\"\r\n        },\r\n        {\r\n            step3: \"\"\r\n        },\r\n        {\r\n            step4: \"\"\r\n        },\r\n    ];\r\n\r\n\r\n    const handleOpenCancelModal = useCallback(() => {\r\n        setOpenModal(prevState => !prevState);\r\n    }, [openModal]);\r\n\r\n    const handleNext = () => {\r\n        let active = activeStep + 1;\r\n        setActiveStep(active);\r\n    };\r\n\r\n    const handleBack = useCallback(() => {\r\n        let active = activeStep - 1;\r\n        setActiveStep(active);\r\n    }, [activeStep]);\r\n\r\n    const handleClose = () => {\r\n        dispatch(clearModelRefundsRequest());\r\n        window.location.href = '/Refunds';\r\n    };\r\n\r\n    useEffect(() => {\r\n      return () => {\r\n        dispatch(clearStateRefunds());\r\n      }\r\n    }, []);\r\n\r\n    return (\r\n        <Fragment>\r\n            <Header title={\"Reintegros\"} zIndexTitle={100} positionTitle={\"relative\"} />\r\n            <section style={{ padding: '20px' }}>\r\n                {activeStep !== 0 &&\r\n                    <>\r\n                        <div style={{ position: \"absolute\", zIndex: \"110\", top: \"105px\", left: \"10px\" }}>\r\n                            <IconButton onClick={handleBack}>\r\n                                <ArrowBackIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"30px\" }} />\r\n                            </IconButton>\r\n                        </div>\r\n                    </>\r\n                }\r\n                <WizardLine list={list} activeStep={activeStep} />\r\n                <DrawerRefundsSteps isWeb={true} open={true}\r\n                    activeStep={activeStep} setActiveStep={setActiveStep}\r\n                    handleOpenCancelModal={handleOpenCancelModal}\r\n                    handleCloseDrawer={handleClose}\r\n                    handleBack={handleBack} handleNext={handleNext} />\r\n            </section>\r\n            {\r\n                openModal &&\r\n                <ModalProfile\r\n                    type='cancel'\r\n                    title={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                Cancelar reintegro\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    observation={\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <Typography>\r\n                                ¿Está seguro que desea salir?\r\n                            </Typography>\r\n                        </div>\r\n                    }\r\n                    description={\r\n                        <div style={{ display: 'flex', justifyContent: 'space-evenly' }}>\r\n                            <CustomButton\r\n                                title={\"Si\"}\r\n                                customClass={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n                                onClick={handleClose}\r\n                            />\r\n                            <CustomButton\r\n                                title={\"No\"}\r\n                                customClass={`${classes.buttonNotConfirmModal}`}\r\n                                onClick={handleOpenCancelModal}\r\n                            />\r\n                        </div>\r\n                    }\r\n                    open={openModal}\r\n                    onClose={setOpenModal}\r\n                />\r\n            }\r\n        </Fragment>\r\n    );\r\n};\r\n\r\nexport default RefundsRequest;","import Iframe from \"react-iframe\";\r\nimport Menu from \"../Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../PersonalData/FormHeader\";\r\nimport { handleGoToBilling } from \"../../utils/utilsFunctions\";\r\n\r\nconst BillingFrequentQuestions = () => {\r\nconst classes = useStyles();\r\nconst { screen } = useResizeScreen();\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {\r\n                screen.sWidth < 768 &&\r\n                <FormHeader title={\"Preguntas Frecuentes\"} handleGoTo={handleGoToBilling} />\r\n            }\r\n            <div className={classes.Redirect} style={{marginLeft: \"-8px\", marginTop: \"-10px\"}}>\r\n                <Iframe sandbox='' scrolling=\"yes\" src='https://www.oslpasteur.com.ar/PortalHTML5/accesos/PreguntasFrecuentes/index.html?facturacion'\r\n                    className={classes.iframe} />\r\n            </div>\r\n\r\n        </>\r\n    );\r\n};\r\n\r\nexport default BillingFrequentQuestions;\r\n","import Iframe from \"react-iframe\";\r\nimport Menu from \"../Menu/Menu\";\r\nimport FormHeader from \"../PersonalData/FormHeader\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { handleGoToPersonalData } from \"../../utils/utilsFunctions\";\r\n\r\nconst PersonalDataFrequentQuestions = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {\r\n                screen.sWidth < 768 &&\r\n                <FormHeader title={\"Preguntas Frecuentes\"} handleGoTo={handleGoToPersonalData} />\r\n            }\r\n            <div className={classes.Redirect} style={{marginLeft: \"-8px\", marginTop: \"-10px\"}}>\r\n                <Iframe sandbox='' scrolling=\"yes\" src='https://www.oslpasteur.com.ar/PortalHTML5/accesos/PreguntasFrecuentes/index.html?afiliacion'\r\n                    className={classes.iframe} />\r\n            </div>\r\n\r\n        </>\r\n    );\r\n};\r\n\r\nexport default PersonalDataFrequentQuestions;\r\n","import { CircularProgress } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport Iframe from \"react-iframe\";\r\nimport { useSelector } from \"react-redux\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst RedirectToActivities = () => {\r\n    const classes = useStyles();\r\n    const trackPageView = useTrackPageView(\"Actividades\");\r\n\r\n    const fullDataAffiliatedReduxState = useSelector(\r\n        (state) => state.personalDataReducer?.fullData?.afiliado\r\n    );\r\n\r\n    const [loading, setLoading] = useState(true);\r\n\r\n    const circularProgressStyles = {\r\n        circularProgress: { display: \"flex\", justifyContent: \"center\", flex: \"0 0 100%\", paddingTop: \"30px\" }\r\n    }\r\n\r\n    useEffect(() => {\r\n        fullDataAffiliatedReduxState !== undefined && setLoading(false);\r\n    }, [fullDataAffiliatedReduxState]);\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n    }, [])\r\n\r\n    const formatAffiliateNumber = () => fullDataAffiliatedReduxState?.numeroAfiliado?.replace(/\\//g, \"\");\r\n\r\n    return (\r\n        <>\r\n            {\r\n                loading ?\r\n                    (\r\n                        <div style={ circularProgressStyles.circularProgress }>\r\n                            <CircularProgress />\r\n                        </div>\r\n                    )\r\n                :\r\n                    (\r\n                        <Iframe\r\n                            sandbox=\"\"\r\n                            scrolling=\"yes\"\r\n                            src={`https://www.oslpasteur.com.ar/portal/Afiliados/inscripMobile.asp?p=${formatAffiliateNumber()}`}\r\n                            className={classes.iframe}\r\n                        />\r\n                    )\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default RedirectToActivities;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport Menu from \"../../Menu/Menu\";\r\nimport { CircularProgress, Zoom, ClickAwayListener, Divider, FormControl, IconButton, InputLabel, TextField, Typography } from \"@material-ui/core\";\r\nimport {\r\n    getDataFilterAppointment,\r\n} from \"../../../redux/actions/appointmentsActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport MovementsCard from \"../../Billing/Movements/MovementsCard\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { handleGoToMedicalData } from \"../../../utils/utilsFunctions\";\r\nimport TuneIcon from '@material-ui/icons/Tune';\r\nimport { LocalizationProvider, MobileDatePicker } from \"@material-ui/lab\";\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\r\nimport { format } from \"date-fns\";\r\nimport ModalActivities from \"../../DialogActivities/ModalActivities\";\r\nimport HeaderCard from \"../../Billing/Movements/HeaderCard\";\r\nimport { es } from \"date-fns/locale\";\r\nimport ControlPointOutlinedIcon from '@material-ui/icons/ControlPointOutlined';\r\nimport ModalProfile from \"../../DialogProfile/Modal\";\r\nimport { getAffiliateRecipeFiles, getRecipe } from \"../../../redux/actions/medicalDataAction\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\n\r\n\r\n\r\n\r\n\r\nconst Prescriptions = () => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const [dateStart, setDateStart] = useState(new Date());\r\n    const [dateEnd, setDateEnd] = useState(new Date());\r\n    const [openPicker, setOpenPicker] = useState(false);\r\n    const [openModalRepeatAppointment, setOpenModalRepeatAppointment] = useState(false);\r\n    const appointments = useSelector((state) => state.appointmentsReducer);//\r\n    const [groupFamily, setGroupFamily] = useState([]);\r\n    const recipe = useSelector((state) => state.medicalDataReducer.recipe);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [loading, setLoading] = useState();\r\n    const [selectedItem, setSelectedItem] = useState(null);\r\n    const screenSize = useResizeScreen();\r\n    const userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n    const [filterLayout, setFilterLayout] = useState('horizontal');\r\n    const [selectedClassification, setSelectedClassification] = useState(\"RECETAS\");\r\n    const [selectStatusClassification, setSelectStatusClassification] = useState(\"INGRESADA\");\r\n    const [flag, setFlag] = useState(false);\r\n    const recipeFiles = useSelector((state) => state.medicalDataReducer.recipeFiles);\r\n\r\n    const persona = {\r\n        numeroPersona: userCode,\r\n        parametroLlamado: \"FILTRO RECETAS\"\r\n    };\r\n    const param = {\r\n        numeroPersona: userCode,\r\n        estadoReceta: \"TODOS\",\r\n        clasificacionReceta: \"TODOS\",\r\n        count: 1000,\r\n        skip: 0,\r\n    };\r\n\r\n\r\n\r\n\r\n    const statusClassification = [\r\n        { value: \"INGRESADA\", label: \"INGRESADA\" },\r\n        { value: \"CONSUMIDA\", label: \"CONSUMIDA\" },\r\n        { value: \"TODOS\", label: \"TODOS\" },\r\n    ]\r\n\r\n\r\n    const classificationOptions = [\r\n        { value: \"RECETAS\", label: \"Recetas\" },\r\n        { value: \"PRESCRIPCIONES\", label: \"Prescripciones\" },\r\n        { value: \"ORDENES\", label: \"Ordenes\" },\r\n    ];\r\n\r\n    const [selectAffilliate, setSelectAffilliate] = useState({\r\n        value: 0,\r\n        label: \"\"\r\n    });\r\n\r\n\r\n\r\n    useEffect(() => {\r\n        const updateLayout = () => {\r\n            if (window.innerWidth <= 768) {\r\n                setFilterLayout('vertical');\r\n            } else {\r\n                setFilterLayout('horizontal');\r\n            }\r\n        };\r\n\r\n        window.addEventListener('resize', updateLayout);\r\n        updateLayout();\r\n        return () => window.removeEventListener('resize', updateLayout);\r\n    }, []);\r\n\r\n\r\n    useEffect(() => {\r\n        dispatch(getDataFilterAppointment(persona));\r\n        dispatch(getRecipe(param));\r\n    }, []);\r\n\r\n\r\n    useEffect(() => {\r\n        setLoading(false);\r\n    }, [recipe])\r\n\r\n\r\n    useEffect(() => {\r\n        dispatch(getRecipe({\r\n            numeroPersona: selectAffilliate?.value,\r\n            count: 9999,\r\n            skip: 0,\r\n            fechaDesde: format(dateStart, \"yyyy-MM-dd\"),\r\n            fechaHasta: format(dateEnd, \"yyyy-MM-dd\"),\r\n            estadoReceta: selectStatusClassification, \r\n            clasificacionReceta: selectedClassification\r\n        }));\r\n        setLoading(true);\r\n\r\n    }, [dateStart, dateEnd, selectAffilliate?.value, selectedClassification, selectStatusClassification]);\r\n\r\n\r\n    useEffect(() => {\r\n        let listGroupFamily = appointments?.filtro?.map((val) => {\r\n            return {\r\n                value: parseInt(val?.numeroPersona), label: val?.apellidoNombre\r\n            };\r\n        });\r\n\r\n        setGroupFamily(listGroupFamily);\r\n\r\n\r\n    }, [appointments.filtro]);\r\n\r\n    useEffect(() => {\r\n        groupFamily?.forEach((item) => {\r\n            if (item.value == userCode) {\r\n                setSelectAffilliate({ value: item.value, label: item.label });\r\n            }\r\n        });\r\n    }, [groupFamily]);\r\n\r\n\r\n    useEffect(() => {\r\n        validateReduxState(recipeFiles, flag);\r\n    }, [recipeFiles?.data?.receta]);\r\n\r\n\r\n    function Responsive(screenSize) {\r\n        let width = screenSize.screen.sWidth;\r\n        if (width <= 768) return \"mobile\";\r\n\r\n    }\r\n\r\n    const searchCard = recipe?.data?.recetas?.filter((item) => {\r\n        if (selectStatusClassification === \"TODOS\") {\r\n            return true;\r\n        } else {\r\n            return item.recetaEstado === selectStatusClassification;\r\n        }\r\n    });\r\n\r\n    const handleChangeSelect = () => e => {\r\n        var nameAffilliated = groupFamily.filter((x) => x.value == e.target.value);\r\n        setSelectAffilliate({ value: nameAffilliated[0].value, label: nameAffilliated[0].label });\r\n    };\r\n\r\n    const handleClickAway = () => {\r\n        setOpenPicker(false);\r\n    };\r\n\r\n    const handleClick = () => {\r\n        setOpenPicker((prev) => !prev);\r\n    };\r\n\r\n    const handleClickOpenDownloadModal = (item) => (e) => {\r\n        setSelectedItem(item)\r\n        setOpenModalRepeatAppointment(true);\r\n        \r\n    };\r\n    \r\n    \r\n\r\n    const handleClickdescarga = (item) => () => {\r\n        \r\n        dispatch(getAffiliateRecipeFiles({\r\n            numeroPersona: selectAffilliate?.value,\r\n            recetaNumero: selectedItem?.recetaNumero,\r\n            clasificacionReceta: selectedClassification,\r\n        }));\r\n        setFlag(true);\r\n        setOpenModalRepeatAppointment(false);\r\n        \r\n    };\r\n    \r\n\r\n    const handleClassificationChange = (e) => {\r\n        setSelectedClassification(e.target.value);\r\n    };\r\n\r\n\r\n    const handleClassificationChangeState = (e) => {\r\n        setSelectStatusClassification(e.target.value);\r\n    };\r\n\r\n\r\n    const inlineRecipeStyles = {\r\n        butonDownloading: {marginTop: \"70px\",width: \"100%\", fontSize: \"0.5rem\",   fontWeight: '800'}\r\n    }\r\n\r\n\r\n    //modal de informacion\r\n    const showmodal = (detail) => {\r\n        const ordenDescripcionParts = detail?.ordenDescripcion?.split(', ');\r\n        const recetaDetalle = detail?.recetaDetalle?.[0];\r\n        return (\r\n            <ModalProfile\r\n                open={openModal}\r\n                onClose={() => setOpenModal(false)}\r\n                title={\r\n                    <>\r\n                        <Typography className={classes.titleDialogTitle}>\r\n                            {detail?.pacienteNombreApellido}\r\n                        </Typography>\r\n                        <Typography className={classes.subTitleDialogTitle}>\r\n                            {detail?.recetaClasificacion}\r\n                        </Typography>\r\n                    </>\r\n                }\r\n                description={\r\n                    <div style={{ marginTop: '5px' }}>\r\n                        <Typography style={{ fontSize: '14px', paddingTop: '2px', paddingBottom: '2px' }} className={`${classes.txtCardDescription}`}>\r\n                            ESTADO: <span style={{ color: '#0075c9' }}>{detail?.recetaEstado}</span>\r\n                        </Typography>\r\n                        <ul style={{ paddingLeft: '17px' }}>\r\n                            {ordenDescripcionParts?.map((part, index) => {\r\n                                const [title, info] = part.split(': ');\r\n\r\n                                return (\r\n                                    <li key={index}>\r\n                                        <Typography style={{ fontSize: '14px', paddingTop: '1px', paddingBottom: '1px', whiteSpace: 'pre-line', lineHeight: '2.0' }} className={`${classes.txtCardDescription}`}>\r\n                                            <span style={{ fontWeight: 'bold', color: 'black' }}>{title}:</span> {info}\r\n                                        </Typography>\r\n                                    </li>\r\n                                );\r\n                            })}\r\n                            <li>\r\n                                <Typography style={{ fontSize: '14px', paddingTop: '1px', paddingBottom: '1px' }} className={`${classes.txtCardDescription}`}>\r\n                                    {detail?.recetaMedicoNombre && `${detail.recetaMedicoNombre}, `}\r\n                                    {detail?.recetaMedicoMatriculaTipo && `${detail.recetaMedicoMatriculaTipo} `}\r\n                                    {detail?.recetaMedicoMatriculaNumero && `${detail.recetaMedicoMatriculaNumero}`}\r\n                                </Typography>\r\n                            </li>\r\n                            <li>\r\n                                <Typography style={{ fontSize: '14px', paddingTop: '1px', paddingBottom: '1px' }} className={`${classes.txtCardDescription}`}>\r\n                                    {recetaDetalle?.recetaDetalleProductoDescripcion && `${recetaDetalle.recetaDetalleProductoDescripcion}, `}\r\n                                    {recetaDetalle?.recetaDetalleProductoCantidad != null && `${recetaDetalle.recetaDetalleProductoCantidad}`}\r\n                                </Typography>\r\n                            </li>\r\n                        </ul>\r\n                    </div>\r\n                }\r\n            />\r\n        );\r\n    };\r\n\r\n\r\n    //tarjetas\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <div className={`${classes.divMyHistoryRecipe}`}>\r\n                <>\r\n                    <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\r\n                        <div style={{ display: \"flex\", alignItems: \"center\" }}>\r\n                            {Responsive(screenSize) == \"mobile\" &&\r\n                                <IconButton onClick={handleGoToMedicalData}>\r\n                                    <ArrowBackIcon className={classes.iconFilter} />\r\n                                </IconButton>\r\n                            }\r\n                            <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase' }}>\r\n                                ORDENES MEDICAS\r\n                            </Typography>\r\n                        </div>\r\n                        <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway}>\r\n                            <div style={{ position: \"relative\", margin: screen.sWidth < 768 ? '15px 13px' : '20px 30px 20px 0' }}>\r\n                                <CustomButton\r\n                                    onClick={handleClick}\r\n                                    style={{ fontSize: '12px' }}\r\n                                    customClass={`${classes.customHeaderBtn} ${classes.btnFilterAppointment}`}\r\n                                    icon={<TuneIcon style={{ marginRight: \"5px\" }} className={classes.iconFilter} />}\r\n                                />\r\n                                {openPicker && (\r\n                                    <Zoom in={openPicker} >\r\n                                        <div className={`${classes.dropdown}`} >\r\n                                            <Typography className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>{\"PERIODO\"}</Typography>\r\n                                            <Divider classes={{ root: classes.dividerFilter }} />\r\n\r\n                                            <div className={`${classes.headerFiltro} ${classes.marginTop}`}>\r\n                                                <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }} className={classes.datePicker}>\r\n                                                    <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"DESDE\"}</InputLabel>\r\n                                                    <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n                                                        <LocalizationProvider style={{ width: \"100px\", zIndex: 2 }} locale={es} dateAdapter={AdapterDateFns}  >\r\n                                                            <MobileDatePicker\r\n                                                                cancelText=\"Cancelar\"\r\n                                                                toolbarTitle=\"\"\r\n                                                                value={dateStart}\r\n                                                                onChange={(newValue) => { setDateStart(newValue); }}\r\n                                                                renderInput={(params) => <TextField {...params} />}\r\n                                                                format=\"dd/MM/YYYY\"\r\n                                                            />\r\n                                                        </LocalizationProvider>\r\n                                                        <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                                    </div>\r\n                                                </FormControl>\r\n\r\n                                                <FormControl style={{ width: \"150px\", marginLeft: \"10px\", paddingTop: \"10px\" }} className={classes.datePicker} >\r\n                                                    <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"HASTA\"}</InputLabel>\r\n                                                    <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\", }}>\r\n                                                        <LocalizationProvider style={{ zIndex: 2 }} locale={es} dateAdapter={AdapterDateFns}  >\r\n                                                            <MobileDatePicker\r\n                                                                cancelText=\"Cancelar\"\r\n                                                                toolbarTitle=\"\"\r\n                                                                value={dateEnd}\r\n                                                                onChange={(newValue) => { setDateEnd(newValue); }}\r\n                                                                variant='outlined'\r\n                                                                renderInput={(params) => <TextField {...params} />}\r\n                                                                format=\"dd/MM/YYYY\"\r\n                                                            />\r\n                                                        </LocalizationProvider>\r\n                                                        <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                                    </div>\r\n                                                </FormControl>\r\n\r\n                                            </div>\r\n                                        </div>\r\n                                    </Zoom>\r\n                                )}\r\n                            </div>\r\n                        </ClickAwayListener>\r\n                    </div>\r\n                </>\r\n                <Divider className={`${classes.formDivider} ${classes.dividerAppointment}`} style={{ margin: \"20px\" }} />\r\n                <div className={`${classes.divAccordionPrograms} ${classes.divAffilliateMyHistory}`} style={{ minWidth: \"240px !important\" }}>\r\n                    {filterLayout === 'horizontal' ? (\r\n                        <div style={{ display: 'flex', justifyContent: 'space-between' }}>\r\n                            <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }}>\r\n                                <CustomSelect\r\n                                    className={`${classes.afilliateSelect}`}\r\n                                    list={groupFamily}\r\n                                    selected={selectAffilliate?.value}\r\n                                    label=\"AFILIADO\"\r\n                                    onChange={handleChangeSelect()}\r\n                                    style={{ marginTop: \"20px\" }}\r\n                                />\r\n                            </FormControl>\r\n                            <FormControl style={{ width: \"150px\", paddingTop: \"10px\", marginLeft: \"5px\" }}>\r\n                                <CustomSelect\r\n                                    className={`${classes.afilliateSelect}`}\r\n                                    list={classificationOptions}\r\n                                    selected={selectedClassification}\r\n                                    label=\"TIPO\"\r\n                                    onChange={handleClassificationChange}\r\n                                    style={{ marginTop: \"20px\" }}\r\n                                />\r\n                            </FormControl>\r\n                            <FormControl style={{ width: \"250px\", paddingTop: \"10px\", marginRight: \"50px\" }}>\r\n                                <CustomSelect\r\n                                    className={`${classes.afilliateSelect}`}\r\n                                    list={statusClassification}\r\n                                    selected={selectStatusClassification}\r\n                                    label=\"Estado\"\r\n                                    onChange={handleClassificationChangeState}\r\n                                    style={{ marginTop: \"20px\" }}\r\n                                />\r\n                            </FormControl>\r\n                        </div>\r\n                    ) : (\r\n                        <>\r\n                            <FormControl style={{ width: \"350px\", paddingTop: \"10px\", marginTop: \"-10px\" }}>\r\n                                <CustomSelect\r\n                                    className={`${classes.afilliateSelect}`}\r\n                                    list={groupFamily}\r\n                                    selected={selectAffilliate?.value}\r\n                                    label=\"AFILIADO\"\r\n                                    onChange={handleChangeSelect()}\r\n                                    style={{ marginTop: \"20px\" }}\r\n                                />\r\n                            </FormControl>\r\n                            <FormControl style={{ width: \"150px\", paddingTop: \"10px\", marginRight: \"100px\" }}>\r\n                                <CustomSelect\r\n                                    className={`${classes.afilliateSelect}`}\r\n                                    list={classificationOptions}\r\n                                    selected={selectedClassification}\r\n                                    label=\"TIPO\"\r\n                                    onChange={handleClassificationChange}\r\n                                    style={{ marginTop: \"20px\" }}\r\n                                />\r\n                            </FormControl>\r\n                            <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }}>\r\n                                <CustomSelect\r\n                                    className={`${classes.afilliateSelect}`}\r\n                                    list={statusClassification}\r\n                                    selected={selectStatusClassification}\r\n                                    label=\"Estado\"\r\n                                    onChange={handleClassificationChangeState}\r\n                                    style={{ marginTop: \"20px\" }}\r\n                                />\r\n                            </FormControl>\r\n                        </>\r\n                    )}\r\n                </div>\r\n                <div className={`${classes.divSectionMovements}`} style={{ display: \"flex\", justifyContent: \"center\", paddingLeft: \"20px\", paddingRight: \"20px\" }}>\r\n                    {loading ?\r\n                        <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                        : searchCard?.length > 0 ?\r\n                            searchCard?.map((item, i) => (\r\n                                <MovementsCard\r\n                                    key={item?.i}\r\n                                    count={item?.count}\r\n                                    index={i}\r\n                                    headerIcon={<HeaderCard day={item?.fechaFormateada?.nombreDia} numberDay={item?.fechaFormateada?.dia} month={Number.parseInt(item?.recetaFechaVigenciaDesde?.split('-')[1])} year={item?.recetaFechaVigenciaDesde ? new Date(item?.recetaFechaVigenciaDesde).toLocaleDateString('es-AR', { year: 'numeric' }) : \"\"} />}\r\n                                    description={\r\n                                        <div style={{ marginTop: \"5px\" }}>\r\n\r\n                                            <Typography style={{ fontWeight: \"600\", color: '#0075c9', paddingBottom: \"10px\" }} className={`${classes.txtCardDescription} `}>\r\n                                                <span>\r\n                                                    <span style={{ fontWeight: \"bold\", color: \"black\" }}>{item?.recetaClasificacion} </span>\r\n\r\n                                                </span>\r\n                                            </Typography>\r\n                                            <Typography className={`${classes.txtCardDescription}`}>\r\n                                                {item?.pacienteNombreApellido}\r\n                                            </Typography>\r\n                                            <Typography style={{ fontWeight: \"600\", paddingBottom: \"10px\" }} className={`${classes.txtCardDescription}`}>\r\n                                                <span>\r\n                                                    <strong style={{ color: \"black\" }}>VTO:</strong>{\" \" +\r\n                                                        new Date(item?.recetaFechaVigenciaHasta).toLocaleDateString('es-AR', { year: 'numeric', month: '2-digit', day: '2-digit' })}\r\n                                                </span>\r\n                                            </Typography>\r\n                                            <Typography style={{ fontWeight: \"600\", paddingBottom: \"10px\" }} className={`${classes.txtCardDescription} `}>\r\n                                                <span style={{ fontWeight: \"bold\", color: \"black\" }}>ESTADO:\r\n                                                    <span style={{ color: '#0075c9' }} > {item?.recetaEstado} </span>\r\n                                                </span>\r\n                                            </Typography>\r\n                                        </div>\r\n                                    }\r\n                                    buttonZone={\r\n\r\n                                        <section className=\"buttonZoneSection\">\r\n                                            <section className={`${classes.sectionButtons} ${classes.btnAuthorizationCard} buttonZoneContainer`}>\r\n                                               \r\n                                                <div style={{ paddingRight: '60px' }}>\r\n                                                </div>\r\n                                                <div>\r\n                                                    {item.recetaEstado !== \"CONSUMIDA\" && (\r\n                                                        <CustomButton\r\n                                                            title=\"DESCARGAR\"\r\n                                                            customClass={classes.lightLinearGradient}\r\n                                                            style={inlineRecipeStyles.butonDownloading}\r\n                                                            onClick={handleClickOpenDownloadModal(item)}\r\n                                                        />\r\n                                                    )}\r\n                                                </div>\r\n\r\n\r\n\r\n                                            </section>\r\n                                        </section>\r\n                                    }\r\n\r\n                                />\r\n                            ))\r\n                            :\r\n                            <NotFound customMsg={\r\n                                <div className={classes.contentNotFound}>\r\n                                    <span>No tenés historial de {selectedClassification}</span>\r\n                                </div>}\r\n                                wsItem={searchCard}\r\n                                fullItem={searchCard} />\r\n                    }\r\n                </div>\r\n                {\r\n                    openModalRepeatAppointment &&\r\n                    <ModalActivities\r\n                        description={'¿Estás seguro que deseas descargar la prescripción seleccionada?'}\r\n                        open={openModalRepeatAppointment}\r\n                        onClose={setOpenModalRepeatAppointment}\r\n                        modalconfirm={true}\r\n                        modalLogout={false}\r\n                        buttonType={'submit'}\r\n                        handleClick={ handleClickdescarga(selectedItem)} \r\n\r\n                    />\r\n                }\r\n                {\r\n                    <>{showmodal(selectedItem)}</>\r\n                }\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Prescriptions;\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction validateReduxState(recipeFiles, flag) {\r\n    if (recipeFiles?.data?.receta && Object.values(recipeFiles.data.receta).length > 0) {\r\n        if (flag) {\r\n            downloadClick(recipeFiles.data.receta[0]);\r\n        }\r\n    }\r\n}\r\n\r\nfunction downloadClick(item) {\r\n    let downloadBtn = document.createElement('A');\r\n    downloadBtn.href = \"data:application/pdf;base64,\" + item.archivo;\r\n    downloadBtn.download = 'receta.pdf';\r\n    document.body.appendChild(downloadBtn);\r\n    downloadBtn.click();\r\n    document.body.removeChild(downloadBtn);\r\n}\r\n","import React, { useCallback } from 'react';\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport \"./modalCom.css\"\r\nconst ModalCommunication = (props) => {\r\n  const { description, open, onClose } = props;\r\n\r\n  const handleClose = useCallback(() => {\r\n    onClose(false);\r\n  }, [onClose]);\r\n\r\n  return (\r\n    <Dialog\r\n      onClose={handleClose}\r\n      aria-labelledby=\"customized-dialog-title\"\r\n      open={open}\r\n      id=\"modalCommunication\"\r\n    >\r\n      <div style={{ position: \"relative\" }}>\r\n        \r\n        <DialogContent style={{ color: \"#69509B\" }}>\r\n          {description}\r\n        </DialogContent>\r\n        <IconButton\r\n            onClick={handleClose}\r\n            style={{\r\n              position: \"absolute\",\r\n              top: \"8px\",\r\n              right: \"8px\",\r\n            }}\r\n          >\r\n            <CloseIcon />\r\n          </IconButton>\r\n                </div>\r\n    </Dialog>\r\n  );\r\n};\r\n\r\nexport default ModalCommunication;\r\n","import { Accordion, AccordionDetails, Typography, Button } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { selectNotification, modifyNotification, updateAllNotifications } from \"../../redux/actions/notificationsActions\";\r\n\r\nconst CardCommunication = (props) => {\r\n    const classes = useStyles();\r\n    const history = useHistory();\r\n    const dispatch = useDispatch();\r\n    const notificacionReducer = useSelector((state) => state.notificationReducer.communication);\r\n\r\n    const viewDetalle = (position) => {\r\n        const newNotifications = notificacionReducer?.communication?.map((item, i) => {\r\n            if (position === i) {\r\n                return { ...item, [\"viewed\"]: true };\r\n            } else {\r\n                return item;\r\n            }\r\n        });\r\n        let notificationSelected = props.notification;\r\n        notificationSelected.viewed = true;\r\n        dispatch(selectNotification(notificationSelected));\r\n        dispatch(modifyNotification(notificationSelected));\r\n        dispatch(updateAllNotifications({notification: newNotifications}));\r\n        history.push('/Communication');\r\n    };\r\n\r\n    const AddIcon = () => {\r\n        let response = <NotificationsIcon className={classes.notificationIcon} style={{ marginRight: '15px' }} />;\r\n        if (props?.notification?.favourite) {\r\n            response = <StarIcon className={classes.iconDestacate} style={{ marginRight: '15px' }} />;\r\n        } else if (props?.notification?.viewed) {\r\n            response = <NotificationsIcon className={classes.iconReader} style={{ marginRight: '15px' }} />;\r\n        }\r\n        return response;\r\n    };\r\n\r\n    return (\r\n        <Accordion className=\"communication\" key={props?.notification?.id} expanded={true}>\r\n            <AccordionDetails className=\"notification\">\r\n                <div className={classes.flexRow} style={{ alignItems: 'center', margin: '5px' }}>\r\n                    <div style={{ display: 'flex', alignItems: 'center' }}>\r\n                        {AddIcon()}\r\n                        <div style={{ width: '130px' }}>\r\n                            <Typography className={`${classes.txtDescription} ${classes.txtDescriptionTruncate}`}>{props?.notification?.title}</Typography>\r\n                            <Typography className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}>\r\n                                {props?.notification?.author}\r\n                            </Typography>\r\n                            <Typography className={`${classes.txtDescription} ${classes.txtDescriptionTruncate}`}>\r\n                                {props?.notification?.description}\r\n                            </Typography>\r\n                        </div>\r\n                    </div>\r\n                    <div>\r\n                        <Typography className={classes.txtDescription}>\r\n                            {new Date(props?.notification?.createdDate)?.toLocaleDateString()}\r\n                        </Typography>\r\n                    </div>\r\n                    <div>\r\n                        <Button\r\n                            onClick={() => viewDetalle(props?.position)}\r\n                            className={`${classes.lightLinearGradient} ${classes.customButtomNotification}`}\r\n                            style={{ boxShadow: '0px 2px 8px 0 #585858' }}\r\n                        >\r\n                            {'ver detalle'}\r\n                        </Button>\r\n                    </div>\r\n                </div>\r\n            </AccordionDetails>\r\n        </Accordion>\r\n    );\r\n};\r\n\r\nexport default CardCommunication;\r\n","\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Button, ClickAwayListener, IconButton } from \"@material-ui/core\";\r\nimport BadgeNotification from \"../Notification/BadgeNotification\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport CardNotification from \"./CardNotification\";\r\nimport { useHistory } from \"react-router\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { setCount, setNotification,removeModifyNotification, getAllNotifications, getCommunication } from \"../../redux/actions/notificationsActions\";\r\nimport {BroadcastChannel} from 'broadcast-channel';\r\nimport { Typography } from \"@mui/material\";\r\nimport CardCommunication from \"./CardCommunication\";\r\n\r\nconst DropdownCommunication = () => {\r\n\r\n    const dispatch = useDispatch();\r\n    const classes = useStyles();\r\n    const notificacionReducer = useSelector((state) => state.notificationReducer.communication);\r\n    const [openNotification, setOpenNotification] = useState(false);\r\n    const counterNotification = useSelector(state => state.notificationReducer.countNotification);\r\n    const modifyNotificationsReducer = useSelector(state => state.notificationReducer.modifyNotifications);\r\n    const history = useHistory();\r\n    const allNotificationsViewed = notificacionReducer?.notification?.every(notification => notification.viewed === true);\r\n\r\n    /***SHOW NOTIFICATION LIST */\r\n    const handleClickAway = () => {\r\n        setOpenNotification(false);\r\n    };\r\n\r\n    const handleClick = () => {\r\n        dispatch(setNotification(0));\r\n        setOpenNotification((prev) => !prev);\r\n    };\r\n    /************END SHOW NOTIFICATION */\r\n\r\n     //***Notification prueba */\r\n    const channel = new BroadcastChannel('displayed-messages');\r\n    channel.onmessage= function(event){\r\n        setTimeout(function(){        \r\n             dispatch(getAllNotifications({email: window.localStorage.getItem('email')}));\r\n         }, 3000);\r\n    }\r\n\r\n/*** */\r\n\r\n    useEffect(() => {\r\n        let notReview = notificacionReducer?.communication?.filter(x=>!x.viewed);\r\n        if(notReview ){\r\n            dispatch(setCount(notReview.length))\r\n        }\r\n    }, [notificacionReducer?.communication])\r\n\r\n    useEffect(()=>{\r\n        if(modifyNotificationsReducer){\r\n            dispatch(removeModifyNotification(false));\r\n            dispatch(getAllNotifications({email: window.localStorage.getItem('email')}));\r\n        }\r\n    },[modifyNotificationsReducer])\r\n\r\n    return (\r\n        <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway}>\r\n            <div style={{ position: \"relative\" }}>\r\n                {counterNotification > 0 ?\r\n                    <BadgeNotification\r\n                        childrenItem={\r\n                            <IconButton\r\n                                style={{ padding: '0px' }}\r\n                                edge=\"start\"\r\n                                className={classes.menuButtonRight}\r\n                                color=\"inherit\"\r\n                                onClick={handleClick}\r\n                            >\r\n                                <NotificationsIcon />\r\n                            </IconButton>}\r\n                        countNotification={counterNotification}\r\n                    />\r\n                    :\r\n                    <IconButton\r\n                        style={{ padding: '0px' }}\r\n                        edge=\"start\"\r\n                        className={classes.menuButtonRight}\r\n                        color=\"inherit\"\r\n                        onClick={handleClick}\r\n                    >\r\n                        <NotificationsIcon />\r\n                    </IconButton>\r\n                }\r\n                {openNotification ? (\r\n                    <div className={classes.dropdownNotification} style={{ width: '330px' }}>\r\n\r\n                        <div className={classes.heightDivRegisters}>\r\n                            <div style={{ display: 'flex', justifyContent: allNotificationsViewed ? 'space-evenly' : 'flex-start', alignItems: 'center' }}>\r\n                                <Button\r\n                                    onClick={() => { history.push('/AllCommunications') }}\r\n                                    className={`${classes.customButtomNotification} ${classes.lightLinearGradient}`}\r\n                                    style={{ marginTop: \"10px\", boxShadow: '0px 2px 8px 0 #585858', marginBottom: \"10px\" }}>\r\n                                    Ver todas\r\n                                </Button>\r\n                                {\r\n                                    allNotificationsViewed &&\r\n                                    <Typography className={`${classes.txtSubtitle}`} style={{ fontSize: '11px', fontWeight: 'bold' }}>\r\n                                        No hay comunicaciones sin leer\r\n                                    </Typography>\r\n                                }\r\n                            </div>\r\n                            { notificacionReducer?.communication?.map((item, i) => (\r\n                                item.viewed ? \"\" : \r\n                                    <CardCommunication key={i}  notification={item} position={i} />\r\n                            ))}\r\n                        </div>\r\n\r\n                    </div>)\r\n                    : \"\"}\r\n            </div>\r\n        </ClickAwayListener>);\r\n\r\n\r\n};\r\n\r\nexport default DropdownCommunication;\r\n\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport {\r\n  CircularProgress,\r\n  FormControl,\r\n  IconButton,\r\n  Typography,\r\n} from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport \"../DialogActivities/modalactivities.css\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomizedInputs from \"../../controls/InputCustom/CustomizedInputs\";\r\nimport { showMessageModal, validate } from \"../../utils/utilsFunctions\";\r\nimport {  registerUser } from \"../../redux/actions/registerUsersActions\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nconst ModalRegisterProfileMedico = (props) => {\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const { title, description, observation, info, open, onClose, modalconfirm, crossDarkColor,\r\n    functionConfirm, itemConfirm, modalLogout, buttonType, handleClick, empty, customClass, modalRegister, customBackgroundDialog, customBackgroundDialogContent, loading, ...other } = props;\r\n\r\n  const [enrollment, setEnrollment] = useState(\"\");\r\n  const [credential, setCredential] = useState(\"\");\r\n  const [type, setType] = useState(\"\");\r\n  const [birthDate, setbirthDate] = useState(new Date());\r\n  const [dni, setDni] = useState(\"\");\r\n  const { screen } = useResizeScreen();\r\n  const userTypeValidation = useSelector((state) => state.registerUsersReducer.userTypeValidation);\r\n  const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n  const personalDataReducer = useSelector(state => state.personalDataReducer);\r\n  const errorMessage = useSelector((state) => state.registerUsersReducer.msgError);\r\n  const registerReduxState = useSelector((state) => state.registerUsersReducer);\r\n\r\n  const campoObligatorio = \"*Campo obligatorio\";\r\n\r\n  const [aditionalDataErrors, setAditionalDataErrors] = useState({\r\n    credential:\r\n      userTypeValidation?.perfil?.trim() == \"AFILIADO\" ||\r\n        userTypeValidation?.perfil?.trim() == \"AFILIADO-MEDICO\"\r\n        ? campoObligatorio\r\n        : \"\",\r\n  });\r\n\r\n  const isAditionalDataValidForm = () =>\r\n    Object.values(aditionalDataErrors).every((x) => x === \"\");\r\n\r\n\r\n    useEffect(() => {\r\n        if (personalDataReducer?.fullData?.afiliado?.documentos != undefined) {\r\n            setType(personalDataReducer?.fullData?.afiliado?.documentos?.[0]?.documentoTipoCodigo)\r\n            setDni(personalDataReducer?.fullData?.afiliado?.documentos?.[0]?.documentoNumero)\r\n            setbirthDate(personalDataReducer?.fullData?.afiliado?.fechaNacimiento)\r\n        }\r\n\r\n    }, [personalDataReducer?.fullData?.afiliado?.documentos])\r\n\r\n\r\n    useEffect(() => {\r\n        if (errorMessage?.length > 0) {\r\n            setErrorMessageModal(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n\r\n    useEffect(() => {\r\n        if (registerReduxState?.registerUser?.confirmacion) {\r\n          window.location.replace(\"/\");\r\n        }\r\n      }, [registerReduxState?.registerUser?.confirmacion]);\r\n\r\n\r\n    useEffect(() => {\r\n\r\n        const dateOfBirth = window.localStorage.getItem(\"dateOfBirth\");\r\n        const documentType = window.localStorage.getItem(\"documentType\");\r\n        const dni = window.localStorage.getItem(\"dni\");\r\n\r\n\r\n        if (dateOfBirth && documentType && dni) {\r\n            setbirthDate(dateOfBirth);\r\n            setType(documentType);\r\n            setDni(dni);\r\n        }\r\n    }, []);\r\n\r\n\r\n\r\n\r\n    const validateOnlyNumbers = (credentialNumber) => {\r\n        return credentialNumber?.match(/^\\d*$/);\r\n    };\r\n\r\n\r\n    const closeModal = () => {\r\n        setErrorMessageModal(false);\r\n    };\r\n\r\n\r\n    const loguinEnrollment = () => {\r\n        const showRedire = (errorMessage?.length > 0)\r\n\r\n        if (isAditionalDataValidForm()) {\r\n\r\n            const email = window.localStorage.getItem(\"email\");\r\n\r\n            let perfilSeleccionado = \"AFILIADO\";\r\n\r\n            let request = {\r\n                mail: email,\r\n                tipoRegistracion: perfilSeleccionado,\r\n                telefono: \"\",\r\n                tipoDocumento: type,\r\n                nroDocumento: dni,\r\n                nroCredencial: credential,\r\n                fechaNacimiento: birthDate,\r\n                matricula: enrollment,\r\n            };\r\n\r\n            dispatch(registerUser(request));\r\n        }\r\n    };\r\n\r\n\r\n  const handleChangeCredential = (e) => {\r\n    e.preventDefault();\r\n    setCredential(e.target.value);\r\n  };\r\n\r\n  const handleOnBlurCredential = () => {\r\n    validate(\r\n      \"credential\",\r\n      campoObligatorio,\r\n      credential,\r\n      setAditionalDataErrors,\r\n      aditionalDataErrors\r\n    );\r\n    credential?.length > 40 &&\r\n      setAditionalDataErrors({\r\n        ...aditionalDataErrors,\r\n        credential: \"*El campo debe tener como máximo 40 caracteres\",\r\n      });\r\n    !validateOnlyNumbers(credential) &&\r\n      setAditionalDataErrors({\r\n        ...aditionalDataErrors,\r\n        credential: \"*El campo debe tener sólo números\",\r\n      });\r\n  };\r\n\r\n\r\n  const handleClose = () => {\r\n    onClose(false);\r\n  };\r\n\r\n\r\n  const confirm = () => {\r\n    functionConfirm(itemConfirm);\r\n    onClose(false);\r\n  };\r\n\r\n  const renderEnrollmentInput = () => {\r\n    return (\r\n      <>\r\n        <FormControl className={` ${classes.inputLoginProfile} `} variant=\"standard\" style={{ marginTop: \"-145px\",marginRight:\"-150px\",margin:\"center\" }}>\r\n          <CustomizedInputs\r\n            name=\"credential\"\r\n            label={<span style={{ color: 'white',fontSize:\"15px\", marginLeft: screen.sWidth < 768 ? \"80px\":\"110px\" }}>NUMERO DE CREDENCIAL</span>}  \r\n            value={credential}\r\n            onChange={handleChangeCredential}\r\n            onBlur={handleOnBlurCredential}\r\n          />\r\n        </FormControl>\r\n      </>\r\n    );\r\n  };\r\n\r\n  const buttonNotConfirm = () => {\r\n    return modalRegister ?\r\n      <CustomButton\r\n        title=\"NO\"\r\n        className={classes.buttonNotConfirmModal}\r\n        onClick={handleClick}\r\n      /> :\r\n      <CustomButton\r\n        title=\"NO\"\r\n        className={classes.buttonNotConfirmModal}\r\n        onClick={handleClose}\r\n      />;\r\n  };\r\n\r\n\r\n\r\n  const modalLogoutFunction = () => {\r\n    let jsxBtn = (\r\n      <CustomButton\r\n        title=\"SI\"\r\n        className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n        onClick={confirm}\r\n      />);\r\n    if (modalLogout) {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          onClick={loguinEnrollment}\r\n          disabled={!isAditionalDataValidForm()}\r\n\r\n        />\r\n      );\r\n    } else if (buttonType === 'submit') {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          type={buttonType}\r\n          onClick={handleClick}\r\n        />\r\n      );\r\n    }\r\n    else if (modalRegister) {\r\n      jsxBtn = (\r\n        <CustomButton\r\n          title=\"SI\"\r\n          className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n          type={buttonType}\r\n          onClick={handleClose}\r\n        />\r\n      );\r\n    }\r\n\r\n    return jsxBtn;\r\n  };\r\n\r\n  const bodyModal = () => {\r\n    const DEFAULT = (\r\n      <>\r\n      </>\r\n    );\r\n    const BODY = {\r\n      'modalconfirm': (\r\n        <div style={{ textAlign: \"center\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\", marginTop:\"10px\" }}>\r\n          {renderEnrollmentInput()}\r\n          {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon,  classes.contentDialogTitle, closeModal)}\r\n          {modalLogoutFunction()}\r\n          {buttonNotConfirm()}\r\n        </div>\r\n      ),\r\n      'empty': ''\r\n    };\r\n    let response = DEFAULT;\r\n    if (modalconfirm)\r\n      response = BODY['modalconfirm'];\r\n    else if (empty)\r\n      response = BODY['empty'];\r\n\r\n    return response;\r\n  };\r\n\r\n  return (\r\n    <>\r\n      <Dialog\r\n        onClose={handleClose}\r\n        aria-labelledby=\"customized-dialog-title\"\r\n        open={open}\r\n        id=\"backDropActivities\"\r\n        {...other}\r\n      >\r\n        <div id=\"modalActivities\">\r\n          {!modalRegister &&\r\n            <IconButton\r\n              aria-label=\"close\"\r\n              className={crossDarkColor ? classes.closeActivitiesButton : classes.closeButton}\r\n              onClick={handleClose}\r\n            >\r\n              <CloseIcon />\r\n            </IconButton>\r\n          }\r\n\r\n          <DialogTitle\r\n            id=\"customized-dialog-title\"\r\n            className={`${classes.contentDialogModalRegisterProfile} ${customClass} ${customBackgroundDialog}`}\r\n            style={{ textAlign: \"center\" }}\r\n            onClose={handleClose}\r\n          >\r\n            <Typography className={classes.titleDialogActivities} style={{ fontWeight: \"600\" }}>\r\n              {title}\r\n            </Typography>\r\n          </DialogTitle>\r\n\r\n          <DialogContent className={`${classes.contentDialogModalRegisterProfile} ${customClass} ${customBackgroundDialogContent}`} style={{ paddingTop: \"10px\" }}>\r\n            <Typography style={{ paddingBottom: \"20px\" }}>\r\n              {\r\n                loading ? (\r\n                  <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.whiteCircularProgress}`}>\r\n                    <CircularProgress />\r\n                  </div>\r\n                ) : description\r\n              }\r\n            </Typography>\r\n            <Typography style={{ paddingBottom: \"20px\" }}>\r\n              {observation}\r\n            </Typography>\r\n            {bodyModal()}\r\n          </DialogContent>\r\n\r\n        </div>\r\n      </Dialog>\r\n    </>\r\n  );\r\n};\r\nexport default ModalRegisterProfileMedico;\r\n","\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport ModalRegisterProfileMedico from \"../DialogRegisterProfile/ModalRegisterProfileMedico\";\r\n\r\nconst ModalProfileMedico = ({ isOpen, setOpen }) => {\r\n\r\n    const { screen } = useResizeScreen();\r\n\r\n    return <>\r\n    { isOpen ?\r\n        <ModalRegisterProfileMedico\r\n            style={{margin:\"center\"}}\r\n            title={\r\n                <div style={{ marginTop:  screen.sWidth < 768 ? \"0px\" :'20px', fontSize:\"19px\" }}>\r\n                    No se encuentra registrado como Afiliado\r\n                </div>\r\n            }            description={\r\n                <div style={{ textAlign: 'center',marginBottom:\"40px\", marginTop:\"-15px\" }}>\r\n                    ¿Desea registrarse?\r\n                </div>\r\n            }\r\n            open={isOpen}\r\n            onClose={setOpen}\r\n            modalconfirm={true}\r\n            modalLogout={true}\r\n            \r\n        />\r\n        : \"\"}\r\n</>;\r\n};\r\n\r\nexport default ModalProfileMedico;","import React, { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport clsx from \"clsx\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport List from \"@material-ui/core/List\";\r\nimport { Divider, Box, Dialog, DialogContent } from \"@material-ui/core\";\r\nimport EventAvailableIcon from '@mui/icons-material/EventAvailable';\r\n\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\n\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\n\r\n/* Icons */\r\nimport HomeOutlinedIcon from '@material-ui/icons/HomeOutlined';\r\nimport NotesIcon from \"@material-ui/icons/Notes\";\r\nimport PersonIcon from \"@material-ui/icons/Person\";\r\n\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { AuthConsumer } from \"../../auth/providers/authProvider\";\r\nimport LogoutIcon from '@material-ui/icons/Logout';\r\nimport logo from \"../../assets/images/logo.png\";\r\nimport ModalLogOut from \"./ModalLogOut\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport ItemMenu from \"./ItemMenu\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport { getFullData } from \"../../redux/actions/personalDataActions\";\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport ModalCommunication from \"../DialogCommunication/ModalCommunication\";\r\nimport DropdownCommunication from \"./DropdownCommunication\";\r\nimport { verifyTypeOfUser,verifyRegister } from \"../../redux/actions/registerUsersActions\";\r\nimport ModalProfileMedico from \"./ModalProfileMedico\";\r\nimport { getCommunication } from \"../../redux/actions/communicatedAction\";\r\n\r\n\r\nconst MenuProfile = () => {\r\n  const dispatch = useDispatch();\r\n  const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n  const classes = useStyles();\r\n  const { screen } = useResizeScreen();\r\n  const [openLogout, setOpenLogout] = useState();\r\n  const communicated = useSelector((state) => state.communicatedReducer.communication);\r\n  const personalDataReducer = useSelector(state => state.personalDataReducer);\r\n  const history = useHistory();\r\n  const drawerOpenerRef = useRef();\r\n  const [type, setType] = useState(\"\");\r\n  const [dni, setDni] = useState(\"\");\r\n  const [birthDate, setbirthDate] = useState(new Date());\r\n  const [openCommunicationModal, setOpenCommunicationModal] = useState(false);\r\n  const [open, setOpen] = useState(true);\r\n  const [openProfile, setOpenProfile] = useState(); \r\n  const userTypeValidation = useSelector(\r\n    (state) => state.registerUsersReducer.userTypeValidation\r\n  );\r\n  \r\n  const registerReduxState = useSelector((state) => state.registerUsersReducer);\r\n  const registerValidation = useSelector(\r\n    (state) => state.registerUsersReducer.registerValidation\r\n  );\r\n\r\n  \r\n  useEffect(() => {\r\n    if (personalDataReducer?.fullData?.afiliado?.documentos != undefined) {\r\n      setType(personalDataReducer?.fullData?.afiliado?.documentos?.[0]?.documentoTipoCodigo)\r\n      setDni(personalDataReducer?.fullData?.afiliado?.documentos?.[0]?.documentoNumero)\r\n      setbirthDate(personalDataReducer?.fullData?.afiliado?.fechaNacimiento)\r\n    }\r\n\r\n  }, [personalDataReducer?.fullData?.afiliado?.documentos])\r\n\r\n\r\n  useEffect(() => {\r\n    const email = window.localStorage.getItem(\"email\");\r\n    const tipoDocumento = window.localStorage.getItem(\"tipoDocumento\");\r\n    const nroDocumento = window.localStorage.getItem(\"nroDocumento\");\r\n    const fechaNacimiento = window.localStorage.getItem(\"fechaNacimiento\");\r\n\r\n    const request = {\r\n      tipoDocumento: tipoDocumento || type,\r\n      nroDocumento: nroDocumento || dni,\r\n      fechaNacimiento: fechaNacimiento || birthDate,\r\n      mail: email\r\n    };\r\n    dispatch(verifyTypeOfUser(request));\r\n    dispatch(verifyRegister(request));\r\n  }, []);\r\n\r\n\r\n  useEffect(() => {\r\n    const hasSeenCommunicationModal = localStorage.getItem('hasSeenCommunicationModal');\r\n    if (!hasSeenCommunicationModal && communicated?.communication?.some(item => item?.status === 1 && item?.modal === 1 &&\r\n      new Date(item.initialDate) <= new Date() && new Date(item.finalDate) >= new Date())) {\r\n      setOpenCommunicationModal(true);\r\n      localStorage.setItem('hasSeenCommunicationModal', 'true');\r\n    }\r\n  }, [communicated]);\r\n\r\n\r\n  \r\n\r\n\r\n\r\n  useEffect(() =>{\r\n    dispatch(getCommunication())\r\n  },[])\r\n\r\n  \r\n\r\n  const handleProfile = () => {    \r\n    const { estado } = registerReduxState?.registerValidation;\r\n  \r\n    if (estado !== \"ACTIVO\") {\r\n      setOpenProfile(prevState => !prevState);\r\n    } else {\r\n      window.location.replace(\"/\");\r\n    }\r\n  };\r\n\r\n\r\n\r\n\r\n  const communicationModal = () => {\r\n    return (\r\n      <div>\r\n        {communicated?.communication\r\n          ?.filter(item => item?.status === 1 && item?.modal === 1)\r\n          .map((item, i) => (\r\n            <ModalCommunication\r\n              key={i} \r\n              type='cancel'\r\n              index={i}\r\n              count={item?.count}\r\n              open={openCommunicationModal}\r\n              onClose={setOpenCommunicationModal}\r\n              close={true}\r\n              description={\r\n                <div>\r\n                  <Typography  className={classes.communicationTitleStyles} >\r\n                    {item?.title}\r\n                  </Typography>\r\n  \r\n                  <Typography className={classes.communicationDescriptionStyle} >\r\n                    {item?.description}\r\n                  </Typography>\r\n                  {item?.image64 && (\r\n                    <img\r\n                      alt={item?.title}\r\n                      src={item?.image64}\r\n                      style={{ width: '100%', height: 'auto', marginTop: '10px' }}\r\n                    />\r\n                  )}\r\n                </div>\r\n              }\r\n            />\r\n          ))}\r\n      </div>\r\n    );\r\n  };\r\n    \r\n \r\n  const DrawerOpen = useCallback(() => {\r\n    setOpen(prevState => !prevState);\r\n  }, [open]);\r\n\r\n  const handleClickAway = () => {\r\n    if (screen.sWidth <= 768) {\r\n      setOpen(false);\r\n    }\r\n  };\r\n\r\n  const listItems = (\r\n    <List>\r\n      <AuthConsumer>\r\n        {({ isAuthenticated }) => {\r\n          if (!isAuthenticated()) {\r\n            return (<>\r\n              <ItemMenu Link={Link} Titulo=\"Inicio\" Icon={<HomeOutlinedIcon />} Redirect=\"/\"></ItemMenu>\r\n              <Divider classes={{ root: classes.divider }} />\r\n            </>);\r\n          }\r\n        }\r\n        }\r\n      </AuthConsumer>\r\n      <AuthConsumer>\r\n        {({ isAuthenticated }) => {\r\n          if (isAuthenticated()) {\r\n            return (\r\n              <>\r\n                <ItemMenu Titulo=\"Agenda Médica\"   Redirect='/CalendarMedical' Icon={<EventAvailableIcon />}></ItemMenu>\r\n                </>\r\n            );\r\n          }\r\n        }}\r\n              </AuthConsumer>\r\n\r\n    </List >\r\n  );\r\n\r\n  const handleClickLogOut = () => {\r\n    setOpenLogout(prevState => !prevState);\r\n  };\r\n\r\n  if (document.getElementById('loadingDiv')) {\r\n      document.getElementById('loadingDiv')?.remove();\r\n  }\r\n  \r\n\r\n  useEffect(() => {\r\n    const { registerValidation } = registerReduxState || {};\r\n\r\n    if (registerValidation?.numeroPersona) {\r\n      window.localStorage.setItem(\"numeroPersona\", registerValidation?.numeroPersona);\r\n    }\r\n  }, [registerValidation?.numeroPersona]); \r\n\r\n\r\n  useEffect(() => {\r\n    let numberPerson = window.localStorage.getItem(\"numeroPersona\");\r\n    if (numberPerson) {\r\n      dispatch(getFullData({ numeroPersona: numberPerson }));\r\n    }\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (screen.sWidth <= 768) {\r\n      setOpen(false);\r\n    } else {\r\n      setOpen(true);\r\n    }\r\n  }, [screen.sWidth]);\r\n\r\n\r\n  return (\r\n    <>\r\n      {communicationModal()}\r\n\r\n      <div className={classes.root}>\r\n        <CssBaseline />\r\n        <ClickAwayListener\r\n      onClickAway={handleClickAway}\r\n    >\r\n        <AppBar\r\n          position=\"fixed\"\r\n          elevation={0}\r\n          className={clsx(classes.appBar, { [classes.appBarShift]: open })}\r\n        >\r\n          <Toolbar className={`${classes.toolbar}`}>\r\n            {screen.sWidth <= 768 &&\r\n              <IconButton\r\n                ref={drawerOpenerRef}\r\n                color=\"inherit\"\r\n                maria-label=\"open drawer\"\r\n                onClick={DrawerOpen}\r\n                edge=\"start\"\r\n                className={clsx(classes.menuButton, open)}\r\n              >\r\n                <NotesIcon />\r\n              </IconButton>\r\n            }\r\n            <AuthConsumer>\r\n              {({ isAuthenticated }) => {\r\n                if (isAuthenticated()) {\r\n                  return (\r\n                    <>\r\n                      <div className={classes.divHeaderLogo}>\r\n                        <IconButton onClick={() => { history.push('/MedicalProfile'); }}>\r\n                          <img style={{ height: '90px' }} src={logo} alt=\"logo\" />\r\n                        </IconButton>\r\n                      </div>\r\n                      <section className={`${classes.rightSectionMenu}`}>\r\n                        {screen.sWidth > 768 &&\r\n                          <article style={{ display: 'flex', flex: '1 1 100%', flexWrap: 'wrap', paddingRight: '20px' }}>\r\n                            <Typography style={{ color: 'black', width: '100%', justifyContent: 'flex-end', display: 'flex' }}>\r\n                              {window.localStorage.getItem(\"userName\").replace(\"_\", \" \")}\r\n                            </Typography>\r\n                          </article>\r\n                        }\r\n                        <DropdownCommunication />\r\n                        {userTypeValidation?.perfil === \"AFILIADO-MEDICO\" && (\r\n                            <IconButton\r\n                              edge='start'\r\n                              className={classes.menuButtonRight}\r\n                              color='inherit'\r\n                              onClick={handleProfile}\r\n                            >\r\n                              <PersonIcon style={{ flex: '1 1 100%',marginLeft:\"-7px\" }} />\r\n                              <span style={{marginLeft:\"-7px\"}} className={classes.txtLogIn}>Medico</span>\r\n                            </IconButton>\r\n                          )}\r\n                        <IconButton\r\n                          style={{marginLeft:\"-7px\"}}\r\n                          edge=\"start\"\r\n                          className={classes.menuButtonRight}\r\n                          color=\"inherit\"\r\n                          onClick={handleClickLogOut}\r\n                        >\r\n                          <LogoutIcon />\r\n                        </IconButton>\r\n                      </section>\r\n                    </>\r\n                  );\r\n                } else {\r\n                  return (\r\n                    <>\r\n                    <div className={classes.divHeaderLogo}>\r\n                    <IconButton onClick={() => { history.push('/'); }}>\r\n                        <img style={{ height: '90px', marginLeft:\"-20px\"}} src={logo} alt=\"logo\" />\r\n                      </IconButton>\r\n                    </div>\r\n                     \r\n                      {\r\n                        configurationReduxState !== undefined ?\r\n                          <IconButton\r\n                            edge='start'\r\n                            className={classes.menuButtonRight}\r\n                            color='inherit'\r\n                            component={Link}\r\n                            to={'/login'}>\r\n                            <PersonIcon style={{ flex: '1 1 100%' }} />\r\n                            <span className={classes.txtLogIn}>Iniciar Sesion</span>\r\n                          </IconButton>\r\n                        :\r\n                          <CircularProgress size={40} style ={{marginLeft:\"40px\"}}sx={{ color: '#fff', marginRight: '30px' }} />\r\n                      }\r\n                    </>);\r\n                }\r\n              }}\r\n            </AuthConsumer>\r\n          </Toolbar>\r\n        </AppBar>\r\n        </ClickAwayListener>\r\n        <Drawer\r\n          className={`${classes.drawerMenu}`}\r\n          variant=\"persistent\"\r\n          anchor=\"left\"\r\n          open={open}\r\n          classes={{ paper: `${classes.drawerPaperMenu} ${classes.customScroll}` }}\r\n        >\r\n          {listItems}\r\n        </Drawer>\r\n      </div>\r\n      <ModalLogOut isOpen={openLogout} setOpen={setOpenLogout} />\r\n      <ModalProfileMedico isOpen={openProfile} setOpen={setOpenProfile} />\r\n    </>\r\n  );\r\n};\r\n\r\nexport default MenuProfile;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function getCommunication() {\r\n    return {\r\n      type: actionTypes.GET_COMMUNICATION,\r\n      payload: \"\",\r\n    }\r\n  }\r\n\r\n","import { Card as MuiCard, CardContent, } from \"@material-ui/core\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport BadgeNotification from \"../../Notification/BadgeNotification\";\r\n\r\nconst HomeCardDetailPatient = ({ headerIcon, description, buttonZone, index, count, customHeaderColor, buttonsInHeader, headerButtons, blueBox = true }) => {\r\n    const classes = useStyles();\r\n    return <>\r\n        <MuiCard key={index} className={`${classes.card} ${classes.movementsCards}`} style={{ borderRadius: '10px' }}>\r\n            <CardContent className={classes.cardContentMuiCard}>\r\n                <div className={classes.divCardContent}>\r\n                    {count !== undefined && count > 0 ?\r\n                        <BadgeNotification\r\n                            customWidth='100%'\r\n                            customClass={classes.authorizationNotifications}\r\n                            childrenItem={\r\n                                <section className={`${classes.lightLinearGradientReverse} ${classes.headerIconCard} ${classes.sectionHeaderCardPatientDetail} ${customHeaderColor}`}>\r\n                                    <div style={{ width: \"100%\" }}>\r\n                                        {headerIcon}\r\n                                    </div>\r\n                                </section>\r\n                            }\r\n                            countNotification={count}\r\n                        />\r\n                        :\r\n                        <>\r\n                            {blueBox &&\r\n                                <section className={`${classes.lightLinearGradientReverse} ${classes.headerIconCard} ${classes.sectionHeaderCardPatientDetail} ${customHeaderColor}`}>\r\n                                    <div style={{ width: \"100%\" }}>\r\n                                        {headerIcon}\r\n                                    </div>\r\n                                    {buttonsInHeader && headerButtons}\r\n                                </section>\r\n                            }\r\n                        </>\r\n                    }\r\n                    <section className={`${classes.descriptionCard}`} style={{ flex: !blueBox && '0 0 100%' }}>\r\n                        <div>\r\n                            {description}\r\n                        </div>\r\n                        {(buttonsInHeader && !blueBox) && headerButtons}\r\n                    </section>\r\n                </div>\r\n                {buttonZone}\r\n            </CardContent>\r\n        </MuiCard>\r\n    </>;\r\n};\r\n\r\nexport default HomeCardDetailPatient;","import useStyles from \"../../assets/styles/styles\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport {\r\n    Grid,\r\n    Box,\r\n    Typography,\r\n    CircularProgress\r\n} from \"@material-ui/core\";\r\nimport MenuProfile from \"../Menu/MenuProfile\";\r\nimport CardCommunication from \"../Menu/CardCommunication\";\r\nimport HomeBox from \"../HomeLogged/HomeBox\";\r\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\r\nimport NotFound from \"../HomeLogged/NotFound\";\r\nimport { getMedicalAgenda } from \"../../redux/actions/appointmentsActions\";\r\nimport { format } from \"date-fns\";\r\nimport HeaderCard from \"../Billing/Movements/HeaderCard\";\r\nimport { es } from 'date-fns/locale';\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\nimport HomeCardDetailPatient from \"../Billing/Movements/HomeCardDetailPatient\";\r\n\r\n\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst MedicalProfile = () => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const communicated = useSelector((state) => state.communicatedReducer.communication);\r\n    const date = new Date();\r\n    const modelAgendaMedicalReducer = useSelector(state => state.appointmentsReducer);\r\n    const [modelAgendaMedical, setMedicalAgenda] = useState(modelAgendaMedicalReducer?.medicalAgenda);\r\n    const [totalTurns, setTotalTurns] = useState(0);\r\n    const [assignedTurns, setAssignedTurns] = useState(0);\r\n    const [closestTurn, setClosestTurn] = useState(null);\r\n    const [lastTurnOfDay, setLastTurnOfDay] = useState(null);\r\n\r\n\r\n\r\n    useEffect(() => {\r\n        const paramAll = {\r\n            fechaDesde: date?.toISOString()?.split('T')[0],\r\n            fechaHasta: format(date?.setMonth(date?.getMonth() + 1), 'yyyy-MM-dd'),\r\n            numeroPersona: userCode,\r\n            medicoCodigo: modelAgendaMedical?.medicoCodigo ? modelAgendaMedical.medicoCodigo.toString() : undefined,\r\n            parametroAgenda: \"TODOS\",\r\n        };\r\n\r\n\r\n        dispatch(getMedicalAgenda(paramAll));\r\n    }, []);\r\n\r\n    \r\n\r\n    useEffect(() => {\r\n        if (modelAgendaMedicalReducer?.medicalAgenda?.agenda?.length > 0) {\r\n            const dateAgendaMedical = modelAgendaMedicalReducer?.medicalAgenda?.agenda?.filter(turno => {\r\n                return new Date(turno?.turnoFechHora) > date;\r\n            });\r\n\r\n            if (dateAgendaMedical.length > 0) {\r\n                const closest = dateAgendaMedical.reduce((prev, current) => {\r\n                    return new Date(prev?.turnoFechHora) < new Date(current?.turnoFechHora) ? prev : current;\r\n                });\r\n                setClosestTurn(closest);\r\n    \r\n                const lastTurn = dateAgendaMedical.filter(turno => {\r\n                    return new Date(turno?.turnoFechHora).toDateString() === new Date(closest?.turnoFechHora).toDateString();\r\n                }).reduce((prev, current) => {\r\n                    return new Date(prev?.turnoFechHora) > new Date(current?.turnoFechHora) ? prev : current;\r\n                });\r\n                setLastTurnOfDay(lastTurn);\r\n    \r\n                const dayShifts = dateAgendaMedical.filter(turno => {\r\n                    return new Date(turno?.turnoFechHora).toDateString() === new Date(closest?.turnoFechHora).toDateString();\r\n                });\r\n    \r\n                const totalTurns = dayShifts.length;\r\n                const assignedTurns = dayShifts.filter(turno => turno?.estadoTurno?.toUpperCase().trim() === \"ASIGNADO\").length;\r\n                setTotalTurns(totalTurns);\r\n                setAssignedTurns(assignedTurns);\r\n            }\r\n        }\r\n    }, [modelAgendaMedicalReducer, date]);\r\n\r\n\r\n    useEffect(() => {\r\n        localStorage.removeItem('handleCalendarClick');\r\n    }, []);\r\n    \r\n    \r\n    const CenteredCircularProgress = () => {\r\n        return (\r\n          <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n            <CircularProgress />\r\n          </div>\r\n        );\r\n      }\r\n\r\n    return (\r\n        <>\r\n            <MenuProfile />\r\n            <Box className={classes.boxHeaderBtnMedicalProfileHome} > \r\n                <Typography className={`${classes.greetingHomeMedical}`} >\r\n                    ¡Bienvenido DR. {window.localStorage.getItem(\"userName\").replace(\"_\", \" \")}!\r\n                </Typography>\r\n            </Box>\r\n            <div className={`${classes.divHomeBoxMedicalProfile} `}>\r\n                <HomeBox>\r\n                    <Box className={`${classes.homeBoxTitleMedicalProfile} `}>\r\n                        <Typography className={`${classes.titleMedicalCards}`}>\r\n                            Mis Notificaciones\r\n                        </Typography>\r\n                        <Typography component={Link} to='/AllCommunications' className={`${classes.titleHomeMedicalProfileBox} `}  >\r\n                            <ArrowForwardIosIcon className={`${classes.iconArrowHomeProfileMedical}`}/>\r\n                        </Typography>\r\n                    </Box>\r\n                    <Box className={`${classes.listCommunicationsMedicalProfile}`}>\r\n                        {communicated?.communication && communicated?.communication.length > 0 ? (\r\n                            communicated?.communication?.filter(item => item?.status === 1 && new Date(item.initialDate) <= new Date() && new Date(item.finalDate) >= new Date()).slice(0, 3)\r\n                                .map((communication, index) => (\r\n                                    <CardCommunication\r\n                                        key={index}\r\n                                        notification={communication} position={index} />\r\n                                ))\r\n                        ) : (\r\n                            <div style={{ display: 'flex', justifyContent: 'center', width: '100%' }}>\r\n                                <NotFound\r\n                                    customMsg={\r\n                                        <div className={classes.contentNotFound} >\r\n                                            <span>No tienes comunicaciones</span>\r\n                                        </div>\r\n                                    }\r\n                                    wsItem={communicated?.communication}\r\n                                    fullItem={communicated?.communication}\r\n                                />\r\n                            </div>\r\n                        )}\r\n                    </Box>\r\n                </HomeBox>\r\n                <HomeBox>\r\n                    <Box className={`${classes.homeBoxTitleMedicalProfile}`}>\r\n                        <Typography className={`${classes.titleAgenda} `} >\r\n                            Mi Agenda\r\n                        </Typography>\r\n                        <Typography component={Link} to='/CalendarMedical' className={`${classes.titleHomeMedicalProfileBox2} `} >\r\n                            <ArrowForwardIosIcon  className={`${classes.iconArrowHomeProfileMedical}`}/>\r\n                        </Typography>\r\n                    </Box>\r\n                    <Box className={`${classes.listCommunicationsMedicalProfile}`} > \r\n                        {!closestTurn ? (\r\n                            <CenteredCircularProgress/>\r\n                        ) : (\r\n                            <HomeCardDetailPatient\r\n                                key={closestTurn?.turnoNumero}\r\n                                headerIcon={<HeaderCard day={format(new Date(closestTurn?.turnoFechHora), 'EEEE', { locale: es })} numberDay={format(new Date(closestTurn?.turnoFechHora), 'd', { locale: es })} month={format(new Date(closestTurn?.turnoFechHora), 'MM', { locale: es })} year={format(new Date(closestTurn?.turnoFechHora), 'yyyy', { locale: es })} />}\r\n                                description={\r\n                                    <div className={`${classes.boxHomeMedicalProfileAgenda}`}>\r\n                                        <Typography className={`${classes.txtCardDescriptionHomeMedicalschedule}`}>\r\n                                            <span>\r\n                                                <span style={{ fontWeight: \"bold\", color: \"#0075c9\" }}>\r\n                                                    Horario  {format(new Date(closestTurn?.turnoFechHora), 'HH:mm')}\r\n                                                    {\" a \"}\r\n                                                    {format(new Date(lastTurnOfDay?.turnoFechHora), 'HH:mm')}\r\n                                                </span>\r\n                                            </span>\r\n                                        </Typography>\r\n                                        <section className={classes.cartillaMedicalCenterSection}>\r\n                                            <LocationCityIcon  className={classes.LocationCityIconMedical} />\r\n                                            <Typography className={`${classes.txtCardDescriptionHomeMedical}`}>\r\n                                                {closestTurn?.centroMedicoDescripcion}\r\n                                            </Typography>\r\n                                        </section>\r\n\r\n\r\n                                        <Typography className={`${classes.txtCardDescriptionHomeMedicalDescription}`}>\r\n                                            {closestTurn?.especialidadDescripcion}\r\n                                        </Typography>\r\n\r\n                                        <Typography className={`${classes.txtCardDescriptionHomeMedicineShiftsTotals}`}>\r\n                                            Turnos totales: {totalTurns}\r\n                                        </Typography>\r\n                                        <Typography className={`${classes.txtCardDescriptionHomeMedicineShiftsTotals}`}>\r\n                                            Próximos turnos: {assignedTurns}\r\n                                        </Typography>\r\n                                    </div>\r\n                             }\r\n                             />\r\n                         )}\r\n                     </Box>\r\n                </HomeBox>\r\n            </div>\r\n        </>\r\n    );\r\n};\r\nexport default MedicalProfile;\r\n\r\n","import React from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport ChronicDiseases from \"../MedicalData/ChronicDiseases/ChronicDiseases\";\r\nimport FactorGroup from \"../MedicalData/FactorGroup/FactorGroup\";\r\nimport Allergies from \"../MedicalData/Allergies/Allergies\";\r\nimport HomeWeight from \"../MedicalData/WeightAndHeight/HomeWeight\";\r\nimport ChronicMedication from \"../MedicalData/ChronicMedication/ChronicMedication\";\r\nimport Phones from \"../MedicalData/Phones/Phones\";\r\nimport AddressForm from \"./Address/AddressForm\";\r\nimport AutomaticMembership from \"./AutomaticMembership/AutomaticMembership\";\r\nimport FormContactData from './FormContactData';\r\nimport FormPersonalData from \"./FormPersonalData\";\r\nimport FormRefund from \"./FormRefund\";\r\nimport SportsHobbies from \"./Sports&Hobbies/SportsHobbies\";\r\nimport HomeVitalParameters from \"../MedicalData/VitalParameters/HomeVitalParameters\";\r\nimport Programs from \"../MedicalData/Programs/Programs\";\r\nimport Vaccine from \"../MedicalData/Vaccine/Vaccine\";\r\nimport RequirementsAndForms from \"../MedicalData/Programs/RequirementsAndForms\";\r\nimport LaboratoryStudies from \"../MedicalData/LaboratoryStudies/LaboratoryStudies\";\r\nimport MyCoveragePDF from \"../MyCoverage/TravelCoverage/MyCoveragePDF\";\r\nimport RedirectToCapsAndCopay from \"../../pages/RedirectToCapsAndCopay/index\";\r\nimport Refunds from \"../MyCoverage/Refunds/Refunds\";\r\nimport BillingAndCollection from \"../Billing/BillingAndCollection\";\r\nimport Affiliations from \"./Affiliations/Affiliations\";\r\nimport Movements from \"../Billing/Movements/Movements\";\r\nimport WayToPay from \"../Billing/WayToPay/WayToPay\";\r\nimport DirectDebit from \"../Billing/DirectDebit/DirectDebit\";\r\nimport AskNewAppointment from \"../AskTurn/AskNewAppointment\";\r\nimport MedicalRecordContainer from '../MedicalRecord/Container/MedicalRecordContainer';\r\nimport RequestAuthorization from \"../Authorizations/NewRequest/RequestAuthorization\";\r\nimport RefundsRequest from \"../Refunds/RefundsRequest/RefundsRequest\";\r\nimport BillingFrequentQuestions from \"../Billing/BillingFrequentQuestions\";\r\nimport PersonalDataFrequentQuestions from \"./PersonalDataFrequentQuestions\";\r\nimport RedirectToActivities from \"../../pages/RedirectToActivities/index\";\r\nimport PrescriptionPage from \"../MedicalData/PrescriptionPage/PrescriptionPage\";\r\n\r\nimport MedicalProfile from \"../MedicalProfile/MedicalProfile\";\r\n\r\nconst SelectTypeOfComponent = (props) => {\r\n    const {\r\n        handleBack, activeStepTurn, setActiveStepTurn,\r\n        handleOpenCancelModalTurn, handleBackTurn, handleNextTurn,\r\n        handleCloseDrawerTurn, showMaps, maps, specialistVisualizacion,\r\n        setSpecialistVisualizacion\r\n    } = props;\r\n    const { search } = useLocation();\r\n    const match = search.match(/type=(.*)/);\r\n    const type = match?.[1];\r\n\r\n    const responseToReturn = () => {\r\n        const TYPE_OF_PAGE = {\r\n            PersonalData: <FormPersonalData handleBack={handleBack} />,\r\n            Affiliations: <Affiliations handleBack={handleBack} />,\r\n            Address: <AddressForm handleBack={handleBack} />,\r\n            ContactData: <FormContactData handleBack={handleBack} />,\r\n            SportsHobbies: <SportsHobbies handleBack={handleBack} />,\r\n            Refund: <FormRefund handleBack={handleBack} />,\r\n            AutomaticMembership: <AutomaticMembership handleBack={handleBack} />,\r\n            ChronicDiseases: <ChronicDiseases />,\r\n            Programs: <Programs />,\r\n            Vaccine: <Vaccine />,\r\n            Lab: <LaboratoryStudies />,\r\n            FactorGroup: <FactorGroup />,\r\n            WeightHeight: <HomeWeight handleBack={handleBack} />,\r\n            Allergies: <Allergies />,\r\n            EmergencyPhones: <Phones type={'EmergencyPhones'} />,\r\n            ContactPhones: <Phones type={'ContactPhone'} />,\r\n            ChronicMedication: <ChronicMedication />,\r\n            VitalParameters: <HomeVitalParameters handleBack={handleBack} />,\r\n            RequirementsAndForms: <RequirementsAndForms />,\r\n            CapsAndCopay: <RedirectToCapsAndCopay />,\r\n            RefundCoverage: <Refunds />,\r\n            MyPlan: <MyCoveragePDF />,\r\n            FrequentQuestions: <MyCoveragePDF />,\r\n            GeneralConditions: <MyCoveragePDF />,\r\n            Formalities: <BillingAndCollection />,\r\n            WayToPay: <WayToPay />,\r\n            DirectDebit: <DirectDebit />,\r\n            Movements: <Movements />,\r\n            AskNewAppointment: <AskNewAppointment\r\n                activeStepTurn={activeStepTurn}\r\n                setActiveStepTurn={setActiveStepTurn}\r\n                handleOpenCancelModalTurn={handleOpenCancelModalTurn}\r\n                handleBackTurn={handleBackTurn}\r\n                handleNextTurn={handleNextTurn}\r\n                handleCloseDrawerTurn={handleCloseDrawerTurn}\r\n                specialistVisualizacion={specialistVisualizacion}\r\n                setSpecialistVisualizacion={setSpecialistVisualizacion}\r\n            />,\r\n            Records: <MedicalRecordContainer showMaps={showMaps} maps={maps} />,\r\n            NewRequest: <RequestAuthorization\r\n                handleBack={handleBackTurn}\r\n                handleNext={handleNextTurn}\r\n                activeStep={activeStepTurn}\r\n                setActiveStep={setActiveStepTurn}\r\n                handleOpenCancelModal={handleOpenCancelModalTurn}\r\n                handleCloseDrawer={handleCloseDrawerTurn}\r\n            />,\r\n            RefundsRequest: <RefundsRequest\r\n                handleBack={handleBackTurn}\r\n                handleNext={handleNextTurn}\r\n                activeStep={activeStepTurn}\r\n                setActiveStep={setActiveStepTurn}\r\n                handleOpenCancelModal={handleOpenCancelModalTurn}\r\n                handleCloseDrawer={handleCloseDrawerTurn}\r\n            />,\r\n            BillingFrequentQuestions: <BillingFrequentQuestions />,\r\n            PersonalDataFrequentQuestions: <PersonalDataFrequentQuestions />,\r\n            Activities: <RedirectToActivities />,\r\n            PrescriptionPage: <PrescriptionPage />,\r\n            MedicalProfile: <MedicalProfile />,\r\n        };\r\n        return TYPE_OF_PAGE[type];\r\n    };\r\n    return <>\r\n        {responseToReturn()}\r\n    </>;\r\n};\r\n\r\n\r\nexport default React.memo(SelectTypeOfComponent);","import Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Grid, Typography, Divider, IconButton, CircularProgress } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport { useEffect, useLayoutEffect, useState } from \"react\";\r\nimport MedicalFilters from \"../../components/MedicalFilters/MedicalFilters\";\r\nimport MapContainer from \"../../components/MapContainer/MapContainer\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { cleanModelMedicalRecords, getFiltersValues, getPerfilCompleto } from \"../../redux/actions/medicalRecords\";\r\nimport { getFullData } from \"../../redux/actions/personalDataActions\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport SelectTypeOfComponent from \"../../components/PersonalData/SelectTypeOfComponent\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { verifyPermission, notAccessToThisModule } from \"../../utils/utilsFunctions\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst param = {\r\n  parametroLlamado: ''\r\n};\r\n\r\nconst MedicalRecord = () => {\r\n  const classes = useStyles();\r\n  const { screen } = useResizeScreen();\r\n  const [notFound, setNotFound] = useState(false);\r\n  const dispatch = useDispatch();\r\n  const medicalRecord = useSelector((state) => state.cartillaReducer.cartilla);\r\n  const completeProfile = useSelector((state) => state.cartillaReducer.completeProfile);\r\n  const [profileSelected, setProfileSelected] = useState(completeProfile);\r\n  const [maps, setMaps] = useState(false);\r\n  const history = useHistory();\r\n  const { search } = useLocation();\r\n  const match = search.match(/type=(.*)/);\r\n  const trackPageView = useTrackPageView(\"Cartilla\");\r\n  const typeURL = match?.[1];\r\n  const [type, setActiveType] = useState(-1);\r\n  const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n  const [ hasPermission, setHasPermission ] = useState(false);\r\n  const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n  const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n\r\n  const showMaps = (item, i) => (e) => {\r\n    setProfileFunction(item, setProfileSelected);\r\n    if (maps) {\r\n      setMaps(false);\r\n    } else {\r\n      setMaps(true);\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    dispatch(getLimitPlan());\r\n    trackPageView();\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    if (profileSelected !== undefined)\r\n      dispatch(getPerfilCompleto(profileSelected));\r\n  }, [profileSelected]);\r\n\r\n  useLayoutEffect(() => {\r\n    verifyPermission(limitPlanReducer, affiliatePlan, \"Cartilla\", setHasPermission);\r\n  }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n  useEffect(() => {\r\n    dispatch(getFiltersValues(param));\r\n    let numberPerson = window.localStorage.getItem(\"numeroPersona\");\r\n    if (numberPerson) {\r\n      dispatch(getFullData({ numeroPersona: numberPerson }));\r\n    }\r\n\r\n    return (() => {\r\n      window.localStorage.removeItem(\"modelCartilla\");\r\n      window.localStorage.removeItem(\"selectedValues\");\r\n      window.localStorage.removeItem(\"values\");\r\n    });\r\n  }, []);\r\n\r\n\r\n  useEffect(() => {\r\n    window.onpopstate = (e) => {\r\n      dispatch(cleanModelMedicalRecords());\r\n      if (screen.sWidth <= 768 && type !== -1)\r\n        window.location.href = '/MedicalRecords';\r\n      else\r\n        history.push('/');\r\n    };\r\n  });\r\n\r\n  useEffect(() => {\r\n    if (typeURL !== undefined) {\r\n      setActiveType(1);\r\n    }\r\n  }, [typeURL]);\r\n\r\n  function permissionToEnter(condition) {\r\n    var resp;\r\n    if(condition) {\r\n        resp = (MobileFilters({ medicalRecord, classes, showMaps, screen, maps, typeURL, setNotFound, history }));\r\n    } else {\r\n        resp = (notAccessToThisModule());\r\n    }\r\n    return resp;\r\n  }\r\n\r\n  return (\r\n    <>\r\n      <Menu />\r\n      {!maps &&\r\n          (\r\n            loadingPermission  && affiliatePlan?\r\n              <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%', paddingTop: '10px' }}>\r\n                <CircularProgress />\r\n              </div>\r\n            :\r\n              (\r\n                permissionToEnter(hasPermission)\r\n              )\r\n          )\r\n        }\r\n\r\n      <SelectTypeOfComponent showMaps={showMaps} maps={maps} />\r\n      {medicalRecord?.cartilla && medicalRecord?.cartilla?.length > 0 &&\r\n        (\r\n          maps && (\r\n            <>\r\n              <section className={classes.sectionHeaderCartilla}>\r\n                <IconButton onClick={() => { setMaps(prevState => !prevState); }}>\r\n                  <ArrowBackIcon className={classes.iconFilter} />\r\n                </IconButton>\r\n                <Typography className={classes.titleTurn} style={{ fontSize: '1.3rem', fontWeight: '500', marginTop: '0px' }}>Cartilla </Typography>\r\n                <div className={classes.divBtnHeaderCartilla}>\r\n                  <CustomButton\r\n                    typeButton=\"header\"\r\n                    type=\"submit\"\r\n                    title=\"VER LISTADO\"\r\n                    customClass={`${classes.sendButton} ${classes.lightLinearGradient}`}\r\n                    style={{ boxShadow: 'none' }}\r\n                    onClick={() => { setMaps(prevState => !prevState); }}\r\n                  />\r\n                </div>\r\n              </section>\r\n              <Divider className={`${classes.formDivider} ${classes.boxDivider}`} style={{ marginBottom: '20px' }} />\r\n              <MapContainer showMaps={showMaps} viewList={true} profileSelected={profileSelected} elevation={0.007}/>\r\n            </>\r\n          )\r\n        )\r\n      }\r\n    </>\r\n  );\r\n};\r\n\r\nexport default MedicalRecord;\r\n\r\nfunction titleButton(isMaps) {\r\n  return isMaps ? \"ver listado\" : \"ver mapa\";\r\n}\r\n\r\nfunction MobileFilters({ medicalRecord, classes, showMaps, screen, isMap, typeURL, setNotFound, history }) {\r\n  return (\r\n    <>\r\n      {screen.sWidth < 768 &&\r\n        setHeaderInMobile({ history, classes, typeURL })\r\n      }\r\n      {((typeURL === undefined && screen.sWidth < 768) || (screen.sWidth > 768)) && <MedicalFilters isMobile={false} setNotFound={setNotFound} />}\r\n      {medicalRecord.cartilla && !isMap &&\r\n        (\r\n          <Grid\r\n            style={{\r\n              marginTop: \"10px\",\r\n              display: \"flex\",\r\n              justifyContent: \"center\",\r\n            }}\r\n            item\r\n          >\r\n            {(medicalRecord.cartilla?.length > 0 && typeURL !== undefined) &&\r\n              <CustomButton\r\n                title={titleButton(isMap)}\r\n                onClick={showMaps(null, 0)}\r\n                customClass={`${classes.sendButton} ${classes.lightLinearGradient}`}\r\n              />\r\n            }\r\n          </Grid>\r\n        )\r\n      }\r\n    </>\r\n  );\r\n}\r\n\r\nfunction setHeaderInMobile({ history, classes, typeURL }) {\r\n  let response = (\r\n    <section style={{ padding: '4%' }}>\r\n      <Typography className={classes.txtTitleAppointment} style={{ textAlign: 'center' }}>Cartilla</Typography>\r\n      <Divider className={`${classes.formDivider} ${classes.boxDivider}`} />\r\n    </section>);\r\n  if (typeURL !== undefined) {\r\n    response = (\r\n      <section style={{ padding: '4%', display: 'flex', flex: '0 0 100%', flexWrap: 'wrap' }}>\r\n        <IconButton onClick={returnHomeAppointmentHome(history)}>\r\n          <ArrowBackIcon className={classes.iconFilter} />\r\n        </IconButton>\r\n        <Typography className={classes.txtTitleAppointment} style={{ textAlign: 'left', display: 'flex', alignItems: 'center', marginTop: '0px' }}>Cartilla</Typography>\r\n        <Divider className={`${classes.formDivider} ${classes.boxDivider}`} />\r\n      </section>);\r\n  }\r\n\r\n  return response;\r\n}\r\n\r\nconst returnHomeAppointmentHome = (history) => (e) => {\r\n  history.push('/MedicalRecords');\r\n};\r\n\r\nfunction setProfileFunction(item, setProfileSelected) {\r\n  item !== null ? setProfileSelected({ PrestadorNumero: item.prestadorNumero }) : setProfileSelected({});\r\n}\r\n","import * as actionTypes from '../consts/actionTypes';\r\n\r\nexport function getHeadquaters() {\r\n    return {\r\n        type: actionTypes.GET_ALL_HEADQUATERS,\r\n        payload: ''\r\n    };\r\n}","import Iframe from \"react-iframe\";\r\nimport Menu from \"../Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Header from \"../GenericHeader/Header\";\r\n\r\nconst HeadquartersFrequentQuestions = () => {\r\n    const classes = useStyles();\r\n    const size = useResizeScreen();\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {\r\n                size.screen.sWidth > 768 &&\r\n                <Header title=\"Preguntas Frecuentes\" />\r\n            }\r\n            <div className={classes.Redirect} style={{marginLeft: \"-8px\", marginTop: (size.screen.sWidth > 768 ? \"0\" : \"-20px\")}}>\r\n                <Iframe sandbox='' scrolling=\"yes\" src='https://www.oslpasteur.com.ar/PortalHTML5/accesos/PreguntasFrecuentes/index.html?centrosmedicos'\r\n                    className={classes.iframe} />\r\n            </div>\r\n\r\n        </>\r\n    );\r\n};\r\n\r\nexport default HeadquartersFrequentQuestions;\r\n","import {\r\n  Tabs,\r\n  Paper,\r\n  Box,\r\n  Container,\r\n  Grid,\r\n  Accordion,\r\n  AccordionSummary,\r\n  AccordionDetails,\r\n  CircularProgress,\r\n} from \"@material-ui/core\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport ItemTab from \"../../components/Tabs/ItemTab\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport Header from \"../GenericHeader/Header\";\r\nimport Menu from \"../Menu/Menu\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\nimport CardPhoto from \"../CardPhoto/CardPhoto\";\r\nimport { getHeadquaters } from \"../../redux/actions/sedesActions\";\r\nimport parse from 'html-react-parser';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport HeadquartersFrequentQuestions from \"./HeadquartersFrequentQuestions\";\r\nimport { useHistory } from \"react-router\";\r\nimport useTrackPageView from '../../utils/useTrackPageView';\r\n\r\nconst tab = [\r\n  {\r\n    label: \"Centros médicos\",\r\n  },\r\n  {\r\n    label: \"Sucursal\",\r\n  },\r\n  {\r\n    label: \"Preguntas frecuentes\",\r\n  },\r\n];\r\n\r\nconst Headquarters = () => {\r\n  const classes = useStyles();\r\n  const [value, setValue] = useState(0);\r\n  const size = useResizeScreen();\r\n  const [isCenterSelected, setIsCenter] = useState(true);\r\n  const dispatch = useDispatch();\r\n  const sedesSelector = useSelector(state => state.sedesReducer?.sedes);\r\n  const [centers, setCenters] = useState([]);\r\n  const [sucursal, setSucursal] = useState([]);\r\n  const zonas = sucursal.map(x => x.zone);\r\n  const distinctZonas = [...new Set(zonas)];\r\n  const [ isFrequentQuestion, setIsFrequentQuestion ] = useState(false);\r\n  const [ isBranch, setIsBranch ] = useState(false);\r\n  const history = useHistory();\r\n  const trackPageView = useTrackPageView(\"Nuestras Sedes\");\r\n\r\n  const handleChange = (event, newValue) => {\r\n    event.preventDefault();\r\n    setValue(newValue);\r\n    if (newValue === 0) {\r\n      setIsCenter(true);\r\n      setIsFrequentQuestion(false);\r\n      setIsBranch(false);\r\n    }\r\n    if (newValue === 1) {\r\n      setIsCenter(false);\r\n      setIsFrequentQuestion(false);\r\n      setIsBranch(true);\r\n    }\r\n    if (newValue === 2) {\r\n      setIsCenter(false);\r\n      setIsBranch(false);\r\n      setIsFrequentQuestion(true);\r\n    }\r\n  };\r\n\r\n  const centered = () => {\r\n    return size.screen.sWidth <= 425 ? false : true;\r\n  };\r\n\r\n  const variant = () => {\r\n    return size.screen.sWidth <= 425 ? \"scrollable\" : \"standard\";\r\n  };\r\n\r\n  const addCardPhoto = () => {\r\n    return (\r\n      <CardPhoto\r\n        listCard={centers}\r\n        countCard={centers.length}\r\n        hasButton={false}\r\n        alternateColor={true}\r\n        hasDetail={true}\r\n        isNotPlan={true}\r\n      ></CardPhoto>\r\n    );\r\n  };\r\n\r\n  const addAccordion = (item, i) => {\r\n    return (\r\n      <Accordion key={i}>\r\n        <AccordionSummary\r\n          expandIcon={<ExpandMoreIcon />}\r\n          aria-controls=\"panel1a-content\"\r\n          id=\"panel1a-header\"\r\n        >\r\n          <Grid item xs={1}>\r\n            <LocationCityIcon className={classes.LocationCity} />\r\n          </Grid>\r\n          <Typography className={classes.txtTitlebranchOffice} style={{marginLeft: \"15px\"}}>\r\n            {distinctZonas[i]}\r\n          </Typography>\r\n        </AccordionSummary>\r\n\r\n        {sucursal?.filter(x => x.zone === distinctZonas[i]).map((items, x) => (\r\n          <AccordionDetails key={x}>\r\n            <div>\r\n              <Typography className={classes.headingBPhones}>\r\n                {\" \"}\r\n                {items.name}\r\n              </Typography>\r\n            </div>\r\n            <div>\r\n              <Typography\r\n                style={{ whiteSpace: \"initial\" }}\r\n                className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n              >\r\n                {\" \"}\r\n                {items.address}\r\n              </Typography>\r\n            </div>\r\n            <div>\r\n              <a href={`tel:${items.numbers}`} noopener noreferrer\r\n                style={{ whiteSpace: \"initial\" }}\r\n                className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n              >\r\n                {\"Tel: \" + items.numbers}\r\n              </a>\r\n            </div>\r\n            <div>\r\n              <Typography\r\n                style={{ whiteSpace: \"initial\" }}\r\n                className={`${classes.txtDescription} ${classes.txtEllipsis}`}\r\n              >\r\n                {\" \"}\r\n                {parse(items.description)}\r\n              </Typography>\r\n            </div>\r\n            <div>\r\n              <a className={`${classes.txtDescription} ${classes.txtEllipsis}`} noopener noreferrer href={`mailto:${items.email}`}>\r\n                {items.email}\r\n              </a>\r\n            </div>\r\n          </AccordionDetails>\r\n        ))}\r\n      </Accordion>\r\n    );\r\n  };\r\n\r\n  function addScreenmin() {\r\n    var componentToShow;\r\n    if(isCenterSelected) {\r\n      componentToShow = (\r\n        addCardPhoto()\r\n      );\r\n    }\r\n    if(isBranch) {\r\n      componentToShow = (\r\n        distinctZonas?.map((item, i) => addAccordion(item, i))\r\n      );\r\n    }\r\n    if(isFrequentQuestion) {\r\n      componentToShow = (\r\n        <HeadquartersFrequentQuestions />\r\n      );\r\n    }\r\n    if(!isCenterSelected && !isBranch && !isFrequentQuestion) {\r\n      componentToShow = (\r\n        <div style={{ display: \"flex\", justifyContent: \"center\", alignItems: \"center\", width: \"100%\", height: \"100%\" }} >\r\n            <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n              <CircularProgress />\r\n            </div>\r\n          </div>\r\n      );\r\n    }\r\n    return componentToShow;\r\n  }\r\n\r\n  function strip(html) {\r\n    var tmp = document.implementation.createHTMLDocument(\"New\").body;\r\n    tmp.innerHTML = html;\r\n    return tmp.textContent || tmp.innerText || \"\";\r\n  }\r\n\r\n  const goToFrequentQuestions = () => {\r\n    history.push(\"/headquartersFAQ\");\r\n  };\r\n\r\n  useEffect(() => {\r\n    trackPageView();\r\n    dispatch(getHeadquaters());\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    let aux = sedesSelector?.filter(x => x.category == \"Centro Médico\").map((item) => {\r\n      return {\r\n        title: item.name,\r\n        location: item.address,\r\n        phone: item.numbers,\r\n        hours: strip(item.description),\r\n        mail: item.email,\r\n        latitud: \"\",\r\n        longitud: \"\",\r\n        img: item.image64,\r\n        urlMapa: item.urlMapa\r\n      };\r\n    });\r\n    setCenters(aux);\r\n    let auxSucursal = sedesSelector?.filter(x => x.category == \"Sucursal\").map((item) => {\r\n      return item;\r\n    });\r\n    setSucursal(auxSucursal);\r\n  }, [sedesSelector]);\r\n\r\n  return (\r\n    <>\r\n      <Menu className={classes.noneMenu} />\r\n      <Header title=\"Nuestras Sedes\" />\r\n      {size.screen.sWidth <= \"600\" &&\r\n        (\r\n          <Paper className={classes.newsTabs}>\r\n            <Tabs\r\n              indicatorColor=\"primary\"\r\n              value={value}\r\n              onChange={handleChange}\r\n              centered={centered()}\r\n              className={classes.navTabs}\r\n              variant={variant()}\r\n            >\r\n              {tab.map((item, i) => (\r\n                <ItemTab\r\n                  className={`${value === i ? classes.selected : classes.colorTab\r\n                    } ${size.screen.sWidth <= 425 ? classes.tabMobile : \"\"\r\n                    }`}\r\n                  key={i}\r\n                  label={item.label}\r\n                  style={{\r\n                    color: \"#0075C9\",\r\n                    fontWeight: 700,\r\n                    fontFamily: \"sans-serif\",\r\n                    minWidth: \"9.5% !important\",\r\n                    borderRadius: \"40px\",\r\n                    marginBottom: \"10px\",\r\n                    textTransform: \"none\",\r\n                    marginLeft: \"1px\",\r\n                    marginRight: \"1px\",\r\n                  }}\r\n                />\r\n              ))}\r\n            </Tabs>\r\n          </Paper>\r\n        )\r\n      }\r\n      <Container\r\n        className={`${size.screen.sWidth <= \"600\"\r\n          ? classes.paddingCardMobile\r\n          : classes.paddingCard\r\n          } ${classes.cardStyle}`}\r\n      >\r\n        <Box justify=\"space-between\" alignItems=\"stretch\">\r\n          {size.screen.sWidth <= \"600\" ? (\r\n            addScreenmin()\r\n          ) : (\r\n            <>\r\n              {\" \"}\r\n              {centers?.length > 0 ?\r\n                addCardPhoto()\r\n                :\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", alignItems: \"center\", width: \"100%\", height: \"100%\" }} >\r\n                  <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                    <CircularProgress />\r\n                  </div>\r\n                </div>\r\n              }\r\n              {\r\n                <div style={{ display: \"flex\", justifyContent: \"space-around\", alignItems: \"center\", marginTop: \"30px\" }}>\r\n                  <Typography\r\n                    variant=\"h5\"\r\n                    style={{\r\n                      // paddingBottom: \"23px\",\r\n                      // position: \"absolute\",\r\n                      color: \"#0075c9\",\r\n                      marginLeft: \"30px\",\r\n                    }}\r\n                    className={classes.mainTitle}\r\n                  >\r\n                    {\"Sucursales de Atención & Servicios\"}\r\n                  </Typography>\r\n                  <CustomButton title={\"Preguntas frecuentes\"} onClick={goToFrequentQuestions}\r\n                    style={{\r\n                        height: \"40px\",\r\n                        fontSize: \"12px\",\r\n                        fontWeight: \"600\",\r\n                    }}\r\n                    icon={<QuestionAnswerOutlinedIcon style={{ marginRight: \"5px\" }} />}\r\n                    customClass={`${classes.btnFilterAppointment}`}\r\n                />\r\n                </div>\r\n              }\r\n              {\r\n                <div\r\n                  style={{\r\n                    width: \"100%\",\r\n                    marginTop: \"90px\",\r\n                    display: \"flex\",\r\n                    marginLeft: \"30px\",\r\n                  }}\r\n                >\r\n                  {sucursal?.length > 0 ?\r\n                    (distinctZonas?.map((item, i) => (\r\n                      <div key={i} style={{ width: \"20%\", marginRight: \"30px\" }}>\r\n                        {addAccordion(item, i)}\r\n                      </div>\r\n                    )))\r\n                    :\r\n                    <div style={{ display: \"flex\", justifyContent: \"center\", alignItems: \"center\", width: \"100%\", height: \"100%\", marginLeft: \"0px !important\" }} >\r\n                      <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                        <CircularProgress />\r\n                      </div>\r\n                    </div>\r\n                  }\r\n                  {\" \"}\r\n                </div>\r\n              }{\" \"}\r\n            </>\r\n          )}\r\n        </Box>\r\n      </Container>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default Headquarters;\r\n","import React from \"react\";\r\nimport { Drawer as MuiDrawer } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\n\r\nconst Drawer = (props) => {\r\n  const classes = useStyles();\r\n  return (\r\n    <MuiDrawer\r\n      className={classes.drawerTurn}\r\n      variant=\"persistent\"\r\n      open={props.open}\r\n      classes={{\r\n        paper: classes.drawerPaperTurn,\r\n      }}\r\n    >\r\n      {props.children}\r\n    </MuiDrawer>\r\n  );\r\n};\r\n\r\nexport default React.memo(Drawer);\r\n","import useStyles from \"../../assets/styles/styles\";\r\nimport Drawer from \"../../controls/Drawer/Drawer\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport WizardLine from \"./WizardLine\";\r\nimport React, { useCallback, useEffect, useState } from \"react\";\r\nimport { clearModelAppointment, getDataGroupFamily, getFullGroupFamilyAppointment, getMedicalCenters, getModelToSaveAppointment, setModelToSaveAppointment, setModifyAppointment } from \"../../redux/actions/appointmentsActions\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport DrawerAppointmentsSteps from \"./DrawerAppointmentsSteps\";\r\nimport ModalProfile from \"../../components/DialogProfile/Modal\";\r\nimport { IconButton, Typography } from \"@material-ui/core\";\r\nimport { getStepCount, setActualStep, setNextStep, setPrevStep } from \"../../redux/actions/stepAppointmentsActions\";\r\nimport FooterDrawer from \"./FooterDrawer\";\r\nimport { ValidateSteps } from \"./Utils/ValidateSteps\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport SelectTypeOfComponent from \"../PersonalData/SelectTypeOfComponent\";\r\nimport Header from \"../GenericHeader/Header\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { useHistory } from \"react-router\";\r\nimport { useCurrentPosition } from \"../../hooks/useCurrentPosition\";\r\nimport { checkSpecialistVisualizacion, getSpecialtyAndDoctorCodes } from \"./Utils/CheckAppointmentVisualization\";\r\n\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst specialtiesList = {\r\n  numeroPersona: userCode,\r\n  centroMedico: 72,\r\n  tipoAtencion: \"TODOS\",\r\n  parametroLlamado: 0,\r\n};\r\n\r\nconst persona = {\r\n  codigo: parseInt(window.localStorage.getItem(\"numeroPersona\"))\r\n};\r\n\r\nconst person = {\r\n  numeroPersona: userCode,\r\n};\r\n\r\nconst AskTurn = (props) => {\r\n  const titles = [\r\n    {\r\n      title1: \"Elegir Afiliado\",\r\n    },\r\n    {\r\n      title2: \"Elegir modalidad de atención\",\r\n    },\r\n    {\r\n      title3: \"Elegir especialidad/profesional\",\r\n    },\r\n    {\r\n      title4: \"Centro Médico\",\r\n    },\r\n    {\r\n      title5: \"Elegir Centro Médico\",\r\n    },\r\n    {\r\n      title6: \"Turno telefónico\",\r\n    },\r\n    {\r\n      title7: \"Próximos turnos\",\r\n    },\r\n    {\r\n      title8: \"Próximo turno\",\r\n    },\r\n    {\r\n      title9: \"Confirmación\",\r\n    }\r\n  ];\r\n\r\n  const list = [\r\n    {\r\n      step0: \"\"\r\n    },\r\n    {\r\n      step1: \"\"\r\n    },\r\n    {\r\n      step2: \"\"\r\n    },\r\n    {\r\n      step3: \"\"\r\n    },\r\n    {\r\n      step4: \"\"\r\n    },\r\n\r\n  ];\r\n\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const { screen } = useResizeScreen();\r\n  const [activeStep, setActiveStep] = useState(props.step ?? 0);\r\n  const [specialistVisualizacion, setSpecialistVisualizacion] = useState();//\"TURNO WEB\" | \"TURNO TELEFONICO\"\r\n  const { handleCloseDrawer, setOpen } = props;\r\n  const [openModal, setOpenModal] = useState(false);\r\n  const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n  const [modelAppointment, setModelAppointment] = useState(modelNextAppointment?.modelAppointment);\r\n  const history = useHistory();\r\n  const { currentPosition } = useCurrentPosition();\r\n  const [position, setPosition] = useState({ codigo: parseInt(window.localStorage.getItem(\"numeroPersona\")), lat: \"\", long: \"\" });\r\n  const specialties = useSelector((state) => state.medicalCenterReducer?.specialtyList);\r\n\r\n  const handleNext = () => {\r\n    let auxStepCount = validateTelemedicina('next');\r\n    if (ValidateSteps(activeStep, modelAppointment, screen)) {\r\n      setActiveStep((prevActiveStep) => prevActiveStep + auxStepCount);\r\n      dispatch(setActualStep(activeStep));\r\n      dispatch(setNextStep(activeStep + auxStepCount));\r\n    }\r\n  };\r\n\r\n  const handleBack = useCallback(() => {\r\n    let auxStepCount = validateTelemedicina('back');\r\n    if (screen.sWidth <= 768) {\r\n      if (activeStep == 6 && modelAppointment?.preference == 2) {\r\n        auxStepCount = 3;\r\n      }\r\n      if ((activeStep == 6 && modelAppointment?.preference == 1) || activeStep == 4) {\r\n        auxStepCount = 2;\r\n      }\r\n    }\r\n    let CLEAN_MODEL = {\r\n      2: cleanModelSpecialty,\r\n    };\r\n    if (activeStep === 2) {\r\n      CLEAN_MODEL[activeStep]();\r\n    }\r\n    setActiveStep((prevActiveStep) => prevActiveStep - auxStepCount);\r\n    dispatch(setActualStep(activeStep));\r\n    dispatch(setPrevStep(activeStep - auxStepCount));\r\n  }, [activeStep, modelAppointment]);\r\n\r\n  const cleanModelSpecialty = () => {\r\n    let aux = modelAppointment;\r\n    delete aux.preference;\r\n    delete aux.observaciones;\r\n    delete aux.preparacion;\r\n    delete aux.doctorVisualizacion;\r\n    setModelAppointment(aux);\r\n    dispatch(setModelToSaveAppointment(aux));\r\n  };\r\n\r\n  useEffect(() => {\r\n    if(modelAppointment?.modalidadTurno){\r\n      modelAppointment?.modalidadTurno === 'Telemedicina'? setSpecialistVisualizacion('TURNO TELEFONICO')\r\n      : setSpecialistVisualizacion('TURNO WEB')\r\n    }\r\n  },[modelAppointment?.modalidadTurno]);\r\n\r\n  useEffect(() => {\r\n    if (currentPosition.lat !== 0 && currentPosition.lat !== undefined && currentPosition.lng !== 0) {\r\n        setPosition({ ...position, lat: currentPosition.lat.toString(), long: currentPosition.lng.toString() });\r\n    }\r\n}, [currentPosition]);\r\n\r\n  const validateTelemedicina = (param) => {\r\n    let stepCount = 1;\r\n    if (modelNextAppointment.modelAppointment.modalidadTurno === 'Telemedicina') {\r\n      if ((param === 'next' && activeStep === 0) || (param === 'back' && activeStep === 2)) {\r\n        stepCount = 2;\r\n      }\r\n    }\r\n    return stepCount;\r\n  };\r\n\r\n  const handleOpenCancelModal = useCallback(() => {\r\n    setOpenModal(prevState => !prevState);\r\n    dispatch(setModifyAppointment(\"\"));\r\n  }, [openModal]);\r\n\r\n  useEffect(() => {\r\n    window.onpopstate = (e) => {\r\n      setOpen(false);\r\n    };\r\n  });\r\n\r\n  useEffect(() => {\r\n    if (position.lat !== \"\" && position.long !== \"\"){\r\n      dispatch(getMedicalCenters(position));\r\n    }\r\n  }, [position]);\r\n\r\n  useEffect(() => {\r\n    dispatch(getDataGroupFamily(person));\r\n    dispatch(setActualStep(activeStep));\r\n    dispatch(getStepCount());\r\n    if (modelNextAppointment?.modelAppointment?.length > 0) {\r\n      specialtiesList.centroMedico = modelNextAppointment?.modelAppointment?.centroMedico;\r\n    }\r\n    dispatch(getModelToSaveAppointment());\r\n    dispatch(getFullGroupFamilyAppointment(person));\r\n    if (screen.sWidth <= 768) {\r\n      setOpen(true);\r\n    }\r\n    if (modelNextAppointment?.modelModifyAppointment == \"modify\" || modelNextAppointment?.modelModifyAppointment == \"repeat\") {\r\n      if (screen.sWidth <= 768) {\r\n        setActiveStep(3);\r\n      }\r\n      else {\r\n        setActiveStep(2);\r\n      }\r\n    }\r\n    else {\r\n      setActiveStep(0);\r\n    }\r\n    /*Return -> verificar cuando pedis un turno y volves a modificar un turno\"*/\r\n    return () => {\r\n      dispatch(clearModelAppointment());\r\n      dispatch(setModifyAppointment(\"\"));\r\n    };\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    setModelAppointment(modelNextAppointment?.modelAppointment);\r\n  }, [modelNextAppointment?.modelAppointment]);\r\n\r\n  useEffect(() => {\r\n    if (activeStep === list?.length)\r\n      setActiveStep(0);\r\n  }, [activeStep]);\r\n\r\n  const handleClose = () => {\r\n    handleCloseDrawer();\r\n    dispatch(clearModelAppointment());\r\n    dispatch(setModifyAppointment(\"\"));\r\n    history.push('/AppointmentHome');\r\n  };\r\n\r\n  useEffect(() => {\r\n    setOpen(true);\r\n  }, [screen.sWidth <= 768]);\r\n\r\n  useEffect(() => {\r\n    if (!modelNextAppointment?.modelAppointment?.especialidadCodigo) {\r\n      return;\r\n    }\r\n\r\n    const { agenda, specialtyCode, doctorCode } = getSpecialtyAndDoctorCodes(specialties, modelNextAppointment);\r\n\r\n    checkSpecialistVisualizacion(agenda, specialtyCode, doctorCode, setSpecialistVisualizacion);\r\n\r\n  }, [specialties]);\r\n\r\n  return (\r\n    <>\r\n      {\r\n        screen.sWidth <= 768 ?\r\n          <>\r\n            <Header title={\"Mis Turnos\"} zIndexTitle={10} positionTitle={\"relative\"} />\r\n            {activeStep !== 0 && (modelNextAppointment.modelModifyAppointment == \"\" || modelNextAppointment.modelModifyAppointment == undefined) &&\r\n              <>\r\n                <div style={{ position: \"absolute\", zIndex: \"20\", top: \"105px\", left: \"10px\" }}>\r\n                  <IconButton onClick={handleBack}>\r\n                    <ArrowBackIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"30px\" }} />\r\n                  </IconButton>\r\n                </div>\r\n              </>\r\n            }\r\n            <Drawer open={props.open}>\r\n              <WizardLine list={list} activeStep={activeStep} />\r\n              <DrawerAppointmentsSteps isWeb={false} open={props.open} titles={titles} activeStep={activeStep} setActiveStep={setActiveStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} handleNext={handleNext} handleCloseDrawer={handleCloseDrawer} specialistVisualizacion={specialistVisualizacion} setSpecialistVisualizacion={setSpecialistVisualizacion}/>\r\n              {!(activeStep === 5 || activeStep === 4 || activeStep === 2 || activeStep === 3 || activeStep === 6) &&\r\n                <FooterDrawer activeStep={activeStep} handleOpenCancelModal={handleOpenCancelModal} handleBack={handleBack} handleNext={handleNext} />\r\n              }\r\n            </Drawer>\r\n          </>\r\n          :\r\n          (<>\r\n            <SelectTypeOfComponent\r\n              activeStepTurn={activeStep}\r\n              setActiveStepTurn={setActiveStep}\r\n              handleOpenCancelModalTurn={handleOpenCancelModal}\r\n              handleBackTurn={handleBack}\r\n              handleNextTurn={handleNext}\r\n              handleCloseDrawerTurn={handleCloseDrawer}\r\n              setSpecialistVisualizacion={setSpecialistVisualizacion}\r\n              specialistVisualizacion={specialistVisualizacion}\r\n            />\r\n          </>)\r\n      }\r\n\r\n      {\r\n        openModal &&\r\n        <ModalProfile\r\n          type='cancel'\r\n          title={\r\n            <>\r\n              <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                Cancelar turno\r\n              </div>\r\n            </>\r\n          }\r\n          observation={\r\n            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n              <Typography>\r\n                ¿Estás seguro que querés cancelar tu turno?\r\n              </Typography>\r\n            </div>\r\n          }\r\n          description={\r\n            <div style={{ display: 'flex', justifyContent: 'space-evenly' }}>\r\n              < CustomButton\r\n                title={\"Si\"}\r\n                customClass={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n                onClick={handleClose}\r\n              />\r\n              < CustomButton\r\n                title={\"No\"}\r\n                customClass={classes.buttonNotConfirmModal}\r\n                onClick={handleOpenCancelModal}\r\n              />\r\n            </div>\r\n          }\r\n          open={openModal}\r\n          onClose={setOpenModal}\r\n        />\r\n      }\r\n    </>\r\n  );\r\n};\r\n\r\nexport default React.memo(AskTurn, (prevProps, nextProps) => {\r\n  return prevProps.open === nextProps.open;\r\n});","import { IconButton, Typography } from \"@material-ui/core\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport AppointmentsCard from \"./AppointmentsCard\";\r\nimport FavoriteIcon from \"@material-ui/icons/Favorite\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\n\r\nconst FavoriteCard = ({ item, i, handleClickOpenDeleteFavModal, handleClickOpenRepeatModal }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n\r\n    return (\r\n        <>\r\n            <AppointmentsCard\r\n                index={i}\r\n                blueBox={false}\r\n                buttonsInHeader={true}\r\n                headerButtons={\r\n                    screen.sWidth < 321 &&\r\n                    <div style={{ display: 'flex', justifyContent: 'flex-end', backgroundColor: '#ffffff', borderRadius: '7px', alignItems: 'flex-start' }}>\r\n                        <IconButton onClick={handleClickOpenDeleteFavModal(item)}>\r\n                            <FavoriteIcon className={`${classes.FavoriteIcon} ${classes.iconPositionFavorite} `} />\r\n                        </IconButton>\r\n                    </div>\r\n                }\r\n                description={\r\n                    <>\r\n                        <Typography style={{ fontWeight: \"600\", color: '#0075c9', paddingBottom: \"10px\", fontSize: '1rem' }} className={`${classes.txtCardDescription}`}>\r\n                            {item?.medicoDescripcion}\r\n                        </Typography>\r\n                        <Typography style={{ fontWeight: \"600\", color: '#0075c9', paddingBottom: \"10px\" }} className={`${classes.txtCardDescription} `} >\r\n                            <span style={{ color: 'black' }}>{\"CENTRO MEDICO \" + item?.sucursalDescripcion}</span>\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`}>\r\n                            {item?.especialidadDescripcion}\r\n                        </Typography>\r\n                    </>\r\n                }\r\n                buttonZone={\r\n                    <section className={`${classes.btnZoneAppointmentCard}`}>\r\n                        {screen.sWidth > 321 &&\r\n                            <div style={{ display: 'flex', justifyContent: 'flex-end' }}>\r\n                                <IconButton onClick={handleClickOpenDeleteFavModal(item)}>\r\n                                    <FavoriteIcon className={`${classes.FavoriteIcon} ${classes.iconPositionFavorite} `} />\r\n                                </IconButton>\r\n                            </div>\r\n                        }\r\n                        <div className={classes.btnDivCards}>\r\n                            <CustomButton\r\n                                title=\"REPETIR TURNO\"\r\n                                customClass={classes.lightLinearGradient}\r\n                                style={{ whiteSpace: \"nowrap\", marginTop: \"10px\", width: \"100%\", fontSize: \"0.5rem\", fontWeight: '600' }}\r\n                                onClick={handleClickOpenRepeatModal(item)}\r\n                            />\r\n                        </div>\r\n                    </section>\r\n                }\r\n            />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default FavoriteCard;","import React, { useCallback, useEffect, useLayoutEffect, useState } from \"react\";\r\nimport Header from \"../../components/GenericHeader/Header\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport {\r\n    Grid,\r\n    Box,\r\n    Typography,\r\n    ImageList,\r\n    Accordion,\r\n    AccordionSummary,\r\n    AccordionDetails,\r\n    CircularProgress,\r\n} from \"@material-ui/core\";\r\nimport FavoriteIcon from \"@material-ui/icons/Favorite\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport CustomSelect from '../../controls/Select/CustomSelect';\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport ReplayIcon from \"@material-ui/icons/Replay\";\r\nimport LiveHelpIcon from \"@material-ui/icons/LiveHelp\";\r\nimport AssignmentIcon from \"@material-ui/icons/Assignment\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport AskTurn from \"../../components/AskTurn/AskTurn\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n    getAppointmentFavorite,\r\n    getDataFilterAppointment,\r\n    getAfilliatedAppointmentsRecord,\r\n    getAfilliatedAppointmentsNext,\r\n    getAnswerQuestion,\r\n    ABAppointmentFavorite,\r\n    AppointmentCanceled,\r\n    getAfilliatedAppointments,\r\n    setModelToSaveAppointment,\r\n    getSpecialties,\r\n    setModifyAppointment,\r\n} from \"../../redux/actions/appointmentsActions\";\r\nimport CustomCalendar from \"../../components/Calendar/Calendar\";\r\nimport ModalActivities from \"../../components/DialogActivities/ModalActivities\";\r\nimport ContainerBox from \"../../components/ContainerBox/ContainerBox\";\r\nimport NotFound from \"../../components/HomeLogged/NotFound\";\r\nimport TodayIcon from '@material-ui/icons/Today';\r\nimport FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder';\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { checkNewAppointments, handleExpandAccordion, notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport FavoriteCard from \"../../components/Appointments/Cards/FavoriteCard\";\r\nimport NextAppointmentCard from \"../../components/Appointments/Cards/NextAppointmentCard\";\r\nimport HistoryAppointmentCard from \"../../components/Appointments/Cards/HistoryAppointmentCard\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport { format } from \"date-fns\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst AppointmentHome = () => {\r\n    const dispatch = useDispatch();\r\n    const [selectedFilter, SetFilter] = useState([]);\r\n    const trackPageView = useTrackPageView(\"Turnos\");\r\n    const [isCalendar, setCalendar] = useState(false);\r\n    const [headerCalendarButton, setTitleButton] = useState(\"VER CALENDARIO\");\r\n    const [switchState, setSwitchState] = useState({});\r\n    const [baja, setFavoriteBaja] = useState({});\r\n    const [canceled, setCanceledAppointment] = useState({});\r\n    const [itemAppointment, setItemAppointment] = useState({});\r\n    const [openAskTurn, setOpenAskTurn] = React.useState(false);\r\n    const [skipRecord, setSkipRecord] = useState(0);\r\n    const [skipNext, setSkipNext] = useState(0);\r\n    const classes = useStyles();\r\n    const screenSize = useResizeScreen();\r\n    const appointments = useSelector((state) => state.appointmentsReducer);\r\n    const [next, setNext] = useState([]);\r\n    const [record, setRecorder] = useState([]);\r\n    const [nextComplet, setNextComplet] = useState([]);\r\n    const [recordComplet, setRecordComplet] = useState([]);\r\n    const [today, setTodayAppointment] = useState([]);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [openModalFavorite, setOpenModalFavorite] = useState(false);\r\n    const [modifyStep, setModifyStep] = useState(0);\r\n    const [openModalRepeatAppointment, setOpenModalRepeatAppointment] = useState(false);\r\n    const modelNextAppointment = useSelector(state => state.appointmentsReducer);\r\n    const [modifyRepeatTitle, setModifyRepeatTitle] = useState('');\r\n    const [modifyRepeatDescription, setModifyRepeatDescription] = useState('');\r\n    const [groupFamily, setGroupFamily] = useState([]);\r\n    const [selectAffilliate, setSelectAffilliate] = useState({\r\n        value: 0,\r\n        label: \"\"\r\n    });\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const history = useHistory();\r\n    const { search } = useLocation();\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const match = search.match(/type=(.*)/);\r\n    const typeURL = match?.[1];\r\n    const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n    const [expanded, setExpanded] = useState(false);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n    const [favorite, setFavorite] = useState([])\r\n    const atThisMoment = new Date();\r\n    const [dateStart, setDateStart] = useState(atThisMoment);\r\n    const dateEnd = new Date();\r\n    const [expandNextShifts, setExpandNextShifts] = useState(true);\r\n    const [expandFavorite, setExpandFavorite] = useState(false);\r\n    const [expandHistory, setExpandHistory] = useState(false);\r\n    const [expandQuestion, setExpandQuestion] = useState(false);\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Turnos\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    /*parameters */\r\n\r\n    const generateParameter = (type) => {\r\n        let skip;\r\n        if (type == \"HISTORICOS\") skip = skipRecord;\r\n        else skip = skipNext;\r\n        return {\r\n            numeroPersona: userCode,\r\n            solicitudTurnos: type,\r\n            count: 999,\r\n            skip: skip,\r\n            fechaDesde: format(dateStart, \"yyyy-MM-dd\"),\r\n            fechaHasta: format(dateEnd, \"yyyy-MM-dd\")\r\n        };\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n        setDateStart(atThisMoment?.setMonth(atThisMoment?.getMonth() - 6));\r\n    }, []);\r\n\r\n    const persona = {\r\n        numeroPersona: userCode,\r\n        parametroLlamado: \"FILTRO HISTORICO TURNO\"\r\n\r\n    };\r\n\r\n    const paramFav = {\r\n        numeroPersona: userCode,\r\n        count: 999,\r\n        skip: 0,\r\n        fechaDesde: format(dateStart, \"yyyy-MM-dd\"),\r\n        fechaHasta: format(dateEnd, \"yyyy-MM-dd\")\r\n    };\r\n\r\n    const paramAll = {\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        solicitudTurnos: \"TODOS\",\r\n        count: 999,\r\n        skip: 0,\r\n        fechaDesde: format(dateStart, \"yyyy-MM-dd\"),\r\n        fechaHasta: format(dateEnd, \"yyyy-MM-dd\")\r\n    };\r\n    /**en parameters */\r\n\r\n\r\n    useEffect(() => {\r\n        if (Object.values(modelNextAppointment?.modelAppointment).length > 0) {\r\n            setOpenAskTurn(prevState => !prevState);\r\n            history.push('AppointmentHome?type=AskNewAppointment')\r\n        }\r\n        getFullAppointments();\r\n        trackPageView();\r\n    }, []);\r\n\r\n    const getFullAppointments = () => {\r\n        dispatch(getDataFilterAppointment(persona));\r\n        dispatch(getAfilliatedAppointmentsRecord({\r\n            numeroPersona: userCode,\r\n            solicitudTurnos: \"HISTORICOS\",\r\n            count: 9999,\r\n            skip: 0,\r\n            fechaDesde: format(dateStart, \"yyyy-MM-dd\"),\r\n            fechaHasta: format(dateEnd, \"yyyy-MM-dd\")\r\n        }));\r\n        dispatch(getAnswerQuestion());\r\n        dispatch(getAppointmentFavorite(paramFav));\r\n        dispatch(getAfilliatedAppointmentsNext({\r\n            numeroPersona: userCode,\r\n            solicitudTurnos: \"PROXIMOS\",\r\n            count: 9999,\r\n            skip: 0,\r\n            fechaDesde: format(dateStart, \"yyyy-MM-dd\"),\r\n            fechaHasta: format(dateEnd, \"yyyy-MM-dd\")\r\n        }));\r\n        dispatch(getAfilliatedAppointments(paramAll));\r\n    }\r\n\r\n    useEffect(() => {\r\n        Init(appointments?.filtro);\r\n        let listGroupFamily = appointments?.filtro?.map((val) => {\r\n            return {\r\n                value: parseInt(val.numeroPersona), label: val.apellidoNombre\r\n            };\r\n        });\r\n        if (listGroupFamily?.length > 1) {\r\n            listGroupFamily?.push({\r\n                value: 0, label: \"TODOS\"\r\n            });\r\n        }\r\n        setGroupFamily(listGroupFamily);\r\n    }, [appointments?.filtro]);\r\n\r\n    useEffect(() => {\r\n        /* skip for pagination*/\r\n        setSkipNext(parseInt(skipNext) + 1);\r\n\r\n        //*appointment complet for filter */\r\n        appointments?.next?.map((item) => {\r\n            nextComplet?.push(item);\r\n        });\r\n\r\n        /**add news appointment from pagination and apply filter  */\r\n        if (next?.length == 0) {\r\n            if (selectedFilter?.length != 0) {\r\n                let listFiltered = appointments?.next?.filter((x) => selectedFilter?.find(y => y.select == x.pacienteNumero) != undefined);\r\n                listFiltered?.forEach(element => {\r\n                    next?.push(element);\r\n                });\r\n            } else {\r\n                appointments?.next?.map((item) => {\r\n                    next?.push(item);\r\n                });\r\n            }\r\n\r\n        }\r\n        /**create list of appointment today */\r\n        appointments?.next?.map((item) => {\r\n            var dateItem = new Date(item.turnoFechHora);\r\n            var dateTodate = new Date(Date.now());\r\n            var date = new Date(dateTodate.getFullYear(), dateTodate.getMonth(), dateTodate.getDate());\r\n            dateItem.setHours(0, 0, 0, 0);\r\n            date.setHours(0, 0, 0, 0);\r\n            if (dateItem.getTime() == date.getTime()) {\r\n                today?.push(item);\r\n            }\r\n        });\r\n\r\n    }, [appointments?.next]);\r\n\r\n    useEffect(() => {\r\n        setSkipRecord(parseInt(skipRecord) + 1);\r\n        setRecordComplet(appointments?.record);\r\n\r\n        let listFiltered = appointments?.record?.filter((x) => selectedFilter?.find(y => y.select == x.pacienteNumero) != undefined);\r\n        listFiltered?.forEach(element => {\r\n            record.push(element);\r\n        });\r\n    }, [appointments?.record]);\r\n\r\n    useEffect(() => {\r\n        if (baja == undefined || baja == null) {\r\n            let f = appointments?.favorite?.map((item) => {\r\n                return item\r\n            });\r\n            setFavorite(f);\r\n        }\r\n        else {\r\n            let f = appointments.favorite.filter((x) => x.medicoCodigo != baja?.medicoCodigo);\r\n            setFavorite(f);\r\n        }\r\n    }, [appointments?.favorite]);\r\n\r\n    useEffect(() => {\r\n        paramFav.numeroPersona = selectAffilliate?.value;\r\n        dispatch(getAppointmentFavorite(paramFav));\r\n    }, [selectAffilliate]);\r\n\r\n    useEffect(() => {\r\n        if (isCalendar) setTitleButton(\"VER LISTADO\");\r\n        else setTitleButton(\"VER CALENDARIO\");\r\n    }, [isCalendar]);\r\n\r\n    useEffect(() => {\r\n        let record = recordComplet?.filter((x) => selectedFilter?.find(y => y.select == x.pacienteNumero) != undefined);\r\n        let next = nextComplet?.filter((x) => selectedFilter?.find(y => y.select == x.pacienteNumero) != undefined);\r\n        setNext(next);\r\n        setRecorder(record);\r\n    }, [switchState]);\r\n\r\n    useEffect(() => {\r\n        Object.entries(baja).length > 0 && dispatch(ABAppointmentFavorite(baja));\r\n        dispatch(getAppointmentFavorite(paramFav));\r\n    }, [baja]);\r\n\r\n    useEffect(() => {\r\n        Object.entries(canceled).length > 0 && dispatch(AppointmentCanceled(canceled));\r\n        let newNext = next?.filter((x) => x.turnoNumero != canceled.numeroTurno);\r\n        let newNextComplet = nextComplet?.filter((x) => x.turnoNumero != canceled.numeroTurno);\r\n        setNext(newNext);\r\n        setNextComplet(newNextComplet);\r\n        getFullAppointments();\r\n    }, [canceled]);\r\n\r\n\r\n    const handleScroll = (e, type) => {\r\n        const bottom = e.target.scrollHeight - e.target.scrollTop === e.target.clientHeight;\r\n        if (bottom) {\r\n            if (type == \"HISTORICOS\") {\r\n                var parameter = generateParameter(\"HISTORICOS\");\r\n                dispatch(getAfilliatedAppointmentsRecord(parameter));\r\n            } else if (\"PROXIMOS\") {\r\n                parameter = generateParameter(\"PROXIMOS\");\r\n                dispatch(getAfilliatedAppointmentsNext(parameter));\r\n            }\r\n        }\r\n    };\r\n\r\n    const AccordionDetailCard = (icon, item, i) => {\r\n        switch (icon) {\r\n            case 1:\r\n                return (<NextAppointmentCard item={item} i={i} handleClickOpenRepeatModal={handleEdit} setCancelItem={setItemAppointment} setOpenModal={setOpenModal} />);\r\n            case 2:\r\n                return (<HistoryAppointmentCard item={item} i={i} handleClickOpenRepeatModal={handleClickOpenRepeatModal} />);\r\n            case 3:\r\n                return <FavoriteCard item={item} i={i} handleClickOpenRepeatModal={handleClickOpenRepeatModal} handleClickOpenDeleteFavModal={handleClickOpenDeleteFavModal} />;\r\n            case 4:\r\n                return (addAccordionQuestion(item, i, classes, expanded, setExpanded));\r\n            default:\r\n                break;\r\n        }\r\n    };\r\n\r\n\r\n    const AddFilter = (select) => {\r\n        SetFilter((selectedFilter) => [...selectedFilter, { select }]);\r\n    };\r\n\r\n    const handleAskTurnClick = () => {\r\n        history.push('/AppointmentHome?type=AskNewAppointment');\r\n        setOpenAskTurn(true);\r\n    };\r\n\r\n    const handleEdit = (item) => (e) => {\r\n        e.preventDefault();\r\n        var itemCancel = {\r\n            numeroPersona: userCode,\r\n            numeroTurno: item.turnoNumero,\r\n            enviarMail: \"N\",\r\n            mail: \"\"\r\n        };\r\n        setItemAppointment(itemCancel);\r\n        setModelAppointmentToRepeatOrModify(item);\r\n        setModifyRepeatTitle('Modificar Turno');\r\n        setModifyRepeatDescription('¿Estás seguro que deseas modificar el turno seleccionado?');\r\n        setOpenModalRepeatAppointment(true);\r\n    };\r\n\r\n    const determineAppointmentModification = (selectedAppointment, dispatch) => {\r\n        if (selectedAppointment && selectedAppointment.turnoNumero) {\r\n            const appointmentDate = new Date(selectedAppointment.turnoFechHora).getTime();\r\n            const actualDate = Date.now();\r\n            const isNextAppointment = appointmentDate > actualDate;\r\n    \r\n            dispatch(setModifyAppointment(isNextAppointment ? \"modify\" : \"repeat\"));\r\n        } else {\r\n            dispatch(setModifyAppointment(\"repeat\"));\r\n        }\r\n    }\r\n\r\n    const setModelAppointmentToRepeatOrModify = (item) => {\r\n        /* Si se repite un turno de favoritos, el numero de afiliado y el nombre es el del usuario logueado. */\r\n        dispatch(setModelToSaveAppointment({\r\n            ...modelNextAppointment?.modelAppointment,\r\n            especialidadCodigo: item?.especialidadCodigo,\r\n            especialidadDescripcion: item?.especialidadDescripcion,\r\n            medicoCodigo: item?.medicoCodigo,\r\n            medicoDescripcion: item?.medicoDescripcion,\r\n            afiliadoDescripcion: item?.pacienteNombreApellido ?? window.localStorage.getItem(\"userName\")?.replace(\"_\", \" \"),\r\n            afiliadoCodigo: item?.pacienteNumero ?? userCode,\r\n            centroMedico: item?.tipoAtencion == \"R\" ? \"\" : item?.sucursalCodigo,\r\n            nombreCentroMedico: item?.tipoAtencion == \"R\" ? \"\" : item?.sucursalDescripcion,\r\n            modalidadTurno: item?.tipoAtencion == \"R\" ? \"Telemedicina\" : \"Presencial\",\r\n            preference: 2,\r\n            turnoAnterior: item?.turnoNumero\r\n        }));\r\n        determineAppointmentModification(item, dispatch);\r\n        const specialtiesList = {\r\n            numeroPersona: item?.pacienteNumero ?? userCode,\r\n            centroMedico: item?.tipoAtencion == \"R\" ? 0 : item?.sucursalCodigo,\r\n            tipoAtencion: item?.tipoAtencion == \"R\" ? \"TELEMEDICINA\" : \"WEB\",\r\n            parametroLlamado: 0,\r\n        };\r\n        dispatch(getSpecialties(specialtiesList));\r\n    };\r\n\r\n    const Init = (list) => {\r\n        list?.map((item) => {\r\n            const cantFilter = selectedFilter?.filter((x) => x?.select == item?.numeroPersona);\r\n            if (cantFilter?.length == 0 && item?.numeroPersona == userCode) {\r\n                AddFilter(item?.numeroPersona);\r\n                setSelectAffilliate({ value: item?.numeroPersona, label: item?.apellidoNombre });\r\n                setSwitchState((switchState) => ({ ...switchState, [item?.numeroPersona]: true }));\r\n            }\r\n        });\r\n    };\r\n\r\n    const handleChangeWEB = () => e => {\r\n        SetFilter([]);\r\n        var nameAffilliated = groupFamily.filter((x) => x.value == e.target.value);\r\n        if (nameAffilliated[0].value === 0) {\r\n            const newFilter = groupFamily.map((x) => {\r\n                if (x.value != nameAffilliated[0].value) {\r\n                    return { select: x.value.toString() };\r\n                }\r\n            });\r\n            SetFilter(newFilter);\r\n        }\r\n        else {\r\n            AddFilter(nameAffilliated[0].value);\r\n\r\n        }\r\n        setSelectAffilliate({ value: nameAffilliated[0].value, label: nameAffilliated[0].label });\r\n        Object.keys(switchState).forEach((item) => {\r\n            if (parseInt(item) !== nameAffilliated[0].value) {\r\n                setSwitchState({ ...switchState, [parseInt(item)]: false });\r\n\r\n            } else {\r\n                setSwitchState({ ...switchState, [nameAffilliated[0].value]: true });\r\n            }\r\n        });\r\n    };\r\n\r\n    const handleCloseDrawer = useCallback(() => {\r\n        setOpenAskTurn(false);\r\n    }, [openAskTurn]);\r\n\r\n    const handleClickOpenDeleteFavModal = (item) => (e) => {\r\n        e.preventDefault();\r\n        var del = {\r\n            numeroPersona: selectAffilliate?.value,\r\n            medicoCodigo: item?.medicoCodigo,\r\n            tipo: \"BAJA\"\r\n        };\r\n        setItemAppointment(del);\r\n        setOpenModalFavorite(true);\r\n    };\r\n\r\n    const handleClickOpenRepeatModal = (item) => (e) => {\r\n        e.preventDefault();\r\n        setModelAppointmentToRepeatOrModify(item);\r\n        setModifyRepeatTitle('Repetir Turno');\r\n        setModifyRepeatDescription('¿Estás seguro que deseas repetir el turno seleccionado?');\r\n        setOpenModalRepeatAppointment(prevState => !prevState);\r\n    };\r\n\r\n    const handleClickModifyRepeatAppointment = (type) => (e) => {\r\n        e.preventDefault();\r\n        setOpenAskTurn(prevState => !prevState);\r\n        setOpenModalRepeatAppointment(prevState => !prevState);\r\n        history.push('AppointmentHome?type=AskNewAppointment')\r\n    };\r\n\r\n\r\n    const addAccordion = (list, title, icon, request, expand, setExpand) => {\r\n        const message =\r\n            title === \"Próximos turnos\" ? \"No tenés próximos turnos\" :\r\n            title === \"Historial\" ? \"No tenés historial de turnos\" :\r\n            title === \"Favoritos\" ? \"No tenés turnos favoritos\" :\r\n            \"No hay preguntas frecuentes\";\r\n\r\n        let uniqueList = [];\r\n\r\n        if (request === \"PROXIMOS\") {\r\n\r\n            uniqueList = list?.reduce((accumulator, currentItem) => {\r\n                const isDuplicate = accumulator?.some(item => item?.turnoNumero === currentItem?.turnoNumero);\r\n                if (!isDuplicate) {\r\n                    accumulator?.push(currentItem);\r\n                }\r\n                return accumulator;\r\n            }, []);\r\n        }\r\n\r\n        return (\r\n            <Accordion \r\n            expanded={expand}\r\n            onChange={() => { setExpand(!expand); }}>\r\n                <AccordionSummary\r\n                    expandIcon={<ExpandMoreIcon />}\r\n                    aria-controls=\"panel1a-content\"\r\n                    id=\"panel1a-header\">\r\n                    <Grid item xs={1}>\r\n                        { iconsAccordion(icon, classes) }\r\n                    </Grid>\r\n                    <Typography className={classes.txtTitleQuestion}>\r\n                        { title }\r\n                    </Typography>\r\n                </AccordionSummary>\r\n                <AccordionDetails >\r\n                    {\r\n                        list?.length > 0\r\n                        ?\r\n                            <div\r\n                                style={{ overflowY: \"scroll\", height: \"fit-content\", maxHeight: \"500px\" }}\r\n                                onScroll={(e) => { handleScroll(e, request); }}>\r\n                                <ImageList\r\n                                    className={`${classes.imageListCardTurn} ${classes.addListCardMobile}`}\r\n                                    cols={4}>\r\n                                    {request == \"PROXIMOS\" \r\n                                    ?\r\n                                        uniqueList?.map((item, i) => (AccordionDetailCard(icon, item, i)))\r\n                                    :\r\n                                        list?.map((item, i) => (AccordionDetailCard(icon, item, i)))\r\n                                    }\r\n                                </ImageList>\r\n                            </div>\r\n                        :\r\n                            <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%'}}>\r\n                                <NotFound\r\n                                    customMsg={\r\n                                        <div className={classes.contentNotFound}>\r\n                                            <span>\r\n                                                { message }\r\n                                            </span>\r\n                                        </div>\r\n                                    }\r\n                                    wsItem={list}\r\n                                    fullItem={list}\r\n                                />\r\n                            </div>\r\n                    }\r\n                </AccordionDetails>\r\n            </Accordion>);\r\n    };\r\n\r\n    const handleCalendarClick = (e) => {\r\n        e.preventDefault();\r\n        setCalendar((prevState) => !prevState);\r\n    };\r\n\r\n    const responsiveHomeBox = () => {\r\n        if (Responsive(screenSize) === \"web\") {\r\n            return (\r\n                boxHomeWeb()\r\n            );\r\n        }\r\n        else {\r\n            return (\r\n                boxHomeMobile()\r\n            );\r\n        }\r\n    };\r\n\r\n    const boxHomeWeb = () => {\r\n        return (\r\n            <section style={{ display: 'flex', padding: '0px 30px 30px 30px', flexWrap: 'wrap' }}>\r\n                <ContainerBox title='Mis próximos turnos' link='/NextAppointments'>\r\n                    {next?.length > 0 ?\r\n                        next?.slice(0, 2)?.map((item, key) => (\r\n                            <NextAppointmentCard item={item} i={key} handleClickOpenRepeatModal={handleEdit} setCancelItem={setItemAppointment} setOpenModal={setOpenModal} />\r\n                        ))\r\n                        :\r\n                        <NotFound\r\n                            customMsg={\r\n                                <div\r\n                                    style={{\r\n                                        display: 'flex',\r\n                                        flexDirection: 'column',\r\n                                        justifyContent: 'center',\r\n                                        alignItems: 'center',\r\n                                        marginTop: \"10%\",\r\n                                    }}\r\n                                >\r\n                                    <TodayIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                                    <span>No tenés próximos turnos</span>\r\n                                </div>}\r\n                            wsItem={[]}\r\n                            fullItem={[]} />\r\n                    }\r\n                </ContainerBox>\r\n\r\n                <ContainerBox title='Mis favoritos' link='/FavoriteAppointments'>\r\n                    {favorite?.length > 0 ?\r\n                        favorite?.slice(0, 2)?.map((item, i) => (\r\n                            <FavoriteCard item={item} i={i} handleClickOpenRepeatModal={handleClickOpenRepeatModal} handleClickOpenDeleteFavModal={handleClickOpenDeleteFavModal} />\r\n                        ))\r\n                        :\r\n                        <NotFound\r\n                            customMsg={\r\n                                <div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center', marginTop: \"10%\" }}>\r\n                                    <FavoriteBorderIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                                    <span>No tenés turnos favoritos</span>\r\n                                </div>}\r\n                            wsItem={appointments?.appointmentFavoriteFullData?.favoritos?.filter((x) => x.pacienteNumero === userCode)}\r\n                            fullItem={appointments?.appointmentFavoriteFullData} />\r\n                    }\r\n                </ContainerBox>\r\n\r\n                <ContainerBox title='Mi historial' link='/AppointmentRecord'>\r\n                    {record?.length > 0 ?\r\n                        record?.slice(0, 2)?.map((item, i) => (\r\n                            <HistoryAppointmentCard item={item} i={i} handleClickOpenRepeatModal={handleClickOpenRepeatModal} />\r\n                        ))\r\n                        :\r\n                        <NotFound\r\n                            customMsg={\r\n                                <div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center', marginTop: \"10%\" }}>\r\n                                    <TodayIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                                    <span>No tenés historial de turnos</span>\r\n                                </div>}\r\n                            wsItem={record}\r\n                            fullItem={record} />\r\n                    }\r\n                </ContainerBox>\r\n\r\n                <ContainerBox title='Preguntas frecuentes' link='/FrequentQuestions'>\r\n                    {appointments?.questionF?.length > 0 ?\r\n                        appointments?.questionF?.map((item, i) => (\r\n                            <>\r\n                                {i < 5 &&\r\n                                    <Accordion\r\n                                        key={i}\r\n                                        className={classes.questionQFMargin}\r\n                                        style={{ width: \"90%\", margin: \"0px 5%\" }}\r\n                                        expanded={expanded === item.question}\r\n                                        onChange={(e, isExpanded) => { handleExpandAccordion(item.question, e, isExpanded, setExpanded); }}\r\n                                    >\r\n                                        <AccordionSummary\r\n                                            expandIcon={<ExpandMoreIcon />}\r\n                                            aria-controls=\"panel1a-content\"\r\n                                            id=\"panel1a-header\"\r\n                                        >\r\n                                            <Typography className={classes.txtTitleQuestion}>\r\n                                                {item.question}\r\n                                            </Typography>\r\n                                        </AccordionSummary>\r\n                                        <AccordionDetails key={i}>\r\n                                            <Typography className={classes.txtCardQuestionDesc}>\r\n                                                {item.answer}\r\n                                            </Typography>\r\n                                        </AccordionDetails>\r\n                                    </Accordion>}\r\n                            </>\r\n                        ))\r\n                        :\r\n                        <NotFound\r\n                            customMsg={\r\n                                <div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center' }}>\r\n                                    <span>No existen actualmente preguntas frecuentes</span>\r\n                                </div>}\r\n                            wsItem={appointments?.appointmentQuestionFullData?.answerQuestion}\r\n                            fullItem={appointments?.appointmentQuestionFullData?.answerQuestion} />\r\n                    }\r\n                </ContainerBox>\r\n            </section>\r\n        );\r\n    };\r\n\r\n    const boxHomeMobile = () => {\r\n        return (\r\n            <Grid style={{ marginTop: \"40px\" }}>\r\n                {addAccordion(next, \"Próximos turnos\", 1, 'PROXIMOS' , expandNextShifts, setExpandNextShifts)}\r\n                {addAccordion(record, \"Historial\", 2, 'HISTORICOS', expandHistory, setExpandHistory)}\r\n                {addAccordion(favorite, \"Favoritos\", 3, '', expandFavorite, setExpandFavorite)}\r\n                {addAccordion(appointments.questionF, \"Preguntas frecuentes\", 4, '', expandQuestion, setExpandQuestion)}\r\n            </Grid>\r\n        );\r\n    };\r\n\r\n    const responsiveCalendar = () => {\r\n        if (Responsive(screenSize) === \"web\") {\r\n            return (\r\n                <CustomCalendar familyFilter={selectAffilliate} appointments={appointments?.next} withCard={true} handleEdit={handleEdit} setItemAppointment={setItemAppointment} setOpenModal={setOpenModal} handleClickOpenRepeatModal={handleClickOpenRepeatModal} />\r\n            );\r\n        }\r\n    };\r\n\r\n    const isCalendarWeb = () => {\r\n        if (isCalendar)\r\n            return (\r\n                responsiveCalendar()\r\n            );\r\n        else {\r\n            return (\r\n                <Box>\r\n                    {responsiveHomeBox()}\r\n                </Box>\r\n            );\r\n        }\r\n    };\r\n\r\n    function toShow(condition) {\r\n        var response;\r\n        if(condition === undefined) {\r\n            response = (\r\n                <>\r\n                    {Responsive(screenSize) === \"web\" &&\r\n                     groupFamily?.length > 1 && (\r\n                        <div style={{ display: 'flex', color: 'red', fontSize: '14px', marginTop: '20px', marginLeft: '45px' }}>\r\n                            RECUERDE SELECCIONAR EL AFILIADO PARA VER LOS TURNOS.\r\n                        </div>\r\n                     )\r\n                    }\r\n                    {Responsive(screenSize) == \"mobile\" && (\r\n                        <div className={` ${classes.headerFixTurn}`}>\r\n                            <Header title=\"Mis Turnos\" colorTitle=\"#0075C9\" heightTitle=\"140px\" />\r\n                           { groupFamily?.length > 1 && (\r\n                            <div style={{ color: 'red', fontSize: '12px', whiteSpace: 'nowrap', marginTop: '-15px', marginLeft: '25px', display:'flex' }}>\r\n                                RECUERDE SELECCIONAR EL AFILIADO PARA VER LOS TURNOS.\r\n                            </div>\r\n                           )}\r\n                        </div>\r\n                    )}\r\n                <div className={` ${classes.paddingTurnMobile}`}>\r\n                    {\r\n                        groupFamily?.length === 0 ?\r\n                            (\r\n                                <NotFound\r\n                                    style={{\r\n                                        display: 'flex',\r\n                                        justifyContent: 'center',\r\n                                        alignItems: 'center',\r\n                                    }}\r\n                                    customMsg={\r\n                                        <div className={classes.contentNotFound}>\r\n                                            <span className={classes.notAppointment}>\r\n                                                No se encontraron datos\r\n                                            </span>\r\n                                        </div>\r\n                                    }\r\n                                    wsItem={groupFamily?.length}\r\n                                    fullItem={groupFamily}\r\n                                />\r\n                            ) :\r\n                            (\r\n                                <div className={`${classes.divAffilliate}`}>\r\n                                    <Typography className={classes.textTitleTurn}>Afiliado: </Typography>\r\n                                    <CustomSelect\r\n                                        className={`${classes.afilliateSelect}`}\r\n                                        customRequired={true}\r\n                                        list={groupFamily}\r\n                                        selected={selectAffilliate?.value}\r\n                                        customClassList={classes.deploymentSelect}\r\n                                        onChange={handleChangeWEB()}\r\n                                    />\r\n                                </div>\r\n                            )\r\n                    }\r\n                    <div className={`${classes.orderBtnNewTurn} ${classes.headerSecundary}`} style={{ marginTop: \"0px\", paddingLeft: \"45px\", paddingRight: \"45px\" }}>\r\n                        {Responsive(screenSize) == \"web\" &&\r\n                            <>\r\n                                <div style={{ display: \"flex\", flexDirection: \"row\", alignItems: \"center\" }}>\r\n                                    <Typography className={classes.textTitleTurn}>Mis Turnos</Typography>\r\n                                </div>\r\n                                <CustomButton\r\n                                    title={headerCalendarButton}\r\n                                    onClick={handleCalendarClick}\r\n                                    style={{\r\n                                        height: \"40px\",\r\n                                        fontSize: \"12px\",\r\n                                        fontWeight: \"600\",\r\n                                    }}\r\n                                    customClass={`${classes.customHeaderBtn} ${classes.whiteAndBlueBtn}`}\r\n                                />\r\n                            </>\r\n                        }\r\n                        <CustomButton\r\n                            title={\"Nuevo Turno\"}\r\n                            onClick={handleAskTurnClick}\r\n                            style={{\r\n                                height: \"40px\",\r\n                                fontSize: \"12px\",\r\n                                fontWeight: \"600\",\r\n                            }}\r\n                            icon={<AddCircleIcon style={{ marginRight: \"5px\" }} />}\r\n                            customClass={` ${classes.lightLinearGradient}`}\r\n                        />\r\n                    </div>\r\n                    {isCalendarWeb()}\r\n                </div>\r\n                {\r\n                    openAskTurn && (\r\n                        <AskTurn open={openAskTurn} setOpen={setOpenAskTurn} handleCloseDrawer={handleCloseDrawer} step={modifyStep} ></AskTurn>\r\n                    )\r\n                }\r\n                {\r\n                    openModal &&\r\n                    <ModalActivities\r\n                        title={\"Cancelar turno\"}\r\n                        description={\"¿Estás seguro que deseas cancelar el turno?\"}\r\n                        open={openModal}\r\n                        onClose={setOpenModal}\r\n                        modalconfirm={true}\r\n                        functionConfirm={setCanceledAppointment}\r\n                        itemConfirm={itemAppointment} />\r\n                }\r\n                {\r\n                    openModalFavorite &&\r\n                    <ModalActivities\r\n                        title={\"Eliminar favorito\"}\r\n                        description={\"¿Estás seguro que deseas eliminar el turno de tus favoritos?\"}\r\n                        open={openModalFavorite}\r\n                        onClose={setOpenModalFavorite}\r\n                        modalconfirm={true}\r\n                        functionConfirm={setFavoriteBaja}\r\n                        itemConfirm={itemAppointment} />\r\n                }\r\n                {\r\n                    openModalRepeatAppointment &&\r\n                    <ModalActivities\r\n                        title={modifyRepeatTitle}\r\n                        description={modifyRepeatDescription}\r\n                        open={openModalRepeatAppointment}\r\n                        onClose={setOpenModalRepeatAppointment}\r\n                        modalconfirm={true}\r\n                        modalLogout={false}\r\n                        buttonType={'submit'}\r\n                        handleClick={handleClickModifyRepeatAppointment(modifyRepeatTitle)}\r\n                    />\r\n                }\r\n            </>\r\n            );\r\n        } else {\r\n            response = (\r\n                <AskTurn open={openAskTurn} setOpen={setOpenAskTurn} handleCloseDrawer={handleCloseDrawer} step={modifyStep} ></AskTurn>\r\n            );\r\n        }\r\n        return response;\r\n    }\r\n\r\n    function hasAccess(condition) {\r\n        var resp;\r\n        if(condition) {\r\n            resp = (\r\n                toShow(typeURL)\r\n            );\r\n        } else {\r\n            resp = (notAccessToThisModule());\r\n        }\r\n        return resp;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {\r\n                loadingPermission ?\r\n                    <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div>\r\n                :\r\n                (\r\n                    hasAccess(hasPermission)\r\n                )\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AppointmentHome;\r\n\r\nfunction Responsive(screenSize) {\r\n    let width = screenSize.screen.sWidth;\r\n    if (width <= 768) return \"mobile\";\r\n    else return \"web\";\r\n}\r\n\r\nfunction iconsAccordion(icon, classes) {\r\n    switch (icon) {\r\n        case 1:\r\n            return <AssignmentIcon className={classes.NextAppointmentIconRound} />;\r\n        case 2:\r\n            return <ReplayIcon className={classes.RecordIconRound} />;\r\n        case 3:\r\n            return <FavoriteIcon className={classes.FavoriteIconRound} />;\r\n        case 4:\r\n            return <LiveHelpIcon className={classes.QuestionIconRound} />;\r\n        default:\r\n            break;\r\n    }\r\n}\r\n\r\nfunction HeaderIcon(item, classes) {\r\n    if (item.fechaFormateada != undefined) {\r\n        return (\r\n            <Grid style={{ width: \"100%\" }}>\r\n                <Typography className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                    {item.fechaFormateada.nombreDia}\r\n                </Typography>\r\n                <Typography\r\n                    className={`${classes.txtNumberCalendar} ${classes.txtEllipsis}`}\r\n                >\r\n                    {item.fechaFormateada.dia}\r\n                </Typography>\r\n                <Typography className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                    {item.fechaFormateada.mes}\r\n                </Typography>\r\n            </Grid>\r\n        );\r\n    }\r\n}\r\n\r\n\r\nconst addAccordionQuestion = (item, i, classes, expanded, setExpanded) => {\r\n    return (\r\n        <Accordion\r\n            expanded={expanded === item.question}\r\n            onChange={(e, isExpanded) => { handleExpandAccordion(item.question, e, isExpanded, setExpanded); }}\r\n            key={i} className={classes.questionQFMargin}\r\n            style={{ width: '100%' }}\r\n        >\r\n            <AccordionSummary\r\n                expandIcon={<ExpandMoreIcon />}\r\n                aria-controls=\"panel1a-content\"\r\n                id=\"panel1a-header\"\r\n            >\r\n                <Typography className={classes.txtTitleQuestion}>\r\n                    {item.question}\r\n                </Typography>\r\n            </AccordionSummary>\r\n            <AccordionDetails key={i}>\r\n                <Typography className={classes.txtCardQuestionDesc}>\r\n                    {item.answer}\r\n                </Typography>\r\n            </AccordionDetails>\r\n\r\n        </Accordion>);\r\n};","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { AuthConsumer } from \"./auth/providers/authProvider\";\r\nimport { CircularProgress } from \"@material-ui/core\";\r\n\r\nexport const PrivateRoute = ({ component, ...rest }) => {\r\n  const renderFn = Component => props => (\r\n    <AuthConsumer>\r\n\r\n      {({ isAuthenticated, signinRedirect }) => {\r\n              \r\n\r\n        if (!!Component && isAuthenticated()) {\r\n          return <Component {...props} />;\r\n        } else {\r\n          signinRedirect();\r\n          return <div style={{display:\"flex\", justifyContent:\"center\"}}><CircularProgress /></div>;\r\n        }\r\n      }}\r\n    </AuthConsumer>\r\n  );\r\n\r\n  return <Route {...rest} render={renderFn(component)} />;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport Iframe from 'react-iframe';\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst RedirectPageContactAdvisor = () => {\r\n  const classes = useStyles();\r\n  const trackPageView = useTrackPageView(\"Contactar a un asesor\");\r\n\r\n  useEffect(() => {\r\n    trackPageView();\r\n  },[])\r\n\r\n  return (\r\n    <>\r\n      <Menu />\r\n      <div>\r\n        <Iframe sandbox='' scrolling=\"yes\" src={window.env.URL_ContactAdvisor}\r\n          className={classes.iframe} />\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default RedirectPageContactAdvisor;\r\n","\r\nimport MonetizationOnOutlinedIcon from '@material-ui/icons/MonetizationOnOutlined';\r\nimport AccountCircleOutlinedIcon from '@material-ui/icons/AccountCircleOutlined';\r\nimport CreditScoreIcon from '@material-ui/icons/CreditScore';\r\nimport ContactPageOutlinedIcon from '@material-ui/icons/ContactPageOutlined';\r\nimport DirectionsRunIcon from '@material-ui/icons/DirectionsRun';\r\nimport RoomOutlinedIcon from '@material-ui/icons/RoomOutlined';\r\nimport GradingIcon from '@material-ui/icons/Grading';\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport SelectTypeOfComponent from \"../../components/PersonalData/SelectTypeOfComponent\";\r\nimport React, { Fragment, useEffect, useLayoutEffect, useState } from 'react';\r\nimport QuickAccessBox from '../../components/HomeLogged/QuickAccessBox';\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getFullData, getTypesOfContact, getTypesOfContactMail, getTypesOfContactPhone } from '../../redux/actions/personalDataActions';\r\nimport { getProcedures } from '../../redux/actions/procedureActions';\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport { CircularProgress } from '@material-ui/core';\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\nconst affiliated = {\r\n    numeroPersona: userCode\r\n};\r\nconst contactTypesModel = {\r\n    numeroPersona: userCode,\r\n    clasificacion: \"DOMICILIO\"\r\n};\r\nconst contactTypesPhoneModel = {\r\n    numeroPersona: userCode,\r\n    clasificacion: \"TELEFONO\"\r\n};\r\nconst contactTypesMailModel = {\r\n    numeroPersona: userCode,\r\n    clasificacion: \"MAIL\"\r\n};\r\n\r\nconst PersonalData = () => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const trackPageView = useTrackPageView(\"Datos Personales\");\r\n    const [type, setActiveType] = useState(-1);\r\n    const [mobileDevice, setMobileDevice] = useState(false);\r\n    const dispatch = useDispatch();\r\n    const history = useHistory();\r\n    const { search } = useLocation();\r\n    const match = search.match(/type=(.*)/);\r\n    const typeURL = match?.[1];\r\n    const [loading, setLoading] = useState(true);\r\n    const personalDataSelector = useSelector(state => state.personalDataReducer);\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n\r\n    const listQuickAccess = [\r\n        { title: 'Datos Personales', icon: <AccountCircleOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/PersonalData?type=PersonalData' },\r\n        { title: 'Trámites', icon: <GradingIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 1, path: '/PersonalData?type=Affiliations' },\r\n        { title: 'Domicilio', icon: <RoomOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 2, path: '/PersonalData?type=Address' },\r\n        { title: 'Datos de contacto', icon: <ContactPageOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 3, path: '/PersonalData?type=ContactData' },\r\n        { title: 'Hobbies y deportes', icon: <DirectionsRunIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 4, path: '/PersonalData?type=SportsHobbies' },\r\n        { title: 'Datos para reintegros', icon: <MonetizationOnOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 5, path: '/PersonalData?type=Refund' },\r\n        {\r\n            title: 'Datos de débito automático',\r\n            icon: <CreditScoreIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n            type: 6, path: '/PersonalData?type=AutomaticMembership'\r\n        },\r\n        {\r\n            title: 'Preguntas frecuentes',\r\n            icon: <QuestionAnswerOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n            type: 7, path: '/PersonalData?type=PersonalDataFrequentQuestions'\r\n        }\r\n    ];\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n    }, []);\r\n\r\n    const handleClick = (item) => (e) => {\r\n        setLoading(true);\r\n        window.location.href = item.path;\r\n    };\r\n\r\n    const handleBack = () => {\r\n        setActiveType(-1);\r\n        history.push('/PersonalData');\r\n    };\r\n\r\n    function validateResponsive() {\r\n        if (screen.sWidth <= 768)\r\n            setMobileDevice(true);\r\n        else\r\n            setMobileDevice(false);\r\n    }\r\n\r\n    useEffect(() => {\r\n        validateResponsive();\r\n    }, [screen.sWidth, type]);\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Datos y Afiliaciones\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    useEffect(() => {\r\n        // Realiza el dispatch para obtener los datos\r\n        dispatch(getTypesOfContact(contactTypesModel));\r\n        dispatch(getTypesOfContactPhone(contactTypesPhoneModel));\r\n        dispatch(getTypesOfContactMail(contactTypesMailModel));\r\n        dispatch(getFullData(affiliated));\r\n        dispatch(getProcedures(\"AFILIACIONES\"));\r\n        setLoading(true);\r\n        trackPageView();\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        window.onpopstate = (e) => {\r\n            if (screen.sWidth <= 768 && type !== -1)\r\n                window.location.href = '/PersonalData';\r\n            else\r\n                history.go(0);\r\n        };\r\n    });\r\n\r\n    useEffect(() => {\r\n        if (typeURL !== undefined) {\r\n            let auxURL = `/PersonalData?type=${typeURL}`;\r\n            let aux = listQuickAccess.filter(x => x.path === auxURL);\r\n            setActiveType(aux[0].type);\r\n        }else{\r\n            setActiveType(-1);\r\n        }\r\n    }, [typeURL]);\r\n\r\n    function isEnabledForThisModule(condition) {\r\n        var response;\r\n        if(condition) {\r\n            response = (\r\n                <div className={`${classes.divQuickAccess} ${classes.customScroll}`}>\r\n                    {listQuickAccess.map((item, i) => (\r\n                        <Fragment key={i}>\r\n                            <QuickAccessBox component={Link} to={item.path} handleClick={handleClick(item)} i={i} item={item} classes={classes} customClass={classes.personalDataItem} iconClass={classes.personalDataDivIcons} txtIcon={classes.personalDataTxtIcon} />\r\n                        </Fragment>\r\n                    ))}\r\n                </div>\r\n            );\r\n        } else {\r\n            response = (notAccessToThisModule());\r\n        }\r\n        return response;\r\n    }\r\n\r\n    useEffect(() => {\r\n        return (() => {\r\n            if (Object.values(personalDataSelector).some(x => x !== '')) {\r\n                setLoading(false);\r\n            }\r\n        });\r\n    }, [personalDataSelector]);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {(!mobileDevice || type === -1) &&\r\n                <>\r\n                    <Header title='Datos y Afiliaciones' />\r\n                    {\r\n                        isEnabledForThisModule(hasPermission)\r\n                    }\r\n                </>\r\n            }\r\n            {loading ? <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}><CircularProgress /></div> :\r\n                <SelectTypeOfComponent handleBack={handleBack} />\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(PersonalData);\r\n\r\n","export default __webpack_public_path__ + \"static/media/whiteLogo.c074b63a.png\";","import React from 'react'\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport logo from \"../../assets/images/whiteLogo.png\";\r\nimport { Typography } from \"@material-ui/core\";\r\n\r\nconst CredentialHeader = ({affilliated}) => {\r\n\r\n    const classes = useStyles();\r\n\r\n  return (\r\n    <div className= {classes.headerCredImage}>\r\n        <div className={classes.headerCredContainerHeader}>\r\n            <div>\r\n              <img\r\n                className={classes.headerCredLogo}\r\n                alt=\"logo\"\r\n                src={logo}\r\n              />\r\n            </div>\r\n            <div className={classes.credentialPlan}>\r\n                <Typography className={`${classes.headerCredPlan} ${classes.credBold}`}>\r\n                    {affilliated?.credentials?.planDescripcion}\r\n                </Typography>\r\n            </div>\r\n          </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default CredentialHeader\r\n","import React from 'react'\r\nimport {Typography } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst BackCredential = () => {\r\n\r\n    const classes = useStyles();\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const defaultValue = 'Credencial instransferible, válida únicamente para su titular. Debe acompañarse con documento de identidad. Su uso indebido está penado por la ley.';\r\n    const backCredentialConfig = configurationReduxState?.find(x => x.id === 'dorsoCredencial')?.Valor || defaultValue;\r\n\r\n    return (\r\n        <div className={classes.credBody}>\r\n            <div className={classes.backCredImage}>\r\n                <div className={classes.backCredDivText}>\r\n                    <div>\r\n                        <Typography className={classes.backCredText}>\r\n                            {backCredentialConfig}\r\n                        </Typography>\r\n                    </div>\r\n                    <div className={classes.backCredFooter}>\r\n                        <Typography className={classes.backCredText}>\r\n                            RNOS N° 4-0200-4\r\n                        </Typography>\r\n                        <Typography className={classes.backCredText}>\r\n                            RNMEMP N° 1013\r\n                        </Typography>\r\n                        <Typography className={classes.backCredText}>\r\n                            SSSalud:\r\n                        </Typography>\r\n                        <Typography className={classes.backCredText}>\r\n                            0800 222 SALUD (72583) www.sssalud.gob.ar\r\n                        </Typography>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n      )\r\n}\r\n\r\nexport default BackCredential\r\n","import useStyles from \"../../assets/styles/styles\";\r\nimport { Box, Button, Typography } from '@material-ui/core';\r\nimport NotFound from '../../components/HomeLogged/NotFound';\r\nimport { useSelector } from \"react-redux\";\r\nimport { useState } from 'react';\r\nimport GenericModal from \"../GenericModal/GenericModal\";\r\nimport \"./credentials.css\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport CredentialCard from \"../Card/CredentialCard\";\r\nimport CredentialHeader from \"../Card/CredentialHeader\";\r\nimport BackCredential from \"../Card/BackCredential\";\r\n\r\nconst Credentials = () => {\r\n    const classes = useStyles();\r\n    const [open, setOpen] = useState();\r\n    const [index, setIndex] = useState(-1);\r\n    const credentials = useSelector(state => state.credentialReducer);\r\n    const screenSize = useResizeScreen();\r\n    const [backCredentials, setBackCredentials] = useState(false);\r\n    const buttonTitle = !backCredentials ? \"Ver dorso\" : \"Ver frente\";\r\n\r\n    const handleOpen = (i) => (e) => {\r\n        setOpen(prevState => !prevState);\r\n        setIndex(i);\r\n    };\r\n\r\n    const changeCredentialsSide = () => {\r\n        setBackCredentials(prevState => !prevState);\r\n    }\r\n\r\n    const showBackOrFront = (item) => {\r\n        let res = <CredentialCard affilliated={item}/>\r\n\r\n        if(backCredentials){\r\n            res = <BackCredential affilliated={item}/>\r\n        }\r\n\r\n        return res;\r\n    }\r\n\r\n    function showNotFound() {\r\n        return (\r\n            <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%' }}>\r\n                <NotFound wsMessage={credentials?.allCredentials?.plansCredentials?.mensajes} wsItem={credentials?.allCredentials?.plansCredentials} fullItem={credentials?.allCredentials} />\r\n            </div>\r\n        );\r\n    }\r\n\r\n    function indexItem(i, item) {\r\n        if (i === index) {\r\n            return (\r\n                <GenericModal\r\n                    open={open}\r\n                    setClose={setOpen}\r\n                    style={{ padding: 0 }}\r\n                    customClass={classes.paddingContent}>\r\n                    {backCredentials ?\r\n                    <BackCredential affilliated={item}/>\r\n                    :\r\n                    <CredentialCard affilliated={item}/>}\r\n                </GenericModal>\r\n            );\r\n        } else {\r\n            return <></>;\r\n        }\r\n    }\r\n\r\n    const showNewCredentialCards = () => {\r\n        var response;\r\n        response = (\r\n            <Box className={`${classes.boxCardCredentials}`} style={{display: \"flex\", justifyContent: \"center\"}}>\r\n                {Object.values(credentials?.allCredentials)?.length > 0 ?\r\n                    credentials?.allCredentials?.plansCredentials?.map((item, i) => (\r\n                        <div>\r\n                            {screenSize.screen.sWidth <= \"500\" ?\r\n                                <>\r\n                                    <div style={{ display: \"flex\", flexDirection: \"column\", flexWrap: \"nowrap\", alignItems: \"center\" }}>\r\n                                        <div\r\n                                            className={classes.divCredentialsMobile}\r\n                                            style={{ zIndex: \"1\" }}>\r\n                                            <Button onClick={handleOpen(i)} style={{ textAlign: 'initial' }}>\r\n                                                <CredentialHeader affilliated={item}/>\r\n                                            </Button>\r\n                                        </div>\r\n                                        <Button onClick={handleOpen(i)} className={classes.btnCredentialsMobile} >\r\n                                            <Typography style={{ marginLeft: \"20px\"}}>\r\n                                                {item?.credentials?.apellidoNombre}\r\n                                            </Typography>\r\n                                        </Button>\r\n\r\n                                    </div>\r\n                                    {indexItem(i, item)}\r\n                                </>\r\n                                :\r\n                                <>\r\n                                    <Button onClick={handleOpen(i)} style={{ textAlign: 'initial', margin: \"20px 0 0 20px\"}}>\r\n                                    {showBackOrFront(item)}\r\n                                    </Button>\r\n                                    {indexItem(i, item)}\r\n                                </>\r\n                            }\r\n                        </div>\r\n                    ))\r\n                    :\r\n                    showNotFound()\r\n                }\r\n            </Box>\r\n        )\r\n        return response;\r\n    }\r\n\r\n\r\n    return (\r\n        <>\r\n            <Box\r\n                style={{ alignItems: \"center\", display: \"flex\", justifyContent: \"end\", flex:\"0 0 85%\" }}\r\n            >\r\n                <CustomButton\r\n                    customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient}`}\r\n                    style={{ margin: \"20px\" }}\r\n                    title={buttonTitle} onClick={changeCredentialsSide}\r\n                />\r\n            </Box>\r\n            {showNewCredentialCards()}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Credentials;","import Menu from \"../../components/Menu/Menu\";\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport Credentials from \"../../components/Credentials/Credentials\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useEffect, useLayoutEffect, useState } from \"react\";\r\nimport { getAllCredentialsAction } from \"../../redux/actions/credentialActions\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport { CircularProgress } from \"@material-ui/core\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\n\r\nconst CredentialsHome = () => {\r\n    const dispatch = useDispatch();\r\n    const [hasPermission, setHasPermission] = useState(false);\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n    const trackPageView = useTrackPageView(\"Credenciales\")\r\n    \r\n    useEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Credenciales\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    useLayoutEffect(() => {\r\n        trackPageView();\r\n        dispatch(getAllCredentialsAction(window.localStorage.getItem(\"numeroPersona\")));\r\n    }, []);\r\n\r\n    function showCredentials(condition) {\r\n        var r;\r\n        if (condition) {\r\n            r = (\r\n                <Credentials></Credentials>\r\n            );\r\n        } else {\r\n            r = (notAccessToThisModule());\r\n        }\r\n        return r;\r\n    }\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n    }, []);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <>\r\n                <Header title=\"Credenciales\" colorTitle=\"#0075C9\" />\r\n                {\r\n                    loadingPermission ?\r\n                        <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%', paddingTop: '10px' }}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                        :\r\n                        showCredentials(hasPermission)\r\n                }\r\n            </>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default CredentialsHome;\r\n","import logo from '../../assets/images/whiteLogo.png';\r\nimport useStyles from '../../assets/styles/styles';\r\n\r\nconst LoadingPage = () => {\r\n    const classes = useStyles();\r\n    return <>\r\n        <div className={classes.divLoading}>\r\n            <img style={{ width: '250px' }} alt=\"logo\" src={logo} />\r\n        </div>\r\n    </>;\r\n};\r\n\r\nexport default LoadingPage;","\r\nimport PermContactCalendarOutlinedIcon from '@material-ui/icons/PermContactCalendarOutlined';\r\nimport EventAvailableOutlinedIcon from '@material-ui/icons/EventAvailableOutlined';\r\nimport MenuBookIcon from '@material-ui/icons/MenuBook';\r\nimport ScienceIcon from '@material-ui/icons/Science';\r\nimport CleanHandsOutlinedIcon from '@material-ui/icons/CleanHandsOutlined';\r\n\r\nimport DifferenceIcon from '@mui/icons-material/Difference';\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Fragment, useEffect, useLayoutEffect, useState } from 'react';\r\nimport QuickAccessBox from '../../components/HomeLogged/QuickAccessBox';\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport SelectTypeOfComponent from '../../components/PersonalData/SelectTypeOfComponent';\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport Loading from '../../components/LoadingPage/Loading';\r\n\r\nconst MedicalData = () => {\r\n    const dispatch = useDispatch();\r\n    const classes = useStyles();\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const { screen } = useResizeScreen();\r\n    const [type, setActiveType] = useState(-1);\r\n    const [mobile, setMobile] = useState(false);\r\n    const history = useHistory();\r\n    const { search } = useLocation();\r\n    const trackPageView = useTrackPageView(\"Datos Médicos\");\r\n    const match = search.match(/type=(.*)/);\r\n    const typeURL = match?.[1];\r\n    const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n\r\n    //Modificar el icono de perfiles su ubicacion\r\n    const listIconAccess = [\r\n        { title: 'Mis datos médicos', icon: <PermContactCalendarOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 3, path: '/PersonalMedicalData' },\r\n        { title: \"Recetas y Órdenes médicas\", icon: <DifferenceIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/PrescriptionPage' },   \r\n        { title: 'Programas', icon: <MenuBookIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/ProgramsHome' },\r\n        { title: 'Vacunas', icon: <EventAvailableOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 1, path: '/MedicalData?type=Vaccine' },\r\n        { title: 'Resultados de laboratorio', icon: <ScienceIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 2, path: '/MedicalData?type=Lab' },\r\n        { title: 'Prevención', icon: <CleanHandsOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 3, path: '/Prevention' }\r\n    ];\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Datos Médicos\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    const handleClick = (item) => (e) => {\r\n        setActiveType(item.type);\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (screen.sWidth <= 768)\r\n            setMobile(true);\r\n        else\r\n            setMobile(false);\r\n    }, [screen.sWidth, type]);\r\n\r\n\r\n    useEffect(() => {\r\n        /* Realiza el dispatch para obtener los datos */\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n        trackPageView();\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        window.onpopstate = (e) => {\r\n            if (screen.sWidth <= 768 && type !== -1)\r\n                window.location.href = '/MedicalData';\r\n            else\r\n                history.push('/');\r\n        };\r\n    });\r\n\r\n    function isEnabled(condition) {\r\n        var r;\r\n        if(condition) {\r\n            r = (\r\n                <div className={`${classes.divQuickAccess} ${classes.customScroll}`}>\r\n                    {listIconAccess.map((item, i) => (\r\n                        <Fragment key={i}>\r\n                            <QuickAccessBox component={Link} to={item.path} handleClick={handleClick(item)} i={i} item={item} classes={classes} customClass={classes.personalDataItem} iconClass={classes.personalDataDivIcons} txtIcon={classes.personalDataTxtIcon} />\r\n                        </Fragment>\r\n\r\n                    ))}\r\n                </div>\r\n            );\r\n        } else {\r\n            r = (notAccessToThisModule());\r\n        }\r\n        return r;\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (typeURL !== undefined && (typeURL === 'Vaccine' || typeURL === 'Lab')) {\r\n            let auxURL = `/MedicalData?type=${typeURL}`;\r\n            let aux = listIconAccess.filter(x => x.path === auxURL);\r\n            setActiveType(aux[0].type);\r\n        }\r\n    }, [typeURL]);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {(!mobile || type === -1)  &&\r\n                <>\r\n                    <Header title='Datos Médicos' />\r\n                    <Loading\r\n                        isLoading={loadingPermission}\r\n                        children={isEnabled(hasPermission)}\r\n                    />\r\n                </>\r\n            }\r\n            <SelectTypeOfComponent />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default MedicalData;","import BloodtypeOutlinedIcon from '@material-ui/icons/BloodtypeOutlined';\r\nimport MonitorWeightOutlinedIcon from '@material-ui/icons/MonitorWeightOutlined';\r\nimport WarningIcon from '@material-ui/icons/Warning';\r\nimport ReplayIcon from '@material-ui/icons/Replay';\r\nimport PhoneInTalkOutlinedIcon from '@material-ui/icons/PhoneInTalkOutlined';\r\nimport RingVolumeOutlinedIcon from '@material-ui/icons/RingVolumeOutlined';\r\nimport MedicationIcon from '@material-ui/icons/Medication';\r\nimport FavoriteIcon from '@material-ui/icons/Favorite';\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Fragment, useEffect, useState } from 'react';\r\nimport QuickAccessBox from '../../components/HomeLogged/QuickAccessBox';\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport SelectTypeOfComponent from '../../components/PersonalData/SelectTypeOfComponent';\r\n\r\nconst PersonalMedicalData = () => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [type, setActiveType] = useState(-1);\r\n    const [mobileScreen, setMobileScreen] = useState(false);\r\n    const history = useHistory();\r\n    const { search } = useLocation();\r\n    const match = search.match(/type=(.*)/);\r\n    const typeURL = match?.[1];\r\n    const trackPageView = useTrackPageView(\"Mis Datos Médicos\");\r\n\r\n    const quickAccessPersonalMD = [\r\n        { title: 'Grupo y factor', icon: <BloodtypeOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/PersonalMedicalData?type=FactorGroup' },\r\n        { title: 'Peso y talla', icon: <MonitorWeightOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 1, path: '/PersonalMedicalData?type=WeightHeight' },\r\n        { title: 'Alergias', icon: <WarningIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 2, path: '/PersonalMedicalData?type=Allergies' },\r\n        { title: 'Enfermedades crónicas', icon: <ReplayIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 3, path: '/PersonalMedicalData?type=ChronicDiseases' },\r\n        { title: 'Teléfonos de contacto', icon: <PhoneInTalkOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 4, path: '/PersonalMedicalData?type=ContactPhones' },\r\n        { title: 'Teléfonos de emergencia', icon: <RingVolumeOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 5, path: '/PersonalMedicalData?type=EmergencyPhones' },\r\n        { title: 'Medicamentos crónicos', icon: <MedicationIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 6, path: '/PersonalMedicalData?type=ChronicMedication' },\r\n        { title: 'Parámetros vitales', icon: <FavoriteIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 7, path: '/PersonalMedicalData?type=VitalParameters' }\r\n    ];\r\n\r\n    const handleClickType = (item) => (e) => {\r\n        setActiveType(item.type);\r\n    };\r\n\r\n    useEffect(() => {\r\n        mobileScreenFunction();\r\n    }, [screen.sWidth, type]);\r\n\r\n\r\n    useEffect(() => {\r\n        // Realiza el dispatch para obtener los datos\r\n    }, []);\r\n\r\n\r\n    useEffect(() => {\r\n        windowOnPopState();\r\n    });\r\n\r\n    function windowOnPopState() {\r\n        window.onpopstate = (e) => {\r\n            if (screen.sWidth <= 768 && type !== -1)\r\n                window.location.href = '/PersonalMedicalData';\r\n            else\r\n                history.push('/MedicalData');\r\n        };\r\n    }\r\n\r\n    function mobileScreenFunction() {\r\n        if (screen.sWidth <= 768)\r\n            setMobileScreen(true);\r\n        else\r\n            setMobileScreen(false);\r\n    }\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n    },[])\r\n\r\n    useEffect(() => {\r\n        if (typeURL !== undefined) {\r\n            let auxURL = `/PersonalMedicalData?type=${typeURL}`;\r\n            let aux = quickAccessPersonalMD.filter(x => x.path === auxURL);\r\n            setActiveType(aux[0].type);\r\n        }\r\n    }, [typeURL]);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {!mobileScreen || type === -1 ?\r\n                <>\r\n                    <Header title='Mis Datos Médicos' />\r\n                    <div className={`${classes.divQuickAccess} ${classes.customScroll}`}>\r\n                        {quickAccessPersonalMD.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                <QuickAccessBox component={Link} to={item.path} handleClick={handleClickType} i={i} item={item} classes={classes} customClass={classes.personalDataItem} iconClass={classes.personalDataDivIcons} txtIcon={classes.personalDataTxtIcon} />\r\n                            </Fragment>\r\n                        ))}\r\n                    </div>\r\n                </>\r\n                :\r\n                ''\r\n            }\r\n            <SelectTypeOfComponent />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default PersonalMedicalData;\r\n","\r\nimport MenuBookIcon from '@material-ui/icons/MenuBook';\r\nimport TocIcon from '@material-ui/icons/Toc';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Fragment, useEffect, useState } from 'react';\r\nimport QuickAccessBox from '../../components/HomeLogged/QuickAccessBox';\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport SelectTypeOfComponent from '../../components/PersonalData/SelectTypeOfComponent';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { getAffiliateEnrollments } from \"../../redux/actions/medicalDataAction\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst ProgramsHome = () => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [type, setType] = useState(-1);\r\n    const [mobileDevice, setMobileDevice] = useState(false);\r\n    const history = useHistory();\r\n    const dispatch = useDispatch();\r\n    const trackPageView = useTrackPageView(\"Programas Médicos\");\r\n    const { search } = useLocation();\r\n    const match = search.match(/type=(.*)/);\r\n    const typeUrl = match?.[1];\r\n\r\n    const listIconAccess = [\r\n        { title: 'Programas vigentes', icon: <MenuBookIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/ProgramsHome?type=Programs' },\r\n        { title: 'Requisitos y formularios', icon: <TocIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 1, path: '/ProgramsHome?type=RequirementsAndForms' },\r\n    ];\r\n\r\n    const paramFav = {\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        count: 10,\r\n        skip: 0,\r\n    };\r\n    const handleClick = (item) => (e) => {\r\n        setType(item.type);\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (screen.sWidth <= 768)\r\n            setMobileDevice(true);\r\n        else\r\n            setMobileDevice(false);\r\n    }, [screen.sWidth, type]);\r\n\r\n\r\n    useEffect(() => {\r\n        dispatch(getAffiliateEnrollments(paramFav));\r\n        trackPageView();\r\n    }, []); \r\n\r\n    useEffect(() => {\r\n        window.onpopstate = (e) => {\r\n            if (screen.sWidth <= 768 && type !== -1)\r\n                window.location.href = '/ProgramsHome';\r\n            else {\r\n                history.push('/MedicalData');\r\n            }\r\n        };\r\n    });\r\n\r\n    useEffect(() => {\r\n        if (typeUrl !== undefined) {\r\n            let auxURL = `/ProgramsHome?type=${typeUrl}`;\r\n            let aux = listIconAccess?.filter(x => x.path === auxURL);\r\n            setType(aux[0]?.type);\r\n        }else{\r\n            setType(-1);\r\n        }\r\n    }, [typeUrl]);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {type === -1 || !mobileDevice ?\r\n                <>\r\n                    <Header title='Datos Médicos' />\r\n                    <div className={`${classes.divQuickAccess} ${classes.customScroll}`} style={{ justifyContent: 'center' }}>\r\n                        {listIconAccess.map((item, i) => (\r\n                            <Fragment key={i}>\r\n                                <QuickAccessBox\r\n                                    component={Link}\r\n                                    to={item.path}\r\n                                    handleClick={handleClick(item)}\r\n                                    i={i}\r\n                                    item={item}\r\n                                    classes={classes}\r\n                                    customClass={classes.programsDataItem}\r\n                                    iconClass={classes.personalDataDivIcons}\r\n                                    txtIcon={classes.personalDataTxtIcon}\r\n                                    style={{marginTop: \"-10px\"}}\r\n                                />\r\n                            </Fragment>\r\n\r\n                        ))}\r\n                    </div>\r\n                </>\r\n                :\r\n                ''\r\n            }\r\n            <SelectTypeOfComponent />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default ProgramsHome;\r\n","import { FormControl, FormHelperText, Typography, CircularProgress } from \"@material-ui/core\";\r\nimport { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport useStyles from '../../assets/styles/styles';\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport { getCredentials, getFullData } from \"../../redux/actions/personalDataActions\";\r\nimport CustomizedInputs from '../../controls/InputCustom/CustomizedInputs';\r\nimport Iframe from \"react-iframe\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport { cleanVirtualDoctorModel, postCallDoctor } from \"../../redux/actions/virtualDoctorActions\";\r\nimport { showMessageModal } from \"../../utils/utilsFunctions\";\r\n\r\nconst VirtualDoctorCaller = () => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const familyGroup = useSelector(state => state.appointmentsReducer.groupFamilyTurn);\r\n    const fullDataAffiliated = useSelector(state => state.personalDataReducer);\r\n    const virtualDoctorReduxState = useSelector(state => state.virtualDoctorReducer);\r\n    const [selected, setSelected] = useState({});\r\n    const [familyGroupList, setFamilyGroupList] = useState([{}]);\r\n    const [dataOfFamilyMember, setDataOfFamilyMember] = useState({});\r\n    const [dataEmail, setDataEmail] = useState('');\r\n    const [dataPhone, setDataPhone] = useState('');\r\n    const [disabled, setDisabled] = useState(true);\r\n    const [redirect, setRedirect] = useState(false);\r\n    const { screen } = useResizeScreen();\r\n    const btnWeb = useRef();\r\n    const btnMobile = useRef();\r\n    const [timer, setTimer] = useState(false);\r\n    const [disableBtn, setDisableBtn] = useState(true);\r\n    const errorMessage = useSelector(state => state.virtualDoctorReducer.msgError);\r\n    const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n    const [formErrors, setFormErrors] = useState({});\r\n\r\n    useEffect(() => {\r\n        setDisableBtn(fieldValidations(formErrors) ? false : true);\r\n    }, [formErrors])\r\n\r\n    useEffect(() => {\r\n        const obligatoryField = '*Campo obligatorio';\r\n        const emailFormatValidation = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n\r\n        setFormErrors({\r\n            affiliate: selected?.[0]?.numeroPersona ? '' : obligatoryField,\r\n            fullName: dataOfFamilyMember?.name ? '' : obligatoryField,\r\n            email: dataEmail ? '' : obligatoryField,\r\n            phone: dataPhone ? '' : obligatoryField,\r\n            birthdate: dataOfFamilyMember?.dateOfBirth ? '' : obligatoryField,\r\n            documentNumber: dataOfFamilyMember?.dni ? '' : obligatoryField,\r\n            plan: dataOfFamilyMember?.planDescription ? '' : obligatoryField,\r\n            credentialNumber: dataOfFamilyMember?.credential ? '' : obligatoryField\r\n        });\r\n\r\n        (!emailFormatValidation.test(dataEmail) && dataEmail !== '') && setFormErrors({...formErrors, email: 'No cumple con el formato permitido: mail@mail.com'});\r\n\r\n    }, [dataOfFamilyMember, dataPhone, dataEmail, selected?.numeroPersona]);\r\n\r\n\r\n    const handleChangeSelect = (listToFilter) => (e) => {\r\n        const { value } = e.target;\r\n        let description = listToFilter?.filter(x => x.value === value);\r\n        let programSelected = [{\r\n            numeroPersona: value,\r\n            descripcionPersona: description[0].label\r\n        }];\r\n        setSelected(programSelected);\r\n    };\r\n\r\n    const handleChangeEmail = (e) => {\r\n        const { value } = e.target;\r\n        setDataEmail(value);\r\n    };\r\n\r\n    const handleChangePhone = (e) => {\r\n        const { value } = e.target;\r\n        setDataPhone(value);\r\n    };\r\n\r\n    const handleClickConfirm = (e) => {\r\n        e.preventDefault();\r\n        let request = {\r\n            numeroPersona: parseInt(selected?.[0]?.numeroPersona),\r\n            email: dataEmail,\r\n            nombreApellido: dataOfFamilyMember?.name,\r\n            sexo: dataOfFamilyMember?.sexo,\r\n            telefono: dataPhone,\r\n            tipoDocumento: dataOfFamilyMember?.docType,\r\n            nroDocumento: dataOfFamilyMember?.dni,\r\n            fechaNacimiento: dataOfFamilyMember?.dateOfBirth,\r\n            planCodigo: dataOfFamilyMember?.planCode\r\n        };\r\n        dispatch(postCallDoctor(request));\r\n        setRedirect(true);\r\n    };\r\n\r\n    const fieldValidations = errors => Object.values(errors).every(x => x === '');\r\n\r\n    const redirectWithDoctorPage = useCallback(() => {\r\n        let response = (\r\n            <div style={{ dispay: 'flex', flex: '0 0 100%', flexWrap: 'wrap' }}>\r\n                <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: screen.sWidth < 768 ? '60px' : '30px' }}>\r\n                    <CircularProgress />\r\n                </div>\r\n                {timer && <span style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '5px' }}>\r\n                    El servicio de Médico Virtual se encuentra demorado. Por favor esperá un momento o intentá más tarde.\r\n                </span>}\r\n            </div>);\r\n\r\n        setTimeout(() => {\r\n            setTimer(true);\r\n        }, 10000);\r\n\r\n        if (Object.values(virtualDoctorReduxState?.virtualDoctorResponse).length > 0) {\r\n            if (virtualDoctorReduxState?.virtualDoctorResponse?.confirmacion) {\r\n                response = (\r\n                    <div>\r\n                        <Iframe sandbox='' scrolling=\"no\" src={virtualDoctorReduxState?.virtualDoctorResponse?.link}\r\n                            className={classes.iframe} allow=\"camera; microphone; autoplay;\" />\r\n                    </div >);\r\n            } else if (!virtualDoctorReduxState?.virtualDoctorResponse?.confirmacion) {\r\n                response = (\r\n                    <div className={classes.Redirect} style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}>\r\n                        <Typography variant=\"h5\" className={classes.Typography}>\r\n                            Por el momento no podemos comunicarnos, intentá más tarde.\r\n                        </Typography>\r\n                    </div >);\r\n            }\r\n        }\r\n        return response;\r\n    }, [virtualDoctorReduxState?.virtualDoctorResponse, redirect, timer]);\r\n\r\n    useEffect(() => {\r\n        return () => {\r\n            dispatch(cleanVirtualDoctorModel());\r\n        };\r\n    }, []);\r\n\r\n\r\n    useEffect(() => {\r\n        if (btnWeb?.current !== null || btnMobile?.current !== null) {\r\n            if (screen.sWidth > 768) {\r\n                btnWeb.current.style.display = 'flex';\r\n                btnMobile.current.style.display = 'none';\r\n            } else {\r\n                btnWeb.current.style.display = 'none';\r\n                btnMobile.current.style.display = 'flex';\r\n            }\r\n        }\r\n    }, [screen.sWidth]);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(familyGroup).length > 0) {\r\n            let itemsToPush = familyGroup.map(item => {\r\n                return { value: item.itemCodigo, label: item.itemDescripcion };\r\n            });\r\n            setFamilyGroupList(itemsToPush);\r\n        }\r\n    }, [familyGroup]);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(selected).length > 0) {\r\n            let familyMember = {\r\n                numeroPersona: Number.parseInt(selected[0]?.numeroPersona)\r\n            };\r\n            dispatch(getFullData(familyMember));\r\n            dispatch(getCredentials(familyMember));\r\n            setDisabled(false);\r\n        }\r\n    }, [selected]);\r\n\r\n    useEffect(() => {\r\n        let completePhone = fullDataAffiliated?.fullData?.afiliado?.telefonos.find(x => x.telefonoTipoDescripcion === 'Movil');\r\n\r\n        if(completePhone === undefined) {\r\n            completePhone = fullDataAffiliated?.fullData?.afiliado?.telefonos.find(x => x.telefonoTipoDescripcion === 'Particular');\r\n        }\r\n\r\n        let credentialOfMember = fullDataAffiliated?.credentials?.credenciales?.filter(x => x.numeroPersona === Number.parseInt(selected[0]?.numeroPersona));\r\n        let data = {\r\n            name: fullDataAffiliated?.fullData?.afiliado?.apellidoNombre?.trim() ?? '',\r\n            email: fullDataAffiliated?.fullData?.afiliado?.mails[0]?.mail?.trim() ?? '',\r\n            phone: completePhone !== undefined ? `${completePhone?.areaCodigo}${completePhone?.numero}` : '',\r\n            dateOfBirth: fullDataAffiliated?.fullData?.afiliado?.fechaNacimiento?.trim() ?? '',\r\n            docType: fullDataAffiliated?.fullData?.afiliado?.documentos[0]?.documentoTipoCodigo?.trim() ?? '',\r\n            dni: fullDataAffiliated?.fullData?.afiliado?.documentos[0]?.documentoNumero?.trim() ?? '',\r\n            planDescription: fullDataAffiliated?.fullData?.afiliado?.planDescripcion?.trim() ?? '',\r\n            planCode: fullDataAffiliated?.fullData?.afiliado?.planCodigo ?? '',\r\n            credential: credentialOfMember ? credentialOfMember[0]?.numeroAfiliado?.trim() : '',\r\n            sexo: fullDataAffiliated?.fullData?.afiliado?.sexo?.trim() ?? '',\r\n        };\r\n        setDataOfFamilyMember(data);\r\n        setDataEmail(data?.email);\r\n        setDataPhone(data?.phone);\r\n    }, [fullDataAffiliated?.fullData, fullDataAffiliated?.credentials]);\r\n\r\n    useEffect(() => {\r\n        if (dataOfFamilyMember?.credential) {\r\n            setDisableBtn(false);\r\n        } else {\r\n            setDisableBtn(true);\r\n        }\r\n    }, [dataOfFamilyMember?.credential]);\r\n\r\n    const redirectToVirtualDoctor = () => {\r\n        window.location.href = '/VirtualDoctor';\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (errorMessage !== \"\" && errorMessage !== undefined) {\r\n            setErrorMessageModal(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    return (\r\n        <>\r\n            {!redirect ?\r\n                <>\r\n                    <div ref={btnWeb} style={{ display: 'flex', width: '100%', flexWrap: 'wrap', justifyContent: 'flex-end' }}>\r\n                        <div className={classes.divAccordionPrograms} style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\r\n                            <CustomButton\r\n                                disabled={disableBtn}\r\n                                title={'CONFIRMAR'}\r\n                                onClick={handleClickConfirm}\r\n                                customClass={`${classes.lightLinearGradient} ${classes.fontBold}`}\r\n                                style={{ padding: '5px 20px 5px 20px', fontWeight: \"bold\", fontSize: \"13px\"}}\r\n                            />\r\n                        </div>\r\n                    </div>\r\n                    <article style={{ display: 'flex', width: '100%', flexWrap: 'wrap', paddingTop: screen.sWidth <= 768 ? '30px' : '0px' }}>\r\n                        <div className={classes.divAccordionPrograms}>\r\n                            <FormControl className={`${classes.formControlChronicMedicationForm} ${classes.formControlVirtualDoctor} ${classes.formControlsEmergency} ${classes.formControlSelect}`} variant=\"standard\">\r\n                                <CustomSelect\r\n                                    name={`familyGroup`}\r\n                                    list={familyGroupList}\r\n                                    selected={selected?.numeroPersona}\r\n                                    onChange={handleChangeSelect(familyGroupList)}\r\n                                    label='AFILIADO'\r\n                                    style={{ maxWidth: screen.sWidth < 300 ? \"250px\" : \"\" }}\r\n                                />\r\n                                <FormHelperText className={classes.errorText}>{formErrors?.affiliate}</FormHelperText>\r\n                            </FormControl>\r\n                        </div>\r\n                        {!disabled &&\r\n                            <>\r\n                                <div className={classes.divAccordionPrograms} style={{ display: 'flex', justifyContent: 'flex-start', alignItems: 'center' }}>\r\n                                    <Typography className={`${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex', flexWrap: 'wrap', flex: '1 1 100%', fontWeight: 'bold' }}>\r\n                                        Apellido y nombre: <span className={classes.spanVirtualDoctor}>{dataOfFamilyMember?.name}</span>\r\n                                        <FormHelperText className={`${classes.errorText}`} style={{ textTransform: 'lowercase' }}>{formErrors?.fullName}</FormHelperText>\r\n                                    </Typography>\r\n                                </div>\r\n                                <div className={classes.divAccordionPrograms}>\r\n                                    <FormControl className={classes.formControlsEmergency} variant=\"standard\">\r\n                                        <CustomizedInputs id='email' name='email' value={dataEmail ?? ''} onChange={handleChangeEmail} label='EMAIL' type=\"email\" />\r\n                                        <FormHelperText className={`${classes.errorText}`}>{formErrors?.email}</FormHelperText>\r\n                                    </FormControl>\r\n                                </div>\r\n                                <div className={classes.divAccordionPrograms}>\r\n                                    <FormControl className={classes.formControlsEmergency} variant=\"standard\">\r\n                                        <CustomizedInputs id='phone' name='phone' value={dataPhone} onChange={handleChangePhone} label='TELEFONO' customRequired={true}\r\n                                            onInput={(e) => { e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/(\\..*?)\\..*/g, '$1'); }}\r\n                                            inputProps={{ maxLength: 20 }}\r\n                                        />\r\n                                        <FormHelperText className={`${classes.errorText}`}>{formErrors?.phone}</FormHelperText>\r\n                                    </FormControl>\r\n                                </div>\r\n                                <div className={classes.divAccordionPrograms} style={{ display: 'flex', justifyContent: 'flex-start', alignItems: 'center' }}>\r\n                                    <Typography className={`${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex', flexWrap: 'wrap', flex: '1 1 100%', fontWeight: 'bold' }}>\r\n                                        Fecha de nacimiento: <span className={classes.spanVirtualDoctor}>{dataOfFamilyMember?.dateOfBirth}</span>\r\n                                    <FormHelperText className={classes.errorText} style={{ textTransform: 'lowercase' }}>{formErrors?.birthdate}</FormHelperText>\r\n                                    </Typography>\r\n                                </div>\r\n                                <div className={classes.divAccordionPrograms} style={{ display: 'flex', justifyContent: 'flex-start', alignItems: 'center' }}>\r\n                                    <Typography className={`${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex', flexWrap: 'wrap', flex: '1 1 100%', fontWeight: 'bold' }}>\r\n                                        Nº Documento: <span className={classes.spanVirtualDoctor}>{dataOfFamilyMember?.dni}</span>\r\n                                        <FormHelperText className={classes.errorText} style={{ textTransform: 'lowercase' }}>{formErrors?.documentNumber}</FormHelperText>\r\n                                    </Typography>\r\n                                </div>\r\n                                <div className={classes.divAccordionPrograms} style={{ display: 'flex', justifyContent: 'flex-start', alignItems: 'center' }}>\r\n                                    <Typography className={`${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex', flexWrap: 'wrap', flex: '1 1 100%', fontWeight: 'bold' }}>\r\n                                        Plan: <span className={classes.spanVirtualDoctor}>{dataOfFamilyMember?.planDescription}</span>\r\n                                        <FormHelperText className={classes.errorText} style={{ textTransform: 'lowercase' }}>{formErrors?.plan}</FormHelperText>\r\n                                    </Typography>\r\n                                </div>\r\n                                <div className={classes.divAccordionPrograms} style={{ display: 'flex', justifyContent: 'flex-start', alignItems: 'center' }}>\r\n                                    <Typography className={`${classes.titleBox} ${classes.titleEmergency}`} style={{ textTransform: 'uppercase', alignItems: 'center', display: 'flex', flexWrap: 'wrap', flex: '1 1 100%', fontWeight: 'bold' }}>\r\n                                        Credencial: {dataOfFamilyMember?.credential ? <span className={classes.spanVirtualDoctor}>{dataOfFamilyMember?.credential}</span> : <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}>\r\n                                            <CircularProgress />\r\n                                        </div>}\r\n                                        <FormHelperText className={classes.errorText} style={{ textTransform: 'lowercase' }}>{formErrors?.credentialNumber}</FormHelperText>\r\n                                    </Typography>\r\n                                </div>\r\n                            </>\r\n                        }\r\n                    </article>\r\n                    <div ref={btnMobile} style={{ display: 'flex', width: '100%', flexWrap: 'wrap', justifyContent: 'flex-end' }}>\r\n                        {dataOfFamilyMember?.credential &&\r\n                            <div className={classes.divAccordionPrograms} style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\r\n                                <CustomButton\r\n                                    disabled={disableBtn}\r\n                                    title={'CONFIRMAR'}\r\n                                    onClick={handleClickConfirm}\r\n                                    customClass={`${classes.lightLinearGradient} ${classes.fontBold}`}\r\n                                    style={{\r\n                                        padding: '5px 20px 5px 20px',\r\n                                        fontWeight: \"bold\",\r\n                                        fontSize: \"13px\",\r\n                                        marginLeft: \"7%\",\r\n                                        marginBottom: \"3%\"\r\n                                    }}\r\n                                />\r\n                            </div>\r\n                        }\r\n                    </div>\r\n                </>\r\n                :\r\n                redirectWithDoctorPage()\r\n            }\r\n            {showMessageModal(errorMessage, errorMessageModal, setErrorMessageModal, classes.borderWhite, classes.quickAccessIcon, classes.contentDialogTitle, redirectToVirtualDoctor)}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default VirtualDoctorCaller;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function postCallDoctor(params) {\r\n    return {\r\n        type: actionTypes.POST_CALL_DOCTOR,\r\n        payload: params,\r\n    };\r\n}\r\n\r\nexport function cleanVirtualDoctorModel() {\r\n    return {\r\n        type: actionTypes.CLEAN_VIRTUAL_DOCTOR_MODEL,\r\n        payload: ''\r\n    };\r\n}","import { useEffect, useLayoutEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Header from \"../../components/GenericHeader/Header\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport VirtualDoctorCaller from \"../../components/VirtualDoctorCaller/VirtualDoctorCaller\";\r\nimport { getDataGroupFamily } from \"../../redux/actions/appointmentsActions\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst persona = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\"))\r\n};\r\n\r\nconst VirtualDoctor = () => {\r\n    const dispatch = useDispatch();\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const trackPageView = useTrackPageView(\"Médico Virtual\");\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Médico Virtual\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    useEffect(() => {\r\n        dispatch(getDataGroupFamily(persona));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n        trackPageView();\r\n    }, []);\r\n\r\n    return (\r\n        <>\r\n        {\r\n            <>\r\n                <Menu />\r\n                <Header title='Médico virtual' />\r\n                {\r\n                    !hasPermission ?\r\n                    notAccessToThisModule()\r\n                :\r\n                <VirtualDoctorCaller />\r\n                }\r\n            </>\r\n        }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default VirtualDoctor;","import AttachMoneyIcon from '@material-ui/icons/AttachMoney';\r\nimport AccountBalanceWalletOutlinedIcon from '@material-ui/icons/AccountBalanceWalletOutlined';\r\nimport FlightTakeoffOutlinedIcon from '@material-ui/icons/FlightTakeoffOutlined';\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport SelfImprovementIcon from '@material-ui/icons/SelfImprovement';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport SelectTypeOfComponent from \"../../components/PersonalData/SelectTypeOfComponent\";\r\nimport { Fragment, useEffect, useLayoutEffect, useState } from 'react';\r\nimport QuickAccessBox from '../../components/HomeLogged/QuickAccessBox';\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport { Link, useLocation } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getFullData } from '../../redux/actions/personalDataActions';\r\nimport { getAreaParameters, getRefundParameters } from '../../redux/actions/coverageActions';\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport Loading from '../../components/LoadingPage/Loading';\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\nconst affiliated = {\r\n    numeroPersona: userCode\r\n};\r\n\r\nconst Coverage = () => {\r\n    const { screen } = useResizeScreen();\r\n    const trackPageView = useTrackPageView(\"Mi Cobertura\");\r\n    const [type, setActiveType] = useState(-1);\r\n    const classes = useStyles();\r\n    const [mobileDevice, setMobileDevice] = useState(false);\r\n    const dispatch = useDispatch();\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n\r\n    const { search } = useLocation();\r\n    const match = search.match(/type=(.*)/);\r\n    const typeUrl = match?.[1];\r\n    const personalDataSelector = useSelector(state => state.personalDataReducer);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n\r\n    const list = [\r\n        { title: 'TOPES Y COPAGO', icon: <AttachMoneyIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/Coverage?type=CapsAndCopay' },\r\n        { title: 'REINTEGROS', icon: <AccountBalanceWalletOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 1, path: '/Coverage?type=RefundCoverage' },\r\n        { title: 'COBERTURA EN VIAJE', icon: <FlightTakeoffOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 2, path: '/TravelCoverage' },\r\n        { title: 'ACTIVIDADES', icon: <SelfImprovementIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 3, path: '/Coverage?type=Activities' }\r\n    ];\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Cobertura\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n        trackPageView();\r\n    }, []);\r\n\r\n    const handleBack = () => {\r\n        setActiveType(-1);\r\n    };\r\n\r\n    const handleClick = (item) => (e) => {\r\n        setActiveType(item.type);\r\n    };\r\n\r\n    const validateResponsive = () => {\r\n        if (screen.sWidth <= 768)\r\n            setMobileDevice(true);\r\n        else\r\n            setMobileDevice(false);\r\n    };\r\n\r\n    useEffect(() => {\r\n        validateResponsive();\r\n    }, [screen.sWidth, type]);\r\n\r\n    useEffect(() => {\r\n        if (typeUrl !== undefined) {\r\n            setActiveType(0);\r\n        }\r\n        dispatch(getFullData(affiliated));\r\n        dispatch(getRefundParameters());\r\n        dispatch(getAreaParameters());\r\n    }, []);\r\n\r\n    function isEnabled(condition1, condition2) {\r\n        let r;\r\n        if(condition1 !== 0 && condition2) {\r\n            r = (\r\n                <div className={`${classes.divQuickAccess} ${classes.customScroll}`}>\r\n                    {list.map((item, i) => (\r\n                        <Fragment key={i}>\r\n                            <QuickAccessBox component={Link} to={item.path} handleClick={handleClick} i={i} item={item} classes={classes} customClass={classes.personalDataItem} iconClass={classes.personalDataDivIcons} txtIcon={classes.personalDataTxtIcon} />\r\n                        </Fragment>\r\n                    ))}\r\n                </div>\r\n            );\r\n        } else {\r\n            r = (notAccessToThisModule());\r\n        }\r\n        return r;\r\n    }\r\n\r\n    useEffect(() => {\r\n        window.onpopstate = (e) => {\r\n            if (type !== -1)\r\n                window.location.href = '/Coverage';\r\n        };\r\n    });\r\n\r\n    useEffect(() => {\r\n        if (typeUrl !== undefined) {\r\n            let auxURL = `/Coverage?type=${typeUrl}`;\r\n            let aux = list.filter(x => x.path === auxURL);\r\n            setActiveType(aux[0].type);\r\n        }else{\r\n            setActiveType(-1);\r\n        }\r\n    }, [typeUrl]);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {((!mobileDevice || type === -1) && type !== 0) &&\r\n                <>\r\n                    <Header title='Mi Cobertura' />\r\n                    <Loading\r\n                        isLoading={loadingPermission}\r\n                        children={isEnabled(type, hasPermission)}\r\n                    />\r\n                </>\r\n            }\r\n            <SelectTypeOfComponent handleBack={handleBack} />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Coverage;\r\n\r\n","import FactCheckIcon from '@material-ui/icons/FactCheck';\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport FormatListBulletedOutlinedIcon from '@material-ui/icons/FormatListBulletedOutlined';\r\nimport StarsIcon from '@material-ui/icons/Stars';\r\nimport LocalOfferIcon from '@material-ui/icons/LocalOffer';\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport SelectTypeOfComponent from \"../../components/PersonalData/SelectTypeOfComponent\";\r\nimport { Fragment, useEffect, useState } from 'react';\r\nimport QuickAccessBox from '../../components/HomeLogged/QuickAccessBox';\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport { Typography } from '@material-ui/core';\r\nimport { useSelector } from 'react-redux';\r\n\r\n\r\nconst TravelCoverage = () => {\r\n    const history = useHistory();\r\n    const { screen } = useResizeScreen();\r\n    const trackPageView = useTrackPageView(\"Cobertura en Viaje\");\r\n    const [type, setActiveType] = useState(-1);\r\n    const classes = useStyles();\r\n    const [mobileDevice, setMobileDevice] = useState(false);\r\n    const { search } = useLocation();\r\n    const match = search.match(/type=(.*)/);\r\n    const typeURL = match?.[1];\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations);\r\n\r\n    const listCoverage = [\r\n        { title: 'MI PLAN', icon: <FactCheckIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/TravelCoverage?type=MyPlan' },\r\n        { title: 'PREGUNTAS FRECUENTES', icon: <QuestionAnswerOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 1, path: '/TravelCoverage?type=FrequentQuestions' },\r\n        { title: 'CONDICIONES GENERALES', icon: <FormatListBulletedOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 2, path: '/TravelCoverage?type=GeneralConditions' },\r\n    ];\r\n    const listMoreCoverage = [\r\n        { title: 'COBERTURA PREMIUM', icon: <StarsIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: -1, href: configurationReduxState?.configurations?.filter(x => x.id === 'coberturaViajeLinkLowCost')[0]?.valor, path: '/TravelCoverage' },\r\n        { title: 'PRODUCTOS LOW COST', icon: <LocalOfferIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: -1, href: configurationReduxState?.configurations?.filter(x => x.id === 'coberturaViajeLink')[0]?.valor, path: '/TravelCoverage' },\r\n    ];\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n    }, [])\r\n\r\n    const handleBack = () => {\r\n        setActiveType(-1);\r\n    };\r\n\r\n    const handleClick = (item) => (e) => {\r\n        setActiveType(item.type);\r\n    };\r\n\r\n    const validateResponsive = () => {\r\n        if (screen.sWidth <= 768)\r\n            setMobileDevice(true);\r\n        else\r\n            setMobileDevice(false);\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (typeURL !== undefined) {\r\n            let auxURL = `/TravelCoverage?type=${typeURL}`\r\n            let aux = listCoverage.filter(x => x.path === auxURL);\r\n            setActiveType(aux[0].type);\r\n        }else{\r\n            setActiveType(-1);\r\n        }\r\n    }, [typeURL]);\r\n\r\n    useEffect(() => {\r\n        validateResponsive();\r\n    }, [screen.sWidth, type]);\r\n    useEffect(() => {\r\n        window.onpopstate = (e) => {\r\n            if (type !== -1)\r\n                window.location.href = '/TravelCoverage';\r\n            else\r\n                history.push('/Coverage');\r\n        };\r\n    });\r\n\r\n    function mapListItem(list) {\r\n        return (\r\n            <div className={`${classes.divTravelCoverageMenu} ${classes.customScroll}`}>\r\n                {list === listMoreCoverage ?\r\n                    (list.map((item, i) => (\r\n                        <Fragment key={i}>\r\n                            <QuickAccessBox target=\"_blank\" href={item.href} handleClick={handleClick} i={i} item={item} classes={classes} customClass={classes.coverageMenuItem} iconClass={classes.personalDataDivIcons} txtIcon={classes.personalDataTxtIcon} />\r\n                        </Fragment>\r\n                    )))\r\n                    :\r\n                    (list.map((item, i) => (\r\n                        <Fragment key={i}>\r\n                            <QuickAccessBox component={Link} to={item.path} handleClick={handleClick} i={i} item={item} classes={classes} customClass={classes.coverageMenuItem} iconClass={classes.personalDataDivIcons} txtIcon={classes.personalDataTxtIcon} />\r\n                        </Fragment>\r\n                    )))\r\n                }\r\n\r\n            </div>\r\n        )\r\n    }\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {!mobileDevice || type === -1 ?\r\n                <>\r\n                    <Header title='Mi Cobertura' />\r\n                    {type === -1 &&\r\n                        <div>\r\n                            <Typography className={`${classes.titleTravelCoverage} ${classes.titleTurn}`}>COBERTURA EN VIAJE</Typography>\r\n                            {mapListItem(listCoverage)}\r\n                            <Typography style={{ paddingTop: \"0px\" }} className={`${classes.titleTravelCoverage} ${classes.titleTurn}`}>AMPLIAR COBERTURA</Typography>\r\n                            {mapListItem(listMoreCoverage)}\r\n                        </div>\r\n                    }\r\n                </>\r\n                :\r\n                ''\r\n            }\r\n            <SelectTypeOfComponent handleBack={handleBack} />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default TravelCoverage;\r\n\r\n","\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport Menu from '../Menu/Menu';\r\nimport { IconButton, Typography } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport Header from \"../GenericHeader/Header\";\r\nimport CardNotification from '../Menu/CardNotification';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport { getAllNotifications } from \"../../redux/actions/notificationsActions\";\r\nimport NotFound from '../HomeLogged/NotFound';\r\n\r\nconst AllNotification = () => {\r\n    const dispatch = useDispatch();\r\n    const notificacionReducer = useSelector((state) => state.notificationReducer.notifications);\r\n\r\n    const [notifications, setNotifications] = useState(notificacionReducer?.notification);\r\n    const screenSize = useResizeScreen();\r\n    const [ firstLoad, setFirstLoad ] = useState(true);\r\n    const classes = useStyles();\r\n\r\n    useEffect(() => {\r\n        if(firstLoad) {\r\n            dispatch(getAllNotifications({email: window.localStorage.getItem('email')}));\r\n            setNotifications(notificacionReducer?.notification);\r\n            setFirstLoad(false);\r\n        } else {\r\n            clickFilter(\"\");\r\n        }\r\n    }, [notificacionReducer]);\r\n\r\n    const size = () => {\r\n        if (screenSize.screen.sWidth < 800) {\r\n            return (classes.card50);\r\n        } else {\r\n            return (classes.card100);\r\n        }\r\n    };\r\n\r\n    const clickFilter = (selected) => {\r\n        switch (selected) {\r\n            case \"LEIDOS\":\r\n                const readed = notificacionReducer?.notification?.filter((x) => x.viewed);\r\n                setNotifications(readed);\r\n                break;\r\n            case \"NO LEIDOS\":\r\n                const notReaded = notificacionReducer?.notification?.filter((x) => !x.viewed);\r\n                setNotifications(notReaded);\r\n                break;\r\n            case \"DESTACADOS\":\r\n                const favorite = notificacionReducer?.notification?.filter((x) => x.favourite);\r\n                setNotifications(favorite);\r\n                break;\r\n            case \"TODOS\":\r\n                setNotifications(notificacionReducer?.notification);\r\n                break;\r\n            default:\r\n                setNotifications(notificacionReducer?.notification);\r\n                break;\r\n        }\r\n    };\r\n\r\n    return (<>\r\n        <Menu />\r\n        <Header title=\"Notificaciones\" colorTitle=\"#0075C9\" heightTitle=\"140px\" />\r\n        <div style={{ alignItems: \"center\", display: \"flex\", justifyContent: \"center\" }} className={classes.marginTop}>\r\n            <IconButton onClick={() => { clickFilter(\"LEIDOS\"); }} >\r\n                <NotificationsIcon className={classes.iconReader} style={{ marginRight: '5px' }} />\r\n                <Typography className={`${classes.txtDescription}`}>\r\n                    LEIDOS\r\n                </Typography>\r\n            </IconButton>\r\n\r\n            <IconButton onClick={() => { clickFilter(\"NO LEIDOS\"); }} >\r\n                <NotificationsIcon className={classes.notificationIcon} style={{ marginRight: '5px' }} />\r\n                <Typography className={`${classes.txtDescription}`}>\r\n                    NO LEIDOS\r\n                </Typography>\r\n            </IconButton>\r\n\r\n            <IconButton onClick={() => { clickFilter(\"DESTACADOS\"); }} >\r\n                <StarIcon className={classes.iconDestacate} style={{ marginRight: '5px' }} />\r\n                <Typography className={`${classes.txtDescription}`}>\r\n                    DESTACADOS\r\n                </Typography>\r\n            </IconButton>\r\n\r\n            <IconButton onClick={() => { clickFilter(\"TODOS\"); }} >\r\n                <NotificationsIcon className={classes.AllNotIcon} />\r\n                <Typography className={`${classes.txtDescription}`}>\r\n                    TODOS\r\n                </Typography>\r\n            </IconButton>\r\n\r\n        </div>\r\n\r\n        {\r\n            notifications?.length > 0\r\n            ?\r\n                <div className={classes.AllNotifications}>\r\n                    {notifications?.map((item) => (\r\n                        <div className={size()}>\r\n                            <CardNotification notification={item} position={null} />\r\n                        </div>))}\r\n                </div>\r\n            :\r\n                <NotFound customMsg={\r\n                    <div className={classes.contentNotFound}>\r\n                        <span style={{ marginTop: \"40px\" }}>No hay notificaciones</span>\r\n                    </div>}\r\n                    wsItem={notifications}\r\n                    fullItem={notifications?.length}\r\n                />\r\n        }\r\n    </>);\r\n};\r\n\r\nexport default AllNotification;","\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport Menu from '../Menu/Menu';\r\nimport MenuProfile from '../Menu/MenuProfile';\r\nimport { IconButton, Typography } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport Header from \"../GenericHeader/Header\";\r\nimport CardNotification from '../Menu/CardNotification';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport { getAllNotifications, getCommunication } from \"../../redux/actions/notificationsActions\";\r\nimport NotFound from '../HomeLogged/NotFound';\r\nimport CardCommunication from \"../Menu/CardCommunication\";\r\n\r\n\r\n//\r\nconst AllCommunication = () => {\r\n    const dispatch = useDispatch();\r\n    const notificacionReducer = useSelector((state) => state.notificationReducer.communication);\r\n\r\n    const [notifications, setNotifications] = useState(notificacionReducer?.communication);\r\n    const screenSize = useResizeScreen();\r\n    const [ firstLoad, setFirstLoad ] = useState(true);\r\n    const classes = useStyles();\r\n\r\n    useEffect(() => {\r\n        if(firstLoad) {\r\n            dispatch(getAllNotifications({email: window.localStorage.getItem('email')}));\r\n            setNotifications(notificacionReducer?.communication);\r\n            setFirstLoad(false);\r\n        } else {\r\n            clickFilter(\"\");\r\n        }\r\n    }, [notificacionReducer]);\r\n\r\n\r\n    const size = () => {\r\n        if (screenSize.screen.sWidth < 800) {\r\n            return (classes.card50);\r\n        } else {\r\n            return (classes.card100);\r\n        }\r\n    };\r\n\r\n    const clickFilter = (selected) => {\r\n        switch (selected) {\r\n            case \"LEIDOS\":\r\n                const readed = notificacionReducer?.communication?.filter((x) => x.viewed);\r\n                setNotifications(readed);\r\n                break;\r\n            case \"NO LEIDOS\":\r\n                const notReaded = notificacionReducer?.communication?.filter((x) => !x.viewed);\r\n                setNotifications(notReaded);\r\n                break;\r\n            case \"DESTACADOS\":\r\n                const favorite = notificacionReducer?.communication?.filter((x) => x.favourite);\r\n                setNotifications(favorite);\r\n                break;\r\n            case \"TODOS\":\r\n                setNotifications(notificacionReducer?.communication);\r\n                break;\r\n            default:\r\n                setNotifications(notificacionReducer?.communication);\r\n                break;\r\n        }\r\n    };\r\n\r\n    return (<>\r\n        <MenuProfile />\r\n        <Header title=\"Notificaciones\" colorTitle=\"#0075C9\" heightTitle=\"140px\" />\r\n        <div style={{ alignItems: \"center\", display: \"flex\", justifyContent: \"center\" }} className={classes.marginTop}>\r\n            <IconButton onClick={() => { clickFilter(\"LEIDOS\"); }} >\r\n                <NotificationsIcon className={classes.iconReader} style={{ marginRight: '5px' }} />\r\n                <Typography className={`${classes.txtDescription}`}>\r\n                    LEIDOS\r\n                </Typography>\r\n            </IconButton>\r\n\r\n            <IconButton onClick={() => { clickFilter(\"NO LEIDOS\"); }} >\r\n                <NotificationsIcon className={classes.notificationIcon} style={{ marginRight: '5px' }} />\r\n                <Typography className={`${classes.txtDescription}`}>\r\n                    NO LEIDOS\r\n                </Typography>\r\n            </IconButton>\r\n\r\n            <IconButton onClick={() => { clickFilter(\"DESTACADOS\"); }} >\r\n                <StarIcon className={classes.iconDestacate} style={{ marginRight: '5px' }} />\r\n                <Typography className={`${classes.txtDescription}`}>\r\n                    DESTACADOS\r\n                </Typography>\r\n            </IconButton>\r\n\r\n            <IconButton onClick={() => { clickFilter(\"TODOS\"); }} >\r\n                <NotificationsIcon className={classes.AllNotIcon} />\r\n                <Typography className={`${classes.txtDescription}`}>\r\n                    TODOS\r\n                </Typography>\r\n            </IconButton>\r\n\r\n        </div>\r\n\r\n        {\r\n            notifications?.length > 0\r\n                ?\r\n                <div className={classes.AllNotifications}>\r\n                    {notifications?.map((item, index) => {\r\n                        return (\r\n                            <div key={index} className={size()}>\r\n                                <CardCommunication notification={item} position={null} />\r\n                            </div>\r\n                        );\r\n                    })}\r\n                </div>\r\n                :\r\n                <NotFound customMsg={\r\n                    <div className={classes.contentNotFound}>\r\n                        <span style={{ marginTop: \"40px\" }}>No hay comunicaciones</span>\r\n                    </div>}\r\n                    wsItem={notifications}\r\n                    fullItem={notifications?.length}\r\n                />\r\n        }\r\n    </>);\r\n};\r\n\r\nexport default AllCommunication;","export default __webpack_public_path__ + \"static/media/img-register.dc7a67a8.png\";","\r\nexport function setDescriptionError(registerReduxState, setDescriptionModal, descriptionModal) {\r\n    let msg = '';\r\n    if (Object.values(registerReduxState?.registerUser).length > 0 && !registerReduxState?.registerUser?.confirmacion) {\r\n        msg = registerReduxState?.registerUser?.mensajes?.map(item => { return item; });\r\n        setDescriptionModal({ ...descriptionModal, description: msg });\r\n\r\n    } else if (Object.values(registerReduxState?.registerValidation).length > 0 && !registerReduxState?.registerValidation?.confirmacion) {\r\n        msg = registerReduxState?.registerValidation?.mensajes?.map(item => { return item; });\r\n        setDescriptionModal({ ...descriptionModal, description: msg });\r\n    }\r\n}\r\n\r\nexport function validate(nameElement, message, val, setError, error) {\r\n    if (val === '') {\r\n        setError({ ...error, [nameElement]: message });\r\n    } else {\r\n        setError({ ...error, [nameElement]: '' });\r\n    }\r\n}\r\n\r\nexport function openModal(registerReduxState, setOpenConfirmModal, setLoading) {\r\n    if ((registerReduxState?.registerUser?.confirmacion !== undefined && !registerReduxState?.registerUser?.confirmacion)\r\n        || (registerReduxState?.registerValidation?.confirmacion !== undefined && !registerReduxState?.registerValidation?.confirmacion)) {\r\n            setLoading(false);\r\n            setOpenConfirmModal(true);\r\n    }\r\n}\r\n\r\nexport  function  redirectToHome(loading, registerReduxState) {\r\n    if ((loading && registerReduxState?.registerUser?.confirmacion) || registerReduxState?.registerValidation?.confirmacion) {\r\n        window.localStorage.setItem(\"registerFlag\", 'Registrado');\r\n        window.localStorage.setItem(\"numeroPersona\", registerReduxState?.registerValidation?.numeroPersona);\r\n        window.location.replace(\"/\");\r\n    }\r\n}","import React, { useEffect, useState, Suspense, useRef } from \"react\";\r\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\r\nimport Img from \"../assets/images/img-register.png\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport useStyles from \"../assets/styles/styles\";\r\nimport {\r\n  Accordion,\r\n  AccordionDetails,\r\n  AccordionSummary,\r\n  Backdrop,\r\n  CircularProgress,\r\n  FormControl,\r\n  FormHelperText,\r\n  IconButton,\r\n  Portal,\r\n  Typography,\r\n} from \"@material-ui/core\";\r\nimport Logo from \"../assets/images/logo.png\";\r\nimport whiteLogo from \"../assets/images/whiteLogo.png\";\r\nimport CustomizedInputs from \"../controls/InputCustom/CustomizedInputs\";\r\nimport CustomButton from \"../controls/Button/CustomButton\";\r\nimport {\r\n  getDataRegisterUser,\r\n  registerUser,\r\n  verifyRegister,\r\n  verifyRegisterMedical,\r\n  verifyTypeOfUser,\r\n} from \"../redux/actions/registerUsersActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomSelect from \"../controls/Select/CustomSelect\";\r\nimport CustomDatePicker from \"../controls/DatePicker/CustomizedDatePicker\";\r\nimport CancelIcon from \"@material-ui/icons/Cancel\";\r\nimport {  validate } from \"./UtilsFunctions\";\r\nimport LoadingPage from \"../components/LoadingPage/LoadingPage\";\r\nimport { updateTag } from \"../redux/actions/personPlayerActions\";\r\nimport { useResizeScreen } from \"../hooks/useResizeScreen\";\r\nimport HomeIcon from \"@material-ui/icons/Home\";\r\nimport clsx from \"clsx\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { format } from \"date-fns\";\r\nimport { Box, Dialog, DialogContent, DialogTitle } from \"@mui/material\";\r\nimport { showMessageModal } from \"../utils/utilsFunctions\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\n\r\nconst Register = () => {\r\n  const listType = [\r\n    { value: \"DNI\", label: \"DNI\" },\r\n    { value: \"CIL\", label: \"C.U.I.L\" },\r\n    { value: \"CUI\", label: \"C.U.I.T\" },\r\n    { value: \"CI\", label: \"Cédula de Identidad\" },\r\n    { value: \"DU\", label: \"Documento único\" },\r\n    { value: \"E/T\", label: \"En trámite\" },\r\n    { value: \"LC\", label: \"Libreta Cívica (Sólo sexo Femenino)\" },\r\n    { value: \"LE\", label: \"Libreta Enrolamiento (Sólo sexo Masculino)\" },\r\n    { value: \"PAS\", label: \"Pasaporte\" },\r\n    { value: \"OTR\", label: \"Otros\" },\r\n  ];\r\n\r\n  const userTypeList = [\r\n    { value: \"AFILIADO\", label: \"AFILIADO\" },\r\n    { value: \"MEDICO\", label: \"MEDICO\" },\r\n    { value: \"AFILIADO-MEDICO\", label: \"AMBOS\" },\r\n  ];\r\n\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const [typesDocument, setTypesDocument] = useState([]);\r\n  const [type, setType] = useState(\"\");\r\n  const [userTypeSelection, setUserTypeSelection] = useState(\"\");\r\n  const [birthDate, setbirthDate] = useState(new Date());\r\n  const [dni, setDni] = useState(\"\");\r\n  const [credential, setCredential] = useState(\"\");\r\n  const [enrollment, setEnrollment] = useState(\"\");\r\n  const { screen } = useResizeScreen();\r\n  const userData = useSelector((state) => state.registerUsersReducer.dataUser);\r\n  const loginValidation = useSelector(\r\n    (state) => state.registerUsersReducer.registerValidation\r\n  );\r\n  const userTypeValidation = useSelector(\r\n    (state) => state.registerUsersReducer.userTypeValidation\r\n  );\r\n\r\n  const campoObligatorio = \"*Campo obligatorio\";\r\n\r\n  const [personalDataErrors, setPersonalDataErrors] = useState({\r\n    parameterType: campoObligatorio,\r\n    document: campoObligatorio,\r\n    birthDate: campoObligatorio,\r\n  });\r\n\r\n  const [aditionalDataErrors, setAditionalDataErrors] = useState({\r\n    credential:\r\n      userTypeValidation?.perfil?.trim() == \"AFILIADO\" ||\r\n      userTypeValidation?.perfil?.trim() == \"AFILIADO-MEDICO\"\r\n        ? campoObligatorio\r\n        : \"\",\r\n    enrollment:\r\n      userTypeValidation?.perfil?.trim() == \"MEDICO\" ||\r\n      userTypeValidation?.perfil?.trim() == \"AFILIADO-MEDICO\"\r\n        ? campoObligatorio\r\n        : \"\",\r\n    userTypeSelection:\r\n      userTypeValidation?.perfil?.trim() == \"AFILIADO-MEDICO\"\r\n        ? campoObligatorio\r\n        : \"\",\r\n  });\r\n\r\n \r\n  const registerReduxState = useSelector((state) => state.registerUsersReducer);\r\n  const [loading, setLoading] = useState(true);\r\n  const [initialLoad, setInitialLoad] = useState(true);\r\n  const history = useHistory();\r\n  const [errorMessageModal, setErrorMessageModal] = useState(false);\r\n  const errorMessage = useSelector(\r\n    (state) => state.registerUsersReducer.msgError\r\n  );\r\n  const [isPersonalDataExpanded, setIsPersonalDataExpanded] = useState(true);\r\n  const [isAditionalDataExpanded, setIsAditionalDataExpanded] = useState(true);\r\n\r\n  const personalDataRef = useRef(null);\r\n  const [editDateBirth, setEditDateBirth] = useState(false);\r\n\r\n\r\n  const [showAditionalDataAccordion, setShowAditionalDataAccordion] =\r\n    useState(false);\r\n\r\n  const handlePersonalDataChange = (event, isExpanded) => {\r\n    setIsPersonalDataExpanded(isExpanded);\r\n  };\r\n\r\n  const handleAditionalDataChange = (event, isExpanded) => {\r\n    if (isExpanded) {\r\n      setIsPersonalDataExpanded(false);\r\n    }\r\n    setIsAditionalDataExpanded(isExpanded);\r\n  };\r\n\r\n\r\n  useEffect(() => {\r\n    if (\r\n      userTypeValidation?.perfil?.trim() == \"AFILIADO\" ||\r\n      userTypeValidation?.perfil?.trim() == \"MEDICO\" ||\r\n      userTypeValidation?.perfil?.trim() == \"AFILIADO-MEDICO\"\r\n    ) {\r\n      setShowAditionalDataAccordion(true);\r\n      setIsPersonalDataExpanded(false);\r\n      if (userTypeValidation?.perfil?.trim() == \"AFILIADO-MEDICO\") {\r\n        if (credential && enrollment) {\r\n          setCurrentProfile(\"AFILIADO\");\r\n        } else if (credential && !enrollment) {\r\n          setCurrentProfile(\"AFILIADO\");\r\n        } else if (!credential && enrollment) {\r\n          setCurrentProfile(\"MEDICO\");\r\n        }\r\n      }\r\n    }\r\n  }, [userTypeValidation?.perfil]);\r\n\r\n  const RedirectLogin = () => {\r\n    window.localStorage.clear();\r\n    const playerId = window.localStorage.getItem(\"playerId\");\r\n    const user = window.localStorage.getItem(\"email\");\r\n    dispatch(updateTag({ user: user, playerId: playerId, action: \"LOGOUT\" }));\r\n    window.location.replace(\"/logout\");\r\n  };\r\n\r\n  const isPersonalDataValidForm = () =>\r\n    Object.values(personalDataErrors).every((x) => x === \"\");\r\n\r\n  const isAditionalDataValidForm = () =>\r\n    Object.values(aditionalDataErrors).every((x) => x === \"\");\r\n\r\n  const handleRegister = () => {\r\n    if (isAditionalDataValidForm()) {\r\n      const email = window.localStorage.getItem(\"email\");\r\n      let request = {\r\n        mail: email,\r\n        tipoRegistracion: userTypeSelection,\r\n        telefono: \"\",\r\n        tipoDocumento: type,\r\n        nroDocumento: dni,\r\n        nroCredencial: credential,\r\n        fechaNacimiento: format(birthDate, \"yyyy-MM-dd\"),\r\n        matricula: enrollment,\r\n      };\r\n\r\n      dispatch(registerUser(request));\r\n      setLoading(true);\r\n      dispatch(getDataRegisterUser({ mail: email }));\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (userTypeValidation?.perfil?.trim()) {\r\n      setUserTypeSelection(userTypeValidation.perfil.trim());\r\n    }\r\n  }, [userTypeValidation?.perfil]);\r\n  \r\n  const handleVerifyTypeOfUser = () => {\r\n    if (isPersonalDataValidForm()) {\r\n      let request = {\r\n        tipoDocumento: type,\r\n        nroDocumento: dni,\r\n        fechaNacimiento: format(birthDate, \"yyyy-MM-dd\"),\r\n      };\r\n      window.localStorage.setItem(\"tipoDocumento\", request.tipoDocumento);\r\n      window.localStorage.setItem(\"nroDocumento\", request.nroDocumento);\r\n      window.localStorage.setItem(\"fechaNacimiento\", request.fechaNacimiento);\r\n  \r\n      dispatch(verifyTypeOfUser(request));\r\n    }\r\n  };\r\n\r\n  const handleChangeDNIType = (e) => {\r\n    e.preventDefault();\r\n    const { name, value } = e.target;\r\n    setType(value);\r\n    validate(\r\n      name,\r\n      \"*Campo obligatorio\",\r\n      value,\r\n      setPersonalDataErrors,\r\n      personalDataErrors\r\n    );\r\n    setDni(\"\");\r\n    setCredential(\"\");\r\n    setPersonalDataErrors({\r\n      ...personalDataErrors,\r\n      document: campoObligatorio,\r\n      parameterType: \"\",\r\n    });\r\n  };\r\n\r\n  const handleChangeUserType = (e) => {\r\n    e.preventDefault();\r\n    const { name, value } = e.target;\r\n    setUserTypeSelection(value);\r\n    validate(\r\n      name,\r\n      \"*Campo obligatorio\",\r\n      value,\r\n      setAditionalDataErrors,\r\n      aditionalDataErrors\r\n    );\r\n    setEnrollment(\"\");\r\n    setCredential(\"\");\r\n    setAditionalDataErrors({\r\n      ...aditionalDataErrors,\r\n      userTypeSelection: \"\",\r\n      credential:\r\n        value == \"AFILIADO\" || value == \"AMBOS\" ? campoObligatorio : \"\",\r\n      enrollment: value == \"MEDICO\" || value == \"AMBOS\" ? campoObligatorio : \"\",\r\n    });\r\n  };\r\n\r\n  useEffect(() => {\r\n    if (userTypeValidation?.perfil?.trim()?.toUpperCase() === \"AMBOS\") {\r\n      setUserTypeSelection(\"AMBOS\");\r\n    }\r\n  }, [ userTypeValidation?.perfil]);\r\n\r\n\r\n  useEffect(() => {\r\n    if (birthDate == null || birthDate == \"Invalid Date\") {\r\n      setPersonalDataErrors({\r\n        ...personalDataErrors,\r\n        birthDate: \"*Fecha inválida\",\r\n      });\r\n    } else {\r\n      setPersonalDataErrors({\r\n        ...personalDataErrors,\r\n        birthDate: \"\",\r\n      });\r\n    }\r\n  }, [birthDate]);\r\n\r\n  const validateSpecialCaracters = (dniNumber) => {\r\n    if (type === \"DNI\") {\r\n      return validateOnlyNumbers(dniNumber);\r\n    } else {\r\n      return dniNumber?.match(/^[a-zA-Z0-9]*$/);\r\n    }\r\n  };\r\n\r\n  const validateOnlyNumbers = (credentialNumber) => {\r\n    return credentialNumber?.match(/^\\d*$/);\r\n  };\r\n\r\n  const handleChangeDNI = (e) => {\r\n    e.preventDefault();\r\n    setDni(e.target.value);\r\n  };\r\n\r\n  const handleOnBlurDNI = () => {\r\n    validate(\r\n      \"document\",\r\n      campoObligatorio,\r\n      dni,\r\n      setPersonalDataErrors,\r\n      personalDataErrors\r\n    );\r\n    type === \"DNI\" &&\r\n      dni?.length > 8 &&\r\n      setPersonalDataErrors({\r\n        ...personalDataErrors,\r\n        document: \"*El campo debe tener como máximo 8 caracteres\",\r\n      });\r\n    type !== \"DNI\" &&\r\n      dni?.length > 15 &&\r\n      setPersonalDataErrors({\r\n        ...personalDataErrors,\r\n        document: \"*El campo debe tener como máximo 15 caracteres\",\r\n      });\r\n    !validateSpecialCaracters(dni) &&\r\n      setPersonalDataErrors({\r\n        ...personalDataErrors,\r\n        document: \"El campo no debe tener carácteres especiales\",\r\n      });\r\n  };\r\n\r\n  const handleChangeCredential = (e) => {\r\n    e.preventDefault();\r\n    setCredential(e.target.value);\r\n  };\r\n\r\n  const handleOnBlurCredential = () => {\r\n    validate(\r\n      \"credential\",\r\n      campoObligatorio,\r\n      credential,\r\n      setAditionalDataErrors,\r\n      aditionalDataErrors\r\n    );\r\n    credential?.length > 40 &&\r\n      setAditionalDataErrors({\r\n        ...aditionalDataErrors,\r\n        credential: \"*El campo debe tener como máximo 40 caracteres\",\r\n      });\r\n    !validateOnlyNumbers(credential) &&\r\n      setAditionalDataErrors({\r\n        ...aditionalDataErrors,\r\n        credential: \"*El campo debe tener sólo números\",\r\n      });\r\n  };\r\n\r\n  const handleChangeEnrollment = (e) => {\r\n    e.preventDefault();\r\n    setEnrollment(e.target.value);\r\n  };\r\n\r\n  const handleOnBlurEnrollment = () => {\r\n    validate(\r\n      \"enrollment\",\r\n      campoObligatorio,\r\n      enrollment,\r\n      setAditionalDataErrors,\r\n      aditionalDataErrors\r\n    );\r\n    enrollment?.length > 6 &&\r\n      setAditionalDataErrors({\r\n        ...aditionalDataErrors,\r\n        enrollment: \"*El campo debe tener como máximo 6 números\",\r\n      });\r\n    !validateOnlyNumbers(enrollment) &&\r\n      setAditionalDataErrors({\r\n        ...aditionalDataErrors,\r\n        enrollment: \"*El campo debe tener sólo números\",\r\n      });\r\n  };\r\n\r\n  useEffect(() => {\r\n    let param = {};\r\n    param.Email = window.localStorage.getItem(\"email\");\r\n\r\n    dispatch(getDataRegisterUser(param));\r\n    setTypesDocument(listType);\r\n\r\n    if (history.location.pathname === \"/Register\") {\r\n      document.getElementById(\"root\").className = \"\";\r\n    } else {\r\n      document.getElementById(\"root\").className = \"content\";\r\n    }\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n    window.localStorage.setItem(\"registerFlag\", \"Registrando\");\r\n  }, []);\r\n\r\n  useEffect(() => {\r\n   \r\n    if (loading && registerReduxState?.registerUser?.confirmacion) {\r\n      let data = {\r\n        mail: window.localStorage.getItem(\"email\"),\r\n      };\r\n\r\n      const perfil = userTypeValidation?.perfil?.trim()?.toUpperCase();\r\n\r\n      if (\r\n        perfil === \"AFILIADO\" ||\r\n        (perfil === \"AFILIADO-MEDICO\" && credential)\r\n      ) {\r\n        dispatch(verifyRegister(data));\r\n      } else if (\r\n        perfil === \"AFILIADO-MEDICO\" ||\r\n        (perfil === \"MEDICO\" && !credential)\r\n      ) {\r\n        dispatch(verifyRegisterMedical(data));\r\n      }\r\n    }\r\n  }, [registerReduxState?.registerUser?.confirmacion, userTypeValidation?.perfil]);\r\n\r\n  useEffect(() => {\r\n    const { registerValidation, registerMedicalValidation } = registerReduxState || {};\r\n    const { dataUser } = registerReduxState || {};\r\n\r\n    const isRegistered =\r\n      loading &&\r\n      ((registerValidation?.confirmacion && registerValidation?.estado !== \"BAJA\") ||\r\n        (registerMedicalValidation?.confirmacion && registerMedicalValidation?.estado !== \"BAJA\"));\r\n\r\n    if (isRegistered) {\r\n      window.localStorage.setItem(\"registerFlag\", \"Registrado\");\r\n      window.localStorage.setItem(\"expired\", \"false\");\r\n      window.localStorage.setItem(\"dataUser\", dataUser?.dataUser);   \r\n      const numeroPersona = registerValidation?.numeroPersona || registerMedicalValidation?.numeroPersona;\r\n      if (numeroPersona) {\r\n        window.localStorage.setItem(\"numeroPersona\", numeroPersona);\r\n      }\r\n      const playerId = window.localStorage.getItem(\"playerId\");\r\n      const user = window.localStorage.getItem(\"email\");\r\n      const perfil = userTypeValidation?.perfil?.trim()?.toUpperCase();\r\n      const userDataCredential = registerReduxState?.dataUser.credential;\r\n\r\n      const userCredential = credential != \"\" ? credential : userDataCredential;\r\n\r\n      dispatch(updateTag({ user: user, playerId: playerId, action: \"LOGOUT\" }));\r\n\r\n      const showRedirectHome =\r\n        perfil === \"AFILIADO\" ||\r\n        ((perfil === \"AFILIADO-MEDICO\" && userCredential && !enrollment) || (perfil === \"AFILIADO-MEDICO\" && userCredential && enrollment));\r\n      const showRedirectMedicalProfile =\r\n        (perfil === \"AFILIADO-MEDICO\" && !userCredential) || perfil === \"MEDICO\";\r\n      if (showRedirectHome) {\r\n        window.location.replace(\"/\");\r\n      } else if (showRedirectMedicalProfile) {\r\n        window.location.replace(\"/MedicalProfile\");\r\n      }\r\n    }\r\n  }, [ registerReduxState?.registerValidation, registerReduxState?.registerMedicalValidation, userTypeValidation?.perfil]);\r\n\r\n  const handleLogout = () => {\r\n    setErrorMessageModal(false);\r\n    setLoading(false)\r\n    \r\n  };\r\n\r\n  useEffect(() => {\r\n    if (errorMessage?.length > 0) {\r\n      setErrorMessageModal(true);\r\n      setIsPersonalDataExpanded(true); \r\n      setIsAditionalDataExpanded(false); \r\n      setEditDateBirth(true); \r\n      setLoading(false)\r\n\r\n\r\n      if (personalDataRef.current) {\r\n        personalDataRef.current.scrollIntoView({ behavior: \"smooth\" }); \r\n      }\r\n    } else {\r\n      setErrorMessageModal(false); \r\n      setEditDateBirth(false); \r\n\r\n    }\r\n  }, [errorMessage]);\r\n\r\n\r\n\r\n\r\n  useEffect(() => {\r\n    const mail = window.localStorage.getItem(\"email\");\r\n\r\n    if (userData !== null) {\r\n      let data = {\r\n        mail: mail,\r\n      };\r\n      if (userData !== \"\") {\r\n        dispatch(verifyRegister(data));\r\n        dispatch(verifyTypeOfUser(data));\r\n      } else {\r\n        setLoading(false);\r\n      }\r\n    }\r\n  }, [userData]);\r\n\r\n  useEffect(() => {\r\n    if (!registerReduxState?.isLoading && !initialLoad) {\r\n      setTimeout(() => {\r\n        setLoading(false);\r\n      }, 2000);\r\n    }\r\n    setInitialLoad(false);\r\n  }, [registerReduxState?.isLoading]);\r\n\r\n  const logoToReturn = () => {\r\n    let logoToShow;\r\n    if (screen.sWidth > 920) {\r\n      logoToShow = (\r\n        <img\r\n          src={Logo}\r\n          alt=\"logo Luis Pasteur\"\r\n          className={classes.logoPageLogin}\r\n          style={{ marginRight: screen.sWidth > 768 && \"25%\" }}\r\n        />\r\n      );\r\n    } else {\r\n      logoToShow = (\r\n        <img\r\n          src={whiteLogo}\r\n          alt=\"logo Luis Pasteur\"\r\n          style={{\r\n            width: screen.sWidth > 768 ? \"40%\" : \"60%\",\r\n            position: \"absolute\",\r\n            top: \"0\",\r\n            right: screen.sWidth > 768 ? \"30%\" : \"22%\",\r\n          }}\r\n        />\r\n      );\r\n    }\r\n    return logoToShow;\r\n  };\r\n\r\n  const showLoginError = () => {\r\n    return (\r\n      <Dialog\r\n        escapeKeyDown={true}\r\n        backdropClick={true}\r\n        aria-labelledby=\"customized-dialog-title\"\r\n        open={loginValidation}\r\n        id=\"modalTurn\"\r\n      >\r\n        <Box id=\"cancelModal\">\r\n          <div style={{ padding: \"9px 24p !important\" }}>\r\n            <DialogTitle\r\n              id=\"customized-dialog-title\"\r\n              style={{\r\n                backgroundColor: \"#F65656\",\r\n                textAlign: \"center\",\r\n                color: \"#FFF\",\r\n              }}\r\n            >\r\n              <CancelIcon\r\n                className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`}\r\n              />\r\n            </DialogTitle>\r\n            <DialogContent\r\n              style={{\r\n                backgroundColor: \"#FFF\",\r\n                textAlign: \"center\",\r\n                margin: \"15px\",\r\n              }}\r\n            >\r\n              <Typography\r\n                variant=\"h5\"\r\n                component=\"div\"\r\n                sx={{\r\n                  color: \"#505152\",\r\n                  fontWeight: \"bold\",\r\n                  marginBottom: \"10px\",\r\n                }}\r\n              >\r\n                Atención!\r\n              </Typography>\r\n              <Typography\r\n                variant=\"subtitle1\"\r\n                component=\"div\"\r\n                sx={{ color: \"#505152\" }}\r\n              >\r\n                {loginValidation?.mensajes?.[0]}\r\n              </Typography>\r\n            </DialogContent>\r\n          </div>\r\n        </Box>\r\n      </Dialog>\r\n    );\r\n  };\r\n\r\n  const renderCredentialInput = () => {\r\n    return (\r\n      <>\r\n        <FormControl className={` ${classes.inputLogin} `} variant=\"standard\">\r\n          <CustomizedInputs\r\n            name=\"credential\"\r\n            label=\"NUMERO DE CREDENCIAL\"\r\n            value={credential}\r\n            onChange={handleChangeCredential}\r\n            onBlur={handleOnBlurCredential}\r\n          />\r\n        </FormControl>\r\n        <FormHelperText\r\n          style={{\r\n            marginTop: \"5px\",\r\n            color: screen.sWidth < 960 ? \"white\" : \"#00000099\",\r\n          }}\r\n          className={` ${classes.registerHelperText} `}\r\n        >\r\n          Son 11 números sin espacios, agregá ceros adelante si tenés menos\r\n        </FormHelperText>\r\n        <FormHelperText className={` ${classes.registerErrorText} `}>\r\n          {aditionalDataErrors?.credential}\r\n        </FormHelperText>\r\n      </>\r\n    );\r\n  };\r\n\r\n  const renderEnrollmentInput = () => {\r\n    return (\r\n      <>\r\n        <FormControl className={` ${classes.inputLogin} `} variant=\"standard\">\r\n          <CustomizedInputs\r\n            name=\"enrollment\"\r\n            label=\"NUMERO DE MATRICULA\"\r\n            value={enrollment}\r\n            onChange={handleChangeEnrollment}\r\n            onBlur={handleOnBlurEnrollment}\r\n          />\r\n        </FormControl>\r\n        <FormHelperText\r\n          style={{\r\n            marginTop: \"5px\",\r\n            color: screen.sWidth < 960 ? \"white\" : \"#00000099\",\r\n          }}\r\n          className={` ${classes.registerHelperText} `}\r\n        >\r\n          Max 6 números sin espacios\r\n        </FormHelperText>\r\n        <FormHelperText className={` ${classes.registerErrorText} `}>\r\n          {aditionalDataErrors?.enrollment}\r\n        </FormHelperText>\r\n      </>\r\n    );\r\n  };\r\n\r\n  const renderInputsBasedOnUserType = () => {\r\n    switch (userTypeSelection) {\r\n      case \"AFILIADO\":\r\n        return renderCredentialInput();\r\n\r\n      case \"MEDICO\":\r\n        return renderEnrollmentInput();\r\n\r\n      case \"AFILIADO-MEDICO\":\r\n        return (\r\n          <>\r\n            {renderCredentialInput()}\r\n            {renderEnrollmentInput()}\r\n          </>\r\n        );\r\n\r\n      default:\r\n        return null;\r\n    }\r\n  };\r\n\r\n  const aditionalDataToShow = (typeOfUser) => {\r\n    let component;\r\n\r\n    if (typeOfUser == \"AFILIADO\") {\r\n      component = renderCredentialInput();\r\n    }\r\n\r\n    if (typeOfUser == \"MEDICO\") {\r\n      component = renderEnrollmentInput();\r\n    }\r\n\r\n    if (typeOfUser == \"AFILIADO-MEDICO\") {\r\n      component = (\r\n        <>\r\n          <FormControl\r\n            className={`${classes.inputLogin} ${classes.formControlCustomSelect} ${classes.formControlDatePicker}`}\r\n            variant=\"standard\"\r\n          >\r\n            <CustomSelect\r\n              className={`${classes.selectDniLogin}`}\r\n              name=\"userTypeList\"\r\n              customRequired={true}\r\n              list={userTypeList}\r\n              selected={userTypeSelection}\r\n              onChange={handleChangeUserType}\r\n              label=\"ELEGI UNA OPCION\"\r\n            />\r\n          </FormControl>\r\n          <FormHelperText className={` ${classes.registerErrorText} `}>\r\n            {aditionalDataErrors?.userTypeSelection}\r\n          </FormHelperText>\r\n          {renderInputsBasedOnUserType()}\r\n        </>\r\n      );\r\n    }\r\n\r\n    return component;\r\n  };\r\n\r\n  return (\r\n    <>\r\n      {loading || loginValidation?.estado !== undefined ? (\r\n        <div\r\n          className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}\r\n        >\r\n          <TransitionGroup>\r\n            <CSSTransition timeout={500} classNames={{ ...loading }}>\r\n              <Suspense fallback={<LoadingPage />}></Suspense>\r\n            </CSSTransition>\r\n          </TransitionGroup>\r\n        </div>\r\n      ) : (\r\n        <>\r\n          <div className={`${classes.root}`}>\r\n            <Grid container className={`${classes.contentRegister}`}>\r\n              <Grid item md={6} className={`${classes.marginn0}`}>\r\n                <img\r\n                  src={Img}\r\n                  className={`${classes.registerImg}`}\r\n                  alt=\"Obra Social Luis Pasteur\"\r\n                />\r\n              </Grid>\r\n              <Grid\r\n                item\r\n                md={6}\r\n                className={`${classes.boxUsefulPhones} ${classes.boxUsefulPhones2}`}\r\n              >\r\n                <div\r\n                  style={{\r\n                    display: \"flex\",\r\n                    justifyContent: \"space-between\",\r\n                    alignItems: \"center\",\r\n                  }}\r\n                >\r\n                  <IconButton\r\n                    color=\"inherit\"\r\n                    maria-label=\"open drawer\"            \r\n                    edge=\"start\"\r\n                    className={clsx(classes.homeRegisterButton, open)}\r\n                  >\r\n                    <HomeIcon />\r\n                  </IconButton>\r\n                  {logoToReturn()}\r\n                </div>\r\n                <Typography\r\n                  className={classes.registerTitle}\r\n                  style={{ marginTop: screen.sWidth >= 768 ? \"5px\" : \"\" }}\r\n                >\r\n                  Crear Cuenta\r\n                </Typography>\r\n                <section style={{ padding: \"5px\" }}>\r\n                  <Accordion\r\n                    ref={personalDataRef} \r\n                    sx={{ boxShadow: \"none\", backgroundColor: \"transparent\" }}\r\n                    expanded={isPersonalDataExpanded}\r\n                    onChange={handlePersonalDataChange}\r\n                  >\r\n                    <AccordionSummary\r\n                      expandIcon={\r\n                        <ExpandMoreIcon\r\n                          sx={{ color: screen.sWidth < 960 && \"#fff\" }}\r\n                        />\r\n                      }\r\n                      aria-controls=\"panel1a-content\"\r\n                      id=\"panel1a-header\"\r\n                    >\r\n                      <Typography sx={{ color: screen.sWidth < 960 && \"#fff\" }}>\r\n                        DATOS PERSONALES\r\n                      </Typography>\r\n                    </AccordionSummary>\r\n                    <AccordionDetails>\r\n                      <Grid>\r\n                        <FormControl\r\n                          className={`${classes.inputLogin} ${classes.formControlCustomSelect} ${classes.formControlDatePicker}`}\r\n                          variant=\"standard\"\r\n                        >\r\n                          <CustomSelect\r\n                            className={`${classes.selectDniLogin}`}\r\n                            name=\"parameterType\"\r\n                            customRequired={true}\r\n                            list={typesDocument}\r\n                            selected={type}\r\n                            onChange={handleChangeDNIType}\r\n                            label=\"TIPO DE DOCUMENTO\"\r\n                            disabled={showAditionalDataAccordion ? true : false}\r\n                          />\r\n                        </FormControl>\r\n                        <FormHelperText\r\n                          className={` ${classes.registerErrorText} `}\r\n                        >\r\n                          {personalDataErrors?.parameterType}\r\n                        </FormHelperText>\r\n                        <FormControl\r\n                          className={`${classes.inputLogin}`}\r\n                          variant=\"standard\"\r\n                        >\r\n                          <CustomizedInputs\r\n                            name=\"document\"\r\n                            type=\"text\"\r\n                            label=\"NUMERO DE DOCUMENTO\"\r\n                            value={dni}\r\n                            onChange={handleChangeDNI}\r\n                            onBlur={handleOnBlurDNI}\r\n                            disabled={showAditionalDataAccordion ? true : false}\r\n                          />\r\n                        </FormControl>\r\n                        <FormHelperText\r\n                          style={{\r\n                            marginTop: \"5px\",\r\n                            color: screen.sWidth < 960 ? \"white\" : \"#00000099\",\r\n                          }}\r\n                          className={` ${classes.registerHelperText} `}\r\n                        >\r\n                          {type === \"DNI\" || type === \"\"\r\n                            ? \"Son máximo 8 números sin espacios ni puntos\"\r\n                            : \"Son máximo 15 caracteres sin espacios ni puntos\"}\r\n                        </FormHelperText>\r\n                        <FormHelperText\r\n                          className={` ${classes.registerErrorText} `}\r\n                        >\r\n                          {personalDataErrors?.document}\r\n                        </FormHelperText>\r\n\r\n                        <FormControl\r\n                          className={`${classes.inputLogin} ${classes.formControlDatePicker}`}\r\n                          variant=\"standard\"\r\n                        >\r\n                          <CustomDatePicker\r\n                            onChange={setbirthDate}\r\n                            customRequired={true}\r\n                            value={birthDate}\r\n                            label=\"FECHA DE NACIMIENTO\"\r\n                            disable={!editDateBirth && showAditionalDataAccordion ? true : false}\r\n                          />\r\n                        </FormControl>\r\n                        <FormHelperText\r\n                          className={` ${classes.registerErrorText} `}\r\n                        >\r\n                          {personalDataErrors?.birthDate}\r\n                        </FormHelperText>\r\n                      </Grid>\r\n                    </AccordionDetails>\r\n                  </Accordion>\r\n\r\n                  {showAditionalDataAccordion && (\r\n                    <Accordion\r\n                      sx={{ boxShadow: \"none\", backgroundColor: \"transparent\" }}\r\n                      expanded={isAditionalDataExpanded}\r\n                      onChange={handleAditionalDataChange}\r\n                    >\r\n                      <AccordionSummary\r\n                        expandIcon={\r\n                          <ExpandMoreIcon\r\n                            sx={{ color: screen.sWidth < 960 && \"#fff\" }}\r\n                          />\r\n                        }\r\n                        aria-controls=\"panel1a-content\"\r\n                        id=\"panel1a-header\"\r\n                      >\r\n                        <Typography\r\n                          sx={{ color: screen.sWidth < 960 && \"#fff\" }}\r\n                        >\r\n                          DATOS ADICIONALES\r\n                        </Typography>\r\n                      </AccordionSummary>\r\n                      <AccordionDetails>\r\n                        {aditionalDataToShow(\r\n                          userTypeValidation?.perfil?.trim()\r\n                        )}\r\n                      </AccordionDetails>\r\n                    </Accordion>\r\n                  )}\r\n                </section>\r\n\r\n                <Grid className={classes.flexRowBtnLogin}>\r\n                  {!showAditionalDataAccordion ? (\r\n                    <CustomButton\r\n                      title=\"VALIDAR\"\r\n                      disabled={!isPersonalDataValidForm()}\r\n                      customClass={`${classes.lightLinearGradient}`}\r\n                      onClick={handleVerifyTypeOfUser}\r\n                      style={{\r\n                        marginTop: \"15px\",\r\n                        fontSize: \"12px\",\r\n                        padding: \"9px 12px\",\r\n                      }}\r\n                    />\r\n                  ) : (\r\n                    <CustomButton\r\n                      title=\"CREAR CUENTA\"\r\n                      disabled={!isAditionalDataValidForm()}\r\n                      customClass={`${classes.lightLinearGradient}`}\r\n                      onClick={handleRegister}\r\n                      style={{\r\n                        marginTop: \"15px\",\r\n                        fontSize: \"12px\",\r\n                        padding: \"9px 12px\",\r\n                      }}\r\n                    />\r\n                  )}\r\n                </Grid>\r\n              </Grid>\r\n            </Grid>\r\n          </div>\r\n\r\n         \r\n        </>\r\n      )}\r\n\r\n      {showMessageModal(\r\n        errorMessage,\r\n        errorMessageModal,\r\n        setErrorMessageModal,\r\n        classes.borderWhite,\r\n        classes.quickAccessIcon,\r\n        classes.contentDialogTitle,\r\n        handleLogout\r\n      )}\r\n\r\n      {\r\n        <Portal>\r\n          {registerReduxState?.isLoading ? (\r\n            <Backdrop\r\n              sx={{ color: \"#0075C9\", zIndex: 9999 }}\r\n              open={registerReduxState?.isLoading}\r\n            >\r\n              <CircularProgress color=\"inherit\" />\r\n            </Backdrop>\r\n          ) : null}\r\n        </Portal>\r\n      }\r\n    </>\r\n  );\r\n};\r\n\r\nexport default Register;\r\n","import useStyles from \"../../assets/styles/styles\";\r\nimport { useEffect, useState } from 'react';\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport { FormControl, FormHelperText, CircularProgress } from \"@material-ui/core\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport ConfirmModal from \"../PersonalData/ConfirmModal\";\r\nimport { postContactUs } from \"../../redux/actions/contactUsActions\";\r\nimport LineBreakInput from \"../../controls/InputCustom/LineBreakInput\";\r\nimport { Typography } from '@mui/material'\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nconst ContactUs = () => {\r\n    const classes = useStyles();\r\n    const [open, setOpen] = useState(false);\r\n    const dispatch = useDispatch();\r\n    const [error, setError] = useState({});\r\n    const [zoneSelected, setZoneSelected] = useState('');\r\n    const [centerSelected, setCenterSelected] = useState('');\r\n    const [listZone, setListZone] = useState([]);\r\n    const [listCenters, setListCenters] = useState([{ value: '', label: '' }]);\r\n    const sedesSelector = useSelector(state => state.sedesReducer?.sedes);\r\n    const contactUsReducer = useSelector(state => state.contactUsReducer?.contactUs);\r\n    const personalDataReduxState = useSelector(state => state.personalDataReducer);\r\n    const [loading, setLoading] = useState(false);\r\n    const [model, setModel] = useState({\r\n        numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\")),\r\n        mailContacto: window.localStorage.getItem('email')\r\n    });\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [list, setList] = useState([{ value: '0', label: 'EMAIL' }]);\r\n    const [counterLength, setCounterLength] = useState(0);\r\n    const { screen } = useResizeScreen();\r\n\r\n    const handleChangeSelect = () => e => {\r\n        const { value } = e.target;\r\n        setZoneSelected(value);\r\n        setCenterSelected(undefined);\r\n        setModel({ ...model, sector: undefined, zone: undefined });\r\n    };\r\n\r\n    const handleChangeSelectCenter = () => e => {\r\n        const { value } = e.target;\r\n        setCenterSelected(value);\r\n        setModel({ ...model, sector: value });\r\n    };\r\n\r\n    const handleChangeInput = () => e => {\r\n        const { value } = e.target;\r\n        if (value.length <= 200) {\r\n        setModel({ ...model, consulta: value });\r\n        setCounterLength(value.length);\r\n    };\r\n    };\r\n\r\n    const handleChangeSelectZone = () => e =>{\r\n        const { value } = e.target;\r\n        setZoneSelected(value);\r\n        setModel({ ...model, zone: value });\r\n    }\r\n\r\n    const handleSubmit = (e) => {\r\n        e.preventDefault();\r\n        setLoading(true);\r\n        setOpen(prevState => !prevState);\r\n        if (validateForm(model)) {\r\n            dispatch(postContactUs(model));\r\n        }\r\n    };\r\n\r\n    function validateForm(object) {\r\n        let temp = object;\r\n        let aux = {};\r\n        let validation = [];\r\n        let Obj = {};\r\n        Obj.consulta = temp.consulta ? '' : '*Campo obligatorio';\r\n        Obj.zone = temp.zone ? \"\" : \"*Campo obligatorio\";\r\n        Obj.sector = temp.sector ? '' : '*Campo obligatorio';\r\n        aux = Obj;\r\n        if (Object.values(aux).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n        setError(aux);\r\n        return Object.values(validation).every((valid) => valid === true);\r\n    }\r\n\r\n    useEffect(() => {\r\n        setError({\r\n            ...error,\r\n            consulta: model?.consulta?.length > 0 ? '' : '*Campo obligatorio',\r\n            sector: model?.sector?.length > 0 ? '' : '*Campo obligatorio',\r\n            zone: model?.zone?.length > 0 ? \"\" : \"*Campo obligatorio\"\r\n        });\r\n    }, [model?.consulta, model?.sector, model?.zone])\r\n\r\n    useEffect(() => {\r\n        if (personalDataReduxState?.fullData?.afiliado !== undefined) {\r\n            let aux = [{ value: 0, label: personalDataReduxState?.fullData?.afiliado?.mails[0]?.mail }];\r\n            setList(aux);\r\n        }\r\n    }, [personalDataReduxState?.fullData]);\r\n\r\n    useEffect(() => {\r\n        let aux = sedesSelector?.filter((ele, ind) => ind === sedesSelector?.findIndex(elem => elem.zone === ele.zone)).map((item, i) => {\r\n            return (\r\n                {\r\n                    value: i,\r\n                    label: item?.zone?.toUpperCase()\r\n                }\r\n            );\r\n        });\r\n        setListZone(aux);\r\n    }, [sedesSelector]);\r\n\r\n    useEffect(() => {\r\n        let auxCenter = listZone?.filter(x => x.value == zoneSelected);\r\n        let centers = sedesSelector?.filter(x => x.zone?.toUpperCase() == auxCenter?.[0]?.label)?.map((item, i) => {\r\n            return {\r\n                value: i,\r\n                label: item?.name?.toUpperCase()\r\n            };\r\n        });\r\n        var centersList = {};\r\n        centers = centers.filter(function (current) {\r\n            var exists = !centersList[current.label];\r\n            centersList[current.label] = true;\r\n            return exists;\r\n        });\r\n        centers = centers.filter(x => !(x.label.toUpperCase().includes(\"CENTRAL\")));\r\n        if(zoneSelected == 1) {\r\n            centers = centers.filter(x => !(x.label.toUpperCase().includes(\"RAMOS\")));\r\n            centers = centers.filter(x => !(x.label.toUpperCase().includes(\"LOMAS\")));\r\n            centers = centers.filter(x => !(x.label.toUpperCase().includes(\"MARTINEZ\")));\r\n        }\r\n\r\n        let excludeDuplicatedCenters = centers?.reduce((accumulator, center) => {\r\n            let duplicated = accumulator?.some(item => item?.label?.toUpperCase() == center?.label?.toUpperCase());\r\n\r\n            if (!duplicated) {\r\n              accumulator?.push(center);\r\n            }\r\n\r\n            return accumulator;\r\n          }, []);\r\n\r\n        setListCenters(excludeDuplicatedCenters);\r\n    }, [zoneSelected]);\r\n\r\n    useEffect(() => {\r\n        let auxCenter = listCenters?.filter(x => x.value == centerSelected);\r\n        setModel({ ...model, \"sector\": auxCenter[0]?.label });\r\n    }, [centerSelected]);\r\n\r\n    useEffect(() => {\r\n        let auxZone = listZone?.filter(x => x.value == zoneSelected);\r\n        setModel({ ...model, \"zone\": auxZone[0]?.label });\r\n    }, [zoneSelected]);\r\n\r\n\r\n    useEffect(() => {\r\n        if (contactUsReducer?.confirmacion) {\r\n            setModalTitle('SE HA ENVIADO CON EXITO');\r\n            setModalDescription(contactUsReducer?.mensajes?.[0]?.mensaje ?? 'Tendrá un tiempo máximo de 72 horas hábiles.');\r\n            setModalIcon(<CheckCircleOutlineIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass('');\r\n            setLoading(false);\r\n            setTimeout(() => { window.location.reload(); }, 3000);\r\n        }\r\n        else if (!contactUsReducer?.confirmacion && contactUsReducer?.confirmacion != undefined) {\r\n            setModalTitle('Ocurrió un error');\r\n            setModalDescription(contactUsReducer?.mensajes?.[0]?.mensaje ?? 'Ocurrió un error al enviar los datos.');\r\n            setModalIcon(<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />);\r\n            setErrorClass(classes.backgroundError);\r\n            setLoading(false);\r\n            setTimeout(() => { window.location.reload(); }, 3000);\r\n        }\r\n    }, [contactUsReducer?.confirmacion]);\r\n\r\n    function enableButton() {\r\n        return Object.values(error).every((x) => x === '') ? false : true;\r\n    }\r\n\r\n    const consultation = ({ sWidth }) => (\r\n        <span style={{ marginLeft: sWidth < 768 ? \"-5px\" : \"-5px\" }}>CONSULTA</span>\r\n    );\r\n\r\n\r\n    return (\r\n        <>\r\n            <form onSubmit={handleSubmit} className={classes.contactForm} style={{ paddingTop: '30px' }}>\r\n                {listZone.length > 0 ?\r\n                    <>\r\n                        <FormControl className={`${classes.contactFormControl} ${classes.formControlChronicMedicationForm} ${classes.formContactUs}`} variant=\"standard\">\r\n                            <CustomSelect\r\n                                label=\"ZONA\"\r\n                                name=\"zone\"\r\n                                list={listZone}\r\n                                selected={zoneSelected}\r\n                                onChange={handleChangeSelectZone()}\r\n                            />\r\n                            < FormHelperText className={classes.errorText}>{error?.zone}</FormHelperText>\r\n\r\n                        </FormControl>\r\n                        <FormControl className={`${classes.contactFormControl} ${classes.formControlChronicMedicationForm} ${classes.formContactUs}`} variant=\"standard\">\r\n                            <CustomSelect\r\n                                label=\"CENTRO MEDICO / SUCURSAL\"\r\n                                name=\"sector\"\r\n                                list={listCenters}\r\n                                selected={centerSelected}\r\n                                onChange={handleChangeSelectCenter()}\r\n                            />\r\n                            < FormHelperText className={classes.errorText}>{error?.sector}</FormHelperText>\r\n                        </FormControl>\r\n                        <FormControl className={`${classes.contactFormControl} ${classes.formControlChronicMedicationForm} ${classes.formContactUs}`} variant=\"standard\">\r\n                            <CustomSelect\r\n                                label=\"EMAIL\"\r\n                                name=\"mailContacto\"\r\n                                placeholder='EMAIL'\r\n                                list={list}\r\n                                selected={list[0]?.value}\r\n                                disabled={true}\r\n                            />\r\n                        </FormControl>\r\n                        <FormControl className={`${classes.contactFormControl} ${classes.formControlChronicMedicationForm} `} variant=\"standard\" style={{marginTop:\"10px\"}}>\r\n                            <LineBreakInput\r\n                                label={consultation(screen)}\r\n                                name=\"consulta\"\r\n                                placeholder='Escribe tu texto aqui'\r\n                                onChange={handleChangeInput()}\r\n                                multiline\r\n                                rows={6}\r\n                                inputProps={{ maxLength: 200 }}\r\n                            />\r\n                            < FormHelperText className={classes.errorText}>{error?.consulta}</FormHelperText>\r\n                            <Typography variant=\"caption\" style={{position: \"absolute\", marginTop: screen.sWidth < 768 ? \"180px\" : \"190px\", marginLeft: screen.sWidth < 768 ? \"250px\" : \"460px\"}}>{counterLength}/200</Typography>\r\n                        </FormControl>\r\n                        <CustomButton\r\n                            customClass={`${classes.btnNewWeigth} ${classes.lightLinearGradient} `}\r\n                            title='Enviar' onClick={handleSubmit}\r\n                            disabled={enableButton()}\r\n                            style={{marginTop: \"20px\"}}\r\n                        />\r\n                    </>\r\n                    :\r\n                    (<div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                        <CircularProgress />\r\n                    </div>)\r\n                }\r\n                < ConfirmModal isOpen={open} setOpen={setOpen} errorClass={errorClass}\r\n                    titleModal={\r\n                        loading ?\r\n                            <>\r\n                                <span>Espere un momento...</span>\r\n                            </>\r\n                            :\r\n                            <>\r\n                                <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    {modalIcon}\r\n                                </div>\r\n                                <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                    {modalTitle}\r\n                                </div>\r\n                            </>\r\n                    }\r\n                    description={\r\n                        loading ?\r\n                            <div style={{ display: \"flex\", justifyContent: \"center\", paddingTop: '30px' }}>\r\n                                <CircularProgress color={'inherit'} />\r\n                            </div>\r\n                            :\r\n                            modalDescription\r\n                    }\r\n                />\r\n            </form>\r\n        </>\r\n    );\r\n};\r\nexport default ContactUs;","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\n/**acciones que se disparan del componente */\r\nexport function postContactUs(param) {\r\n  return {\r\n    type: actionTypes.POST_CONTACT_US,\r\n    payload: param,\r\n  };\r\n}","import Menu from \"../../components/Menu/Menu\";\r\nimport { useEffect, useLayoutEffect, useState } from 'react';\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport ContactUs from '../../components/ContactUs/ContactUs';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getHeadquaters } from \"../../redux/actions/sedesActions\";\r\nimport { getFullData } from \"../../redux/actions/personalDataActions\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst ContactUsPage = () => {\r\n    const dispatch = useDispatch();\r\n    const trackPageView = useTrackPageView(\"Contactanos\");\r\n    const userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n    const affiliatePlanDescription = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n    }, []);\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlanDescription, \"Contáctanos\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlanDescription, hasPermission]);\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n        dispatch(getHeadquaters())\r\n        dispatch(getFullData({numeroPersona: userCode}))\r\n    }, [])\r\n\r\n    return (\r\n        <>\r\n            {\r\n            <>\r\n                <Menu />\r\n                <Header title='Contactanos' />\r\n                {\r\n                    !hasPermission ?\r\n                    notAccessToThisModule()\r\n                :\r\n                    <ContactUs />\r\n                }\r\n            </>\r\n        }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default ContactUsPage;\r\n\r\n","import React, { useState } from \"react\";\r\nimport { Divider, IconButton, Typography } from \"@material-ui/core\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport useStyles from '../../assets/styles/styles';\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport { selectNotification, modifyNotification  } from \"../../redux/actions/notificationsActions\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport {useResizeScreen} from \"../../hooks/useResizeScreen\";\r\n\r\nconst NotificationDetail = () => {\r\n\r\n    const notificationSelected = useSelector(state => state.notificationReducer.notificationSelected);\r\n    const history = useHistory();\r\n    const dispatch = useDispatch();\r\n    const {screen} = useResizeScreen();\r\n    const classes = useStyles();\r\n    const [favorite, setFavorite] = useState(notificationSelected?.favourite);\r\n\r\n    const handlClickFavorite = (e) => {\r\n        e.preventDefault();\r\n        let notificationArray = [];\r\n        notificationArray.push(notificationSelected);\r\n        let newNotification = notificationArray?.map(item => {\r\n            return { ...item, favourite: !item.favourite };\r\n        });\r\n        dispatch(selectNotification(newNotification[0]));       \r\n        dispatch(modifyNotification(newNotification[0]));\r\n        setFavorite(prevState => !prevState);\r\n    };\r\n    const isFavorite = () => {\r\n        let response = '';\r\n        if (favorite) {\r\n            response = classes.iconDestacate;\r\n        }\r\n        return response;\r\n    };\r\n\r\n    const showDate = () => {\r\n        return (\r\n            <Typography style={{ fontSize: '16px', display: 'flex', alignItems: 'center' }} >{new Date(notificationSelected?.message?.createDate?.split('T')[0])?.toLocaleDateString()}</Typography> \r\n        );\r\n    } \r\n\r\n    return (\r\n        <>\r\n            <div style={{ padding: '3%' }}>\r\n                <section style={{ display: 'flex', justifyContent: 'space-between', flex: '1 1 100%', marginBottom: '20px' }}>\r\n                    <IconButton onClick={() => history.push('/AllNotifications')}>\r\n                        <ArrowBackIcon className={classes.iconFilter} />\r\n                    </IconButton>\r\n                    <div style={{ display: 'flex', alignItems: 'center' }}>\r\n                        {screen.sWidth < 768 && showDate()}\r\n                    </div>\r\n                    <IconButton onClick={handlClickFavorite}>           \r\n                        <Typography className={`${classes.txtSubtitle}`} style={{ fontSize: '11px', fontWeight: 'bold' }}>\r\n                            AGREGAR DESTACADO\r\n                        </Typography>\r\n                        <StarIcon className={isFavorite()} style={{ margin: '0 auto', fontSize: '1rem', marginTop: \"-4px\", marginLeft: \"5px\" }} />\r\n                    </IconButton>\r\n                </section>\r\n                <article style={{ margin: screen.sWidth > 768 ? '5px' : '10px' }}>\r\n                    <div style={{ display: 'flex', flex: '1 1 100%', justifyContent: 'space-between', paddingBottom: '1%', marginLeft: screen.sWidth > 768 ? '10px' : '5px' }}>\r\n                        <Typography className={`${classes.mainTitle} ${classes.txtSubtitle}`} style={{ fontSize: '22px' }} >{notificationSelected?.message?.title}</Typography>\r\n                       {screen.sWidth > 768 && showDate()}\r\n                    </div>\r\n                    <Divider />\r\n                    <div style={{ margin: '0 auto' }}>\r\n                        <Typography style={{ fontSize: '14px', display: 'flex', flex: '1 1 100%', fontWeight: 'bold', padding: '1%' }} >Descripción: </Typography>\r\n                        <div style={{ fontSize: '14px', padding: '1%', display: 'flex', flex: '1 1 100%' }} dangerouslySetInnerHTML={{ __html: notificationSelected?.message?.content }} />\r\n\r\n                    </div>\r\n                    <section style={{ display: 'flex', justifyContent: 'flex-start', flex: '1 1 100%' }}>\r\n                    {notificationSelected?.message?.module !== '' && (\r\n                        <Typography style={{ fontSize: '14px', display: 'flex', flex: '1 1 100%', fontWeight: 'bold', padding: '1%' }} >Este es un mensaje de: {notificationSelected?.message?.module} </Typography>\r\n                    )}\r\n                        </section>\r\n                    {notificationSelected?.image &&\r\n                        <aside style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\r\n                            <img style={{ display: 'flex', minWidth: '200px', width: '50%' }} src={notificationSelected?.message?.image} alt='imgNotificacion' />\r\n                        </aside>\r\n                    }\r\n                </article>\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default NotificationDetail;","import React, { useState } from \"react\";\r\nimport { Divider, IconButton, Typography } from \"@material-ui/core\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport useStyles from '../../assets/styles/styles';\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport { selectNotification, modifyNotification  } from \"../../redux/actions/notificationsActions\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport {useResizeScreen} from \"../../hooks/useResizeScreen\";\r\nimport { selectCommunication, modifyCommunication } from \"../../redux/actions/communicatedAction\";\r\n\r\nconst CommunicationDetail = () => {\r\n\r\n    const communicationSelected = useSelector(state => state.notificationReducer.notificationSelected);\r\n    const history = useHistory();\r\n    const dispatch = useDispatch();\r\n    const {screen} = useResizeScreen();\r\n    const classes = useStyles();\r\n    const [favorite, setFavorite] = useState(communicationSelected?.favourite);\r\n\r\n    const handlClickFavorite = (e) => {\r\n        e.preventDefault();\r\n        let communicationArray = [];\r\n        communicationArray.push(communicationSelected);\r\n        let newCommunication = communicationArray?.map(item => {\r\n            return { ...item, favourite: !item.favourite };\r\n        });\r\n        dispatch(selectNotification(newCommunication[0]));       \r\n        dispatch(modifyNotification(newCommunication[0]));\r\n        setFavorite(prevState => !prevState);\r\n    };\r\n    const isFavorite = () => {\r\n        let response = '';\r\n        if (favorite) {\r\n            response = classes.iconDestacate;\r\n        }\r\n        return response;\r\n    };\r\n\r\n    const showDate = () => {\r\n        return (\r\n            <Typography style={{ fontSize: '16px', display: 'flex', alignItems: 'center' }} >{new Date(communicationSelected?.createdDate?.split('T')[0])?.toLocaleDateString()}</Typography> \r\n        );\r\n    } \r\n\r\n    return (\r\n        <>\r\n            <div style={{ padding: '3%' }}>\r\n                <section style={{ display: 'flex', justifyContent: 'space-between', flex: '1 1 100%', marginBottom: '20px' }}>\r\n                    <IconButton onClick={() => history.push('/AllCommunications')}>\r\n                        <ArrowBackIcon className={classes.iconFilter} />\r\n                    </IconButton>\r\n                    <div style={{ display: 'flex', alignItems: 'center' }}>\r\n                        {screen.sWidth < 768 && showDate()}\r\n                    </div>\r\n                    <IconButton onClick={handlClickFavorite}>           \r\n                        <Typography className={`${classes.txtSubtitle}`} style={{ fontSize: '11px', fontWeight: 'bold' }}>\r\n                            AGREGAR DESTACADO\r\n                        </Typography>\r\n                        <StarIcon className={isFavorite()} style={{ margin: '0 auto', fontSize: '1rem', marginTop: \"-4px\", marginLeft: \"5px\" }} />\r\n                    </IconButton>\r\n                </section>\r\n                <article style={{ margin: screen.sWidth > 768 ? '5px' : '10px' }}>\r\n                    <div style={{ display: 'flex', flex: '1 1 100%', justifyContent: 'space-between', paddingBottom: '1%', marginLeft: screen.sWidth > 768 ? '10px' : '5px' }}>\r\n                        <Typography className={`${classes.mainTitle} ${classes.txtSubtitle}`} style={{ fontSize: '22px' }} >{communicationSelected?.title}</Typography>\r\n                       {screen.sWidth > 768 && showDate()}\r\n                    </div>\r\n                    <Divider />\r\n                    <div style={{ margin: '0 auto' }}>\r\n                        <Typography style={{ fontSize: '14px', display: 'flex', flex: '1 1 100%', fontWeight: 'bold', padding: '1%' }} >Descripción: </Typography>\r\n                        <div style={{ fontSize: '14px', padding: '1%', display: 'flex', flex: '1 1 100%' }} dangerouslySetInnerHTML={{ __html: communicationSelected?.description }} />\r\n\r\n                    </div>\r\n                    <section style={{ display: 'flex', justifyContent: 'flex-start', flex: '1 1 100%' }}>\r\n                    {communicationSelected?.author !== '' && (\r\n                        <Typography style={{ fontSize: '14px', display: 'flex', flex: '1 1 100%', fontWeight: 'bold', padding: '1%' }} >Este es un mensaje de: {communicationSelected?.author} </Typography>\r\n                    )}\r\n                        </section>\r\n                    {communicationSelected?.image64 &&\r\n                        <aside style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\r\n                            <img style={{ display: 'flex', minWidth: '200px', width: '50%' }} src={communicationSelected?.image64} alt='imgNotificacion' />\r\n                        </aside>\r\n                    }\r\n                </article>\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default CommunicationDetail;","import { useEffect } from \"react\";\r\nimport Header from \"../../components/GenericHeader/Header\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport NotificationDetail from \"../../components/Notification/NotificationDetail\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport MenuProfile from \"../../components/Menu/MenuProfile\";\r\nimport CommunicationDetail from \"../../components/Communication/CommunicationDetail\";\r\n\r\nconst Communication = () => {\r\n    const trackPageView = useTrackPageView(\"Notificaciones\");\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n    },[]);\r\n\r\n    return (\r\n        <>\r\n            <MenuProfile />\r\n            <Header title='Comunicaciones' />\r\n            <CommunicationDetail />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Communication;","import { useEffect } from \"react\";\r\nimport Header from \"../../components/GenericHeader/Header\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport NotificationDetail from \"../../components/Notification/NotificationDetail\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst Notification = () => {\r\n    const trackPageView = useTrackPageView(\"Notificaciones\");\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n    },[]);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <Header title='Notificaciones' />\r\n            <NotificationDetail />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Notification;","\r\nimport FormatListBulletedOutlinedIcon from '@material-ui/icons/FormatListBulletedOutlined';\r\nimport MonetizationOnOutlinedIcon from '@material-ui/icons/MonetizationOnOutlined';\r\nimport PaymentOutlinedIcon from '@material-ui/icons/PaymentOutlined';\r\nimport HistoryOutlinedIcon from '@material-ui/icons/HistoryOutlined';\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport SelectTypeOfComponent from \"../../components/PersonalData/SelectTypeOfComponent\";\r\nimport { Fragment, useEffect, useLayoutEffect, useState } from 'react';\r\nimport QuickAccessBox from '../../components/HomeLogged/QuickAccessBox';\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getFullData, getTypesOfContact, getTypesOfContactMail, getTypesOfContactPhone } from '../../redux/actions/personalDataActions';\r\nimport { Link, useHistory, useLocation } from 'react-router-dom';\r\nimport { getAllBills, getWayToPay } from '../../redux/actions/billingActions';\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission, redirectHrefTo } from \"../../utils/utilsFunctions\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport Loading from '../../components/LoadingPage/Loading';\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst affiliated = {\r\n    numeroPersona: userCode\r\n};\r\nconst contactTypesModel = {\r\n    numeroPersona: userCode,\r\n    clasificacion: \"DOMICILIO\"\r\n};\r\nconst contactTypesPhoneModel = {\r\n    numeroPersona: userCode,\r\n    clasificacion: \"TELEFONO\"\r\n};\r\nconst contactTypesMailModel = {\r\n    numeroPersona: userCode,\r\n    clasificacion: \"MAIL\"\r\n};\r\n\r\nconst Billing = () => {\r\n    const trackPageView = useTrackPageView(\"Facturación\");\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [type, setActiveType] = useState(-1);\r\n    const [mobileDevice, setMobileDevice] = useState(false);\r\n    const dispatch = useDispatch();\r\n    const history = useHistory();\r\n    const { search } = useLocation();\r\n    const match = search.match(/type=(.*)/);\r\n    const typeURL = match?.[1];\r\n    const spaceBetween = \"space-between\";\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n    const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n\r\n    const quickAccessBilling = [\r\n        { title: 'MOVIMIENTOS', icon: <HistoryOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/Billing?type=Movements' },\r\n        { title: 'ADHESION / BAJA DEBITO AUTOMATICO', icon: <PaymentOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/Billing?type=DirectDebit' },\r\n        { title: 'FORMAS DE PAGO DIGITALES', icon: <MonetizationOnOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/Billing?type=WayToPay' },\r\n        { title: 'CONSULTAS / TRAMITES', icon: <FormatListBulletedOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />, type: 0, path: '/Billing?type=Formalities' },\r\n        {\r\n            title: 'PREGUNTAS FRECUENTES',\r\n            icon: <QuestionAnswerOutlinedIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />,\r\n            type: 0, path: '/Billing?type=BillingFrequentQuestions'\r\n        },\r\n    ];\r\n\r\n    useEffect(() => {\r\n        dispatch(getLimitPlan());\r\n        trackPageView();\r\n      }, []);\r\n\r\n    const handleClick = (item) => (e) => {\r\n        setActiveType(item.type);\r\n    };\r\n\r\n    const handleRedirect = (href) => (e) => {\r\n        e.preventDefault();\r\n        redirectHrefTo(href)\r\n    }\r\n\r\n    const handleBack = () => {\r\n        setActiveType(-1);\r\n    };\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Facturación\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    const setWidthIcons = (i) => {\r\n        let response = classes.midIcon;\r\n        if (i === 0 || i === 3) {\r\n            response = classes.firstIcon;\r\n        }\r\n        return response;\r\n    };\r\n\r\n    useEffect(() => {\r\n        validateResponsive();\r\n    }, [screen.sWidth, type]);\r\n\r\n    function validateResponsive() {\r\n        if (screen.sWidth <= 768)\r\n            setMobileDevice(true);\r\n        else\r\n            setMobileDevice(false);\r\n    }\r\n\r\n    useEffect(() => {\r\n        // Realiza el dispatch para obtener los datos\r\n        dispatch(getTypesOfContact(contactTypesModel));\r\n        dispatch(getTypesOfContactPhone(contactTypesPhoneModel));\r\n        dispatch(getTypesOfContactMail(contactTypesMailModel));\r\n        dispatch(getFullData(affiliated));\r\n        dispatch(getAllBills(affiliated));\r\n        dispatch(getWayToPay(affiliated));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        window.onpopstate = (e) => {\r\n            if (screen.sWidth <= 768 && type !== -1)\r\n                window.location.href = '/Billing';\r\n            else\r\n                history.push('/');\r\n        };\r\n    });\r\n\r\n    useEffect(() => {\r\n        if (typeURL !== undefined) {\r\n            let auxURL = `/Billing?type=${typeURL}`;\r\n            let aux = quickAccessBilling.filter(x => x.path === auxURL);\r\n            setActiveType(aux[0].type);\r\n        }else{\r\n            setActiveType(-1);\r\n        }\r\n    }, [typeURL]);\r\n\r\n    function componentToRender(condition) {\r\n        var show;\r\n        if(condition) {\r\n            show = (\r\n                <>\r\n                    {\r\n                        screen.sWidth >= 768 &&\r\n                        <>\r\n                            <div className={`${classes.divQuickAccess} ${classes.customScroll}`} style={{ justifyContent: 'center' }}>\r\n                                {quickAccessBilling.map((item, i) => (\r\n                                    <Fragment key={i}>\r\n                                        <QuickAccessBox\r\n                                            component={Link} to={item.path}\r\n                                            handleClick={item.href? handleRedirect(item.href) : handleClick}\r\n                                            i={i} item={item} classes={classes}\r\n                                            customClass={`${classes.personalDataItem} ${classes.billingIcon} ${setWidthIcons(i)}`}\r\n                                            iconClass={classes.personalDataDivIcons}\r\n                                            txtIcon={classes.billingTxtIcon}\r\n                                        />\r\n                                    </Fragment>\r\n                                ))}\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    {\r\n                        screen.sWidth < 768 &&\r\n                        <>\r\n                            <div style={{display: \"flex\", flexDirection: \"column\", justifyContent: spaceBetween, marginTop: \"10%\" }}>\r\n                                <div style={{display: \"flex\", flexDirection: \"row\", justifyContent: spaceBetween, marginBottom: \"-10%\" }}>\r\n                                    <QuickAccessBox\r\n                                        component={Link} to={quickAccessBilling[0].path}\r\n                                        handleClick={handleClick}\r\n                                        i={0} item={quickAccessBilling[0]} classes={classes}\r\n                                        customClass={`${classes.personalDataItem} ${classes.billingIcon} ${setWidthIcons(1)}`}\r\n                                        iconClass={classes.personalDataDivIcons}\r\n                                        txtIcon={classes.billingTxtIcon}\r\n                                    />\r\n                                    <QuickAccessBox\r\n                                        component={Link} to={quickAccessBilling[1].path}\r\n                                        handleClick={handleClick}\r\n                                        i={1} item={quickAccessBilling[1]} classes={classes}\r\n                                        customClass={`${classes.personalDataItem} ${classes.billingIcon} ${setWidthIcons(1)}`}\r\n                                        iconClass={classes.personalDataDivIcons}\r\n                                        txtIcon={classes.billingTxtIcon}\r\n                                    />\r\n                                </div>\r\n                                <div style={{ alignSelf: 'center' }}>\r\n                                    <QuickAccessBox\r\n                                        component={Link} to={quickAccessBilling[2].path}\r\n                                        handleClick={handleClick}\r\n                                        i={2} item={quickAccessBilling[2]} classes={classes}\r\n                                        customClass={`${classes.personalDataItem} ${classes.billingIcon} ${setWidthIcons(1)} ${classes.wayToPay}`}\r\n                                        iconClass={classes.personalDataDivIcons}\r\n                                        txtIcon={classes.billingTxtIcon}\r\n                                    />\r\n                                </div>\r\n                                <div style={{display: \"flex\", flexDirection: \"row\", justifyContent: spaceBetween, marginTop: \"-10%\" }}>\r\n                                    <QuickAccessBox\r\n                                        component={Link} to={quickAccessBilling[3].path}\r\n                                        handleClick={handleClick}\r\n                                        i={3} item={quickAccessBilling[3]} classes={classes}\r\n                                        customClass={`${classes.personalDataItem} ${classes.billingIcon} ${setWidthIcons(1)}`}\r\n                                        iconClass={classes.personalDataDivIcons}\r\n                                        txtIcon={classes.billingTxtIcon}\r\n                                    />\r\n                                    <QuickAccessBox\r\n                                        component={Link} to={quickAccessBilling[4].path}\r\n                                        handleClick={handleClick}\r\n                                        i={4} item={quickAccessBilling[4]} classes={classes}\r\n                                        customClass={`${classes.personalDataItem} ${classes.billingIcon} ${setWidthIcons(1)}`}\r\n                                        iconClass={classes.personalDataDivIcons}\r\n                                        txtIcon={classes.billingTxtIcon}\r\n                                    />\r\n                                </div>\r\n                            </div>\r\n                        </>\r\n                    }\r\n                </>\r\n            );\r\n        } else {\r\n            show = (\r\n                <>\r\n                    {notAccessToThisModule()}\r\n                </>\r\n            );\r\n        }\r\n        return show;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {(!mobileDevice || type === -1) &&\r\n                <>\r\n                    <Header title='Facturación' />\r\n                    <Loading\r\n                        isLoading={loadingPermission}\r\n                        children={componentToRender(hasPermission)}\r\n                    />\r\n                </>\r\n            }\r\n            <SelectTypeOfComponent handleBack={handleBack} />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Billing;\r\n\r\n","import Menu from \"../../../components/Menu/Menu\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport { useEffect } from 'react';\r\nimport Header from '../../../components/GenericHeader/Header';\r\nimport { Typography } from \"@material-ui/core\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { postPreventionsAction } from \"../../../redux/actions/preventionActions\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport FormHeader from \"../../PersonalData/FormHeader\";\r\nimport { handleGoToMedicalData } from \"../../../utils/utilsFunctions\";\r\nimport ConstructionIcon from '@mui/icons-material/Construction';\r\n\r\nconst paramsToPost = {\r\n    numeroPersona: window.localStorage.getItem('numeroPersona'),\r\n    count: 0,\r\n    skip: 0\r\n};\r\n\r\nconst controlPreventivo = [\r\n    {\r\n        practicas: 'Consulta clínica',\r\n        periodicidad: '24 meses',\r\n        registro: 'Realizada'\r\n    },\r\n    {\r\n        practicas: 'Consulta Odontológica',\r\n        periodicidad: '12 meses',\r\n        registro: 'Sin realizar'\r\n    }\r\n];\r\n\r\nconst Prevention = () => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n\r\n    useEffect(() => {\r\n        /* Realiza el dispatch para obtener los datos */\r\n        dispatch(postPreventionsAction(paramsToPost));\r\n    }, []);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {\r\n                screen.sWidth < 768 ?\r\n                <FormHeader title={'Prevencion'} handleGoTo={handleGoToMedicalData} />\r\n                :\r\n                <Header title='Prevención' />\r\n            }\r\n            <section style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', paddingTop: '2%' }}>\r\n            <Typography className={`${classes.mainTitle}`} style={{ display: 'flex', justifyContent: 'center', marginRight: screen.sWidth < 768 ?  \"10px\" : \"-10px\" , marginTop:\"50px\"}}>En Construccion</Typography>\r\n            <ConstructionIcon style={{ fontSize: '180px', color: \"#002858\", marginRight: screen.sWidth < 768 ? \"5px\" : \"-15px\" }} />\r\n            </section>\r\n            <section>\r\n            </section>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Prevention;","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function postPreventionsAction(param) {\r\n    return {\r\n        type: actionTypes.POST_PREVENTIONS,\r\n        payload: param\r\n    };\r\n}","\r\nimport { CircularProgress, ClickAwayListener, Divider, FormControl, IconButton, InputLabel, TextField, Typography, Zoom } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport useStyles from '../../assets/styles/styles';\r\nimport { useEffect, useState } from \"react\";\r\nimport MovementsCard from \"../Billing/Movements/MovementsCard\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport MobileDatePicker from \"@material-ui/lab/MobileDatePicker\";\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\r\nimport TuneIcon from '@material-ui/icons/Tune';\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport LocalizationProvider from \"@material-ui/lab/LocalizationProvider\";\r\nimport ControlPointOutlinedIcon from '@material-ui/icons/ControlPointOutlined';\r\nimport { format } from \"date-fns\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n    getAuthorizationAffiliate,\r\n    getAuthorizationDetailsSuccess,\r\n    setAuthorizationDetails,\r\n    clearHistorialAuthRequest,\r\n    downloadAuthorization,\r\n    cancelAuthorizationRequest\r\n} from \"../../redux/actions/authorizationsActions\";\r\nimport ModalActivities from \"../DialogActivities/ModalActivities\";\r\nimport FileDownloadIcon from '@material-ui/icons/FileDownload';\r\nimport { es } from \"date-fns/locale\";\r\nimport HeaderCard from \"../Billing/Movements/HeaderCard\";\r\nimport NotFound from \"../HomeLogged/NotFound\";\r\nimport { showErrorMessageModal } from \"../../utils/utilsFunctions\";\r\n\r\nconst persona = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\"))\r\n};\r\n\r\nconst AuthorizationsIndex = () => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const today = new Date();\r\n    today.setMonth(-6);\r\n    const [selected, setSelected] = useState([]);\r\n    const familyGroup = useSelector(state => state.appointmentsReducer.groupFamilyTurn);\r\n    const [familyGroupList, setFamilyGroupList] = useState([{}]);\r\n    const [openDatePicker, setOpenDatePicker] = useState(false);\r\n    const [dateStart, setDateStart] = useState(today);\r\n    const [dateEnd, setDateEnd] = useState(new Date());\r\n    const [affiliatedSelected, setAffiliatedSelected] = useState(persona?.numeroPersona);\r\n    const history = useHistory();\r\n    const dispatch = useDispatch();\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [itemSelected, setItemSelected] = useState({});\r\n    const { historial, loading, downloadAuth, loadingDownloadAuthorization } = useSelector(state => state.authorizationsReducer);\r\n    const errorMessage = useSelector(state => state.authorizationsReducer.msgError);\r\n    const [openError, setOpenError] = useState();\r\n    const cancelAuthorizationResponse = useSelector((state) => state.authorizationsReducer.cancelAuthorization);\r\n    const [openCancelAuthorizationModal, setOpenCancelAuthorizationModal] = useState(false);\r\n    const [cancelAuthorization, setCancelAuthorization] = useState({});\r\n    const [openNullifyAuthorizationModal, setNullifyAuthorizationModal] = useState(false);\r\n    const [cancelledAuthorization, setCancelledAuthorization] = useState(false);\r\n\r\n    const handleOpenRequest = (e) => {\r\n        e.preventDefault();\r\n        history.push('/Authorizations?type=NewRequest');\r\n    };\r\n\r\n    const handleChangeSelect = (e) => {\r\n        const { value } = e.target;\r\n        setAffiliatedSelected(value);\r\n        dispatch(clearHistorialAuthRequest())\r\n        let aux = historial?.autorizaciones?.filter(x => x.afiliado === Number.parseInt(value));\r\n        setSelected(aux);\r\n    };\r\n\r\n    const handleClickAway = () => {\r\n        setOpenDatePicker(false);\r\n    };\r\n\r\n    const handleClick = () => {\r\n        setOpenDatePicker((prev) => !prev);\r\n    };\r\n\r\n\r\n    const handleClickVerMas = (item) => (e) => {\r\n        e.preventDefault();\r\n        let obj = {\r\n            numeroPersona: parseInt(affiliatedSelected),\r\n            gestionCodigo: item.autorizacionGestionCodigo,\r\n            autorizacionNumero: item.autorizacionNumero,\r\n            delegacionCodigo: item.autorizacionDelegacionCodigo\r\n        };\r\n        dispatch(getAuthorizationDetailsSuccess(obj));\r\n        item.afiliado = parseInt(affiliatedSelected);\r\n        dispatch(setAuthorizationDetails(item));\r\n        history.push('/AuthorizationsDetails');\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (openError === false) {\r\n            history.push('/');\r\n        }\r\n    }, [openError])\r\n\r\n    const setItemToCancel = item => {\r\n        setCancelAuthorization(item);\r\n        setOpenCancelAuthorizationModal(true);\r\n    }\r\n\r\n    const setButtons = (item) => {\r\n        let response = '';\r\n        const STATE = {\r\n            INGRESADA: 'ANULAR',\r\n            'EN PROCESO': 'ANULAR',\r\n            CERRADO: 'DESCARGAR'\r\n        };\r\n        const BTN = {\r\n            DESCARGAR: (\r\n                <CustomButton\r\n                    title=\"DESCARGAR\"\r\n                    customClass={classes.lightLinearGradient}\r\n                    style={{ marginTop: \"10px\", width: \"60%\", fontSize: \"7px\", fontWeight: '800' }}\r\n                    onClick={handleClickModal(item)}\r\n                />\r\n            ),\r\n\r\n            ANULAR: (\r\n                <CustomButton\r\n                    title=\"ANULAR\"\r\n                    customClass={`${classes.lightLinearGradient}`}\r\n                    style={{ marginTop: \"10px\", width: \"60%\", fontSize: \"7px\", fontWeight: '800' }}\r\n                    onClick={() => { setItemToCancel(item) }}\r\n                />\r\n            )\r\n        };\r\n        if (item?.autorizacionEstadoDescripcion.trim()) {\r\n            response = BTN[STATE[item?.autorizacionEstadoDescripcion.trim().toUpperCase()]];\r\n        }\r\n        return response;\r\n    };\r\n\r\n    const handleClickCancelAuthorization = () => e => {\r\n        e.preventDefault();\r\n        let authorizationToCancel = {\r\n            numeroPersona: parseInt(affiliatedSelected),\r\n            gestionCodigo: cancelAuthorization?.autorizacionGestionCodigo\r\n        };\r\n        dispatch(cancelAuthorizationRequest(authorizationToCancel));\r\n        setOpenCancelAuthorizationModal(false);\r\n        setCancelAuthorization({})\r\n        setNullifyAuthorizationModal(true);\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (cancelAuthorizationResponse?.confirmacion) {\r\n            getData();\r\n            setNullifyAuthorizationModal(false);\r\n            setCancelledAuthorization(true);\r\n        }\r\n    }, [cancelAuthorizationResponse])\r\n\r\n    const handleClickModal = (item) => (e) => {\r\n        e.preventDefault();\r\n        let obj = {\r\n            numeroPersona: parseInt(affiliatedSelected),\r\n            gestionCodigo: item.autorizacionGestionCodigo,\r\n            autorizacionNumero: item.autorizacionNumero,\r\n            delegacionCodigo: item.autorizacionDelegacionCodigo\r\n        };\r\n        dispatch(downloadAuthorization(obj));\r\n        setOpenModal(true);\r\n    };\r\n\r\n    const getData = () => {\r\n        if (affiliatedSelected !== undefined) {\r\n            let obj = {\r\n                fechaDesde: format(dateStart, 'yyyy-MM-dd'),\r\n                fechaHasta: format(dateEnd, 'yyyy-MM-dd'),\r\n                numeroPersona: parseInt(affiliatedSelected),\r\n                count: 0,\r\n                skip: 0\r\n            };\r\n            dispatch(getAuthorizationAffiliate(obj));\r\n        }\r\n    };\r\n\r\n    useEffect(() => {\r\n        getData();\r\n    }, [affiliatedSelected]);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(familyGroup).length > 0) {\r\n            let itemsToPush = familyGroup.map(item => {\r\n                return { value: item.itemCodigo, label: item.itemDescripcion.trim() };\r\n            });\r\n            setFamilyGroupList(itemsToPush);\r\n        }\r\n    }, [familyGroup]);\r\n\r\n    useEffect(() => {\r\n        if (Object.values(familyGroupList).length > 0) {\r\n            let aux = familyGroupList[0].value;\r\n            setAffiliatedSelected(aux);\r\n            let authorizations = historial?.autorizaciones?.filter(x => x.afiliado === Number.parseInt(aux));\r\n            setSelected(authorizations);\r\n        }\r\n    }, [familyGroupList]);\r\n\r\n    useEffect(() => {\r\n        getData();\r\n    }, [dateStart, dateEnd]);\r\n\r\n    useEffect(() => {\r\n        setSelected(historial?.autorizaciones);\r\n    }, [historial?.autorizaciones]);\r\n\r\n    const goToFrequentQuestions = () => {\r\n        history.push(\"/AuthorizationsFAQ\");\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (downloadAuth?.autorizacion !== undefined) {\r\n            setItemSelected({ archivo: downloadAuth?.autorizacion?.[0]?.archivo, archivoNombreCompleto: downloadAuth?.autorizacion?.[0]?.archivoNombreCompleto });\r\n        }\r\n    }, [downloadAuth]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage !== \"\" && errorMessage !== undefined) {\r\n            setOpenError(true);\r\n            setNullifyAuthorizationModal(false);\r\n            setOpenCancelAuthorizationModal(false);\r\n            setOpenModal(false);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    useEffect(() => {\r\n        setCancelledAuthorization(false);\r\n        setNullifyAuthorizationModal(false);\r\n        setOpenCancelAuthorizationModal(false);\r\n    }, []);\r\n\r\n    return (\r\n        <>\r\n            <div style={{ display: 'flex', justifyContent: 'flex-start', paddingTop: screen.sWidth < 768 ? '5%' : '2%', flexWrap: 'wrap' }}>\r\n                <CustomButton title={\"Iniciar solicitud\"} onClick={handleOpenRequest}\r\n                    style={{\r\n                        height: \"40px\",\r\n                        fontSize: \"12px\",\r\n                        fontWeight: \"600\",\r\n                        margin: screen.sWidth < 768 ? '15px 13px' : '5px 33px'\r\n                    }}\r\n                    icon={<AddCircleIcon style={{ marginRight: \"5px\" }} />}\r\n                    customClass={`${classes.customHeaderBtn} ${classes.lightLinearGradient}`}\r\n                />\r\n            </div>\r\n            <div className={`${classes.divSubtitleAddresForm} ${classes.divSubtitleAddresForm} ${classes.divBtnsAddressForm}`} style={{ justifyContent: 'space-between' }}>\r\n                <Typography className={`${classes.titleTurn} ${classes.titleBox} ${classes.txtDarkBlue} `}>\r\n                    Historial\r\n                </Typography>\r\n                <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway}>\r\n                    <div style={{ position: \"relative\" }}>\r\n                        <CustomButton\r\n                            onClick={handleClick}\r\n                            style={{ fontSize: '13px' }}\r\n                            customClass={`${classes.btnFilterAppointment}`}\r\n                            icon={<TuneIcon className={classes.iconFilter} />}\r\n                        />\r\n                        {openDatePicker && (\r\n                            <Zoom in={openDatePicker} >\r\n                                <div className={`${classes.dropdown}`}>\r\n                                    <Typography className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>{\"PERIODO\"}</Typography>\r\n                                    <Divider classes={{ root: classes.dividerFilter }} />\r\n                                    <div className={`${classes.headerFiltro} ${classes.marginTop}`}>\r\n                                        <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }} className={classes.datePicker}>\r\n                                            <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"DESDE\"}</InputLabel>\r\n                                            <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n                                                <LocalizationProvider locale={es} style={{ width: \"100px\" }} dateAdapter={AdapterDateFns}  >\r\n                                                    <MobileDatePicker\r\n                                                        cancelText=\"Cancelar\"\r\n                                                        toolbarTitle=\"\"\r\n                                                        format=\"dd/MM/YYYY\"\r\n                                                        value={dateStart}\r\n                                                        onChange={(newValue) => { setDateStart(newValue); }}\r\n                                                        renderInput={(params) => <TextField {...params} />}\r\n                                                    />\r\n                                                </LocalizationProvider>\r\n                                                <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                            </div>\r\n                                        </FormControl>\r\n                                        <FormControl style={{ width: \"150px\", marginLeft: \"10px\", paddingTop: \"10px\" }} className={classes.datePicker} >\r\n                                            <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"HASTA\"}</InputLabel>\r\n                                            <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\", }}>\r\n                                                <LocalizationProvider locale={es} dateAdapter={AdapterDateFns}  >\r\n                                                    <MobileDatePicker\r\n                                                        cancelText=\"Cancelar\"\r\n                                                        toolbarTitle=\"\"\r\n                                                        format=\"dd/MM/YYYY\"\r\n                                                        value={dateEnd}\r\n                                                        onChange={(newValue) => { setDateEnd(newValue); }}\r\n                                                        variant='outlined'\r\n                                                        renderInput={(params) => <TextField {...params} />}\r\n                                                    />\r\n                                                </LocalizationProvider>\r\n                                                <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                            </div>\r\n                                        </FormControl>\r\n                                    </div>\r\n                                </div>\r\n                            </Zoom>\r\n                        )}\r\n                    </div>\r\n                </ClickAwayListener>\r\n            </div>\r\n            <Divider className={classes.formDivider} style={{ marginTop: \"20px\" }} />\r\n            <div style={{ display: 'flex', justifyContent: screen.sWidth > 768 ? 'space-between' : 'space-around', margin: '0 !important', alignItems: 'center', padding: '0 !important' }}>\r\n                <div className={classes.divAccordionPrograms} style={{ minWidth: '240px !important' }}>\r\n                    <FormControl className={`${classes.formControlChronicMedicationForm} ${classes.formControlsEmergency} ${classes.formControlSelect}`} variant=\"standard\">\r\n                        <CustomSelect\r\n                            name={`familyGroup`}\r\n                            list={familyGroupList}\r\n                            selected={affiliatedSelected}\r\n                            onChange={handleChangeSelect}\r\n                            label='AFILIADO'\r\n                            style={{ marginTop: \"20px\" }} />\r\n                    </FormControl>\r\n                </div>\r\n                <div style={{ marginRight: '20px' }}>\r\n                    <CustomButton title={screen.sWidth > 768 ? 'Preguntas Frecuentes' : ''} onClick={goToFrequentQuestions}\r\n                        style={{\r\n                            height: \"40px\",\r\n                            fontSize: \"12px\",\r\n                            fontWeight: \"600\",\r\n                            marginTop: \"15px\",\r\n                            padding: '0 16px'\r\n                        }}\r\n                        icon={<QuestionAnswerOutlinedIcon style={{ marginRight: \"5px\" }} />}\r\n                        customClass={`${classes.lightLinearGradient}`}\r\n                    />\r\n                </div>\r\n            </div>\r\n            <div className={classes.divSectionMovements} style={{ display: \"flex\", justifyContent: \"center\" }}>\r\n                {selected?.length > 0 ?\r\n\r\n                    selected?.map((item, i) => (\r\n                        <MovementsCard\r\n                            key={item?.id}\r\n                            count={item?.count}\r\n                            headerIcon={<HeaderCard day={item?.fechaFormateada?.nombreDia} numberDay={item?.fechaFormateada?.dia} month={Number.parseInt(item?.autorizacionGestionFecha?.split('-')[1])} year={item?.fechaFormateada?.anio} />}\r\n                            description={\r\n                                <>\r\n                                    <Typography\r\n                                        style={{ fontSize: '14px', fontWeight: \"600\", color: '#0075c9', marginTop: '10px' }}\r\n                                        className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}\r\n                                    >\r\n                                        {item?.autorizacionEstadoDescripcion?.trim()}\r\n                                    </Typography>\r\n                                    <Typography style={{ color: '#0075c9', fontWeight: \"800\", marginTop: '2px' }} className={`${classes.txtCardDescription} ${classes.txtEllipsis} ${classes.txtDarkBlue}`} >\r\n                                        TIPO: <span> {item?.autorizacionTipoPrestacionDescripcion}</span>\r\n                                    </Typography>\r\n                                    <Typography style={{ color: '#0075c9', display: 'flex', flexWrap: 'wrap', marginTop: '2px' }} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                                        AUTORIZACION Nº <span style={{ wordBreak: 'break-all', whiteSpace: 'break-spaces' }}> {item?.autorizacionNumero}</span>\r\n                                    </Typography>\r\n                                    <Typography\r\n                                        style={{ color: '#0075c9', fontWeight: \"800\", marginTop: '2px' }}\r\n                                        className={`${classes.txtCardDescription} ${classes.txtEllipsis} ${classes.txtDarkBlue}`}\r\n                                    >SOLICITUD Nº: <span> {item?.autorizacionGestionCodigo}</span>\r\n                                    </Typography>\r\n                                </>\r\n                            }\r\n                            buttonZone={\r\n                                <section className={`${classes.sectionButtons} ${classes.btnAuthorizationCard}`}>\r\n                                    <div>\r\n                                        <IconButton onClick={handleClickVerMas(item)} customClass={`${classes.customHeaderBtn}`}>\r\n                                            <Typography style={{ fontSize: '12px', fontWeight: \"600\", color: '#0075c9' }} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                                                VER\r\n                                            </Typography>\r\n                                            <ControlPointOutlinedIcon style={{ marginLeft: \"5px\", fontSize: '13px', marginTop: '-2px' }} className={classes.iconFilter} />\r\n                                        </IconButton>\r\n                                    </div>\r\n                                    <div style={{ paddingRight: '7%' }}>\r\n                                        {setButtons(item)}\r\n                                    </div>\r\n                                </section>\r\n                            } index={i} />\r\n                    ))\r\n                    :\r\n                    <NotFound\r\n                        style={{\r\n                            display: 'flex',\r\n                            justifyContent: 'center',\r\n                            alignItems: 'center',\r\n                        }}\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span>No se registraron autorizaciones</span>\r\n                            </div>}\r\n                        wsItem={selected}\r\n                        fullItem={selected}\r\n                        loading={loading}\r\n                    />\r\n                }\r\n            </div>\r\n            {\r\n                openModal &&\r\n                    <ModalActivities\r\n                        title={\r\n                            <div style={{ display: 'flex', justifyContent: 'center', marginTop: '20px', width: '250px' }}>\r\n                                <span>Descargar</span>\r\n                            </div>\r\n                        }\r\n                        description={\r\n                            <div style={{ display: 'flex', justifyContent: 'center', margin: '5px' }}>\r\n                                <a href={`data:image/png;base64,${itemSelected?.archivo}`} download={itemSelected?.archivoNombreCompleto}>\r\n                                    <IconButton style={{ backgroundColor: '#ffffff', borderRadius: '15px' }}>\r\n                                        <FileDownloadIcon className={classes.actionsIcons}/>\r\n                                    </IconButton>\r\n                                </a>\r\n                            </div>\r\n                        }\r\n                        loading ={loadingDownloadAuthorization}\r\n                        open={openModal}\r\n                        onClose={setOpenModal}\r\n                        modalconfirm={false}\r\n                        modalLogout={false}\r\n                    />\r\n            }\r\n            {showErrorMessageModal(errorMessage, openError, setOpenError, classes.borderWhite, classes.quickAccessIcon)}\r\n\r\n            {\r\n                openCancelAuthorizationModal &&\r\n                <ModalActivities\r\n                    title={'Anular solicitud'}\r\n                    description={\r\n                        <>\r\n                            <div\r\n                                style={{\r\n                                    display: 'flex',\r\n                                    justifyContent: 'center'\r\n                                }}>\r\n                                Estás por anular la solicitud de autorización seleccionada\r\n                            </div>\r\n                            <div\r\n                                style={{\r\n                                    display: 'flex',\r\n                                    justifyContent: 'center',\r\n                                    marginTop: '20px'\r\n                                }}>\r\n                                ¿Querés continuar?\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    buttonType={'submit'}\r\n                    onClose={setOpenCancelAuthorizationModal}\r\n                    modalconfirm={true}\r\n                    open={openCancelAuthorizationModal}\r\n                    modalLogout={false}\r\n                    handleClick={handleClickCancelAuthorization()}\r\n                    style={{ textAlign: 'center' }}\r\n                />\r\n            }\r\n\r\n            {\r\n                openNullifyAuthorizationModal &&\r\n                <ModalActivities\r\n                    title={\r\n                        <div style={{ marginTop: \"30px\" }}>Anulando autorización ...</div>\r\n                    }\r\n                    description={\r\n                        <div\r\n                            className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.whiteCircularProgress}`}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                    }\r\n                    onClose={setNullifyAuthorizationModal}\r\n                    open={openNullifyAuthorizationModal}\r\n                    style={{ textAlign: 'center' }}\r\n                    modalLogout={false}\r\n                    modalconfirm={false}\r\n                />\r\n            }\r\n\r\n            {\r\n                cancelledAuthorization &&\r\n                <ModalActivities\r\n                    title={\"Autorización anulada\"}\r\n                    description={\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            La solicitud seleccionada ha sido anulada\r\n                        </div>\r\n                    }\r\n                    onClose={setCancelledAuthorization}\r\n                    open={cancelledAuthorization}\r\n                    modalLogout={false}\r\n                    style={{ textAlign: 'center' }}\r\n                    modalconfirm={false}\r\n                />\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AuthorizationsIndex;","import { IconButton, Typography } from \"@material-ui/core\";\r\nimport Header from \"../../GenericHeader/Header\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport WizardLine from \"../../AskTurn/WizardLine\";\r\nimport SelectTypeOfComponent from \"../../PersonalData/SelectTypeOfComponent\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport { useCallback, useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router\";\r\nimport DrawerRequestSteps from \"./DrawerRequestSteps\";\r\nimport Drawer from \"../../../controls/Drawer/Drawer\";\r\nimport CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport ModalProfile from \"../../../components/DialogProfile/Modal\";\r\nimport {\r\n    clearModelAuthRequest,\r\n    getAuthorizationDetails,\r\n    setActualStepAuthorizationsRequest,\r\n    setPrevStepAuthorizationsRequest,\r\n    setModelAuthRequest } from \"../../../redux/actions/authorizationsActions\";\r\n\r\nconst NewRequest = (props) => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const [activeStep, setActiveStep] = useState(0);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const history = useHistory();\r\n\r\n    const list = [\r\n        {\r\n            step0: \"\"\r\n        },\r\n        {\r\n            step1: \"\"\r\n        },\r\n        {\r\n            step2: \"\"\r\n        },\r\n    ];\r\n\r\n\r\n    const handleOpenCancelModal = useCallback(() => {\r\n        setOpenModal(prevState => !prevState);\r\n    }, [openModal]);\r\n\r\n    const handleBack = useCallback(() => {\r\n        let active = activeStep - 1;\r\n        setActiveStep(active);\r\n        dispatch(setActualStepAuthorizationsRequest(activeStep));\r\n        dispatch(setPrevStepAuthorizationsRequest(active));\r\n    }, [activeStep]);\r\n\r\n    const handleClose = () => {\r\n        dispatch(clearModelAuthRequest());\r\n        dispatch(setModelAuthRequest({}))\r\n        history.push('/Authorizations');\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getAuthorizationDetails());\r\n    }, []);\r\n\r\n    return <>\r\n        {\r\n            screen.sWidth <= 768 ?\r\n                <>\r\n                    <Header title={\"Autorizaciones\"} zIndexTitle={100} positionTitle={\"relative\"} />\r\n                    {activeStep !== 0 &&\r\n                        <>\r\n                            <div style={{ position: \"absolute\", zIndex: \"110\", top: \"105px\", left: \"10px\" }}>\r\n                                <IconButton onClick={handleBack}>\r\n                                    <ArrowBackIcon className={classes.ShowMoreArrowIcon} style={{ fontSize: \"30px\" }} />\r\n                                </IconButton>\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    <Drawer open={true}>\r\n                        <WizardLine list={list} activeStep={activeStep} />\r\n                        <DrawerRequestSteps isWeb={false} open={props.open} activeStep={activeStep} setActiveStep={setActiveStep} />\r\n                    </Drawer>\r\n                </>\r\n                :\r\n                (<>\r\n                    <SelectTypeOfComponent\r\n                        activeStepTurn={activeStep}\r\n                        setActiveStepTurn={setActiveStep}\r\n                        handleOpenCancelModalTurn={handleOpenCancelModal}\r\n                        handleBackTurn={handleBack}\r\n                    />\r\n                </>)\r\n        }\r\n        {\r\n            openModal &&\r\n            <ModalProfile\r\n                type='cancel'\r\n                title={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            Cancelar autorización\r\n                        </div>\r\n                    </>\r\n                }\r\n                observation={\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        <Typography>\r\n                            ¿Está seguro que desea salir?\r\n                        </Typography>\r\n                    </div>\r\n                }\r\n                description={\r\n                    <div style={{ display: 'flex', justifyContent: 'space-evenly' }}>\r\n                        <CustomButton\r\n                            title={\"Si\"}\r\n                            className={`${classes.buttonConfirmModal} ${classes.lightLinearGradient}`}\r\n                            onClick={handleClose}\r\n                        />\r\n                        <CustomButton\r\n                            title={\"No\"}\r\n                            customClass={`${classes.buttonNotConfirmModal}`}\r\n                            onClick={handleOpenCancelModal}\r\n                        />\r\n                    </div>\r\n                }\r\n                open={openModal}\r\n                onClose={setOpenModal}\r\n            />\r\n        }\r\n    </>;\r\n};\r\n\r\nexport default NewRequest;\r\n","import { CircularProgress } from \"@material-ui/core\";\r\nimport { useEffect, useLayoutEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router\";\r\nimport AuthorizationsIndex from \"../../components/Authorizations/AuthorizationsIndex\";\r\nimport NewRequest from \"../../components/Authorizations/NewRequest/NewRequest\";\r\nimport Header from \"../../components/GenericHeader/Header\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport { getDataGroupFamily } from \"../../redux/actions/appointmentsActions\";\r\nimport { getParamsAuthRequest, setModelAuthRequest } from \"../../redux/actions/authorizationsActions\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\n\r\nconst persona = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\"))\r\n};\r\n\r\nconst Authorizations = () => {\r\n    const trackPageView = useTrackPageView(\"Autorizaciones\");\r\n    const dispatch = useDispatch();\r\n    const { search } = useLocation();\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n    const match = search.match(/type=(.*)/);\r\n    const typeURL = match?.[1];\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Autorizaciones\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    function isEnabled(condition) {\r\n        var resp;\r\n        if(condition) {\r\n            resp = (notAccessToThisModule());\r\n        } else {\r\n            resp = (<AuthorizationsIndex />);\r\n        }\r\n        return resp;\r\n    }\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n        dispatch(getLimitPlan());\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        dispatch(getDataGroupFamily(persona));\r\n        dispatch(getParamsAuthRequest());\r\n        return (() => {\r\n            dispatch(setModelAuthRequest([]));\r\n        });\r\n    }, []);\r\n\r\n    function showNewRequest(loading) {\r\n        var res;\r\n        if(loading) {\r\n            res = (\r\n                <div style={{ display: 'flex', justifyContent: 'center', flex: '0 0 100%', paddingTop: '10px' }}>\r\n                    <CircularProgress />\r\n                </div>\r\n            );\r\n        } else {\r\n            res = (\r\n                <NewRequest />\r\n            );\r\n        }\r\n        return res;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {typeURL === undefined && !loadingPermission ?\r\n                <>\r\n                    <Header title='Autorizaciones' />\r\n                    {\r\n                        isEnabled(!hasPermission)\r\n                    }\r\n                </>\r\n                :\r\n                (\r\n                    showNewRequest(loadingPermission)\r\n                )\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Authorizations;","import { Box } from \"@material-ui/core\";\r\n\r\nexport default function TabPanel(props) {\r\n    const { children, value, index, ...other } = props;\r\n    return (\r\n        <div\r\n            role=\"tabpanel\"\r\n            hidden={value !== index}\r\n            id={`full-width-tabpanel-${index}`}\r\n            aria-labelledby={`full-width-tab-${index}`}\r\n            {...other}\r\n        >\r\n            {value === index && (\r\n                <Box sx={{ p: 3 }}>\r\n                    {children}\r\n                </Box>\r\n            )}\r\n        </div>\r\n    );\r\n}","import { Box, Step, StepLabel, Stepper, Typography } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport useStyles from '../../../assets/styles/styles';\r\n\r\nconst Details = ({ item }) => {\r\n    const classes = useStyles();\r\n    const [activeStep, setActiveStep] = useState(0);\r\n    const steps = [\r\n        '',\r\n        'Iniciada',\r\n        'En proceso',\r\n        'Autorizado',\r\n        'Finalizado',\r\n    ];\r\n\r\n    useEffect(() => {\r\n        if (item?.authorizationDetail?.autorizacionDetalle !== undefined) {\r\n            setActiveStep(item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionEstadoCodigo);\r\n        }\r\n    }, [item]);\r\n\r\n    return (<>\r\n        <Box sx={{ width: '100%' }} className={classes.boxSteps}>\r\n            <Stepper activeStep={activeStep} alternativeLabel>\r\n                {steps?.map(step => (\r\n                    <Step key={step}>\r\n                        <StepLabel className={classes.stepLabelTab}></StepLabel>\r\n                    </Step>\r\n                ))}\r\n            </Stepper>\r\n        </Box>\r\n        {item?.authorizationDetail?.autorizacionDetalle?.length > 0 &&\r\n            <section style={{ padding: '5%' }}>\r\n                <item>\r\n                    <Typography style={{ fontSize: '14px', fontWeight: \"600\", color: '#0075c9' }} className={`${classes.txtCardDescription}`}>\r\n                        RESUMEN DE LA INFORMACION\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '14px', paddingTop: '8px', paddingBottom: '8px' }} className={`${classes.txtCardDescription}`}>\r\n                        {item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionAfiliadoSolicitante}\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '14px', paddingBottom: '8px' }} className={`${classes.txtCardDescription}`}>\r\n                        ESTADO: <span style={{ color: '#0075c9' }}>{item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionEstadoDescripcion}</span>\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '12px', paddingBottom: '5px', fontWeight: '800' }} className={`${classes.txtCardDescription}`}>\r\n                        FECHA DE SOLICITUD:\r\n                            <span style={{ color: '#000000', fontWeight: '500', marginLeft: '5px' }}>\r\n                                {new Date(item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionGestionFecha?.replace(/\\s/, 'T'))?.toLocaleDateString('es-ES')}\r\n                            </span>\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '12px', paddingTop: '5px', paddingBottom: '5px', fontWeight: '800' }} className={`${classes.txtCardDescription}`}>\r\n                        TIPO: <span style={{ color: '#000000', fontWeight: '500' }}>{item?.authorizationDetails?.autorizacionTipoPrestacionDescripcion}</span>\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '12px', paddingTop: '5px', paddingBottom: '5px', fontWeight: '800' }} className={`${classes.txtCardDescription}`}>\r\n                        DETALLE DE PRESCRIPCION:\r\n                        <span\r\n                            style={{ color: '#000000', fontWeight: '500' }}>\r\n                            {item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionTipoPrestacionDescripcion !== ''\r\n                            ? item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionTipoPrestacionDescripcion\r\n                            : \" No hay detalles\" }\r\n                        </span>\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '12px', paddingTop: '5px', paddingBottom: '5px', fontWeight: '800' }} className={`${classes.txtCardDescription}`}>\r\n                        SOLICITANTE: <span style={{ color: '#000000', fontWeight: '500' }}>{item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionAfiliadoSolicitante}</span>\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '12px', paddingTop: '5px', paddingBottom: '5px', fontWeight: '800' }} className={`${classes.txtCardDescription}`}>\r\n                        FECHA DE REALIZACION:\r\n                            <span style={{ color: '#000000', fontWeight: '500', marginLeft: '5px' }}>\r\n                                {new Date(item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionFechaRealizacion?.replace(/\\s/, 'T'))?.toLocaleDateString('es-ES')}\r\n                            </span>\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '12px', paddingTop: '5px', paddingBottom: '5px', fontWeight: '800' }} className={`${classes.txtCardDescription}`}>\r\n                        TELEFONO DE CONTACTO: <span style={{ color: '#000000', fontWeight: '500' }}>{item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionTelefono}</span>\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '12px', paddingTop: '5px', paddingBottom: '5px', fontWeight: '800' }} className={`${classes.txtCardDescription}`}>\r\n                        E-MAIL DE CONTACTO: <span style={{ color: '#000000', fontWeight: '500' }}>{item?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionEmail}</span>\r\n                    </Typography>\r\n                </item>\r\n            </section>\r\n        }\r\n    </>);\r\n};\r\n\r\nexport default React.memo(Details, (prevState, nextState) => {\r\n    return prevState.item === nextState.item;\r\n});","import CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport { Accordion, AccordionSummary, AccordionDetails, FormControl, Typography, IconButton, FormHelperText } from \"@material-ui/core\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport AttachFileOutlinedIcon from '@material-ui/icons/AttachFileOutlined';\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport BadgeNotification from \"../../Notification/BadgeNotification\";\r\nimport CloseRoundedIcon from '@material-ui/icons/CloseRounded';\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport UploadModal from \"../../../controls/UploadModal/UploadModal\";\r\nimport ConfirmModal from \"../../PersonalData/ConfirmModal\";\r\nimport { deleteFile, validate } from \"../../../utils/utilsFunctions\";\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getAttached, getComments, getTypeAttached, postAttached, pushComments, getReadComments, downloadAttachments } from \"../../../redux/actions/authorizationsActions\";\r\nimport ModalActivities from \"../../DialogActivities/ModalActivities\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport FrequentQuestionsButton from \"../FrequentQuestionsButtons\";\r\nimport DoneAllOutlinedIcon from '@mui/icons-material/DoneAllOutlined';\r\nimport DoneOutlinedIcon from '@mui/icons-material/DoneOutlined';\r\nimport FileDownloadIcon from '@material-ui/icons/FileDownload';\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport LineBreakInput from \"../../../controls/InputCustom/LineBreakInput\";\r\n\r\nconst Comments = ({ item }) => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [openTxtComment, setOpenTxtComment] = useState(false);\r\n    const [txtComment, setTxtComment] = useState('');\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [files, setFiles] = useState([]);\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [error, setError] = useState([]);\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const inputFile = useRef();\r\n    const dispatch = useDispatch();\r\n    const attachmentsRedux = useSelector(state => state.authorizationsReducer);\r\n    const autorizationState = useSelector(\r\n        state => state.authorizationsReducer?.authorizationDetail?.autorizacionDetalle[0]?.autorizacionEstadoDescripcion\r\n    );\r\n    const [listTypeAttached, setListTypeAttached] = useState([{ value: 0, label: '' }]);\r\n    const [typeAttachedSelected, setTypeAttachedSelected] = useState(0);\r\n    const [txtObservation, setTxtObservation] = useState('');\r\n    const [listAttached, setListAttached] = useState([]);\r\n    const [hide, setHide] = useState(false);\r\n    const [openModalConfirm, setOpenModalConfirm] = useState(false);\r\n    const [openModalError, setOpenModalError] = useState(false);\r\n    const [msgErrorAttachments, setMsgErrorAttachments] = useState('');\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const [thisFileExists, setThisFileExists] = useState(false);\r\n    const [closeComments, setCloseComments] = useState(false);\r\n    const [closeAttached, setCloseAttached] = useState(false);\r\n    const downloadAuthorizationsAttachments = useSelector(state => state.authorizationsReducer.downloadAttachments);\r\n    const loadingAuthorizationDownload = useSelector((state) => state.authorizationsReducer.loadingDownloadAttachments);\r\n    const [openLoading, setOpenLoading] = useState(false);\r\n    const [initLoad, setInitLoad] = useState(true);\r\n    const [openDownload, setOpenDownload] = useState(false);\r\n    const [attachedToDownload, setAttachedToDownload] = useState({});\r\n    const [cancelledDownload, setCancelledDownload] = useState(false);\r\n    const [closedAuthorization, setClosedAuthorization] = useState(false);\r\n    const CLOSED_STATES = [\"FINALIZADO\", \"CERRADO\", \"ANULADA\"];\r\n    const [counterLength, setCounterLength] = useState(0);\r\n    const [counterObservationLength, setCounterObservationLength] = useState(0);\r\n\r\n\r\n    const obj = {\r\n        numeroPersona: Number.parseInt(item?.authorizationDetails?.afiliado),\r\n        gestionCodigo: Number.parseInt(item?.authorizationDetails?.autorizacionGestionCodigo),\r\n        autorizacionNumero: Number.parseInt(item?.authorizationDetails?.autorizacionNumero),\r\n        delegacionCodigo: Number.parseInt(item?.authorizationDetails?.autorizacionDelegacionCodigo)\r\n    };\r\n\r\n    const handleChangeText = (e) => {\r\n        const { name, value } = e.target;\r\n        if (name === 'observacion') {\r\n            setTxtObservation(value);\r\n            setFiles([{ ...files[0], archivoObservacion: value }]);\r\n        } else {\r\n            setTxtComment(value);\r\n        }\r\n        if (value.length <= 1000) {\r\n            setCounterLength(value.length);\r\n        }\r\n    };\r\n\r\n    const handleChangeObservations= (e) => {\r\n        const { name, value } = e.target;\r\n        if (name === 'observacion') {\r\n            setTxtObservation(value);\r\n            setFiles([{ ...files[0], archivoObservacion: value }]);\r\n        } else {\r\n            setTxtComment(value);\r\n        }\r\n            if (value.length <= 200) {\r\n                setCounterObservationLength(value.length);\r\n            }\r\n    }\r\n\r\n    const handleOpenTextBox = (e) => {\r\n        e.preventDefault();\r\n\r\n        if (!CLOSED_STATES?.includes(autorizationState?.toUpperCase()?.trim())) {\r\n            setOpenTxtComment(true);\r\n        }\r\n        setCloseComments(false);\r\n        setCloseAttached(false);\r\n        setHide(false);\r\n    };\r\n\r\n    const handlePushComment = (e) => {\r\n        e.preventDefault();\r\n        let comentarios = {\r\n            numeroPersona: parseInt(item?.authorizationDetails?.afiliado),\r\n            gestionCodigo: parseInt(item?.authorizationDetails?.autorizacionGestionCodigo),\r\n            autorizacionNumero: parseInt(item?.authorizationDetails?.autorizacionNumero),\r\n            delegacionCodigo: parseInt(item?.authorizationDetails?.autorizacionDelegacionCodigo),\r\n            autorizacionComentario: JSON.stringify({\r\n                autorizacionComentarioObservacion: txtComment,\r\n                autorizacionComentarioPerspectiva: 'A',\r\n                autorizacionComentarioPublicar: 'S',\r\n            })\r\n        };\r\n        if (!CLOSED_STATES?.includes(item?.authorizationDetails?.autorizacionEstadoDescripcion?.toUpperCase()?.trim())) {\r\n            dispatch(pushComments(comentarios));\r\n        } else {\r\n            setClosedAuthorization(true);\r\n        }\r\n        setTxtComment('');\r\n        setOpenTxtComment(prevState => !prevState);\r\n    };\r\n\r\n    useEffect(() => {\r\n        getNewComment();\r\n    }, [openTxtComment]);\r\n\r\n    const handleChangeSelect = () => e => {\r\n        const { name, value } = e.target;\r\n        setTypeAttachedSelected(value);\r\n        setFiles([{ ...files[0], archivoClasificacion: value }]);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleAddAttachment = () => {\r\n        if (!CLOSED_STATES?.includes(autorizationState?.toUpperCase()?.trim())) {\r\n            if (screen.sWidth > 768) {\r\n                inputFile?.current?.click();\r\n            }\r\n            else {\r\n                setOpenModal(prevState => !prevState);\r\n            }\r\n        }\r\n        setCloseComments(false);\r\n        setCloseAttached(false);\r\n        setOpenTxtComment(false);\r\n    };\r\n\r\n    const handleCloseTxtComment = () => {\r\n        setOpenTxtComment(prevState => !prevState);\r\n    };\r\n\r\n    const handleUpload = (e) => {\r\n        let alertGreatSize = \"\";\r\n        var filesUpload = e.target.files;\r\n        for (let file of filesUpload) {\r\n            let size = (file.size / 1024);\r\n            if (size <\r\n                parseInt(configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor) * 1000) {\r\n                let adj = {\r\n                    archivoNombre: file.name.substring(0, file.name.lastIndexOf(\".\")),\r\n                    archivoExtension: file.name.substring(file.name.lastIndexOf(\".\") + 1),\r\n                    archivoNombreCompleto: file.name,\r\n                    archivoTamanio: parseInt(size),//KB\r\n                    archivo: null,//new Blob([file],{type: file.type}),\r\n                    archivoClasificacion: typeAttachedSelected,\r\n                    archivoObservacion: txtComment,\r\n                };\r\n\r\n                let thisFileExists = listAttached?.filter(x => x?.nombre?.trim() == adj?.archivoNombre?.trim());\r\n                if (thisFileExists?.length > 0) {\r\n                    setThisFileExists(true);\r\n                } else {\r\n                    const reader = new FileReader();\r\n                    reader.onloadend = () => {\r\n                        adj.archivo = reader.result?.split(',').pop();\r\n                        setFiles([adj]);\r\n                        setHide(true);\r\n                    };\r\n                    reader.readAsDataURL(file);\r\n                }\r\n\r\n            } else {\r\n                alertGreatSize = alertGreatSize + \" \" + file.name;\r\n            }\r\n        }\r\n        if (alertGreatSize != \"\") {\r\n            setModalTitle(\"Atención\");\r\n            setModalDescription(`Los archivos: ${alertGreatSize} superan el tamaño máximo.\r\n                                Asegurese de que los archivos no superen los ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB`);\r\n            setModalIcon(\r\n                <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n            );\r\n            setErrorClass(classes.backgroundError);\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        e.target.value = null;\r\n    };\r\n\r\n    const handleOpenModalConfirm = () => {\r\n        if (validateFiles(files) && validateSelect(typeAttachedSelected)) {\r\n            setOpenModalConfirm(true);\r\n        }\r\n    };\r\n\r\n    const handleSubmit = () => {\r\n\r\n        //If the user doesn't select any option, then archivoClasificacion be will 0 and an error will be generated.\r\n        //If onChange event doesn't run, this line will set default/first choice of the object selection.\r\n        if(files[0].archivoClasificacion === 0){\r\n            files[0].archivoClasificacion = typeAttachedSelected;\r\n        }\r\n\r\n        let model = {\r\n            numeroPersona: item?.authorizationDetails?.afiliado,\r\n            gestionCodigo: item?.authorizationDetails?.autorizacionGestionCodigo,\r\n            autorizacionNumero: item?.authorizationDetails?.autorizacionNumero,\r\n            delegacionCodigo: item?.authorizationDetails?.autorizacionDelegacionCodigo,\r\n            perspectiva: 'A', //afiliado\r\n            adjuntos: JSON.stringify(files)\r\n        };\r\n        if (!CLOSED_STATES?.includes(item?.authorizationDetails?.autorizacionEstadoDescripcion?.toUpperCase()?.trim())) {\r\n            dispatch(postAttached(model));\r\n        } else {\r\n            setClosedAuthorization(true);\r\n        }\r\n        cleanStates();\r\n    };\r\n\r\n    function cleanStates() {\r\n        setHide(false);\r\n        setOpenModalConfirm(false);\r\n    }\r\n\r\n    function validateSelect(select) {\r\n        let aux = [];\r\n        let validation = [];\r\n        let Obj = {};\r\n        if (select === 0) {\r\n            Obj.selectAttached = '*Seleccione otro campo';\r\n        }\r\n        else {\r\n            Obj.selectAttached = select.toString() ? '' : '*Campo obligatorio';\r\n        }\r\n        aux = Obj;\r\n        if (Object.values(aux).every((x) => x === \"\")) {\r\n            validation.push(true);\r\n        } else {\r\n            validation.push(false);\r\n        }\r\n        setError(aux);\r\n        return Object.values(validation).every((valid) => valid === true);\r\n    }\r\n\r\n    function getNewComment() {\r\n        dispatch(getComments(obj));\r\n    }\r\n\r\n    useEffect(() => {\r\n        dispatch(getTypeAttached(\"AUTORIZACIONES\"));\r\n        if (item?.authorizationDetail?.autorizacionDetalle !== undefined) {\r\n            dispatch(getAttached(obj));\r\n        }\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let list = attachmentsRedux.typeAttached?.tipoAdjunto?.map((type) => {\r\n            return { value: parseInt(type?.tipoAdjuntosCodigo), label: type?.tipoAdjuntosDescripcion };\r\n        });\r\n        setListTypeAttached(list);\r\n        if (list !== undefined) {\r\n            setTypeAttachedSelected(list[0]?.value);\r\n        }\r\n    }, [attachmentsRedux.typeAttached?.tipoAdjunto]);\r\n\r\n    useEffect(() => {\r\n        if (attachmentsRedux?.attachments?.autorizacionAdjuntos !== undefined) {\r\n            let attachmentsList = attachmentsRedux?.attachments?.autorizacionAdjuntos?.map(att => {\r\n                return {\r\n                    nombre: att?.autorizacionAdjuntoNombre,\r\n                    tipo: att?.autorizacionAdjuntoTipo,\r\n                    observacion: txtComment,\r\n                    codigo: att?.autorizacionAdjuntoCodigo\r\n                };\r\n            });\r\n            setListAttached(attachmentsList);\r\n        }\r\n    }, [attachmentsRedux?.attachments?.autorizacionAdjuntos, attachmentsRedux?.postAttachments]);\r\n\r\n    useEffect(() => {\r\n        if (attachmentsRedux?.postAttachments?.confirmacion === false) {\r\n            setMsgErrorAttachments(attachmentsRedux?.postAttachments?.mensajes[0]?.mensaje);\r\n            setOpenModalError(true);\r\n        } else if (attachmentsRedux?.postAttachments?.confirmacion) {\r\n            let dateNow = Date.now();\r\n            setListAttached([...listAttached,\r\n            {\r\n                nombre: files[0]?.archivoNombre,\r\n                fecha: format(dateNow, \"dd/MM/yyyy\"),\r\n                tipo: files[0]?.archivoClasificacion,\r\n                observacion: txtObservation\r\n            }]);\r\n        }\r\n        getNewComment();\r\n    }, [attachmentsRedux.postAttachments]);\r\n\r\n    function getAttachmentDescription(attachmentCode) {\r\n        var description = \"\";\r\n        if (attachmentCode !== undefined) {\r\n            const auxDescription = attachmentsRedux?.typeAttached?.tipoAdjunto?.filter(x => x.tipoAdjuntosCodigo === attachmentCode);\r\n            if (typeof (auxDescription) !== 'undefined') {\r\n                if (auxDescription[0]?.tipoAdjuntosDescripcion !== undefined) {\r\n                    description = auxDescription[0]?.tipoAdjuntosDescripcion;\r\n                }\r\n            }\r\n        }\r\n        return description;\r\n    }\r\n\r\n    useEffect(() => {\r\n        const timer = setTimeout(getNewComment, 1000);\r\n        return () => clearTimeout(timer);\r\n    }, [attachmentsRedux?.readComments]);\r\n\r\n    const setSeenComment = () => {\r\n        let readCommentsParameters = obj;\r\n        readCommentsParameters.perspectiva = \"A\";\r\n\r\n        dispatch(getReadComments(readCommentsParameters));\r\n    }\r\n\r\n    const readCommentIcon = element => {\r\n        const readIcon = <div style={{ float: 'right', color: \"#0075c9\", display: 'block' }}><DoneAllOutlinedIcon /></div>;\r\n        const unreadIcon = <div style={{ float: 'right', color: \"#585858\", display: 'block' }}><DoneOutlinedIcon /></div>;\r\n\r\n        if (element?.autorizacionComentarioPerspectiva === \"O\" && element?.autorizacionComentarioLeido === \"S\") {\r\n            return readIcon;\r\n        } else if (element?.autorizacionComentarioPerspectiva === \"O\" && element?.autorizacionComentarioLeido === \"N\") {\r\n            return unreadIcon;\r\n        }\r\n    }\r\n\r\n    const handleClickDownloadButton = element => e => {\r\n        e.preventDefault();\r\n        dispatch(downloadAttachments({\r\n            numeroPersona: parseInt(item?.authorizationDetails?.afiliado),\r\n            autorizacionAdjuntoCodigo: element?.codigo\r\n        }));\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (downloadAuthorizationsAttachments?.adjunto !== undefined) {\r\n            setAttachedToDownload({\r\n                archivo: downloadAuthorizationsAttachments?.adjunto?.[0]?.adjunto,\r\n                archivoNombreCompleto: downloadAuthorizationsAttachments?.adjunto?.[0]?.adjuntoNombreCompleto\r\n            });\r\n        }\r\n    }, [downloadAuthorizationsAttachments]);\r\n\r\n    const cancelDownload = () => {\r\n        setCancelledDownload(true);\r\n        setOpenLoading(false);\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (loadingAuthorizationDownload) {\r\n            setCancelledDownload(false);\r\n            setOpenLoading(true);\r\n            setInitLoad(false);\r\n        } else {\r\n            if (!initLoad && !cancelledDownload) {\r\n                setOpenDownload(true);\r\n                setOpenLoading(false);\r\n            }\r\n        }\r\n    }, [loadingAuthorizationDownload])\r\n\r\n    const commentsAccordion = () => {\r\n        return (\r\n            <div style={{ width: '100%', justifyContent: 'flex-start', flexDirection: 'column-reverse', paddingTop: '10px' }} className={classes.boxSteps}>\r\n                {attachmentsRedux?.comments?.autorizacionComentarios?.length > 0 && attachmentsRedux?.comments?.autorizacionComentarios?.length !== undefined ?\r\n                    (attachmentsRedux?.comments?.autorizacionComentarios?.map((step, i) => (\r\n                        step?.autorizacionComentarioObservacion !== '' ? (\r\n                            <div key={i} style={{ paddingTop: '10px' }}>\r\n                                <div style={{ width: '10px', height: '10px', position: 'absolute', backgroundColor: '#0075c9', padding: '12px', borderRadius: '20px', marginTop: '10px' }}></div>\r\n                                <span style={{ paddingLeft: '30px', display: 'flex', paddingTop: '10px', paddingBottom: '10px' }} className={classes.stepLabelTab}> {step?.autorizacionComentarioFechaHora?.replace('T', ' ')}</span>\r\n                                <section style={{ marginLeft: '12px', paddingLeft: '20px', paddingRight: '8px', borderLeft: '1px solid #bdbdbd' }}>\r\n                                    <div style={{ borderRadius: '10px', minHeight: '150px', padding: '10px', backgroundColor: '#FEDCDC', minWidth: '180px' }}>\r\n                                        <Typography style={{ fontSize: '16px', fontWeight: \"500\", color: '#0075c9' }} className={`${classes.txtCardDescription}`}>{step?.autorizacionComentarioPerspectiva === 'O' ? 'OSLP' : 'Afiliado'}</Typography>\r\n                                        <p style={{ color: '#585858', wordWrap: 'break-word' }}>\r\n                                            {step?.autorizacionComentarioObservacion}\r\n                                            {readCommentIcon(step)}\r\n                                        </p>\r\n                                    </div>\r\n                                </section>\r\n\r\n                            </div>\r\n                        ) : null\r\n                    ))) :\r\n                    <NotFound\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span className={classes.notAppointment}>No hay contenido para mostrar</span>\r\n                            </div>\r\n                        }\r\n                        wsItem={attachmentsRedux?.comments?.autorizacionComentarios?.length}\r\n                        fullItem={attachmentsRedux?.comments?.autorizacionComentarios?.length}\r\n                    />\r\n                }\r\n            </div>\r\n        );\r\n    }\r\n\r\n    return (\r\n        <>\r\n            {!CLOSED_STATES?.includes(item?.authorizationDetails?.autorizacionEstadoDescripcion?.toUpperCase()?.trim()) &&\r\n                <section style={{ display: 'flex', padding: screen.sWidth > 768 && \"0 35px\" }}>\r\n                    <CustomButton title={\"Nuevo comentario\"} onClick={handleOpenTextBox}\r\n                        style={{ height: \"25px\", fontSize: \"9.5px\", fontWeight: \"600\" }}\r\n                        icon={<AddCircleIcon style={{ marginRight: \"5px\" }} />}\r\n                        customClass={`${classes.customHeaderBtn} ${classes.lightLinearGradient} ${classes.txtMobile}`}\r\n                    />\r\n                    <CustomButton title={\"Nuevo adjunto\"}\r\n                        onClick={handleAddAttachment}\r\n                        style={{ height: \"25px\", fontSize: \"9.5px\" }}\r\n                        icon={<AddCircleIcon style={{ marginRight: \"5px\" }} />}\r\n                        customClass={`${classes.customHeaderBtn} ${classes.txtMobile} ${classes.whiteAndBlueBtn}`}\r\n                    />\r\n                    {\r\n                        screen.sWidth > 768 &&\r\n                        <FrequentQuestionsButton />\r\n                    }\r\n                </section>\r\n            }\r\n\r\n            {openTxtComment &&\r\n                <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap', marginTop: '30px' }}>\r\n                    <FormControl style={{ width: '100%', marginTop:'40px', marginLeft: screen.sWidth < 768 ? '20px' : '320px' }} variant=\"standard\">\r\n                        <LineBreakInput\r\n                            formControlClass={classes.txtObservations}\r\n                            inputLabelClass={classes.txtLabelComments}\r\n                            customClass={classes.txtBoxComments}\r\n                            name=\"consulta\"\r\n                            style={{\r\n                                borderRadius: 29,\r\n                                position: 'relative',\r\n                                border: '1px solid #ced4da',\r\n                                fontSize: 16,\r\n                                minWidth: '224px !important',\r\n                                margin: '0 0 7px 0',\r\n                                textOverflow: 'ellipsis',\r\n                                overflow: 'hidden',\r\n                                whiteSpace: \"nowrap\",\r\n                            }}\r\n                            label={<>\r\n                                <IconButton style={{ padding: '0px', marginTop: \"-40px\", left: screen.sWidth < 768 ? '-15px' : \"115px\" }} onClick={handleCloseTxtComment}>\r\n                                    <CloseRoundedIcon style={{ marginRight: \"5px\", backgroundColor: '#ff0000', color: '#ffffff', borderRadius: '15px', fontSize: '25px' }} className={classes.iconFilter} />\r\n                                </IconButton>\r\n                                <span style={{ marginTop: \"-30px\", marginLeft: screen.sWidth < 768 ? '-10px' : \"120px\" }}> Cerrar </span>\r\n                            </>}\r\n                            placeholder='Escribí tu comentario aquí...'\r\n                            onChange={handleChangeText}\r\n                            value={txtComment}\r\n                            multiline\r\n                            rows={5}\r\n                            inputProps={{ maxLength: 1000 }}\r\n                        />\r\n                        <Typography variant=\"caption\" style={{ marginLeft: screen.sWidth < 768 ? \"220px\" : '450px'}}>{counterLength}/1000</Typography>\r\n                    </FormControl>\r\n                    <CustomButton title={\"ENVIAR\"} onClick={handlePushComment}\r\n                        style={{\r\n                            height: \"25px\",\r\n                            fontSize: \"12px\",\r\n                            fontWeight: \"600\",\r\n                            padding: '16px'\r\n                        }}\r\n                        customClass={`${classes.lightLinearGradient} ${classes.txtMobile}`}\r\n                    />\r\n                </section>\r\n            }\r\n\r\n            {files.length !== 0 && hide &&\r\n                <>\r\n                    <section style={{ display: 'flex', flexDirection: \"column\", alignItems: \"center\", marginTop: '30px' }}>\r\n\r\n                        {files?.map((file, i) => (\r\n                            <div\r\n                                key={i}\r\n                                className={`${classes.txtSubtitleCalendar}`}\r\n                                style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }}\r\n                            >\r\n                                <p className={`${classes.txtEllipsis}`}>\r\n                                    {file?.archivoNombre}\r\n                                </p>\r\n                                <IconButton\r\n                                    onClick={deleteFile(\r\n                                        fileButtons,\r\n                                        setFileButtons,\r\n                                        setFiles,\r\n                                        files,\r\n                                        file?.btnNombre,\r\n                                        file?.archivoNombre)\r\n                                    }\r\n                                >\r\n                                    <HighlightOffIcon />\r\n                                </IconButton>\r\n                            </div>\r\n                        ))}\r\n\r\n                        <FormControl variant=\"standard\" className={classes.widthMobile}>\r\n                            <Typography className={classes.textTitleTurn} style={{ fontSize: '13px', margin: '5px 7px' }}>Tipo de archivo </Typography>\r\n                            <CustomSelect\r\n                                label=''\r\n                                name={'selectAttached'}\r\n                                className={`${classes.selectAuthorizations}`}\r\n                                list={listTypeAttached}\r\n                                selected={typeAttachedSelected}\r\n                                onChange={handleChangeSelect()}\r\n                            />\r\n                            <FormHelperText className={`${classes.errorText}`} style={{ paddingLeft: '5%' }}>{error?.selectAttached}</FormHelperText>\r\n                        </FormControl>\r\n\r\n                        <FormControl variant=\"standard\" className={classes.widthMobile}>\r\n                            <Typography className={classes.textTitleTurn} style={{ fontSize: '13px', margin: '5px 7px' }}>Observaciones</Typography>\r\n                            <LineBreakInput\r\n                                formControlClass={`${classes.txtObservations}`}\r\n                                inputLabelClass={classes.txtLabelComments}\r\n                                customClass={classes.txtBoxObservation}\r\n                                name=\"observacion\"\r\n                                placeholder='Escribí tu comentario aquí...'\r\n                                onChange={handleChangeObservations}\r\n                                style={{\r\n                                    borderRadius: 29,\r\n                                    position: 'relative',\r\n                                    border: '1px solid #ced4da',\r\n                                    fontSize: 16,\r\n                                    minWidth: '224px !important',\r\n                                    margin: '0 0 7px 0',\r\n                                    textOverflow: 'ellipsis',\r\n                                    overflow: 'hidden',\r\n                                    whiteSpace: \"nowrap\",\r\n                                }}\r\n                                multiline\r\n                                rows={5}\r\n                                inputProps={{ maxLength: 200 }}\r\n                            />\r\n                             <Typography variant=\"caption\" style={{ marginLeft: screen.sWidth < 768 ? \"220px\" : '450px' }}>{counterObservationLength}/200</Typography>\r\n                        </FormControl>\r\n\r\n                        <CustomButton title={\"ADJUNTAR\"} onClick={handleOpenModalConfirm}\r\n                            style={{\r\n                                height: \"25px\",\r\n                                fontSize: \"12px\",\r\n                                fontWeight: \"600\",\r\n                                padding: '16px'\r\n                            }}\r\n                            customClass={`${classes.customHeaderBtn} ${classes.btnAttached} ${classes.lightLinearGradient} ${classes.txtMobile}`}\r\n                        />\r\n                    </section>\r\n                </>\r\n            }\r\n\r\n            <section style={{ padding: '3%' }}>\r\n                <Accordion style={{ boxShadow: 'none' }} expanded={closeComments} onClick={() => { setCloseComments(prevState => !prevState) }}>\r\n                    <AccordionSummary\r\n                        expandIcon={<ExpandMoreIcon />}\r\n                        aria-controls=\"panel1a-content\"\r\n                        id=\"panel1a-header\"\r\n                        style={{ borderBottom: '1px solid #e2e3e3' }}\r\n                        onClick={setSeenComment}\r\n                    >\r\n                        {item?.count !== undefined && item?.count > 0 ?\r\n                            <BadgeNotification\r\n                                childrenItem={\r\n                                    <QuestionAnswerOutlinedIcon style={{ marginRight: \"5px\", backgroundColor: '#0075c9', color: '#ffffff', borderRadius: '15px', fontSize: '30px', padding: '5px' }} className={classes.iconFilter} />\r\n                                }\r\n                                countNotification={item?.count}\r\n                            />\r\n                            :\r\n                            <QuestionAnswerOutlinedIcon style={{ marginRight: \"5px\", backgroundColor: '#0075c9', color: '#ffffff', borderRadius: '15px', fontSize: '30px', padding: '5px' }} className={classes.iconFilter} />\r\n                        }\r\n                        <span style={{ paddingLeft: '10px' }}>Comentarios</span>\r\n                    </AccordionSummary>\r\n                    <AccordionDetails>\r\n                        {commentsAccordion()}\r\n                    </AccordionDetails>\r\n                </Accordion>\r\n                <Accordion style={{ boxShadow: 'none' }} expanded={closeAttached} onChange={() => { setCloseAttached(prevState => !prevState) }}>\r\n                    <AccordionSummary\r\n                        aria-controls=\"panel1a-content\"\r\n                        expandIcon={<ExpandMoreIcon />}\r\n                        style={{ borderBottom: '1px solid #e2e3e3' }}\r\n                        id=\"panel1a-header\"\r\n                    >\r\n                        <AttachFileOutlinedIcon\r\n                            style={{ marginRight: \"5px\", backgroundColor: '#0075c9', color: '#ffffff', borderRadius: '15px', fontSize: '30px', padding: '5px' }}\r\n                            className={classes.iconFilter}\r\n                        />\r\n                        <span style={{ paddingLeft: '10px' }}>\r\n                            Adjuntos\r\n                        </span>\r\n                    </AccordionSummary>\r\n                    <AccordionDetails>\r\n                        {listAttached?.length > 0 ?\r\n                            <div className={classes.authorizationsAccordion}>\r\n                                <Typography className={classes.txtSubtitleCalendar} style={{ fontSize: \"16px\" }}>\r\n                                    {\"NOMBRE\"}\r\n                                </Typography>\r\n                                {listAttached.map((attached, i) => (\r\n                                    <>\r\n                                        <Accordion\r\n                                            key={i}\r\n                                            style={{ width: \"100%\" }}\r\n                                        >\r\n                                            <AccordionSummary\r\n                                                expandIcon={<ExpandMoreIcon />}\r\n                                                aria-controls=\"panel1a-content\"\r\n                                                id=\"panel1a-header\"\r\n                                                classes={{ content: classes.width100 }}\r\n                                            >\r\n                                                <div style={{ width: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\r\n                                                    <Typography className={classes.txtEllipsis}>\r\n                                                        {attached?.nombre}\r\n                                                    </Typography>\r\n                                                    <Typography className={classes.txtSubtitleCalendar}>\r\n                                                        {attached?.fecha}\r\n                                                    </Typography>\r\n                                                </div>\r\n                                            </AccordionSummary>\r\n                                            <AccordionDetails >\r\n                                                {<>\r\n                                                    <div className={classes.displayFlex}>\r\n                                                        <Typography\r\n                                                            className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                                                            style={{ marginRight: \"5px\" }}>\r\n                                                            {\"Tipo de archivo:  \"}\r\n                                                        </Typography>\r\n                                                        <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`}>\r\n                                                            {getAttachmentDescription(attached?.tipo)}\r\n                                                        </Typography>\r\n\r\n                                                    </div>\r\n                                                    <div className={classes.displayFlex}>\r\n                                                        <Typography\r\n                                                            className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                                                            style={{ marginRight: \"5px\" }}>\r\n                                                            {\"Observaciones / comentarios:  \"}\r\n                                                        </Typography>\r\n                                                        <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`}>\r\n                                                            {attached?.observacion !== \"\" ? attached?.observacion : \"No hay observaciones\"}\r\n                                                        </Typography>\r\n                                                    </div>\r\n                                                </>}\r\n                                            </AccordionDetails>\r\n                                            <CustomButton\r\n                                                title=\"DESCARGAR\"\r\n                                                customClass={`${classes.lightLinearGradient}`}\r\n                                                style={{\r\n                                                    marginRight: \"20px\",\r\n                                                    marginBottom: \"20px\",\r\n                                                    width: \"auto\",\r\n                                                    fontSize: \"7px\",\r\n                                                    float: 'right',\r\n                                                    fontWeight: '600'\r\n                                                }}\r\n                                                disabled={attached?.nombre === \"\" ? true : false}\r\n                                                onClick={handleClickDownloadButton(attached)}\r\n                                            />\r\n                                        </Accordion>\r\n                                    </>\r\n                                ))}\r\n                            </div>\r\n                            :\r\n                            <NotFound\r\n                                customMsg={\r\n                                    <div className={classes.contentNotFound}>\r\n                                        <span className={classes.notAppointment}>No posee adjuntos</span>\r\n                                    </div>\r\n                                }\r\n                                wsItem={listAttached?.length}\r\n                                fullItem={listAttached?.length}\r\n                            />\r\n                        }\r\n                    </AccordionDetails>\r\n                </Accordion>\r\n            </section>\r\n\r\n            <ConfirmModal isOpen={openSendSuccess} setOpen={setOpenSendSuccess} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n\r\n            {<UploadModal\r\n                title='Adjuntar archivo'\r\n                description=''\r\n                observation=''\r\n                open={openModal}\r\n                onClose={setOpenModal}\r\n                setModalTitle={setModalTitle}\r\n                setModalDescription={setModalDescription}\r\n                setModalIcon={setModalIcon}\r\n                setErrorClass={setErrorClass}\r\n                setOpenSendSuccess={setOpenSendSuccess}\r\n                setFiles={setFiles}\r\n                files={files}\r\n                fileButtons={fileButtons}\r\n                setFileButtons={setFileButtons}\r\n                hide={true}\r\n                setRepeatFile={setThisFileExists}\r\n                setHide={setHide}\r\n                listAttached={listAttached}\r\n            />}\r\n            {\r\n                openModalConfirm &&\r\n                <ModalActivities\r\n                    title={'¿Estás seguro que deseas adjuntar?'}\r\n                    description={'El archivo que se va a adjuntar es: ' + files[0]?.archivoNombre.slice(0, 20) + '...'}\r\n                    open={openModalConfirm}\r\n                    onClose={setOpenModalConfirm}\r\n                    modalconfirm={true}\r\n                    modalLogout={false}\r\n                    buttonType={'submit'}\r\n                    handleClick={handleSubmit}\r\n                />\r\n            }\r\n            <ConfirmModal isOpen={openModalError} setOpen={setOpenModalError} errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            Ocurrió un error al adjuntar el archivo\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            Error: {msgErrorAttachments}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription} />\r\n\r\n            <ConfirmModal\r\n                isOpen={thisFileExists}\r\n                setOpen={setThisFileExists}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={\"No puede adjuntar dos archivos con el mismo nombre\"}\r\n            />\r\n\r\n            {openDownload &&\r\n                <ModalActivities\r\n                    description={\r\n                        <div style={{\r\n                            display: 'flex',\r\n                            margin: '5px',\r\n                            justifyContent: 'center'\r\n                        }}>\r\n                            <a\r\n                                href={`data:image/png;base64,${attachedToDownload?.archivo}`}\r\n                                download={attachedToDownload?.archivoNombreCompleto}>\r\n                                <IconButton style={{ backgroundColor: '#ffffff', borderRadius: '15px' }}>\r\n                                    <FileDownloadIcon className={classes.actionsIcons} />\r\n                                </IconButton>\r\n                            </a>\r\n                        </div>\r\n                    }\r\n                    title={\r\n                        <div style={{\r\n                            justifyContent: 'center',\r\n                            display: 'flex',\r\n                            marginTop: '20px',\r\n                            width: '250px'\r\n                        }}>\r\n                            <span>Descargar</span>\r\n                        </div>\r\n                    }\r\n                    onClose={setOpenDownload}\r\n                    open={openDownload}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n\r\n            {openLoading &&\r\n                <ModalActivities\r\n                    description={\r\n                        <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.whiteCircularProgress}`}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                    }\r\n                    title={\r\n                        <div style={{ marginTop: \"30px\" }}>Preparando archivo ...</div>\r\n                    }\r\n                    onClose={cancelDownload}\r\n                    style={{ textAlign: 'center' }}\r\n                    open={openLoading}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n\r\n            <ConfirmModal\r\n                isOpen={closedAuthorization}\r\n                setOpen={setClosedAuthorization}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={\"No es posible enviar comentarios ni adjuntos en autorizaciones finalizadas\"}\r\n            />\r\n\r\n            <input ref={inputFile} type=\"file\" hidden id='upFile' onChange={handleUpload} name='upFileName' />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Comments;\r\n\r\nexport const validateFiles = files => {\r\n    let auxListFiles = [];\r\n    let returnResponse = false;\r\n    if (auxListFiles.length > 0) {\r\n        let auxiliarList = [];\r\n        files?.forEach(item => {\r\n            if (item?.adjuntoObligatorio === 'S') {\r\n                auxiliarList.push(auxListFiles?.some(x => x === item.btnNombre));\r\n            }\r\n        });\r\n        if (auxiliarList.length > 0 && Object.values(auxiliarList)?.every(x => x === true)) {\r\n            returnResponse = true;\r\n        }\r\n    } else {\r\n        returnResponse = true;\r\n    }\r\n    return returnResponse;\r\n};","import { Box, Tab, Tabs, IconButton } from \"@material-ui/core\";\r\nimport { useTheme } from '@material-ui/core/styles';\r\nimport { useEffect, useState } from \"react\";\r\nimport Header from \"../GenericHeader/Header\";\r\nimport Menu from \"../Menu/Menu\";\r\nimport useStyles from '../../assets/styles/styles';\r\nimport SwipeableViews from \"react-swipeable-views\";\r\nimport TabPanel from \"../../controls/TabPanel/TabPanel\";\r\nimport Details from \"./AuthorizationsTabPanel/Details\";\r\nimport Comments from \"./AuthorizationsTabPanel/Comments\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getAuthorizationDetails, clearModelDetails } from \"../../redux/actions/authorizationsActions\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport NotFound from \"../HomeLogged/NotFound\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport { showErrorMessageModal } from \"../../utils/utilsFunctions\";\r\n\r\nconst AuthorizationsDetails = () => {\r\n    const classes = useStyles();\r\n    const { screen } = useResizeScreen();\r\n    const [value, setValue] = useState(0);\r\n    const theme = useTheme();\r\n    const dispatch = useDispatch();\r\n    const authorizationReduxState = useSelector(state => state.authorizationsReducer);\r\n    const history = useHistory();\r\n    const errorMessage = useSelector(state => state.authorizationsReducer.msgError);\r\n    const [openError, setOpenError] = useState();\r\n    const handleChange = (e, newValue) => {\r\n        setValue(newValue);\r\n    };\r\n\r\n    const handleChangeIndex = (index) => {\r\n        setValue(index);\r\n    };\r\n\r\n    useEffect( () => () => dispatch(clearModelDetails()), [] );\r\n\r\n    useEffect(() => {\r\n        if (Object.values(authorizationReduxState?.authorizationDetails).length === 0) {\r\n            history.push('/Authorizations');\r\n        }\r\n        dispatch(getAuthorizationDetails());\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage !== \"\" && errorMessage !== undefined) {\r\n            setOpenError(true);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    useEffect(() => {\r\n        if (openError === false) {\r\n            history.push('/Authorizations');\r\n        }\r\n    }, [openError])\r\n\r\n    function axisValue(condition) {\r\n        var response = '';\r\n        if(condition === 'rtl') {\r\n            response = 'x-reverse';\r\n        } else {\r\n            response = 'x';\r\n        }\r\n        return response;\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <Header title='Autorizaciones' />\r\n            <Box>\r\n            {authorizationReduxState?.authorizationDetail?.length !== 0 ?\r\n                <>\r\n                    <IconButton\r\n                        onClick={() => history.push('/Authorizations')}\r\n                        style={{ marginLeft: screen.sWidth > 900 ? \"60px\" : \"25px\", marginTop: \"20px\" }}\r\n                        >\r\n                        <ArrowBackIcon className={classes.iconFilter} />\r\n                    </IconButton>\r\n                    \r\n                    <div className={classes.authorizationHeader}>\r\n                        <Tabs className={classes.authorizationTabs} value={value} onChange={handleChange} centered>\r\n                            <Tab label=\"DETALLE\" />\r\n                            <Tab label=\"COMENTARIOS\" />\r\n                        </Tabs>\r\n                    </div>\r\n                </>\r\n                :\r\n                <NotFound customMsg={\r\n                    <div className={classes.contentNotFound}>\r\n                      <span className={classes.notAppointment}>No hay contenido para mostrar</span>\r\n                    </div>}\r\n                    wsItem={authorizationReduxState?.authorizationDetail?.length}\r\n                    fullItem={authorizationReduxState?.authorizationDetail?.length}\r\n                />\r\n            }\r\n                {authorizationReduxState?.authorizationDetail?.length !== 0 ?\r\n                    <SwipeableViews\r\n                        style={{ overflow: 'hidden' }}\r\n                        axis={axisValue(theme.direction)}\r\n                        index={value}\r\n                        onChangeIndex={handleChangeIndex}\r\n                    >\r\n                        <TabPanel value={value} index={0} dir={theme.direction}>\r\n                            <Details item={authorizationReduxState} />\r\n                        </TabPanel>\r\n                        <TabPanel value={value} index={1} dir={theme.direction}>\r\n                            <Comments item={authorizationReduxState} />\r\n                        </TabPanel>\r\n                    </SwipeableViews> :\r\n                    <NotFound customMsg={\r\n                        <div className={classes.contentNotFound}>\r\n                          <span className={classes.notAppointment}>No hay contenido para mostrar</span>\r\n                        </div>}\r\n                        wsItem={authorizationReduxState?.authorizationDetail?.length}\r\n                        fullItem={authorizationReduxState?.authorizationDetail?.length}\r\n                    />\r\n                }\r\n            </Box>\r\n            {showErrorMessageModal(errorMessage, openError, setOpenError, classes.borderWhite, classes.quickAccessIcon)}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AuthorizationsDetails;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport { Zoom, ClickAwayListener, Divider, FormControl, IconButton, InputLabel, TextField, Typography } from \"@material-ui/core\";\r\nimport {\r\n    getDataFilterAppointment,\r\n    getAfilliatedAppointmentsRecord,\r\n    getAfilliatedAppointments,\r\n} from \"../../redux/actions/appointmentsActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport NotFound from \"../../components/HomeLogged/NotFound\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport MovementsCard from \"../../components/Billing/Movements/MovementsCard\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { returnHomeAppointmentHome, setModelAppointmentToRepeatOrModify } from \"../../utils/utilsFunctions\";\r\nimport TuneIcon from '@material-ui/icons/Tune';\r\nimport { useHistory } from \"react-router\";\r\nimport { LocalizationProvider, MobileDatePicker } from \"@material-ui/lab\";\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\r\nimport { format } from \"date-fns\";\r\nimport ModalActivities from \"../../components/DialogActivities/ModalActivities\";\r\nimport HeaderCard from \"../../components/Billing/Movements/HeaderCard\";\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport { es } from \"date-fns/locale\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst persona = {\r\n    numeroPersona: userCode,\r\n    parametroLlamado: \"FILTRO HISTORICO TURNO\"\r\n};\r\n\r\nconst paramAll = {\r\n    numeroPersona: userCode,\r\n    solicitudTurnos: \"TODOS\",\r\n    count: 1000,\r\n    skip: 0,\r\n};\r\n\r\nconst AppointmentRecord = () => {\r\n    const trackPageView = useTrackPageView(\"Historial de turnos\");\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const history = useHistory();\r\n    const atThisMoment = new Date();\r\n    const [dateStart, setDateStart] = useState(atThisMoment);\r\n    const [dateEnd, setDateEnd] = useState(new Date());\r\n    const [openPicker, setOpenPicker] = useState(false);\r\n    const [openModalRepeatAppointment, setOpenModalRepeatAppointment] = useState(false);\r\n    const appointments = useSelector((state) => state.appointmentsReducer);\r\n    const [record, setRecorder] = useState([]);\r\n    const [groupFamily, setGroupFamily] = useState([]);\r\n    const [selectAffilliate, setSelectAffilliate] = useState({\r\n        value: 0,\r\n        label: \"\"\r\n    });\r\n    const [modelAppointment, setModelAppointment] = useState();\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n        setDateStart(atThisMoment.setMonth(atThisMoment.getMonth() - 6));\r\n        dispatch(getAfilliatedAppointmentsRecord({\r\n            numeroPersona: userCode,\r\n            solicitudTurnos: \"HISTORICOS\",\r\n            count: 9999,\r\n            skip: 0,\r\n            fechaDesde: format(dateStart, \"yyyy-MM-dd\"),\r\n            fechaHasta: format(dateEnd, \"yyyy-MM-dd\")\r\n        }));\r\n        dispatch(getDataFilterAppointment(persona));\r\n        dispatch(getAfilliatedAppointments(paramAll));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let listGroupFamily = appointments?.filtro?.map((val) => {\r\n            return {\r\n                value: parseInt(val?.numeroPersona), label: val?.apellidoNombre\r\n            };\r\n        });\r\n        if (listGroupFamily?.length > 1) {\r\n            listGroupFamily?.push({\r\n                value: 0, label: \"TODOS\"\r\n            });\r\n        }\r\n        setGroupFamily(listGroupFamily);\r\n    }, [appointments.filtro]);\r\n\r\n    useEffect(() => {\r\n        groupFamily?.forEach((item) => {\r\n            if (item.value == userCode) {\r\n                setSelectAffilliate({ value: item.value, label: item.label });\r\n            }\r\n        });\r\n    }, [groupFamily]);\r\n\r\n    function sortFunction(a, b) {\r\n        let dateA = new Date(a.turnoFechHora).getTime();\r\n        let dateB = new Date(b.turnoFechHora).getTime();\r\n\r\n        return dateA < dateB ? 1 : -1;\r\n    }\r\n\r\n    const filterAppointmentsByDate = list => {\r\n        let start = format(dateStart, \"yyyy-MM-dd\");\r\n        let end = format(dateEnd, \"yyyy-MM-dd\");\r\n        let filterList = list?.filter(x => x.turnoFechHora?.split('T')[0] >= start && x.turnoFechHora?.split('T')[0] <= end)\r\n\r\n        return filterList?.sort(sortFunction);\r\n    }\r\n\r\n    useEffect(() => {\r\n        let list = [];\r\n\r\n        if (selectAffilliate?.value == 0 || !selectAffilliate?.value == undefined) {\r\n            list = appointments?.record?.map(element => {\r\n                return element;\r\n            });\r\n        }\r\n        else {\r\n            list = appointments?.record?.filter((x) => selectAffilliate?.value == x.pacienteNumero).map((element) => {\r\n                return element;\r\n            });\r\n        }\r\n\r\n        setRecorder(filterAppointmentsByDate(list));\r\n    }, [selectAffilliate, appointments?.record]);\r\n\r\n    useEffect(() => {\r\n        let list = [];\r\n        if(selectAffilliate?.label === \"TODOS\") {\r\n            list = appointments?.record?.map( element => {\r\n                return element;\r\n            })\r\n        } else {\r\n            list = appointments?.record?.filter( x => selectAffilliate?.value == x.pacienteNumero)?.map( element => {\r\n                return element;\r\n            });\r\n        }\r\n        \r\n        setRecorder(filterAppointmentsByDate(list));\r\n    }, [dateStart, dateEnd, selectAffilliate?.value]);\r\n\r\n    useEffect(() => {\r\n        dispatch(getAfilliatedAppointmentsRecord({\r\n            numeroPersona: userCode,\r\n            solicitudTurnos: \"HISTORICO\",\r\n            count: 999,\r\n            skip: 0,\r\n            fechaDesde: format(dateStart, \"yyyy-MM-dd\"),\r\n            fechaHasta: format(dateEnd, \"yyyy-MM-dd\")\r\n        }));\r\n    }, [selectAffilliate?.value]);\r\n\r\n    const handleChangeWEB = () => e => {\r\n        var nameAffilliated = groupFamily.filter((x) => x.value == e.target.value);\r\n        setSelectAffilliate({ value: nameAffilliated[0].value, label: nameAffilliated[0].label });\r\n    };\r\n\r\n    const handleClickAway = () => {\r\n        setOpenPicker(false);\r\n    };\r\n\r\n    const handleClick = () => {\r\n        setOpenPicker((prev) => !prev);\r\n    };\r\n\r\n    const handleClickOpenRepeatModal = (item) => (e) => {\r\n        e.preventDefault();\r\n        setOpenModalRepeatAppointment(prevState => !prevState);\r\n        setModelAppointment(item);\r\n    };\r\n\r\n    const handleClickModifyRepeatAppointment = () => {\r\n        setModelAppointmentToRepeatOrModify(modelAppointment, dispatch, userCode, appointments, history);\r\n    };\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <div className={`${classes.divMyHistoryTurn}`}>\r\n                <div className={`${classes.divAffilliate} ${classes.divAffilliateMyHistory}`}>\r\n                    <Typography className={classes.textTitleTurn}>Afiliado: </Typography>\r\n                    <CustomSelect\r\n                        className={`${classes.afilliateSelect}`}\r\n                        list={groupFamily}\r\n                        selected={selectAffilliate?.value}\r\n                        customClassList={`${classes.deploymentSelect} ${classes.deploymentSelectMyHistory}`}\r\n                        onChange={handleChangeWEB()}\r\n                    />\r\n                </div>\r\n                <>\r\n                    <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\r\n                        <div style={{ display: \"flex\", alignItems: \"center\" }}>\r\n                            <IconButton onClick={returnHomeAppointmentHome(history)}>\r\n                                <ArrowBackIcon className={classes.iconFilter} />\r\n                            </IconButton>\r\n                            <Typography className={`${classes.textTitleTurn}`} style={{ textTransform: 'uppercase' }}>\r\n                                Historial de turnos\r\n                            </Typography>\r\n                        </div>\r\n                        <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway}>\r\n                            <div style={{ position: \"relative\", marginRight: \"12%\" }}>\r\n                                <CustomButton\r\n                                    onClick={handleClick}\r\n                                    style={{ fontSize: '13px'}}\r\n                                    customClass={`${classes.customHeaderBtn} ${classes.btnFilterAppointment}`}\r\n                                    icon={<TuneIcon style={{ marginRight: \"5px\" }} className={classes.iconFilter}/>}\r\n                                />\r\n                                {openPicker && (\r\n                                    <Zoom in={openPicker} >\r\n                                        <div className={`${classes.dropDownMyHistory} ${classes.dropdown}`} style={{ zIndex: 1  }}>\r\n                                            <Typography className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>{\"PERIODO\"}</Typography>\r\n                                            <Divider classes={{ root: classes.dividerFilter }} />\r\n\r\n                                            <div className={`${classes.headerFiltro} ${classes.marginTop}`}>\r\n                                                <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }} className={classes.datePicker}>\r\n                                                    <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"DESDE\"}</InputLabel>\r\n                                                    <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n                                                        <LocalizationProvider style={{ width: \"100px\", zIndex: 2 }} locale={es} dateAdapter={AdapterDateFns}  >\r\n                                                            <MobileDatePicker\r\n                                                                cancelText=\"Cancelar\"\r\n                                                                toolbarTitle=\"\"\r\n                                                                value={dateStart}\r\n                                                                onChange={(newValue) => { setDateStart(newValue); }}\r\n                                                                renderInput={(params) => <TextField {...params} />}\r\n                                                                format=\"dd/MM/YYYY\"\r\n                                                            />\r\n                                                        </LocalizationProvider>\r\n                                                        <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                                    </div>\r\n                                                </FormControl>\r\n\r\n                                                <FormControl style={{ width: \"150px\", marginLeft: \"10px\", paddingTop: \"10px\" }} className={classes.datePicker} >\r\n                                                    <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"HASTA\"}</InputLabel>\r\n                                                    <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\", }}>\r\n                                                        <LocalizationProvider style={{ zIndex: 2  }} locale={es} dateAdapter={AdapterDateFns}  >\r\n                                                            <MobileDatePicker\r\n                                                                cancelText=\"Cancelar\"\r\n                                                                toolbarTitle=\"\"\r\n                                                                value={dateEnd}\r\n                                                                onChange={(newValue) => { setDateEnd(newValue); }}\r\n                                                                variant='outlined'\r\n                                                                renderInput={(params) => <TextField {...params} />}\r\n                                                                format=\"dd/MM/YYYY\"\r\n                                                            />\r\n                                                        </LocalizationProvider>\r\n                                                        <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                                    </div>\r\n                                                </FormControl>\r\n\r\n                                            </div>\r\n                                        </div>\r\n                                    </Zoom>\r\n                                )}\r\n                            </div>\r\n                        </ClickAwayListener>\r\n                    </div>\r\n                </>\r\n\r\n                <Divider className={`${classes.formDivider} ${classes.dividerAppointment}`} style={{margin: \"10px 0\"}} />\r\n                <div className={`${classes.listCardMyHistory}`} style={{display: \"flex\", justifyContent: \"center\"}}>\r\n                    {record?.length > 0 ?\r\n                        record?.map((item, i) => (\r\n                            < MovementsCard\r\n                                key={i}\r\n                                customHeaderColor={classes.darkLinearGradientImportant}\r\n                                index={i}\r\n                                headerIcon={<HeaderCard day={item?.fechaFormateada?.nombreDia} numberDay={item?.fechaFormateada?.dia} month={parseInt(item?.turnoFechHora?.substring(5, 7))} year={parseInt(item?.turnoFechHora?.substring(0, 4))} />}\r\n                                description={\r\n                                    <>\r\n                                        <Typography style={{ fontWeight: \"600\", color: '#0075c9' }} className={`${classes.txtCardDescription} `}>\r\n                                            <span style={{ color: 'black' }}>{\"Hora: \" + item?.turnoFechHora?.split('T')[1].substring(0, 5) + \" hs\"}</span>\r\n                                        </Typography>\r\n                                        <Typography style={{ fontWeight: \"600\", color: '#0075c9', paddingBottom: \"10px\" }} className={`${classes.txtCardDescription} `} >\r\n                                            <span style={{ color: 'black' }}>{\"CENTRO MEDICO \" + item?.sucursalDescripcion}</span>\r\n                                        </Typography>\r\n                                        <Typography className={`${classes.txtCardDescription}`}>\r\n                                            {item?.pacienteNombreApellido}\r\n                                        </Typography>\r\n                                        <Typography className={`${classes.txtCardDescription}`}>\r\n                                            {item?.especialidadDescripcion}\r\n                                        </Typography>\r\n                                        <Typography className={`${classes.txtCardDescription}`}>\r\n                                            {item?.medicoDescripcion}\r\n                                        </Typography>\r\n                                    </>\r\n                                }\r\n                                buttonZone={\r\n                                    <section style={{ display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\r\n                                        <div>\r\n                                            <CustomButton\r\n                                                title=\"REPETIR TURNO\"\r\n                                                customClass={classes.darkLinearGradient}\r\n                                                style={{ whiteSpace: \"nowrap\", marginTop: \"10px\", width: \"100%\", fontSize: \"0.5rem\", fontWeight: '600' }}\r\n                                                onClick={handleClickOpenRepeatModal(item)}\r\n                                            />\r\n                                        </div>\r\n                                    </section>\r\n                                }\r\n                            />\r\n                        ))\r\n                        :\r\n                        <NotFound customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span>No tenés historial de turnos</span>\r\n                            </div>}\r\n                            wsItem={record}\r\n                            fullItem={record} />\r\n                    }\r\n                </div>\r\n                {\r\n                    openModalRepeatAppointment &&\r\n                    <ModalActivities\r\n                        title={'Repetir Turno'}\r\n                        description={'¿Estás seguro que deseas repetir el turno seleccionado?'}\r\n                        open={openModalRepeatAppointment}\r\n                        onClose={setOpenModalRepeatAppointment}\r\n                        modalconfirm={true}\r\n                        modalLogout={false}\r\n                        buttonType={'submit'}\r\n                        handleClick={handleClickModifyRepeatAppointment}\r\n                    />\r\n                }\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AppointmentRecord;","import { useEffect, useState } from \"react\";\r\n\r\nconst useTodayAppointment = ({ appointments }) => {\r\n    const [today, setToday] = useState([]);\r\n\r\n    useEffect(() => {\r\n        let todayAppointment = [];\r\n        /**create list of appointment today */\r\n        appointments?.next?.map((item) => {\r\n            var dateItem = new Date(item?.turnoFechHora);\r\n            var dateTodate = new Date(Date.now());\r\n            var date = new Date(dateTodate.getFullYear(), dateTodate.getMonth(), dateTodate.getDate());\r\n            dateItem.setHours(0, 0, 0, 0);\r\n            date.setHours(0, 0, 0, 0);\r\n            if (dateItem.getTime() == date.getTime()) {\r\n                todayAppointment.push(item);\r\n            }\r\n        });\r\n        setToday(todayAppointment);\r\n    }, [appointments?.next]);\r\n\r\n    const setTodayAppointment = value => {\r\n        setToday(value);\r\n    };\r\n\r\n    return { today, setTodayAppointment };\r\n};\r\n\r\nexport default useTodayAppointment;","import React, { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport { ClickAwayListener, Divider, FormControl, IconButton, Zoom, InputLabel, TextField, Typography } from \"@material-ui/core\";\r\nimport { getDataFilterAppointment, getAfilliatedAppointments, getAfilliatedAppointmentsNext, AppointmentCanceled } from \"../../redux/actions/appointmentsActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport NotFound from \"../../components/HomeLogged/NotFound\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { checkNewAppointments, returnHomeAppointmentHome, setModelAppointmentToRepeatOrModify } from \"../../utils/utilsFunctions\";\r\nimport TuneIcon from '@material-ui/icons/Tune';\r\nimport { useHistory } from \"react-router\";\r\nimport { LocalizationProvider, MobileDatePicker } from \"@material-ui/lab\";\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\r\nimport { format } from \"date-fns\";\r\nimport ModalActivities from \"../../components/DialogActivities/ModalActivities\";\r\nimport useTodayAppointment from \"../../hooks/useTodayAppointment\";\r\nimport NextAppointmentCard from \"../../components/Appointments/Cards/NextAppointmentCard\";\r\nimport  useTrackPageView  from \"../../utils/useTrackPageView\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst persona = {\r\n    numeroPersona: userCode,\r\n    parametroLlamado: \"FILTRO HISTORICO TURNO\"\r\n};\r\n\r\nconst paramAll = {\r\n    numeroPersona: userCode,\r\n    solicitudTurnos: \"TODOS\",\r\n    count: 1000,\r\n    skip: 0,\r\n};\r\n\r\nconst AppointmentNext = () => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const history = useHistory();\r\n    const trackPageView = useTrackPageView(\"Mis próximos turnos\");\r\n    const [dateStart, setDateStart] = useState(new Date());\r\n    const [dateEnd, setDateEnd] = useState(new Date());\r\n    const [openPicker, setOpenPicker] = useState(false);\r\n    const [openModalRepeatAppointment, setOpenModalRepeatAppointment] = useState(false);\r\n    const appointments = useSelector((state) => state.appointmentsReducer);\r\n    const [next, setNext] = useState([]);\r\n    const [groupFamily, setGroupFamily] = useState([]);\r\n    const [selectAffilliate, setSelectAffilliate] = useState({ value: 0, label: \"\" });\r\n    const [modelAppointment, setModelAppointment] = useState();\r\n    const { today, setTodayAppointment } = useTodayAppointment({ appointments });\r\n    const [cancelItem, setCancelItem] = useState(\r\n        {\r\n            numeroPersona: 0,\r\n            numeroTurno: 0,\r\n            enviarMail: \"\",\r\n            mail: \"\"\r\n        });\r\n    const [openModal, setOpenModal] = useState(false);\r\n\r\n    const handleChangeWEB = () => e => {\r\n        var nameAffilliated = groupFamily.filter((x) => x.value == e.target.value);\r\n        setSelectAffilliate({ value: nameAffilliated[0].value, label: nameAffilliated[0].label });\r\n    };\r\n\r\n    const handleClickAway = () => {\r\n        setOpenPicker(false);\r\n    };\r\n\r\n    useEffect(() => {\r\n        getNextAppointments();\r\n    }, [selectAffilliate?.value])\r\n\r\n    const handleClick = () => {\r\n        setOpenPicker((prev) => !prev);\r\n    };\r\n\r\n    const handleClickCancelAppointment = () => {\r\n        dispatch(AppointmentCanceled(cancelItem));\r\n        var newNext = next?.filter((x) => x.turnoNumero != cancelItem?.numeroTurno);\r\n        setNext(newNext);\r\n        setOpenModal(false)\r\n    };\r\n\r\n    const handleClickOpenRepeatModal = (item) => (e) => {\r\n        e.preventDefault();\r\n        setOpenModalRepeatAppointment(prevState => !prevState);\r\n        setModelAppointment(item);\r\n    };\r\n\r\n    const handleClickModifyRepeatAppointment = () => {\r\n        setModelAppointmentToRepeatOrModify(modelAppointment, dispatch, userCode, appointments, history);\r\n    };\r\n\r\n\r\n    const getNextAppointments = () => {\r\n        dispatch(getAfilliatedAppointmentsNext({\r\n            numeroPersona: userCode,\r\n            solicitudTurnos: \"PROXIMOS\",\r\n            count: 99999,\r\n            skip: 0\r\n        }));\r\n    }\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n        getNextAppointments();\r\n        dispatch(getDataFilterAppointment(persona));\r\n        dispatch(getAfilliatedAppointments(paramAll));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let listGroupFamily = appointments?.filtro?.map((val) => {\r\n            return {\r\n                value: parseInt(val?.numeroPersona), label: val?.apellidoNombre\r\n            };\r\n        });\r\n        if (listGroupFamily?.length > 1) {\r\n            listGroupFamily?.push({\r\n                value: 0, label: \"TODOS\"\r\n            });\r\n        }\r\n        setGroupFamily(listGroupFamily);\r\n    }, [appointments?.filtro]);\r\n\r\n    useEffect(() => {\r\n        groupFamily?.forEach((item) => {\r\n            if (item.value == userCode) {\r\n                setSelectAffilliate({ value: item.value, label: item.label });\r\n            }\r\n        });\r\n    }, [groupFamily]);\r\n\r\n    useEffect(() => {\r\n        let list = [];\r\n        if (selectAffilliate?.value == 0 || !selectAffilliate?.value == undefined) {\r\n            list = appointments?.next?.map(element => {\r\n                return element;\r\n            });\r\n        }\r\n        else {\r\n            list = appointments?.next?.filter((x) => selectAffilliate?.value == x.pacienteNumero).map((element) => {\r\n                return element;\r\n            });\r\n        }\r\n        setNext(list);\r\n    }, [selectAffilliate, appointments?.next]);\r\n\r\n    useEffect(() => {\r\n        let start = format(dateStart, \"yyyy-MM-dd\");\r\n        let end = format(dateEnd, \"yyyy-MM-dd\");\r\n        let list = appointments?.next?.filter((x) => selectAffilliate?.value == x.pacienteNumero).map((element) => {\r\n            return element;\r\n        });\r\n        let nextFilter = list?.filter(x => x.turnoFechHora.split('T')[0] >= start && x.turnoFechHora.split('T')[0] <= end);\r\n        setNext(nextFilter);\r\n    }, [dateStart, dateEnd]);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <div className={`${classes.divMyHistoryTurn}`}>\r\n                <div className={`${classes.divAffilliate} ${classes.divAffilliateMyHistory}`}>\r\n                    <Typography className={classes.textTitleTurn}>Afiliado: </Typography>\r\n                    <CustomSelect\r\n                        className={`${classes.afilliateSelect}`}\r\n                        list={groupFamily}\r\n                        selected={selectAffilliate?.value}\r\n                        customClassList={`${classes.deploymentSelect} ${classes.deploymentSelectMyHistory}`}\r\n                        onChange={handleChangeWEB()}\r\n                    />\r\n                </div>\r\n                <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\r\n                    <div style={{ display: \"flex\", alignItems: \"center\" }}>\r\n                        <IconButton onClick={returnHomeAppointmentHome(history)}>\r\n                            <ArrowBackIcon className={classes.iconFilter} />\r\n                        </IconButton>\r\n                        <Typography className={`${classes.textTitleTurn}`} style={{ textTransform: 'uppercase' }}>\r\n                            Mis próximos turnos\r\n                        </Typography>\r\n                    </div>\r\n                    <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway}>\r\n                        <div style={{ position: \"relative\", marginRight: \"12%\"  }}>\r\n                            <CustomButton\r\n                                onClick={handleClick}\r\n                                style={{ fontSize: '13px'}}\r\n                                customClass={`${classes.customHeaderBtn} ${classes.btnFilterAppointment}`}\r\n                                icon={<TuneIcon style={{ marginRight: \"5px\" }} className={classes.iconFilter}/>}\r\n                            />\r\n                            {openPicker && (\r\n                                <Zoom\r\n                                    in={openPicker}\r\n                                >\r\n                                    <div className={`${classes.dropDownMyHistory} ${classes.dropdown}`}>\r\n                                        <Typography className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>{\"PERIODO\"}</Typography>\r\n                                        <Divider classes={{ root: classes.dividerFilter }} />\r\n                                        <div className={`${classes.headerFiltro} ${classes.marginTop}`}>\r\n                                            <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }} className={classes.datePicker}>\r\n                                                <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"DESDE\"}</InputLabel>\r\n                                                <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n                                                    <LocalizationProvider style={{ width: \"100px\" }} dateAdapter={AdapterDateFns}  >\r\n                                                        <MobileDatePicker\r\n                                                            cancelText=\"Cancelar\"\r\n                                                            toolbarTitle=\"\"\r\n                                                            inputFormat=\"dd/MM/yyyy\"\r\n                                                            value={dateStart}\r\n                                                            onChange={(newValue) => { setDateStart(newValue); }}\r\n                                                            renderInput={(params) => <TextField {...params} />}\r\n                                                        />\r\n                                                    </LocalizationProvider>\r\n                                                    <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                                </div>\r\n                                            </FormControl>\r\n\r\n                                            <FormControl style={{ width: \"150px\", marginLeft: \"10px\", paddingTop: \"10px\" }} className={classes.datePicker} >\r\n                                                <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"HASTA\"}</InputLabel>\r\n                                                <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\", }}>\r\n                                                    <LocalizationProvider dateAdapter={AdapterDateFns}  >\r\n                                                        <MobileDatePicker\r\n                                                            cancelText=\"Cancelar\"\r\n                                                            toolbarTitle=\"\"\r\n                                                            inputFormat=\"dd/MM/yyyy\"\r\n                                                            value={dateEnd}\r\n                                                            onChange={(newValue) => { setDateEnd(newValue); }}\r\n                                                            variant='outlined'\r\n                                                            renderInput={(params) => <TextField {...params} />}\r\n                                                        />\r\n                                                    </LocalizationProvider>\r\n                                                    <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                                                </div>\r\n                                            </FormControl>\r\n                                        </div>\r\n                                    </div>\r\n                                </Zoom>\r\n                            )}\r\n                        </div>\r\n                    </ClickAwayListener>\r\n                </div>\r\n                <Divider className={`${classes.formDivider} ${classes.dividerAppointment}`} style={{margin: \"10px 0\"}} />\r\n                <div className={`${classes.listCardMyHistory}`} style={{display: \"flex\", justifyContent: \"center\"}}>\r\n                    {next?.length > 0 ?\r\n                        next?.map((item, key) => (\r\n                            <NextAppointmentCard item={item} i={key} handleClickOpenRepeatModal={handleClickOpenRepeatModal} setCancelItem={setCancelItem} setOpenModal={setOpenModal} />\r\n                        ))\r\n                        :\r\n                        <NotFound customMsg={\r\n                            <div className={classes.contentNotFound} style={{ marginTop: \"10%\" }}>\r\n                                <span>No tenés próximos turnos</span>\r\n                            </div>}\r\n                            wsItem={next?.filter(nextAppointmentsToFilter => nextAppointmentsToFilter?.pacienteNumero === selectAffilliate?.value)}\r\n                            fullItem={next} />\r\n                    }\r\n                </div>\r\n                {\r\n                    openModalRepeatAppointment &&\r\n                    <ModalActivities\r\n                        title={'Modificar Turno'}\r\n                        description={'¿Estás seguro que deseas modificar el turno seleccionado?'}\r\n                        open={openModalRepeatAppointment}\r\n                        onClose={setOpenModalRepeatAppointment}\r\n                        modalconfirm={true}\r\n                        modalLogout={false}\r\n                        buttonType={'submit'}\r\n                        handleClick={handleClickModifyRepeatAppointment}\r\n                    />\r\n                }\r\n                {\r\n                    openModal &&\r\n                    <ModalActivities\r\n                        title={\"Cancelar turno\"}\r\n                        description={\"¿Estás seguro que deseas cancelar el turno?\"}\r\n                        open={openModal}\r\n                        onClose={setOpenModal}\r\n                        modalconfirm={true}\r\n                        modalLogout={false}\r\n                        buttonType={'submit'}\r\n                        handleClick={handleClickCancelAppointment} />\r\n                }\r\n            </div>\r\n        </>\r\n    );\r\n};\r\nexport default AppointmentNext;","import React, { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport { Divider, IconButton, Typography } from \"@material-ui/core\";\r\nimport { getAppointmentFavorite, getDataFilterAppointment, getAfilliatedAppointments, ABAppointmentFavorite } from \"../../redux/actions/appointmentsActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport NotFound from \"../../components/HomeLogged/NotFound\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { returnHomeAppointmentHome, setModelAppointmentToRepeatOrModify, showErrorMessageModal } from \"../../utils/utilsFunctions\";\r\nimport { useHistory } from \"react-router\";\r\nimport ModalActivities from \"../../components/DialogActivities/ModalActivities\";\r\nimport FavoriteCard from \"../../components/Appointments/Cards/FavoriteCard\";\r\nimport  useTrackPageView  from \"../../utils/useTrackPageView\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst persona = {\r\n    numeroPersona: userCode,\r\n    parametroLlamado: \"FILTRO HISTORICO TURNO\"\r\n};\r\n\r\nconst param = {\r\n    numeroPersona: userCode,\r\n    solicitudTurnos: \"HISTORICOS\",\r\n    count: 9999,\r\n    skip: 0\r\n};\r\n\r\nconst paramAll = {\r\n    numeroPersona: userCode,\r\n    solicitudTurnos: \"TODOS\",\r\n    count: 1000,\r\n    skip: 0,\r\n};\r\n\r\nconst paramFav = {\r\n    numeroPersona: userCode,\r\n    count: 9999,\r\n    skip: 0,\r\n};\r\n\r\nconst AppointmentFavorite = () => {\r\n    const trackPageView = useTrackPageView(\"Turnos Favoritos\");\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const history = useHistory();\r\n    const [openModalRepeatAppointment, setOpenModalRepeatAppointment] = useState(false);\r\n    const appointments = useSelector((state) => state.appointmentsReducer);\r\n    const [favorite, setFavorite] = useState([]);\r\n    const [groupFamily, setGroupFamily] = useState([]);\r\n    const [selectAffilliate, setSelectAffilliate] = useState({\r\n        value: 0,\r\n        label: \"\"\r\n    });\r\n    const [modelAppointment, setModelAppointment] = useState({});\r\n    const [openModalFavorite, setOpenModalFavorite] = useState(false);\r\n    const [openError, setOpenError] = useState(false);\r\n    const errorMessage = useSelector(state => state.appointmentsReducer.msgError);\r\n\r\n    const handleChangeWEB = () => e => {\r\n        var nameAffilliated = groupFamily.filter((x) => x.value == e.target.value);\r\n        setSelectAffilliate({ value: nameAffilliated[0].value, label: nameAffilliated[0].label });\r\n    };\r\n\r\n    const handleClickOpenRepeatModal = (item) => (e) => {\r\n        e.preventDefault();\r\n        setOpenModalRepeatAppointment(prevState => !prevState);\r\n        setModelAppointment(item);\r\n    };\r\n\r\n    const handleClickModifyRepeatAppointment = () => {\r\n        setModelAppointmentToRepeatOrModify(modelAppointment, dispatch, userCode, appointments, history);\r\n    };\r\n\r\n    const handleClickOpenDeleteFavModal = (item) => (e) => {\r\n        e.preventDefault();\r\n        var del = {\r\n            numeroPersona: selectAffilliate?.value,\r\n            medicoCodigo: item?.medicoCodigo,\r\n            tipo: \"BAJA\"\r\n        };\r\n        setModelAppointment(del);\r\n        setOpenModalFavorite(true);\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getAppointmentFavorite(paramFav));\r\n    }, [openModalFavorite])\r\n\r\n    const handleClickDeleteFavAppointment = () => {\r\n        dispatch(ABAppointmentFavorite(modelAppointment));\r\n        setOpenModalFavorite(prevState => !prevState);\r\n    };\r\n\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n        dispatch(getDataFilterAppointment(persona));\r\n        dispatch(getAfilliatedAppointments(paramAll));\r\n        dispatch(getAppointmentFavorite(paramFav));\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let listGroupFamily = appointments?.filtro?.map((val) => {\r\n            return {\r\n                value: parseInt(val?.numeroPersona), label: val?.apellidoNombre\r\n            };\r\n        });\r\n        setGroupFamily(listGroupFamily);\r\n    }, [appointments?.filtro]);\r\n\r\n    useEffect(() => {\r\n        groupFamily?.forEach((item) => {\r\n            if (item.value == userCode) {\r\n                setSelectAffilliate({ value: item.value, label: item.label });\r\n            }\r\n        });\r\n    }, [groupFamily]);\r\n\r\n    useEffect(() => {\r\n        paramFav.numeroPersona = selectAffilliate?.value;\r\n        dispatch(getAppointmentFavorite(paramFav));\r\n    }, [selectAffilliate]);\r\n\r\n    useEffect(() => {\r\n        let listFav = [];\r\n        if (selectAffilliate?.value !== undefined || selectAffilliate?.value !== 0) {\r\n            listFav = appointments?.favorite?.map((element) => {\r\n                return element;\r\n            });\r\n            setFavorite(listFav);\r\n        }\r\n    }, [appointments?.favorite]);\r\n\r\n    useEffect(() => {\r\n        errorMessage !== \"\" && setOpenError(true);\r\n    }, [errorMessage]);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <div className={`${classes.divMyHistoryTurn}`}>\r\n                <div className={`${classes.divAffilliate} ${classes.divAffilliateMyHistory}`}>\r\n                    <Typography className={classes.textTitleTurn}>Afiliado: </Typography>\r\n                    <CustomSelect\r\n                        className={`${classes.afilliateSelect}`}\r\n                        customRequired={true}\r\n                        list={groupFamily}\r\n                        selected={selectAffilliate?.value}\r\n                        customClassList={`${classes.deploymentSelect} ${classes.deploymentSelectMyHistory}`}\r\n                        onChange={handleChangeWEB()}\r\n                    />\r\n                </div>\r\n                <>\r\n                    <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\r\n                        <div style={{ display: \"flex\", alignItems: \"center\" }}>\r\n                            <IconButton onClick={returnHomeAppointmentHome(history)}>\r\n                                <ArrowBackIcon className={classes.iconFilter} />\r\n                            </IconButton>\r\n                            <Typography className={`${classes.textTitleTurn}`} style={{ textTransform: 'uppercase' }}>\r\n                                Mis favoritos\r\n                            </Typography>\r\n                        </div>\r\n                    </div>\r\n                </>\r\n\r\n                <Divider className={classes.formDivider} style={{ marginRight: \"50px\" }} />\r\n                <div className={`${classes.listCardMyHistory}`} style={{display: \"flex\", justifyContent: \"center\"}}>\r\n                    {favorite?.length > 0 ?\r\n                        favorite?.map((item, i) => (\r\n                            <FavoriteCard item={item} i={i} handleClickOpenRepeatModal={handleClickOpenRepeatModal} handleClickOpenDeleteFavModal={handleClickOpenDeleteFavModal} />\r\n                        ))\r\n                        :\r\n                        <NotFound customMsg={\r\n                            <div className={classes.contentNotFound} style={{ marginTop: \"10%\" }}>\r\n                                <span>No tenés turnos favoritos</span>\r\n                            </div>} \r\n                            wsItem={appointments?.appointmentFavoriteFullData?.favoritos?.filter((x) => x.pacienteNumero === userCode)}\r\n                            fullItem={appointments?.appointmentFavoriteFullData} />\r\n                    }\r\n                </div>\r\n                {showErrorMessageModal(errorMessage, openError, setOpenError, classes.borderWhite, classes.quickAccessIcon)}\r\n                {\r\n                    openModalRepeatAppointment &&\r\n                    <ModalActivities\r\n                        title={'Repetir Turno'}\r\n                        description={'¿Estás seguro que deseas repetir el turno seleccionado?'}\r\n                        open={openModalRepeatAppointment}\r\n                        onClose={setOpenModalRepeatAppointment}\r\n                        modalconfirm={true}\r\n                        modalLogout={false}\r\n                        buttonType={'submit'}\r\n                        handleClick={handleClickModifyRepeatAppointment}\r\n                    />\r\n                }\r\n                {\r\n                    openModalFavorite &&\r\n                    <ModalActivities\r\n                        title={'Eliminar favorito'}\r\n                        description={'¿Estás seguro que deseas eliminar el turno de tus favoritos?'}\r\n                        open={openModalFavorite}\r\n                        onClose={setOpenModalFavorite}\r\n                        modalconfirm={true}\r\n                        modalLogout={false}\r\n                        buttonType={'submit'}\r\n                        handleClick={handleClickDeleteFavAppointment}\r\n                    />\r\n                }\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AppointmentFavorite;","import Menu from \"../../../components/Menu/Menu\";\r\nimport {\r\n    Divider,\r\n    Typography,\r\n    Accordion,\r\n    AccordionSummary,\r\n    AccordionDetails,\r\n    IconButton,\r\n} from \"@material-ui/core\";\r\nimport NotFound from \"../../../components/HomeLogged/NotFound\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport useStyles from \"../../../assets/styles/styles\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { useHistory } from \"react-router\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport { handleExpandAccordion } from \"../../../utils/utilsFunctions\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getAnswerQuestion } from \"../../../redux/actions/appointmentsActions\";\r\nimport useTrackPageView from \"../../../utils/useTrackPageView\";\r\n\r\n\r\nconst Questions = () => {\r\n    const appointments = useSelector((state) => state.appointmentsReducer);\r\n    const classes = useStyles();\r\n    const history = useHistory();\r\n    const [expanded, setExpanded] = useState(false);\r\n    const dispatch = useDispatch();\r\n    const trackPageView = useTrackPageView(\"Preguntas Frecuentes - Turnos\");\r\n\r\n    const returnHome = () => {\r\n        history.push('/AppointmentHome');\r\n    };\r\n\r\n    useEffect(() => {\r\n        dispatch(getAnswerQuestion());\r\n        trackPageView();\r\n    }, [])\r\n\r\n    return (<>\r\n        <Menu />\r\n        <div className={`${classes.divMyHistoryTurn}`}>\r\n            <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", marginTop: \"30px\" }}>\r\n                <div style={{ display: \"flex\", alignItems: \"center\" }}>\r\n                    <IconButton onClick={returnHome}>\r\n                        <ArrowBackIcon className={classes.iconFilter} />\r\n                    </IconButton>\r\n                    <Typography className={`${classes.textTitleTurn}`} style={{ textTransform: 'uppercase' }}>\r\n                        Preguntas frecuentes\r\n                    </Typography>\r\n                </div>\r\n            </div>\r\n            <Divider className={`${classes.formDivider} ${classes.dividerAppointment}`} />\r\n            {appointments.questionF?.length > 0 ?\r\n                appointments.questionF.map((item, i) => (\r\n                    <Accordion\r\n                        key={i}\r\n                        className={classes.questionQFMargin}\r\n                        style={{ width: \"90%\", margin: \"0px 5%\" }}\r\n                        expanded={expanded === item.question}\r\n                        onChange={(e, isExpanded) => { handleExpandAccordion(item.question, e, isExpanded, setExpanded); }}\r\n                    >\r\n                        <AccordionSummary\r\n                            expandIcon={<ExpandMoreIcon />}\r\n                            aria-controls=\"panel1a-content\"\r\n                            id=\"panel1a-header\"\r\n                        >\r\n                            <Typography className={classes.txtTitleQuestion}>\r\n                                {item.question}\r\n                            </Typography>\r\n                        </AccordionSummary>\r\n                        <AccordionDetails key={i}>\r\n                            <Typography className={classes.txtCardQuestionDesc} style={{marginLeft: \"1%\"}}>\r\n                                {item.answer}\r\n                            </Typography>\r\n                        </AccordionDetails>\r\n                    </Accordion>))\r\n                :\r\n                <NotFound customMsg={\r\n                    <div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center' }}>\r\n                        <span className={classes.notAppointment}>No existen actualmente preguntas frecuentes</span>\r\n                    </div>}\r\n                    wsItem={appointments?.appointmentQuestionFullData?.answerQuestion}\r\n                    fullItem={appointments?.appointmentQuestionFullData?.answerQuestion} />\r\n            }\r\n        </div>\r\n    </>);\r\n};\r\n\r\nexport default Questions;\r\n\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { ClickAwayListener, Divider, FormControl, IconButton, InputLabel, TextField, Typography } from \"@material-ui/core\";\r\nimport { getDataFilterAppointment } from \"../../redux/actions/appointmentsActions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport NotFound from \"../../components/HomeLogged/NotFound\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport MovementsCard from \"../../components/Billing/Movements/MovementsCard\";\r\nimport TuneIcon from '@material-ui/icons/Tune';\r\nimport { LocalizationProvider, MobileDatePicker } from \"@material-ui/lab\";\r\nimport AdapterDateFns from \"@material-ui/lab/AdapterDateFns\";\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\r\nimport HeaderCard from \"../../components/Billing/Movements/HeaderCard\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport ModalActivities from \"../DialogActivities/ModalActivities\";\r\nimport FileDownloadIcon from '@material-ui/icons/FileDownload';\r\nimport {\r\n    getRefunds,\r\n    downloadRefund,\r\n    cancelRefundRequest,\r\n    getParametersRefunds,\r\n    setFilters\r\n} from \"../../redux/actions/refundsActions\";\r\nimport { useHistory } from \"react-router\";\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport { es } from \"date-fns/locale\";\r\nimport ControlPointOutlinedIcon from '@material-ui/icons/ControlPointOutlined';\r\nimport { format } from \"date-fns\";\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { showErrorMessageModal } from \"../../utils/utilsFunctions\";\r\n\r\nconst personNumber = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst person = {\r\n    numeroPersona: personNumber,\r\n    parametroLlamado: \"\"\r\n};\r\n\r\nconst previousSixMonths = 6;\r\n\r\nconst RefundsIndex = () => {\r\n    const dispatch = useDispatch();\r\n    const history = useHistory();\r\n    const date = new Date();\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const [groupFamily, setGroupFamily] = useState([]);\r\n    const [listCard, setListCard] = useState([]);\r\n    const [openPicker, setOpenPicker] = useState(false);\r\n    const refundsRedux = useSelector((state) => state.refundsReducer);\r\n    const appointments = useSelector((state) => state.appointmentsReducer);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [itemSelected, setItemSelected] = useState({});\r\n    const downloadRefundAffiliate = useSelector((state) => state.refundsReducer.downloadRefund);\r\n    const [openCancelRefundModal, setOpenCancelRefundModal] = useState(false);\r\n    const [cancelRefund, setCancelRefund] = useState({});\r\n    const [openLoadingModal, setLoadingModal] = useState(false);\r\n    const loadingDownload = useSelector((state) => state.refundsReducer.loadingDownload);\r\n    const [cancelRefundDownload, setCancelRefundDownload] = useState(false);\r\n    const nullifyRefund = useSelector((state) => state.refundsReducer.cancelRefund);\r\n    const [openNullifyRefundModal, setNullifyRefundModal] = useState(false);\r\n    const [ErrorModal, setErrorModal] = useState(false);\r\n    const [ErrorDownloadModal, setErrorDownloadModal] = useState(false);\r\n    const { refundsFilters } = useSelector(state => state?.refundsReducer);\r\n    const errorMessage = useSelector(state => state.refundsReducer.msgError);\r\n    const [openErrorModal, setOpenErrorModal] = useState();\r\n\r\n    const inlineRefundsStyles = {\r\n        downloadRefundsButton: {\r\n            marginTop: \"10px\",\r\n            width: \"60%\",\r\n            fontSize: \"7px\",\r\n            fontWeight: '600'\r\n        },\r\n\r\n        newRequestRefundsContainerButton: {\r\n            display: 'flex',\r\n            justifyContent: 'flex-start',\r\n            paddingTop: screen.sWidth < 768 ? '5%' : '2%', flexWrap: 'wrap'\r\n        },\r\n\r\n        newRequestRefundsButton: {\r\n            height: \"40px\",\r\n            fontSize: \"12px\",\r\n            fontWeight: \"600\",\r\n            margin: screen.sWidth < 768 ? '15px 13px' : '5px 40px'\r\n        },\r\n\r\n        frequentQuestionsButton: {\r\n            height: \"40px\",\r\n            fontSize: \"12px\",\r\n            fontWeight: \"600\",\r\n            marginTop: screen.sWidth < 768 ? \"5px\" : \"15px\",\r\n            padding: '0 16px'\r\n        },\r\n\r\n        movementsCardDescription: { color: '#0075c9', fontWeight: 600 },\r\n\r\n        titleModal: {\r\n            display: 'flex',\r\n            justifyContent: 'center',\r\n            marginTop: '20px',\r\n            width: '250px'\r\n        },\r\n\r\n        selectAffiliateContainer: {\r\n            display: 'flex',\r\n            justifyContent: 'space-between',\r\n            margin: '15px 5px',\r\n            alignItems: 'center'\r\n        },\r\n\r\n        historyAndFilterButtonContainer: {\r\n            display: \"flex\",\r\n            alignItems: \"center\",\r\n            justifyContent: \"space-between\"\r\n        },\r\n\r\n        refundsCardsContainer: {\r\n            marginTop: '20px',\r\n            display: 'flex',\r\n            justifyContent: 'center'\r\n        },\r\n\r\n        buttonZoneSection: {\r\n            display: 'flex',\r\n            alignItems: 'flex-end',\r\n            justifyContent: 'flex-end',\r\n            flex: 1\r\n        },\r\n\r\n        buttonZoneContainer: {\r\n            marginLeft: '20px',\r\n            alignItems: 'center',\r\n            marginBottom: 'auto'\r\n        },\r\n\r\n        seeMoreButton: { fontSize: '12px', fontWeight: \"600\", color: '#0075c9' },\r\n\r\n        seeMoreIcon: { marginLeft: \"5px\", marginTop: '-2px', fontSize: '13px' },\r\n\r\n        localizationProvider: { width: \"100px\", zIndex: 2 },\r\n\r\n        descriptionModal: {\r\n            display: 'flex',\r\n            justifyContent: 'center',\r\n            margin: '5px'\r\n        }\r\n    }\r\n\r\n    const handleChange = () => e => {\r\n        setListCard([]);\r\n        let nameAffilliated = groupFamily?.filter((x) => x.value == e.target.value);\r\n        dispatch(setFilters({ ...refundsFilters, afiliado: { value: nameAffilliated?.[0]?.value, label: nameAffilliated?.[0]?.label } }));\r\n    };\r\n\r\n    const handleClick = () => {\r\n        setOpenPicker((prev) => !prev);\r\n    };\r\n\r\n    const handleClickAway = () => {\r\n        setOpenPicker(false);\r\n    };\r\n\r\n    const handleStartRequest = (e) => {\r\n        e.preventDefault();\r\n        history.push('/Refunds?type=RefundsRequest');\r\n    };\r\n\r\n    const handleClickModal = (item) => e => {\r\n        e.preventDefault();\r\n        let obj = {\r\n            numeroPersona: refundsFilters?.afiliado?.value,\r\n            gestionCodigo: item?.reintegroGestionCodigo,\r\n            reintegroNumero: item?.reintegroNumero,\r\n            reintegroDelegacionCodigo: item?.reintegroDelegacionCodigo\r\n        };\r\n        dispatch(downloadRefund(obj));\r\n    };\r\n\r\n    function handleCloseDownload() {\r\n        setCancelRefundDownload(true);\r\n        setLoadingModal(false)\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (loadingDownload) {\r\n            setLoadingModal(true);\r\n            setCancelRefundDownload(false);\r\n        } else {\r\n            if (!cancelRefundDownload && downloadRefundAffiliate?.confirmacion) {\r\n                setOpenModal(true);\r\n                setLoadingModal(false);\r\n            }\r\n        }\r\n\r\n        if (!downloadRefundAffiliate?.confirmacion && downloadRefundAffiliate?.confirmacion !== undefined) {\r\n            setLoadingModal(false);\r\n            setOpenModal(false);\r\n            setErrorDownloadModal(true);\r\n        }\r\n    }, [loadingDownload])\r\n\r\n    const setItemToCancel = item => {\r\n        setCancelRefund(item);\r\n        setOpenCancelRefundModal(true);\r\n    }\r\n\r\n    const handleClickCancelRefund = () => e => {\r\n        e.preventDefault();\r\n        let cancelActualItem = {\r\n            numeroPersona: refundsFilters?.afiliado?.value,\r\n            gestionCodigo: cancelRefund?.reintegroGestionCodigo\r\n        };\r\n        dispatch(cancelRefundRequest(cancelActualItem));\r\n        setOpenCancelRefundModal(false);\r\n        dispatch(getParametersRefunds());\r\n        setCancelRefund({})\r\n        setNullifyRefundModal(true);\r\n    };\r\n\r\n    useEffect(() => {\r\n        if (nullifyRefund?.confirmacion) {\r\n            setListCard([]);\r\n            getAllRefunds();\r\n        } else {\r\n            if (!nullifyRefund?.confirmacion && nullifyRefund?.confirmacion !== undefined) {\r\n                setNullifyRefundModal(false);\r\n                setErrorModal(true);\r\n            }\r\n        }\r\n    }, [nullifyRefund])\r\n\r\n    useEffect(() => {\r\n        dispatch(getDataFilterAppointment(person));\r\n        setItemSelected({});\r\n        setErrorDownloadModal(false);\r\n        setErrorModal(false);\r\n        setCancelRefundDownload(false);\r\n        setLoadingModal(false);\r\n        setOpenModal(false);\r\n        setCancelRefund(false);\r\n        validateInitialValues();\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (downloadRefundAffiliate?.reintegro !== undefined) {\r\n            setItemSelected({ archivo: downloadRefundAffiliate?.reintegro?.[0]?.archivo, archivoNombreCompleto: downloadRefundAffiliate?.reintegro?.[0]?.archivoNombreCompleto });\r\n        }\r\n    }, [downloadRefundAffiliate]);\r\n\r\n    useEffect(() => {\r\n        let listGroupFamily = appointments?.filtro?.map((val) => {\r\n            return {\r\n                value: parseInt(val?.numeroPersona), label: val?.apellidoNombre\r\n            };\r\n        });\r\n        setGroupFamily(listGroupFamily);\r\n    }, [appointments?.filtro]);\r\n\r\n    useEffect(() => {\r\n        groupFamily?.forEach((item) => {\r\n            if (item?.value == personNumber && !refundsFilters?.afiliado) {\r\n                dispatch(setFilters({ ...refundsFilters, afiliado: { value: item?.value, label: item?.label } }));\r\n            }\r\n        });\r\n    }, [groupFamily]);\r\n\r\n    const getAllRefunds = () => {\r\n        if(refundsFilters?.dateStart && refundsFilters?.dateEnd && refundsFilters?.afiliado?.value) {\r\n            let start = format(refundsFilters?.dateStart != undefined ? refundsFilters?.dateStart : date.setMonth(date.getMonth() - previousSixMonths), 'yyyy-MM-dd');\r\n            let end = format(refundsFilters?.dateEnd != undefined ? refundsFilters?.dateEnd : new Date(), 'yyyy-MM-dd');\r\n            let refundsRequest = {\r\n                fechaDesde: start,\r\n                fechaHasta: end,\r\n                numeroPersona: refundsFilters?.afiliado?.value,\r\n                count: 0,\r\n                skip: 0\r\n            };\r\n            dispatch(getRefunds(refundsRequest));\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        getAllRefunds();\r\n    }, [refundsFilters?.dateStart, refundsFilters?.dateEnd, refundsFilters?.afiliado?.value]);\r\n\r\n    useEffect(() => {\r\n        let refundsCards = [];\r\n        if (refundsRedux?.refunds?.reintegros?.length > 0) {\r\n            refundsCards = refundsRedux?.refunds?.reintegros?.map(element => {\r\n                return element;\r\n            });\r\n        }\r\n        setListCard(refundsCards);\r\n        setNullifyRefundModal(false);\r\n    }, [refundsRedux?.refunds]);\r\n\r\n    useEffect(() => {\r\n        if (errorMessage !== \"\" && errorMessage !== undefined) {\r\n            setOpenErrorModal(true);\r\n            setNullifyRefundModal(false);\r\n            setOpenCancelRefundModal(false);\r\n            setErrorDownloadModal(false);\r\n            setOpenModal(false);\r\n            setLoadingModal(false);\r\n            setErrorModal(false);\r\n        }\r\n    }, [errorMessage]);\r\n\r\n    const goToFrequentQuestions = () => {\r\n        history.push(\"/RefundsFAQ\");\r\n    };\r\n\r\n    const setButtons = item => {\r\n        let response = '';\r\n\r\n        const STATE = {\r\n            Ingresada: 'ANULAR',\r\n            'En Proceso': '',\r\n            Finalizado: '',\r\n            Anulada: '',\r\n            Autorizado: 'DESCARGAR',\r\n            Denegado: '',\r\n            Pagado: 'DESCARGAR',\r\n        };\r\n\r\n        const BTN = {\r\n            DESCARGAR: (\r\n                <CustomButton\r\n                    title=\"DESCARGAR\"\r\n                    customClass={`${classes.lightLinearGradient}`}\r\n                    style={inlineRefundsStyles.downloadRefundsButton}\r\n                    onClick={handleClickModal(item)}\r\n                />\r\n            ),\r\n\r\n            ANULAR: (\r\n                <CustomButton\r\n                    title=\"ANULAR\"\r\n                    customClass={`${classes.lightLinearGradient}`}\r\n                    style={inlineRefundsStyles.downloadRefundsButton}\r\n                    onClick={() => { setItemToCancel(item) }}\r\n                />\r\n            )\r\n        };\r\n\r\n        if (item?.reintegroEstadoDescripcion?.trim()) {\r\n            response = BTN[STATE[item?.reintegroEstadoDescripcion?.trim()]];\r\n        }\r\n\r\n        return response;\r\n    };\r\n\r\n    // Botón iniciar solicitud\r\n    const startRequestButton = () => {\r\n        return (\r\n            <div style={inlineRefundsStyles.newRequestRefundsContainerButton}>\r\n                <CustomButton\r\n                    title={\"Iniciar solicitud\"}\r\n                    onClick={handleStartRequest}\r\n                    style={inlineRefundsStyles.newRequestRefundsButton}\r\n                    icon={<AddCircleIcon style={{ marginRight: \"5px\" }} />}\r\n                    customClass={`${classes.customHeaderBtn} ${classes.lightLinearGradient}`}\r\n                />\r\n            </div>\r\n        );\r\n    }\r\n\r\n    // Select para afiliado\r\n    const affiliateDropDown = () => {\r\n        return (\r\n            <div style={{ minWidth: '240px' }}>\r\n                <FormControl\r\n                    className={`${classes.formControlChronicMedicationForm} ${classes.formControlsEmergency} ${classes.formControlSelect}`}\r\n                    variant=\"standard\"\r\n                >\r\n                    <CustomSelect\r\n                        customRequired={true}\r\n                        list={groupFamily}\r\n                        selected={parseInt(refundsFilters?.afiliado?.value)}\r\n                        onChange={handleChange()}\r\n                    />\r\n                </FormControl>\r\n            </div>\r\n        );\r\n    }\r\n\r\n    // Botón Preguntas Frecuentes\r\n    const frequentQuestionsButton = () => {\r\n        return (\r\n            <div>\r\n                <CustomButton\r\n                    title={screen.sWidth > 768 ? 'Preguntas Frecuentes' : ''}\r\n                    onClick={goToFrequentQuestions}\r\n                    icon={<QuestionAnswerOutlinedIcon style={{ marginRight: screen.sWidth > 768 ? \"8px\" : \"5px\" }} />}\r\n                    customClass={`${classes.lightLinearGradient}`}\r\n                    style={inlineRefundsStyles.frequentQuestionsButton}\r\n                />\r\n            </div>\r\n        );\r\n    }\r\n\r\n    const setFirstDate = (value) => {\r\n        dispatch(setFilters({ ...refundsFilters, dateStart: value }));\r\n    }\r\n\r\n    const setEndDate = (value) => {\r\n        dispatch(setFilters({ ...refundsFilters, dateEnd: value }));\r\n    }\r\n\r\n    const validateInitialValues = () => {\r\n        let aux ={};\r\n        if (refundsFilters) {\r\n            aux = {...refundsFilters};\r\n            \r\n            if(refundsFilters?.dateStart == null){\r\n                aux = {...aux, dateStart: date.setMonth(date.getMonth() - previousSixMonths)};\r\n            }\r\n\r\n            if(refundsFilters?.dateEnd == null){\r\n                aux = {...aux, dateEnd: new Date()};\r\n            }\r\n        }\r\n        dispatch(setFilters(aux));\r\n    }\r\n\r\n    // Desplegable para seleccionar rangos de fechas\r\n    const dateDropDown = () => {\r\n        return (\r\n            <div className={`${classes.headerFiltro} ${classes.marginTop}`}>\r\n\r\n                <FormControl style={{ width: \"150px\", paddingTop: \"10px\" }} className={classes.datePicker}>\r\n                    <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"DESDE\"}</InputLabel>\r\n                    <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n                        <LocalizationProvider locale={es} style={inlineRefundsStyles.localizationProvider} dateAdapter={AdapterDateFns}  >\r\n                            <MobileDatePicker\r\n                                cancelText=\"Cancelar\"\r\n                                toolbarTitle=\"\"\r\n                                inputFormat=\"dd/MM/yyyy\"\r\n                                name={'dateStart'}\r\n                                value={refundsFilters['dateStart']}\r\n                                onChange={setFirstDate}\r\n                                renderInput={(params) => <TextField {...params} />}\r\n                            />\r\n                        </LocalizationProvider>\r\n                        <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                    </div>\r\n                </FormControl>\r\n\r\n                <FormControl style={{ width: \"150px\", marginLeft: \"10px\", paddingTop: \"10px\" }} className={classes.datePicker} >\r\n                    <InputLabel className={`${classes.txtSubtitleCalendar} ${classes.fontSize15}`} shrink  >{\"HASTA\"}</InputLabel>\r\n                    <div className={classes.top22} style={{ display: \"flex\", justifyContent: \"space-between\", }}>\r\n                        <LocalizationProvider locale={es} style={inlineRefundsStyles.localizationProvider} dateAdapter={AdapterDateFns}  >\r\n                            <MobileDatePicker\r\n                                cancelText=\"Cancelar\"\r\n                                toolbarTitle=\"\"\r\n                                inputFormat=\"dd/MM/yyyy\"\r\n                                name={'dateEnd'}\r\n                                value={refundsFilters['dateEnd']}\r\n                                onChange={setEndDate}\r\n                                variant='outlined'\r\n                                renderInput={(params) => <TextField {...params} />}\r\n                            />\r\n                        </LocalizationProvider>\r\n                        <CalendarTodayIcon style={{ alignSelf: \"center\" }} />\r\n                    </div>\r\n                </FormControl>\r\n\r\n            </div>\r\n        );\r\n    }\r\n\r\n    // Botón filtro de fechas\r\n    const dateFilterButton = () => {\r\n        return (\r\n            <ClickAwayListener mouseEvent=\"onMouseDown\" touchEvent=\"onTouchStart\" onClickAway={handleClickAway}>\r\n                <div style={{ position: \"relative\" }}>\r\n                    <CustomButton\r\n                        onClick={handleClick}\r\n                        style={{ fontSize: '12px', margin: screen.sWidth < 768 ? '15px 13px' : '20px 30px 20px 0' }}\r\n                        customClass={`${classes.btnFilterAppointment}`}\r\n                        icon={<TuneIcon className={classes.iconFilter} />}\r\n                    />\r\n                    {\r\n                        openPicker &&\r\n                        (\r\n                            <div className={`${classes.dropDownMyHistory} ${classes.dropdown}`} style={{ zIndex: 1 }}>\r\n                                <Typography className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>{\"PERIODO\"}</Typography>\r\n                                <Divider classes={{ root: classes.dividerFilter }} />\r\n                                {dateDropDown()}\r\n                            </div>\r\n                        )\r\n                    }\r\n                </div>\r\n            </ClickAwayListener>\r\n        );\r\n    }\r\n\r\n    // Tarjeta con detalle de cada reintegro\r\n    const refundsCard = (element, index) => {\r\n        return (\r\n            <MovementsCard\r\n                index={index}\r\n                headerIcon={\r\n                    <HeaderCard\r\n                        day={element?.fechaFormateada?.nombreDia}\r\n                        numberDay={element?.fechaFormateada?.dia}\r\n                        month={parseInt(element?.reintegroGestionFecha?.substring(5, 7))}\r\n                        year={parseInt(element?.reintegroGestionFecha?.substring(0, 4))} />\r\n                }\r\n                description={\r\n                    <div style={{ marginTop: '5px' }}>\r\n                        <Typography style={{ fontWeight: \"600\" }} className={`${classes.txtCardDescription} `}>\r\n                            <span style={inlineRefundsStyles.movementsCardDescription}>{`SOLICITUD N°: ${element?.reintegroGestionCodigo}`}</span>\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`} style={{ width: screen.sWidth < 768 && '150px' }}>\r\n                            {`PRESTACION: ${element?.reintegroTipoDescripcion}`}\r\n                        </Typography>\r\n                        <Typography style={{ color: '#0075c9', display: 'flex', flexWrap: 'wrap' }} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                            REINTEGRO Nº <span style={{ wordBreak: 'break-all', whiteSpace: 'break-spaces' }}> {element?.reintegroNumero !== 0 ? element?.reintegroNumero : \"-\"}</span>\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`}>\r\n                            {`IMPORTE: $ ${element?.reintegroImporte}`}\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescription}`}>\r\n                            {`ESTADO:`} <span style={inlineRefundsStyles.movementsCardDescription}>{element?.reintegroEstadoDescripcion}</span>\r\n                        </Typography>\r\n                    </div>\r\n                }\r\n                buttonZone={\r\n                    <section style={inlineRefundsStyles.buttonZoneSection}>\r\n                        <section className={`${classes.sectionButtons} ${classes.btnAuthorizationCard}`} style={inlineRefundsStyles.buttonZoneContainer}>\r\n                            <div>\r\n                                <IconButton onClick={handleClickVerMas(element)} customClass={`${classes.customHeaderBtn}`}>\r\n                                    <Typography style={inlineRefundsStyles.seeMoreButton} className={`${classes.txtCardDescription} ${classes.txtEllipsis}`}>\r\n                                        VER\r\n                                    </Typography>\r\n                                    <ControlPointOutlinedIcon style={inlineRefundsStyles.seeMoreIcon} className={classes.iconFilter} />\r\n                                </IconButton>\r\n                            </div>\r\n                            <div style={{ paddingRight: '7%' }}>\r\n                                {setButtons(element)}\r\n                            </div>\r\n                        </section>\r\n                    </section>\r\n                }\r\n            />\r\n        );\r\n    }\r\n\r\n    // PopUp para descarga de reintegros\r\n    const downloadPopUp = () => {\r\n        return (\r\n            <ModalActivities\r\n                title={\r\n                    <div style={inlineRefundsStyles.titleModal}>\r\n                        <span>Descargar</span>\r\n                    </div>\r\n                }\r\n                description={\r\n                    <div style={inlineRefundsStyles.descriptionModal}>\r\n                        <a href={`data:image/png;base64,${itemSelected?.archivo}`} download={itemSelected?.archivoNombreCompleto}>\r\n                            <IconButton style={{ backgroundColor: '#ffffff', borderRadius: '15px' }}>\r\n                                <FileDownloadIcon className={classes.actionsIcons} />\r\n                            </IconButton>\r\n                        </a>\r\n                    </div>\r\n                }\r\n                open={openModal}\r\n                onClose={setOpenModal}\r\n                modalconfirm={false}\r\n                modalLogout={false}\r\n            />\r\n        );\r\n    }\r\n\r\n    const handleClickVerMas = (item) => (e) => {\r\n        e.preventDefault();\r\n        let obj = {\r\n            numeroPersona: refundsFilters?.afiliado?.value,\r\n            gestionCodigo: item.reintegroGestionCodigo,\r\n            reintegroNumero: item.reintegroNumero,\r\n            delegacionCodigo: item.reintegroDelegacionCodigo\r\n        };\r\n        let afiliado = refundsFilters?.afiliado?.value;\r\n        history.push('/RefundsDetails', { params: [obj, afiliado] });\r\n    };\r\n\r\n    useEffect(() => {\r\n        setOpenModal(false);\r\n    }, [])\r\n\r\n    return (\r\n        <>\r\n            <div className={`${classes.divIndexRefunds}`}>\r\n                {startRequestButton()}\r\n\r\n                <div\r\n                    className={classes.divAccordionPrograms}\r\n                    style={inlineRefundsStyles.selectAffiliateContainer}\r\n                >\r\n                    {affiliateDropDown()}\r\n                    {frequentQuestionsButton()}\r\n                </div>\r\n\r\n                <div style={inlineRefundsStyles.historyAndFilterButtonContainer}>\r\n                    <div style={{ display: \"flex\", alignItems: \"center\" }}>\r\n                        <Typography className={`${classes.textTitleTurn} ${classes.titleRefunds}`}>\r\n                            Historial\r\n                        </Typography>\r\n                    </div>\r\n                    {dateFilterButton()}\r\n                </div>\r\n\r\n                <Divider className={`${classes.formDivider} ${classes.dividerAppointment}`} />\r\n\r\n                <div\r\n                    className={`${classes.listCardMyHistory}`}\r\n                    style={inlineRefundsStyles.refundsCardsContainer}\r\n                >\r\n                    {\r\n                        (refundsFilters?.afiliado?.value !== undefined && listCard?.length > 0) ?\r\n                            listCard?.map((item, i) => (\r\n                                <div key={item?.id} style={{ margin: '5px' }}>\r\n                                    {refundsCard(item, i)}\r\n                                </div>\r\n                            ))\r\n                        :\r\n                        <NotFound\r\n                            loading={refundsRedux?.loading}\r\n                            customMsg={\r\n                                <div className={classes.contentNotFound}>\r\n                                    <span >No tenés historial de reintegros</span>\r\n                                </div>\r\n                            }\r\n                            wsItem={refundsRedux?.refunds?.reintegros}\r\n                            fullItem={refundsRedux?.refunds?.reintegros}\r\n                        />\r\n                    }\r\n                </div>\r\n            </div>\r\n\r\n            {openModal && downloadPopUp()}\r\n\r\n            {\r\n                openCancelRefundModal &&\r\n                <ModalActivities\r\n                    title={'Anular solicitud'}\r\n                    description={\r\n                        <>\r\n                            <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                                Estás por anular la solicitud de reintegro seleccionada\r\n                            </div>\r\n                            <div style={{ display: 'flex', justifyContent: 'center', marginTop: '20px' }}>\r\n                                ¿Querés continuar?\r\n                            </div>\r\n                        </>\r\n                    }\r\n                    onClose={setOpenCancelRefundModal}\r\n                    open={openCancelRefundModal}\r\n                    modalconfirm={true}\r\n                    buttonType={'submit'}\r\n                    handleClick={handleClickCancelRefund()}\r\n                    modalLogout={false}\r\n                    style={{ textAlign: 'center' }}\r\n                />\r\n            }\r\n\r\n            {\r\n                openLoadingModal &&\r\n                <ModalActivities\r\n                    title={\r\n                        <div style={{ marginTop: \"30px\" }}>Preparando archivo ...</div>\r\n                    }\r\n                    description={\r\n                        <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.whiteCircularProgress}`}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                    }\r\n                    onClose={handleCloseDownload}\r\n                    open={openLoadingModal}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                    style={{ textAlign: 'center' }}\r\n                />\r\n            }\r\n\r\n            {\r\n                openNullifyRefundModal &&\r\n                <ModalActivities\r\n                    title={\r\n                        <div style={{ marginTop: \"30px\" }}>Anulando solicitud ...</div>\r\n                    }\r\n                    description={\r\n                        <div\r\n                            className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.whiteCircularProgress}`}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                    }\r\n                    onClose={setNullifyRefundModal}\r\n                    open={openNullifyRefundModal}\r\n                    style={{ textAlign: 'center' }}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n\r\n            {\r\n                ErrorDownloadModal &&\r\n                <ModalActivities\r\n                    description={\r\n                        <>\r\n                            <div>Ocurrió un error al intentar obtener el archivo</div>\r\n                            <div>Por favor, intentá de nuevo más tarde</div>\r\n                        </>\r\n                    }\r\n                    title={<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />}\r\n                    modalLogout={false}\r\n                    open={ErrorDownloadModal}\r\n                    style={{ textAlign: 'center' }}\r\n                    onClose={setErrorDownloadModal}\r\n                    modalconfirm={false}\r\n                />\r\n            }\r\n\r\n            {\r\n                ErrorModal &&\r\n                <ModalActivities\r\n                    title={\r\n                        <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                    }\r\n                    description={\r\n                        <div>\r\n                            <div>Ocurrió un error al intentar anular la solicitud</div>\r\n                            <div>Por favor, intentá de nuevo más tarde</div>\r\n                        </div>\r\n                    }\r\n                    onClose={setErrorModal}\r\n                    open={ErrorModal}\r\n                    style={{ textAlign: 'center' }}\r\n                    modalconfirm={false}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n\r\n            {showErrorMessageModal(errorMessage, openErrorModal, setOpenErrorModal, classes.borderWhite, classes.quickAccessIcon)}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default RefundsIndex;\r\n","import React, { useEffect } from \"react\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport Header from \"../../components/GenericHeader/Header\";\r\nimport RefundsIndex from \"../../components/Refunds/RefundsIndex\";\r\nimport { useLocation } from \"react-router\";\r\nimport RefundsRequest from \"../../components/Refunds/RefundsRequest/RefundsRequest\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { getParametersRefunds } from \"../../redux/actions/refundsActions\";\r\nimport { getDataGroupFamily } from \"../../redux/actions/appointmentsActions\";\r\n\r\nconst persona = {\r\n    numeroPersona: parseInt(window.localStorage.getItem(\"numeroPersona\"))\r\n}\r\n\r\nconst Refunds = () => {\r\n    const { search } = useLocation();\r\n    const match = search.match(/type=(.*)/);\r\n    const typeURL = match?.[1];\r\n    const dispatch = useDispatch();\r\n\r\n    useEffect(() => {\r\n        dispatch(getDataGroupFamily(persona));\r\n        dispatch(getParametersRefunds());\r\n    }, []);\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            {typeURL === undefined ?\r\n                <>\r\n                    <Header title='Reintegros' />\r\n                    <RefundsIndex />\r\n                </>\r\n                :\r\n                <RefundsRequest />\r\n            }\r\n        </>\r\n    );\r\n\r\n};\r\n\r\nexport default Refunds;","import Iframe from \"react-iframe\";\r\nimport Menu from \"../../components/Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { getLimitPlan } from \"../../redux/actions/limitPlansAction\";\r\nimport { notAccessToThisModule, verifyPermission } from \"../../utils/utilsFunctions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useEffect, useLayoutEffect, useState } from \"react\";\r\nimport Header from '../../components/GenericHeader/Header';\r\nimport useTrackPageView from \"../../utils/useTrackPageView\";\r\nimport Loading from \"../../components/LoadingPage/Loading\";\r\n\r\nconst FrequentQuestionsPage = () => {\r\n    const dispatch = useDispatch();\r\n    const loadingPermission = useSelector((state) => state.limitPlanReducer.requestInProgress);\r\n    const limitPlanReducer = useSelector((state) => state.limitPlanReducer.allLimitPlanData);\r\n    const trackPageView = useTrackPageView(\"Preguntas Frecuentes\");\r\n    const classes = useStyles();\r\n    const affiliatePlan = useSelector((state) => state.personalDataReducer?.fullData?.afiliado?.planDescripcion);\r\n    const [ hasPermission, setHasPermission ] = useState(false);\r\n\r\n    useLayoutEffect(() => {\r\n        verifyPermission(limitPlanReducer, affiliatePlan, \"Preguntas Frecuentes\", setHasPermission);\r\n    }, [limitPlanReducer, affiliatePlan, hasPermission]);\r\n\r\n    useEffect(() => {\r\n        trackPageView();\r\n        dispatch(getLimitPlan());\r\n    }, []);\r\n\r\n    return (\r\n        <>\r\n        {\r\n            <>\r\n                {\r\n                    !hasPermission ?\r\n                    <>\r\n                        <Menu />\r\n                        <Header title=\"Preguntas Frecuentes\" colorTitle=\"#0075C9\" />\r\n                        <Loading\r\n                            isLoading={loadingPermission}\r\n                            children={notAccessToThisModule()}\r\n                        />\r\n                    </>\r\n                :\r\n                    <>\r\n                        <Menu />\r\n                        <Header title=\"Preguntas Frecuentes\" colorTitle=\"#0075C9\" />\r\n                        <Loading\r\n                            isLoading={loadingPermission}\r\n                            children={<Iframe sandbox='' scrolling=\"yes\" src='https://www.oslpasteur.com.ar/PortalHTML5/accesos/PreguntasFrecuentes/index.html?'\r\n                            className={classes.iframe} />}\r\n                        />\r\n                    </>\r\n                }\r\n            </>\r\n        }\r\n    </>\r\n    );\r\n};\r\n\r\nexport default FrequentQuestionsPage;\r\n","import Iframe from \"react-iframe\";\r\nimport Menu from \"../Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport Header from \"../GenericHeader/Header\";\r\n\r\nconst AuthorizationsFrequentQuestions = () => {\r\n    const classes = useStyles();\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <Header title=\"Preguntas Frecuentes\" />\r\n                <Iframe\r\n                    sandbox='' scrolling=\"yes\" src='https://www.oslpasteur.com.ar/PortalHTML5/accesos/PreguntasFrecuentes/index.html?autorizacion'\r\n                    className={classes.iframe}\r\n                />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default AuthorizationsFrequentQuestions;\r\n","import Iframe from \"react-iframe\";\r\nimport Menu from \"../Menu/Menu\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport Header from \"../GenericHeader/Header\";\r\n\r\nconst RefundsFrequentQuestions = () => {\r\n    const classes = useStyles();\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <Header title=\"Preguntas Frecuentes\" />\r\n                <Iframe\r\n                    sandbox=''\r\n                    scrolling=\"yes\"\r\n                    src='https://www.oslpasteur.com.ar/PortalHTML5/accesos/PreguntasFrecuentes/index.html?reintegros'\r\n                    className={classes.iframe}\r\n                />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default RefundsFrequentQuestions;\r\n","import { Box, Step, StepLabel, Stepper, Typography } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport { getRefundDetails } from \"../../../redux/actions/refundsActions\";\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\n\r\nconst Details = ({ detailsParameters, listDetails, setListDetails }) => {\r\n    const dispatch = useDispatch();\r\n    const classes = useStyles();\r\n    const [activeStep, setActiveStep] = useState(0);\r\n    const { refundDetails, loading } = useSelector(state => state.refundsReducer);\r\n    const steps = [\r\n        '',\r\n        'Iniciada',\r\n        'En proceso',\r\n        'Autorizado',\r\n        'Finalizado',\r\n    ];\r\n\r\n    const detailStyles = {\r\n        captionTitle: { fontSize: '12px', padding: '5px 0', fontWeight: '800' },\r\n        captionDescription: { color: '#000000', fontWeight: '500', marginLeft: '5px' },\r\n        informationResume: { fontSize: '14px', fontWeight: \"600\", color: '#0075c9' },\r\n        affiliateName: { fontSize: '14px', padding: '8px 0' },\r\n        status: { color: '#0075c9', marginLeft: '5px' }\r\n    };\r\n\r\n    useEffect(() => {\r\n        if(detailsParameters?.length > 0 && detailsParameters?.[0] != undefined) {\r\n            dispatch(getRefundDetails(detailsParameters?.[0]));\r\n        }\r\n    }, [])\r\n\r\n    useEffect(() => {\r\n        if (refundDetails?.reintegroDetalle !== undefined) {\r\n            setActiveStep(refundDetails?.reintegroDetalle?.[0]?.reintegroEstadoCodigo);\r\n        }\r\n    }, [refundDetails?.reintegroDetalle]);\r\n\r\n    useEffect(() => {\r\n        let detalles = [];\r\n        if (refundDetails?.reintegroDetalle?.length > 0) {\r\n            detalles = refundDetails?.reintegroDetalle?.map(element => {\r\n                return element;\r\n            });\r\n        }\r\n        setListDetails(detalles);\r\n    }, [refundDetails?.reintegroDetalle?.[0]]);\r\n\r\n    const stepsComponent = () => {\r\n        return (\r\n            <Box sx={{ width: '100%' }} className={classes.boxSteps}>\r\n                <Stepper activeStep={activeStep} alternativeLabel>\r\n                    {steps?.map(step => (\r\n                        <Step key={step}>\r\n                            <StepLabel className={classes.stepLabelTab}></StepLabel>\r\n                        </Step>\r\n                    ))}\r\n                </Stepper>\r\n            </Box>\r\n        );\r\n    }\r\n\r\n    const addDetailCaption = (title, description) => {\r\n        return (\r\n            <Typography\r\n                style={ detailStyles.captionTitle }\r\n                className={`${classes.txtCardDescription}`}>\r\n                {title}\r\n                <span style={ detailStyles.captionDescription }>\r\n                    {description}\r\n                </span>\r\n            </Typography>\r\n        );\r\n    }\r\n\r\n    return (\r\n        <>\r\n            { stepsComponent() }\r\n            { listDetails?.length > 0 && !loading ?\r\n                <section style={{ padding: '5%' }}>\r\n                    <item>\r\n                        <Typography\r\n                            style={ detailStyles.informationResume }\r\n                            className={`${classes.txtCardDescription}`}>\r\n                            RESUMEN DE LA INFORMACION\r\n                        </Typography>\r\n                        <Typography\r\n                            style={ detailStyles.affiliateName }\r\n                            className={`${classes.txtCardDescription}`}>\r\n                            { listDetails?.[0]?.reintegroAfiliadoSolicitante }\r\n                        </Typography>\r\n                        <Typography\r\n                            style={ detailStyles.affiliateName }\r\n                            className={`${classes.txtCardDescription}`}>\r\n                            ESTADO:\r\n                            <span style={ detailStyles.status }>\r\n                                { listDetails?.[0]?.reintegroEstadoDescripcion }\r\n                            </span>\r\n                        </Typography>\r\n                        { addDetailCaption('FECHA DE SOLICITUD:',new Date(listDetails?.[0]?.reintegroGestionFecha?.replace(/\\s/, 'T'))?.toLocaleDateString('es-ES')) }\r\n                        { addDetailCaption('DELEGACION:', listDetails?.[0]?.reintegroDelegacionDescripcion) }\r\n                        { addDetailCaption('TIPO DE REINTEGRO:', listDetails?.[0]?.reintegroTipoDescripcion) }\r\n                        { addDetailCaption('AFILIADO BENEFICIARIO:', listDetails?.[0]?.reintegroAfiliadoBeneficiario) }\r\n                        { addDetailCaption('FECHA DE COMPROBANTE:', new Date(listDetails?.[0]?.reintegroComprobanteFecha?.replace(/\\s/, 'T'))?.toLocaleDateString('es-ES')) }\r\n                        { addDetailCaption('TELEFONO DE CONTACTO:', listDetails?.[0]?.reintegroContactoTelefono) }\r\n                        { addDetailCaption('E-MAIL DE CONTACTO:', listDetails?.[0]?.reintegroContactoEmail) }\r\n                    </item>\r\n                </section>\r\n            :\r\n                <NotFound\r\n                    customMsg={\r\n                        <div className={classes.contentNotFound}>\r\n                            <span>No hay contenido para mostrar</span>\r\n                        </div>\r\n                    }\r\n                    wsItem={listDetails}\r\n                    fullItem={listDetails}\r\n                    loading={loading}\r\n                />\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Details;","import CustomButton from \"../../../controls/Button/CustomButton\";\r\nimport useStyles from '../../../assets/styles/styles';\r\nimport AddCircleIcon from \"@material-ui/icons/AddCircle\";\r\nimport QuestionAnswerOutlinedIcon from '@material-ui/icons/QuestionAnswerOutlined';\r\nimport { Accordion, AccordionSummary, AccordionDetails, FormControl, Typography, IconButton, FormHelperText } from \"@material-ui/core\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport AttachFileOutlinedIcon from '@material-ui/icons/AttachFileOutlined';\r\nimport CustomizedInputs from \"../../../controls/InputCustom/CustomizedInputs\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport BadgeNotification from \"../../Notification/BadgeNotification\";\r\nimport CloseRoundedIcon from '@material-ui/icons/CloseRounded';\r\nimport CustomSelect from \"../../../controls/Select/CustomSelect\";\r\nimport UploadModal from \"../../../controls/UploadModal/UploadModal\";\r\nimport ConfirmModal from \"../../PersonalData/ConfirmModal\";\r\nimport { deleteFile, validate } from \"../../../utils/utilsFunctions\";\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport ModalActivities from \"../../DialogActivities/ModalActivities\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport NotFound from \"../../HomeLogged/NotFound\";\r\nimport FrequentQuestionsButton from \"../../Authorizations/FrequentQuestionsButtons\";\r\nimport DoneOutlinedIcon from '@mui/icons-material/DoneOutlined';\r\nimport DoneAllOutlinedIcon from '@mui/icons-material/DoneAllOutlined';\r\nimport {\r\n    getRefundTypeAttached,\r\n    pushRefundComments,\r\n    getRefundAttachments,\r\n    getRefundComments,\r\n    postRefundAttached,\r\n    postReadRefundComment,\r\n    getDetailsAttachments\r\n} from \"../../../redux/actions/refundsActions\";\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport FileDownloadIcon from '@material-ui/icons/FileDownload';\r\nimport LineBreakInput from \"../../../controls/InputCustom/LineBreakInput\";\r\n\r\nconst Comments = ({ item, detailsParameters }) => {\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const inputFile = useRef();\r\n    const classes = useStyles();\r\n    const [openTxtComment, setOpenTxtComment] = useState(false);\r\n    const [openModal, setOpenModal] = useState(false);\r\n    const [txtComment, setTxtComment] = useState('');\r\n    const [fileButtons, setFileButtons] = useState([]);\r\n    const [files, setFiles] = useState([]);\r\n    const [modalDescription, setModalDescription] = useState(\"\");\r\n    const [modalTitle, setModalTitle] = useState('');\r\n    const [errorClass, setErrorClass] = useState('');\r\n    const [modalIcon, setModalIcon] = useState('');\r\n    const refundsSelector = useSelector(state => state.refundsReducer);\r\n    const [error, setError] = useState([]);\r\n    const [openSendSuccess, setOpenSendSuccess] = useState(false);\r\n    const refundState = useSelector(\r\n        state => state.refundsReducer?.refundDetail?.reintegroDetalle[0]?.refundEstadoDescripcion\r\n    );\r\n    const [typeAttachedSelected, setTypeAttachedSelected] = useState(0);\r\n    const [listTypeAttached, setListTypeAttached] = useState([{ value: 0, label: '' }]);\r\n    const [listAttached, setListAttached] = useState([]);\r\n    const [txtObservation, setTxtObservation] = useState('');\r\n    const [hide, setHide] = useState(false);\r\n    const [openModalError, setOpenModalError] = useState(false);\r\n    const [openModalConfirm, setOpenModalConfirm] = useState(false);\r\n    const configurationReduxState = useSelector(state => state.configurationReducer?.allConfigurations?.configurations);\r\n    const [msgErrorAttachments, setMsgErrorAttachments] = useState('');\r\n    const [closeCommentsAccordion, setCloseCommentsAccordion] = useState(false);\r\n    const [closeAttachedAccordion, setCloseAttachedAccordion] = useState(false);\r\n    const [repeatFile, setRepeatFile] = useState(false);\r\n    const [fileToDownload, setFileToDownload] = useState({});\r\n    const downloadAttachments = useSelector(state => state.refundsReducer.detailsAttachments);\r\n    const loadingDownload = useSelector((state) => state.refundsReducer.loadingDownload);\r\n    const [openDownloadModal, setOpenDownloadModal] = useState(false);\r\n    const [openLoadingModal, setLoadingModal] = useState(false);\r\n    const [initialLoad, setInitialLoad] = useState(true);\r\n    const [ErrorDownloadAttached, setErrorDownloadAttached] = useState(false);\r\n    const [cancelAttachedDownload, setCancelAttachedDownload] = useState(false);\r\n    const [counterLength, setCounterLength] = useState(0);\r\n    const [counterObservationLength, setCounterObservationLength] = useState(0);\r\n\r\n\r\n\r\n    const obj = {\r\n        numeroPersona: detailsParameters,\r\n        gestionCodigo: item?.refundDetails?.reintegroDetalle?.[0]?.reintegroGestionCodigo,\r\n        reintegroNumero: item?.refundDetails?.reintegroDetalle?.[0]?.reintegroNumero,\r\n        delegacionCodigo: item?.refundDetails?.reintegroDetalle?.[0]?.reintegroDelegacionCodigo\r\n    };\r\n\r\n    const commentsAttachmentsStyles = {\r\n        downloadRefundsButton: {\r\n            marginRight: \"20px\",\r\n            marginBottom: screen.sWidth < 768 ? \"20px\" : \"5px\",\r\n            width: \"auto\",\r\n            fontSize: \"7px\",\r\n            float: 'right',\r\n            fontWeight: '600'\r\n        },\r\n\r\n        titleModal: {\r\n            justifyContent: 'center',\r\n            display: 'flex',\r\n            marginTop: '20px',\r\n            width: '250px'\r\n        },\r\n\r\n        descriptionModal: {\r\n            display: 'flex',\r\n            margin: '5px',\r\n            justifyContent: 'center'\r\n        },\r\n\r\n        commentsAccordionIcon: {\r\n            marginRight: \"5px\",\r\n            backgroundColor: '#0075c9',\r\n            color: '#ffffff',\r\n            borderRadius: '15px',\r\n            fontSize: '30px',\r\n            padding: '5px'\r\n        },\r\n\r\n        blueCircle: {\r\n            width: '10px',\r\n            height: '10px',\r\n            position: 'absolute',\r\n            backgroundColor: '#0075c9',\r\n            padding: '12px',\r\n            borderRadius: '20px',\r\n            marginTop: '10px'\r\n        },\r\n\r\n        commentsDate: {\r\n            paddingLeft: '30px',\r\n            display: 'flex',\r\n            paddingTop: '10px',\r\n            paddingBottom: '10px'\r\n        },\r\n\r\n        commentContainer: {\r\n            marginLeft: '12px',\r\n            paddingLeft: '20px',\r\n            paddingRight: '8px',\r\n            borderLeft: '1px solid #bdbdbd'\r\n        },\r\n\r\n        commentAndPerspective: {\r\n            borderRadius: '10px',\r\n            minHeight: '150px',\r\n            padding: '10px',\r\n            backgroundColor: '#FEDCDC',\r\n            minWidth: '180px'\r\n        },\r\n\r\n        perspective: {\r\n            fontSize: '16px',\r\n            fontWeight: \"500\",\r\n            color: '#0075c9'\r\n        },\r\n\r\n        commentsAccordionContainer: {\r\n            width: '100%',\r\n            justifyContent: 'flex-start',\r\n            flexDirection: 'column-reverse',\r\n            paddingTop: '10px'\r\n        },\r\n\r\n        attachmentsSumaryContainer: { width: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" },\r\n    };\r\n\r\n    const handleChangeText = (e) => {\r\n        const { name, value } = e.target;\r\n        if (name === 'observacion') {\r\n            setTxtObservation(value);\r\n            setFiles([{ ...files[0], archivoObservacion: value }]);\r\n        } else {\r\n            setTxtComment(value);\r\n        }\r\n        if (value.length <= 1000) {\r\n            setCounterLength(value.length);\r\n        }\r\n    };\r\n\r\n    const handleChangeObservations= (e) => {\r\n        const { name, value } = e.target;\r\n        if (name === 'observacion') {\r\n            setTxtObservation(value);\r\n            setFiles([{ ...files[0], archivoObservacion: value }]);\r\n        } else {\r\n            setTxtComment(value);\r\n        }\r\n            if (value.length <= 200) {\r\n                setCounterObservationLength(value.length);\r\n            }\r\n    }\r\n\r\n    const getAttachmentTypeDescription = attachmentCode => {\r\n        let description = \"\";\r\n        if (attachmentCode !== undefined) {\r\n            const auxDescription = refundsSelector?.refundTypeAttached?.tipoAdjunto?.filter(x => x.tipoAdjuntosCodigo === attachmentCode);\r\n            if (typeof (auxDescription) !== 'undefined') {\r\n                if (auxDescription[0]?.tipoAdjuntosDescripcion !== undefined) {\r\n                    description = auxDescription[0]?.tipoAdjuntosDescripcion;\r\n                } else {\r\n                    description = \"Sin observaciones\";\r\n                }\r\n            }\r\n        }\r\n        return description;\r\n    }\r\n\r\n    const handleOpenTextBox = (e) => {\r\n        e.preventDefault();\r\n        if (refundState !== \"Finalizado\") {\r\n            setOpenTxtComment(true);\r\n        }\r\n        setCloseCommentsAccordion(false);\r\n        setCloseAttachedAccordion(false);\r\n        setHide(false);\r\n    };\r\n\r\n    const handlePushComment = (e) => {\r\n        e.preventDefault();\r\n        let comentarios = {\r\n            numeroPersona: parseInt(detailsParameters),\r\n            gestionCodigo: parseInt(item?.refundDetails?.reintegroDetalle?.[0]?.reintegroGestionCodigo),\r\n            reintegroNumero: parseInt(item?.refundDetails?.reintegroDetalle?.[0]?.reintegroNumero),\r\n            delegacionCodigo: parseInt(item?.refundDetails?.reintegroDetalle?.[0]?.reintegroDelegacionCodigo),\r\n            reintegroComentario: JSON.stringify({\r\n                reintegroComentarioObservacion: txtComment,\r\n                reintegroComentarioPerspectiva: 'A',\r\n                reintegroComentarioPublicar: 'S',\r\n            })\r\n        };\r\n        dispatch(pushRefundComments(comentarios));\r\n        setTxtComment('');\r\n        setOpenTxtComment(prevState => !prevState);\r\n    };\r\n\r\n    useEffect(() => {\r\n        getNewComment();\r\n    }, [refundsSelector?.pushRefundComments?.confirmacion])\r\n\r\n    const setSeenComments = () => {\r\n        let readComments = obj;\r\n        readComments.perspectiva = \"A\";\r\n        dispatch(postReadRefundComment(readComments));\r\n    }\r\n    const readCommentIcons = element => {\r\n        const readIcon = <div style={{ float: 'right', color: \"#0075c9\", display: 'block' }}><DoneAllOutlinedIcon /></div>;\r\n        const unreadIcon = <div style={{ float: 'right', color: \"#585858\", display: 'block' }}><DoneOutlinedIcon /></div>;\r\n        if (element?.reintegroComentarioPerspectiva === \"O\" && element?.reintegroComentarioLeido === \"S\") {\r\n            return readIcon;\r\n        } else if (element?.reintegroComentarioPerspectiva === \"O\" && element?.reintegroComentarioLeido === \"N\") {\r\n            return unreadIcon;\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        const timerFunction = setTimeout(getNewComment, 1000);\r\n\r\n        return () => clearTimeout(timerFunction);\r\n    }, [refundsSelector?.readRefundComments]);\r\n\r\n    const handleAddAttachment = () => {\r\n        if (refundState !== \"Finalizado\") {\r\n            if (screen.sWidth > 768) {\r\n                inputFile?.current?.click();\r\n            }\r\n            else {\r\n                setOpenModal(prevState => !prevState);\r\n            }\r\n        }\r\n        setCloseCommentsAccordion(false);\r\n        setCloseAttachedAccordion(false);\r\n        setOpenTxtComment(false);\r\n    };\r\n\r\n    const handleChangeSelect = () => e => {\r\n        const { name, value } = e.target;\r\n        setTypeAttachedSelected(value);\r\n        setFiles([{ ...files[0], archivoClasificacion: value }]);\r\n        validate(name, '*Campo obligatorio', value, setError, error);\r\n    };\r\n\r\n    const handleCloseTxtComment = () => {\r\n        setOpenTxtComment(prevState => !prevState);\r\n    };\r\n\r\n    const handleUpload = (e) => {\r\n        let alertGreatSize = \"\";\r\n        let uploadFiles = e.target.files;\r\n        for (let archive of uploadFiles) {\r\n            let size = (archive.size / 1024);\r\n            if (size <\r\n                parseInt(configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor) * 1000) {\r\n                let adj = {\r\n                    archivoNombre: archive.name.substring(0, archive.name.lastIndexOf(\".\")),\r\n                    archivoExtension: archive.name.substring(archive.name.lastIndexOf(\".\") + 1),\r\n                    archivoNombreCompleto: archive.name,\r\n                    archivoTamanio: parseInt(size),//KB\r\n                    archivo: null,//new Blob([file],{type: file.type}),\r\n                    archivoClasificacion: typeAttachedSelected,\r\n                    archivoObservacion: txtComment,\r\n                };\r\n\r\n                let repeatFile = listAttached?.filter(x => x?.nombre?.trim() == adj?.archivoNombre?.trim());\r\n\r\n                if (repeatFile?.length > 0) {\r\n                    setRepeatFile(true);\r\n                } else {\r\n                    const reader = new FileReader();\r\n                    reader.onloadend = () => {\r\n                        adj.archivo = reader.result?.split(',').pop();\r\n                        setFiles([adj]);\r\n                        setHide(true);\r\n                    };\r\n                    reader.readAsDataURL(archive);\r\n                }\r\n            } else {\r\n                alertGreatSize = alertGreatSize + \" \" + archive.name;\r\n            }\r\n        }\r\n        if (alertGreatSize !== \"\") {\r\n            setModalTitle(\"Atención\");\r\n            setModalDescription(`Los archivos: ${alertGreatSize} superan el tamaño máximo.\r\n                                Asegurate de que los archivos no superen los ${configurationReduxState?.filter(x => x.id === 'medidaArchivosAdjuntos')[0]?.valor}MB`);\r\n            setModalIcon(\r\n                <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n            );\r\n            setErrorClass(classes.backgroundError);\r\n            setOpenSendSuccess(prevState => !prevState);\r\n        }\r\n        e.target.value = null;\r\n    };\r\n\r\n    function cleanStates() {\r\n        setHide(false);\r\n        setOpenModalConfirm(false);\r\n    }\r\n\r\n    const handleOpenModalConfirm = () => {\r\n        if (validateFiles(files) && validateSelect(typeAttachedSelected)) {\r\n            setOpenModalConfirm(true);\r\n        }\r\n    };\r\n\r\n    const handleSubmit = () => {\r\n\r\n        \r\n        //If the user doesn't select any option, then archivoClasificacion be will 0 and an error will be generated.\r\n        //If onChange event doesn't run, this line will set default/first choice of the object selection.\r\n        if(files[0].archivoClasificacion === 0){\r\n            files[0].archivoClasificacion = typeAttachedSelected;\r\n        }\r\n\r\n        let model = {\r\n            numeroPersona: detailsParameters,\r\n            gestionCodigo: item?.refundDetails?.reintegroDetalle?.[0]?.reintegroGestionCodigo,\r\n            reintegroNumero: item?.refundDetails?.reintegroDetalle?.[0]?.reintegroNumero,\r\n            delegacionCodigo: item?.refundDetails?.reintegroDetalle?.[0]?.reintegroDelegacionCodigo,\r\n            perspectiva: 'A', //afiliado\r\n            adjuntos: JSON.stringify(files)\r\n        };\r\n        dispatch(postRefundAttached(model));\r\n        cleanStates();\r\n    };\r\n\r\n    function validateSelect(select) {\r\n        let auxList = [];\r\n        let validationList = [];\r\n        let auxObj = {};\r\n        if (select === 0) {\r\n            auxObj.selectAttached = '*Seleccione otro campo';\r\n        }\r\n        else {\r\n            auxObj.selectAttached = select.toString() ? '' : '*Campo obligatorio';\r\n        }\r\n        auxList = auxObj;\r\n        if (Object.values(auxList).every((x) => x === \"\")) {\r\n            validationList.push(true);\r\n        } else {\r\n            validationList.push(false);\r\n        }\r\n        setError(auxList);\r\n        return Object.values(validationList).every((valid) => valid === true);\r\n    }\r\n\r\n    function getNewComment() {\r\n        dispatch(getRefundComments(obj));\r\n    }\r\n\r\n    useEffect(() => {\r\n        dispatch(getRefundTypeAttached(\"REINTEGRO\"));\r\n        if (item?.refundDetails?.reintegroDetalle !== undefined) {\r\n            dispatch(getRefundAttachments(obj));\r\n        }\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        let list = refundsSelector?.refundTypeAttached?.tipoAdjunto?.map((type) => {\r\n            return {\r\n                value: parseInt(type?.tipoAdjuntosCodigo),\r\n                label: type?.tipoAdjuntosDescripcion\r\n            };\r\n        });\r\n        setListTypeAttached(list);\r\n        if (list !== undefined) {\r\n            setTypeAttachedSelected(list[0]?.value);\r\n        }\r\n    }, [refundsSelector.refundTypeAttached]);\r\n\r\n    const fillAttachedList = () => {\r\n        if (refundsSelector?.attachments?.reintegroAdjuntos !== undefined) {\r\n            let attachmentsList = refundsSelector?.attachments?.reintegroAdjuntos?.map(attachedFromWs => {\r\n                return {\r\n                    nombre: attachedFromWs?.reintegroAdjuntoNombre !== \"\" ? attachedFromWs?.reintegroAdjuntoNombre : \"Archivo no disponible\",\r\n                    tipo: attachedFromWs?.reintegroAdjuntoTipo,\r\n                    extension: attachedFromWs?.reintegroAdjuntoExtension,\r\n                    observacion: attachedFromWs?.observacion ? attachedFromWs?.observacion : undefined,\r\n                    reintegroAdjuntoCodigo: attachedFromWs?.reintegroAdjuntoCodigo\r\n                };\r\n            });\r\n            setListAttached(attachmentsList);\r\n        }\r\n    }\r\n\r\n    useEffect(() => {\r\n        fillAttachedList();\r\n    }, [refundsSelector?.attachments?.reintegroAdjuntos, refundsSelector?.postAttachments]);\r\n\r\n    useEffect(() => {\r\n        fillAttachedList();\r\n    }, []);\r\n\r\n    useEffect(() => {\r\n        if (refundsSelector?.postAttachments?.confirmacion === false) {\r\n            setMsgErrorAttachments(refundsSelector?.postAttachments?.mensajes[0]?.mensaje);\r\n            setOpenModalError(true);\r\n        } else if (refundsSelector?.postAttachments?.confirmacion) {\r\n            let dateNow = Date.now();\r\n            setListAttached([...listAttached,\r\n            {\r\n                nombre: files[0]?.archivoNombre,\r\n                fecha: format(dateNow, \"dd/MM/yyyy\"),\r\n                tipo: files[0]?.archivoClasificacion,\r\n                observacion: txtObservation\r\n            }]);\r\n        }\r\n    }, [refundsSelector.postAttachments]);\r\n\r\n    useEffect(() => {\r\n        if (downloadAttachments?.adjunto !== undefined) {\r\n            setFileToDownload({\r\n                archivo: downloadAttachments?.adjunto?.[0]?.adjunto,\r\n                archivoNombreCompleto: downloadAttachments?.adjunto?.[0]?.adjuntoNombreCompleto\r\n            });\r\n        }\r\n    }, [downloadAttachments]);\r\n\r\n    const handleClickModal = item => e => {\r\n        e.preventDefault();\r\n        dispatch(getDetailsAttachments({\r\n            numeroPersona: detailsParameters,\r\n            reintegroAdjuntoCodigo: item?.reintegroAdjuntoCodigo\r\n        }));\r\n    }\r\n\r\n    useEffect(() => {\r\n        if (loadingDownload) {\r\n            setLoadingModal(true);\r\n            setInitialLoad(false);\r\n            setCancelAttachedDownload(false);\r\n        } else {\r\n            if (!initialLoad && !cancelAttachedDownload) {\r\n                setOpenDownloadModal(true);\r\n                setLoadingModal(false);\r\n            }\r\n        }\r\n\r\n        if((!downloadAttachments?.confirmacion && downloadAttachments?.confirmacion !== undefined) ||\r\n        (downloadAttachments?.adjunto?.[0]?.adjunto === \"\")) {\r\n            setLoadingModal(false);\r\n            setOpenDownloadModal(false);\r\n            setFileToDownload({});\r\n            setErrorDownloadAttached(true);\r\n        }\r\n    }, [loadingDownload])\r\n\r\n    const handleCancelDownload = () => {\r\n        setCancelAttachedDownload(true);\r\n        setLoadingModal(false);\r\n    }\r\n\r\n    // Botones \"Nuevo comentario\" y \"Nuevo adjunto\"\r\n    const buttonsSection = () => {\r\n        return (\r\n            <section\r\n                style={{ display: 'flex' }}\r\n            >\r\n                <CustomButton\r\n                    title={\"Nuevo comentario\"}\r\n                    onClick={handleOpenTextBox}\r\n                    icon={<AddCircleIcon style={{ marginRight: \"5px\" }} />}\r\n                    customClass={`${classes.customHeaderBtn} ${classes.lightLinearGradient} ${classes.txtMobile}`}\r\n                    style={{ height: \"25px\", fontSize: \"9.5px\", fontWeight: \"600\" }}\r\n                />\r\n                <CustomButton\r\n                    customClass={`${classes.customHeaderBtn} ${classes.txtMobile} ${classes.whiteAndBlueBtn}`}\r\n                    title={\"Nuevo adjunto\"}\r\n                    style={{ height: \"25px\", fontSize: \"9.5px\" }}\r\n                    onClick={handleAddAttachment}\r\n                    icon={<AddCircleIcon style={{ marginRight: \"5px\" }} />}\r\n                />\r\n                {screen.sWidth > 768 && <FrequentQuestionsButton />}\r\n            </section>\r\n        );\r\n    }\r\n\r\n    const commentsAccordion = element => {\r\n        return (\r\n            <AccordionSummary\r\n                expandIcon={<ExpandMoreIcon />}\r\n                aria-controls=\"panel1a-content\"\r\n                id=\"panel1a-header\"\r\n                style={{ borderBottom: '1px solid #e2e3e3' }}\r\n                onClick={setSeenComments}\r\n            >\r\n                {element?.count !== undefined && element?.count > 0 ?\r\n                    <BadgeNotification\r\n                        childrenItem={\r\n                            <QuestionAnswerOutlinedIcon\r\n                                style={commentsAttachmentsStyles.commentsAccordionIcon}\r\n                                className={classes.iconFilter}\r\n                            />\r\n                        }\r\n                        countNotification={element?.count}\r\n                    />\r\n                    :\r\n                    <QuestionAnswerOutlinedIcon\r\n                        style={commentsAttachmentsStyles.commentsAccordionIcon}\r\n                        className={classes.iconFilter}\r\n                    />\r\n                }\r\n                <span style={{ paddingLeft: '10px' }}>Comentarios</span>\r\n            </AccordionSummary>\r\n        );\r\n    }\r\n\r\n    // Lista de comentarios\r\n    const allComments = () => {\r\n        return (\r\n            <AccordionDetails>\r\n                <div style={commentsAttachmentsStyles.commentsAccordionContainer} className={classes.boxSteps}>\r\n                    {refundsSelector?.comments?.reintegroComentarios !== undefined && refundsSelector?.comments?.reintegroComentarios?.length !== undefined ?\r\n                        (refundsSelector?.comments?.reintegroComentarios?.map((step, i) => (\r\n                            step?.autorizacionComentarioObservacion !== '' ? (\r\n                                <div key={i} style={{ paddingTop: '10px' }}>\r\n                                    <div style={commentsAttachmentsStyles.blueCircle}></div>\r\n                                    <span\r\n                                        style={commentsAttachmentsStyles.commentsDate}\r\n                                        className={classes.stepLabelTab}>\r\n                                        {step?.reintegroComentarioFechaHora?.replace('T', ' ')}\r\n                                    </span>\r\n                                    <section style={commentsAttachmentsStyles.commentContainer}>\r\n                                        <div style={commentsAttachmentsStyles.commentAndPerspective}>\r\n                                            <Typography\r\n                                                style={commentsAttachmentsStyles.perspective}\r\n                                                className={`${classes.txtCardDescription}`}>\r\n                                                {step?.reintegroComentarioPerspectiva === 'O' ? 'OSLP' : 'Afiliado'}\r\n                                            </Typography>\r\n                                            <p style={{ color: '#585858', wordWrap: 'break-word' }}>\r\n                                                {step?.reintegroComentarioObservacion}\r\n                                                {readCommentIcons(step)}\r\n                                            </p>\r\n                                        </div>\r\n                                    </section>\r\n                                </div>\r\n                            ): null\r\n                        ))) :\r\n                        <NotFound\r\n                            customMsg={\r\n                                <div className={classes.contentNotFound}>\r\n                                    <span>No hay contenido para mostrar</span>\r\n                                </div>\r\n                            }\r\n                            wsItem={refundsSelector?.comments?.reintegroComentarios?.length}\r\n                            fullItem={refundsSelector?.comments?.reintegroComentarios?.length}\r\n                        />\r\n                    }\r\n                </div>\r\n            </AccordionDetails>\r\n        );\r\n    }\r\n\r\n    const attachmentsAccordion = () => {\r\n        return (\r\n            <AccordionSummary\r\n                expandIcon={<ExpandMoreIcon />}\r\n                aria-controls=\"panel1a-content\"\r\n                id=\"panel1a-header\"\r\n                style={{ borderBottom: '1px solid #e2e3e3' }}\r\n            >\r\n                <AttachFileOutlinedIcon\r\n                    style={commentsAttachmentsStyles.commentsAccordionIcon}\r\n                    className={classes.iconFilter}\r\n                />\r\n                <span style={{ paddingLeft: '10px' }}>Adjuntos</span>\r\n            </AccordionSummary>\r\n        );\r\n    }\r\n\r\n    const downloadButton = element => {\r\n        return (\r\n            <CustomButton\r\n                title=\"DESCARGAR\"\r\n                customClass={`${classes.lightLinearGradient}`}\r\n                style={commentsAttachmentsStyles.downloadRefundsButton}\r\n                onClick={handleClickModal(element)}\r\n                disabled={element?.nombre === \"Archivo no disponible\" ? true : false}\r\n            />\r\n        );\r\n    }\r\n\r\n    // Lista de adjuntos\r\n    const allAttachments = () => {\r\n        return (\r\n            <AccordionDetails>\r\n                {listAttached?.length > 0 ?\r\n                    <div className={classes.authorizationsAccordion}>\r\n                        <Typography\r\n                            className={classes.txtSubtitleCalendar}\r\n                            style={{ fontSize: \"16px\" }}\r\n                        >\r\n                            {\"NOMBRE\"}\r\n                        </Typography>\r\n                        {listAttached?.map((attached, i) => (\r\n                            <>\r\n                                <Accordion\r\n                                    style={{ width: \"100%\" }}\r\n                                    key={i}\r\n                                >\r\n                                    <AccordionSummary\r\n                                        id=\"panel1a-header\"\r\n                                        expandIcon={<ExpandMoreIcon />}\r\n                                        classes={{ content: classes.width100 }}\r\n                                        aria-controls=\"panel1a-content\"\r\n                                    >\r\n                                        <div style={commentsAttachmentsStyles.attachmentsSumaryContainer}>\r\n                                            <Typography className={classes.txtEllipsis}>\r\n                                                {attached?.nombre}\r\n                                            </Typography>\r\n                                            <Typography className={classes.txtSubtitleCalendar} style={{ marginRight: '20px' }}>\r\n                                                {attached?.extension}\r\n                                            </Typography>\r\n                                        </div>\r\n                                    </AccordionSummary>\r\n                                    <AccordionDetails >\r\n                                        {\r\n                                            <>\r\n                                                <div className={classes.displayFlex}>\r\n                                                    <Typography\r\n                                                        className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                                                        style={{ marginRight: \"5px\" }}>\r\n                                                        {\"Tipo de adjunto:  \"}\r\n                                                    </Typography>\r\n                                                    <Typography className={`${classes.txtSubtitleGray} ${classes.txtEllipsis}`}>\r\n                                                        {getAttachmentTypeDescription(attached?.tipo)}\r\n                                                    </Typography>\r\n\r\n                                                </div>\r\n                                                <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\r\n                                                    <Typography\r\n                                                        className={`${classes.txtSubtitleBlue} ${classes.txtEllipsis}`}\r\n                                                        style={{ marginRight: \"5px\" }}>\r\n                                                        { \"Observaciones / comentarios: \" }\r\n                                                        <span style={{ color: '#666666' }}>\r\n                                                            {attached?.observacion !== undefined ? attached?.observacion : \"Sin observaciones\"}\r\n                                                        </span>\r\n                                                    </Typography>\r\n                                                    { screen.sWidth > 768 && downloadButton(attached) }\r\n                                                </div>\r\n                                            </>\r\n                                        }\r\n                                    </AccordionDetails>\r\n                                    { screen.sWidth < 768 && downloadButton(attached) }\r\n                                </Accordion>\r\n                            </>\r\n                        ))}\r\n                    </div>\r\n                    :\r\n                    <NotFound\r\n                        wsItem={listAttached?.length}\r\n                        fullItem={listAttached?.length}\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span>No posee adjuntos</span>\r\n                            </div>\r\n                        }\r\n                    />\r\n                }\r\n            </AccordionDetails>\r\n        );\r\n    }\r\n\r\n    // Box agregar nuevo comentario\r\n    const newCommentBox = () => {\r\n        return (\r\n            <section style={{ display: 'flex', justifyContent: 'center', flexWrap: 'wrap', marginTop: \"50px\" }}>\r\n                <FormControl style={{ width: '100%', marginTop:'40px', marginLeft: screen.sWidth < 768 ? '20px' : '320px' }} variant=\"standard\">\r\n                    <LineBreakInput\r\n                        formControlClass={classes.txtObservations}\r\n                        inputLabelClass={classes.txtLabelComments}\r\n                        customClass={classes.txtBoxComments}\r\n                        name=\"consulta\"\r\n                        style={{\r\n                            borderRadius: 29,\r\n                            position: 'relative',\r\n                            border: '1px solid #ced4da',\r\n                            fontSize: 16,\r\n                            minWidth: '224px !important',\r\n                            margin: '0 0 7px 0',\r\n                            textOverflow: 'ellipsis',\r\n                            overflow: 'hidden',\r\n                            whiteSpace: \"nowrap\",\r\n                        }}\r\n                        label={\r\n                            <>\r\n                                <IconButton style={{ padding: '0', marginTop: \"-40px\", left: screen.sWidth < 768 ? '-15px' : \"115px\"  }} onClick={handleCloseTxtComment}>\r\n                                    <CloseRoundedIcon\r\n                                        style={{\r\n                                            marginRight: \"5px\",\r\n                                            backgroundColor: '#ff0000',\r\n                                            color: '#ffffff',\r\n                                            borderRadius: '15px',\r\n                                            fontSize: '25px'\r\n                                        }}\r\n                                        className={classes.iconFilter}\r\n                                    />\r\n                                </IconButton>\r\n                                <span style={{ marginTop: \"-30px\", marginLeft: screen.sWidth < 768 ? '-10px' : \"120px\" }}> Cerrar </span>\r\n                            </>\r\n                        }\r\n                        placeholder='Escribí tu comentario aquí...'\r\n                        onChange={handleChangeText}\r\n                        value={txtComment}\r\n                        multiline\r\n                        rows={5}\r\n                        inputProps={{ maxLength: 1000 }}\r\n                    />\r\n                    <Typography variant=\"caption\" style={{ marginLeft: screen.sWidth < 768 ? \"220px\" : '450px' }}>{counterLength}/1000</Typography>\r\n                </FormControl>\r\n                <CustomButton title={\"ENVIAR\"} onClick={handlePushComment}\r\n                    style={{\r\n                        height: \"25px\",\r\n                        fontSize: \"12px\",\r\n                        fontWeight: \"600\",\r\n                        padding: '16px',\r\n                        marginBottom: '20px'\r\n                    }}\r\n                    customClass={`${classes.lightLinearGradient} ${classes.txtMobile}`}\r\n                />\r\n            </section>\r\n        );\r\n    }\r\n\r\n    return (\r\n        <>\r\n            {(item?.refundDetails?.reintegroDetalle?.[0]?.reintegroEstadoCodigo == 1 ||\r\n                item?.refundDetails?.reintegroDetalle?.[0]?.reintegroEstadoCodigo == 2) &&\r\n                <div style={{ padding: screen.sWidth > 768 && \"0 35px\" }}>\r\n                    {buttonsSection()}\r\n                </div>\r\n            }\r\n\r\n            {openTxtComment && newCommentBox()}\r\n\r\n            {files.length !== 0 && hide &&\r\n                <>\r\n                    <section style={{ display: 'flex', flexDirection: \"column\", alignItems: \"center\", marginTop: '40px' }}>\r\n\r\n                        {files?.map((file, i) => (\r\n                            <div\r\n                                key={i}\r\n                                style={{ display: \"flex\", justifyContent: \"center\", width: \"100%\" }}\r\n                                className={`${classes.txtSubtitleCalendar}`}\r\n                            >\r\n                                <p className={`${classes.txtEllipsis}`}>\r\n                                    <span style={{ color: '#666666', marginRight: '7px' }}>Nombre:</span>{file?.archivoNombre}\r\n                                </p>\r\n                                <IconButton\r\n                                    onClick={\r\n                                        deleteFile(\r\n                                            fileButtons,\r\n                                            setFileButtons,\r\n                                            setFiles,\r\n                                            files,\r\n                                            file?.btnNombre,\r\n                                            file?.archivoNombre\r\n                                        )\r\n                                    }\r\n                                    style={{ marginTop: '-3px' }}\r\n                                >\r\n                                    <HighlightOffIcon />\r\n                                </IconButton>\r\n                            </div>\r\n                        ))}\r\n\r\n                        <FormControl\r\n                            variant=\"standard\"\r\n                            className={classes.widthMobile}\r\n                        >\r\n                            <Typography\r\n                                style={{ fontSize: '13px', margin: '5px 7px' }}\r\n                            >\r\n                                Tipo de archivo\r\n                            </Typography>\r\n                            <CustomSelect\r\n                                name={'selectAttached'}\r\n                                label=''\r\n                                list={listTypeAttached}\r\n                                className={`${classes.selectAuthorizations}`}\r\n                                onChange={handleChangeSelect()}\r\n                                selected={typeAttachedSelected}\r\n                            />\r\n                            <FormHelperText\r\n                                style={{ paddingLeft: '5%' }}\r\n                                className={`${classes.errorText}`}\r\n                            >\r\n                                {error?.selectAttached}\r\n                            </FormHelperText>\r\n                        </FormControl>\r\n\r\n                        <FormControl\r\n                            variant=\"standard\"\r\n                            className={classes.widthMobile}\r\n                        >\r\n                            <Typography style={{ fontSize: '13px', margin: '5px 7px' }}>Comentarios</Typography>\r\n                            <LineBreakInput\r\n                                inputLabelClass={classes.txtLabelComments}\r\n                                formControlClass={`${classes.txtObservations}`}\r\n                                customClass={classes.txtBoxObservation}\r\n                                placeholder='Escribí tu comentario aquí...'\r\n                                name=\"observacion\"\r\n                                inputProps={{ maxLength: 200 }}\r\n                                onChange={handleChangeObservations}\r\n                                style={{\r\n                                    borderRadius: 29,\r\n                                    position: 'relative',\r\n                                    border: '1px solid #ced4da',\r\n                                    fontSize: 16,\r\n                                    minWidth: '224px !important',\r\n                                    margin: '0 0 7px 0',\r\n                                    textOverflow: 'ellipsis',\r\n                                    overflow: 'hidden',\r\n                                    whiteSpace: \"nowrap\",\r\n                                }}\r\n                                rows={5}\r\n                                multiline\r\n                            />\r\n                             <Typography variant=\"caption\" style={{ marginLeft: screen.sWidth < 768 ? \"220px\" : '450px' }}>{counterObservationLength}/200</Typography>\r\n                        </FormControl>\r\n\r\n                        <CustomButton\r\n                            title={\"ADJUNTAR\"}\r\n                            onClick={handleOpenModalConfirm}\r\n                            customClass={`${classes.customHeaderBtn} ${classes.btnAttached} ${classes.lightLinearGradient} ${classes.txtMobile}`}\r\n                            style={{\r\n                                height: \"25px\",\r\n                                fontSize: \"12px\",\r\n                                fontWeight: \"600\",\r\n                                padding: '16px'\r\n                            }}\r\n                        />\r\n                    </section>\r\n                </>\r\n            }\r\n\r\n            <section style={{ padding: '3%' }}>\r\n                <Accordion style={{ boxShadow: 'none' }} expanded={closeCommentsAccordion} onClick={() => { setCloseCommentsAccordion(prevState => !prevState) }}>\r\n                    {commentsAccordion(item)}\r\n                    {allComments()}\r\n                </Accordion>\r\n                <Accordion style={{ boxShadow: 'none' }} expanded={closeAttachedAccordion} onChange={() => { setCloseAttachedAccordion(prevState => !prevState) }}>\r\n                    {attachmentsAccordion()}\r\n                    <div>{allAttachments()}</div>\r\n                </Accordion>\r\n            </section>\r\n\r\n            <ConfirmModal\r\n                isOpen={openSendSuccess}\r\n                setOpen={setOpenSendSuccess}\r\n                errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalIcon}\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            {modalTitle}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription}\r\n            />\r\n\r\n            {<UploadModal\r\n                description=''\r\n                title='Adjuntar archivo'\r\n                observation=''\r\n                onClose={setOpenModal}\r\n                open={openModal}\r\n                setModalDescription={setModalDescription}\r\n                setModalTitle={setModalTitle}\r\n                setModalIcon={setModalIcon}\r\n                setOpenSendSuccess={setOpenSendSuccess}\r\n                setErrorClass={setErrorClass}\r\n                setFiles={setFiles}\r\n                fileButtons={fileButtons}\r\n                setFileButtons={setFileButtons}\r\n                files={files}\r\n                setHide={setHide}\r\n                hide={true}\r\n                listAttached={listAttached}\r\n                setRepeatFile={setRepeatFile}\r\n            />}\r\n\r\n            {\r\n                openModalConfirm &&\r\n                <ModalActivities\r\n                    open={openModalConfirm}\r\n                    title={'¿Estás seguro que deseas adjuntar?'}\r\n                    description={'El archivo que se va a adjuntar es: ' + files[0]?.archivoNombre.slice(0, 20) + '...'}\r\n                    handleClick={handleSubmit}\r\n                    onClose={setOpenModalConfirm}\r\n                    modalconfirm={true}\r\n                    buttonType={'submit'}\r\n                    modalLogout={false}\r\n                />\r\n            }\r\n            <ConfirmModal\r\n                isOpen={openModalError}\r\n                setOpen={setOpenModalError}\r\n                errorClass={errorClass}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            Ocurrió un error al adjuntar el archivo\r\n                        </div>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            Error: {msgErrorAttachments}\r\n                        </div>\r\n                    </>\r\n                }\r\n                description={modalDescription}\r\n            />\r\n\r\n            <ConfirmModal\r\n                isOpen={repeatFile}\r\n                setOpen={setRepeatFile}\r\n                description={\"No puede adjuntar dos archivos con el mismo nombre\"}\r\n                titleModal={\r\n                    <>\r\n                        <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                            <CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />\r\n                        </div>\r\n                    </>\r\n                }\r\n            />\r\n\r\n            {openDownloadModal &&\r\n                <ModalActivities\r\n                    description={\r\n                        <div style={commentsAttachmentsStyles.descriptionModal}>\r\n                            <a href={`data:image/png;base64,${fileToDownload?.archivo}`} download={fileToDownload?.archivoNombreCompleto}>\r\n                                <IconButton style={{ backgroundColor: '#ffffff', borderRadius: '15px' }}>\r\n                                    <FileDownloadIcon className={classes.actionsIcons} />\r\n                                </IconButton>\r\n                            </a>\r\n                        </div>\r\n                    }\r\n                    title={\r\n                        <div style={commentsAttachmentsStyles.titleModal}>\r\n                            <span>Descargar</span>\r\n                        </div>\r\n                    }\r\n                    onClose={setOpenDownloadModal}\r\n                    open={openDownloadModal}\r\n                    modalLogout={false}\r\n                    modalconfirm={false}\r\n                />\r\n            }\r\n\r\n            {openLoadingModal &&\r\n                <ModalActivities\r\n                    description={\r\n                        <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.whiteCircularProgress}`}>\r\n                            <CircularProgress />\r\n                        </div>\r\n                    }\r\n                    title={\r\n                        <div style={{ marginTop: \"30px\" }}>Preparando archivo ...</div>\r\n                    }\r\n                    onClose={handleCancelDownload}\r\n                    style={{ textAlign: 'center' }}\r\n                    open={openLoadingModal}\r\n                    modalLogout={false}\r\n                    modalconfirm={false}\r\n                />\r\n            }\r\n\r\n            {\r\n                ErrorDownloadAttached &&\r\n                <ModalActivities\r\n                    description={\r\n                        <>\r\n                            <div>Ocurrió un error al intentar obtener el archivo</div>\r\n                            <div>Por favor, intentá de nuevo más tarde</div>\r\n                        </>\r\n                    }\r\n                    style={{ textAlign: 'center' }}\r\n                    modalLogout={false}\r\n                    open={ErrorDownloadAttached}\r\n                    modalconfirm={false}\r\n                    onClose={setErrorDownloadAttached}\r\n                    title={<CancelIcon className={`${classes.quickAccessIcon} ${classes.personalDataIcon}`} />}\r\n                />\r\n            }\r\n\r\n            <input\r\n                ref={inputFile}\r\n                type=\"file\"\r\n                hidden\r\n                id='upFile'\r\n                onChange={handleUpload}\r\n                name='upFileName'\r\n            />\r\n        </>\r\n    );\r\n};\r\n\r\nexport default Comments;\r\n\r\nexport const validateFiles = files => {\r\n    let auxArchives = [];\r\n    let validation = false;\r\n    if (auxArchives?.length > 0) {\r\n        let auxList = [];\r\n        files?.forEach(item => {\r\n            if (item?.adjuntoObligatorio === 'S') {\r\n                auxList.push(auxArchives?.some(x => x === item.btnNombre));\r\n            }\r\n        });\r\n        if (auxList.length > 0 && Object.values(auxList)?.every(x => x === true)) {\r\n            validation = true;\r\n        }\r\n    } else {\r\n        validation = true;\r\n    }\r\n    return validation;\r\n};","import { Box, Tab, Tabs, IconButton } from \"@material-ui/core\";\r\nimport { useTheme } from '@material-ui/core/styles';\r\nimport { useEffect, useState } from \"react\";\r\nimport Header from \"../GenericHeader/Header\";\r\nimport Menu from \"../Menu/Menu\";\r\nimport useStyles from '../../assets/styles/styles';\r\nimport SwipeableViews from \"react-swipeable-views\";\r\nimport TabPanel from \"../../controls/TabPanel/TabPanel\";\r\nimport Details from \"./RefundsTabPanel/Details\";\r\nimport Comments from \"./RefundsTabPanel/Comments\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getRefundComments, getRefundDetails } from \"../../redux/actions/refundsActions\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport NotFound from \"../HomeLogged/NotFound\";\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport { useHistory } from \"react-router\";\r\nimport { showErrorMessageModal } from \"../../utils/utilsFunctions\";\r\n\r\nconst RefundsDetails = () => {\r\n    const dispatch = useDispatch();\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n    const [value, setValue] = useState(0);\r\n    const theme = useTheme();\r\n    const refundsReduxState = useSelector(state => state.refundsReducer);\r\n    const location = useLocation();\r\n    const history = useHistory();\r\n    const [ detailsParameters, setDetailsParameters ] = useState(location.state.params);\r\n    const [ listDetails, setListDetails ] = useState([]);\r\n    const [openModalError, setOpenModalError] = useState(false);\r\n    const { msgError } = useSelector(state => state.refundsReducer);\r\n\r\n    useEffect(() => {\r\n        if(detailsParameters?.[0] != undefined) {\r\n            dispatch(getRefundComments(detailsParameters?.[0]));\r\n            dispatch(getRefundDetails(detailsParameters?.[0]));\r\n        }\r\n    }, [detailsParameters])\r\n\r\n    useEffect(() => {\r\n        if(msgError !== \"\" && msgError !== undefined) {\r\n            setOpenModalError(true);\r\n            setTimeout(() => { window.location.replace('/Refunds'); }, 3000);\r\n        }\r\n\r\n    }, [msgError])\r\n\r\n    const handleChange = (e, newValue) => {\r\n        setValue(newValue);\r\n    };\r\n\r\n    const handleChangeIndex = (index) => {\r\n        setValue(index);\r\n    };\r\n\r\n    function axisValue(condition) {\r\n        let response = '';\r\n        if(condition === 'rtl') {\r\n            response = 'x-reverse';\r\n        } else {\r\n            response = 'x';\r\n        }\r\n        return response;\r\n    }\r\n\r\n    const goToRefundsHome = () => {\r\n        setDetailsParameters({});\r\n        history.push('/Refunds');\r\n    }\r\n\r\n    return (\r\n        <>\r\n            <Menu />\r\n            <Header title='Reintegros' />\r\n            <Box>\r\n            {\r\n                refundsReduxState?.refundDetails?.reintegroDetalle?.length > 0 ?\r\n                    <>\r\n                        <IconButton\r\n                            onClick={goToRefundsHome}\r\n                            style={{ marginLeft: screen.sWidth > 900 ? \"60px\" : \"25px\", marginTop: \"20px\" }}\r\n                        >\r\n                            <ArrowBackIcon className={classes.iconFilter} />\r\n                        </IconButton>\r\n                        <div className={classes.authorizationHeader}>\r\n                            <Tabs className={classes.authorizationTabs} value={value} onChange={handleChange} centered>\r\n                                <Tab label=\"DETALLE\" />\r\n                                <Tab label=\"COMENTARIOS\" />\r\n                            </Tabs>\r\n                        </div>\r\n                        \r\n                        <SwipeableViews\r\n                            style={{ overflow: 'hidden' }}\r\n                            axis={axisValue(theme.direction)}\r\n                            index={value}\r\n                            onChangeIndex={handleChangeIndex}\r\n                        >\r\n                            <TabPanel value={value} index={0} dir={theme.direction}>\r\n                                <Details\r\n                                    detailsParameters={detailsParameters}\r\n                                    listDetails={listDetails}\r\n                                    setListDetails={setListDetails}\r\n                                />\r\n                            </TabPanel>\r\n                            <TabPanel value={value} index={1} dir={theme.direction}>\r\n                                <Comments item={refundsReduxState} detailsParameters={detailsParameters[1]}/>\r\n                            </TabPanel>\r\n                        </SwipeableViews>\r\n                    </>\r\n                :\r\n                    <NotFound\r\n                        customMsg={\r\n                            <div className={classes.contentNotFound}>\r\n                                <span>No hay contenido para mostrar</span>\r\n                            </div>\r\n                        }\r\n                        wsItem={refundsReduxState?.refundDetails?.reintegroDetalle}\r\n                        fullItem={refundsReduxState?.refundDetails?.reintegroDetalle?.length}\r\n                        loading={refundsReduxState?.loading}\r\n                    />\r\n            }\r\n            </Box>\r\n\r\n            {showErrorMessageModal(msgError, openModalError, setOpenModalError, classes.borderWhite, classes.quickAccessIcon)}\r\n        </>\r\n    );\r\n};\r\n\r\nexport default RefundsDetails;\r\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { CircularProgress, FormControl, Divider, FormHelperText, InputLabel, TextField, Card as MuiCard, Typography } from \"@material-ui/core\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { Button, Card, CardContent, IconButton } from '@material-ui/core';\r\nimport MenuProfile from '../Menu/MenuProfile';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport { useHistory } from \"react-router\";\r\nimport TimerOffIcon from '@mui/icons-material/TimerOff';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getMedicalAgenda } from '../../redux/actions/appointmentsActions';\r\nimport { format, parseISO } from \"date-fns\";\r\nimport { useLocation } from 'react-router-dom';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\n\r\nconst PatientDetails = ({ }) => {\r\n\r\n    const classes = useStyles();\r\n    const history = useHistory();\r\n    const dispatch = useDispatch();\r\n    const location = useLocation();\r\n    const {codCentrosMedicos, centrosMedicos, codEspecialidades, agendaMedical, selectedDay, closestTurn, lastTurnOfDay, centro, especialidad, horariosDeAtencion} = location.state || {};\r\n    const modelAgendaMedicalReducer = useSelector(state => state.appointmentsReducer);\r\n    const [modelAgendaMedical, setMedicalAgenda] = useState(modelAgendaMedicalReducer?.medicalAgenda);\r\n    const date = new Date();\r\n    const [totalTurns, setTotalTurns] = useState(0);\r\n    const [assignedTurns, setAssignedTurns] = useState(0);\r\n    const [timeoutError,setTimeoutError] = useState(false);\r\n    const [requestCompleted, setRequestCompleted] = useState(false);\r\n    const horariosUnicos = Array.from(new Set(horariosDeAtencion.split(\" | \")));\r\n    const { screen } = useResizeScreen();\r\n    const isLoading = useSelector(state => state.appointmentsReducer.isLoading);\r\n\r\n\r\n    useEffect(() => {\r\n\r\n        const paramAll = {\r\n            fechaDesde: selectedDay,\r\n            fechaHasta: selectedDay,\r\n            numeroPersona: userCode,\r\n            medicoCodigo: modelAgendaMedical?.medicoCodigo ? modelAgendaMedical.medicoCodigo.toString() : undefined,\r\n            parametroAgenda: \"TOMADOS\",\r\n        };\r\n        \r\n        const timeoutId = setTimeout(() => {\r\n            if (isLoading) {\r\n                setTimeoutError(true);\r\n            }\r\n        }, 40000);\r\n        \r\n        dispatch(getMedicalAgenda(paramAll));\r\n        setRequestCompleted(true);\r\n\r\n        return () => clearTimeout(timeoutId);\r\n\r\n    }, []);\r\n\r\n\r\n\r\n    const getFilteredAppointments = () => {\r\n        if (!codCentrosMedicos || !codEspecialidades || !agendaMedical || !centrosMedicos || !selectedDay || !closestTurn\r\n            || !lastTurnOfDay || !centro || !especialidad || !horariosDeAtencion) return [];\r\n\r\n        return modelAgendaMedicalReducer?.medicalAgenda?.agenda?.filter(\r\n            (turno) =>\r\n                turno.centroMedicoDescripcion === centro &&\r\n                turno.especialidadDescripcion === especialidad \r\n                \r\n        );\r\n        \r\n    };\r\n\r\n    useEffect(() => {\r\n        if (agendaMedical?.length > 0) {\r\n            const dateAgendaMedical = agendaMedical?.filter(turno => {\r\n                return new Date(turno?.turnoFechHora) > date;\r\n            });\r\n\r\n            if (dateAgendaMedical.length > 0) {\r\n                const closest = dateAgendaMedical.reduce((prev, current) => {\r\n                    return new Date(prev?.turnoFechHora) < new Date(current?.turnoFechHora) ? prev : current;\r\n                });\r\n\r\n                const lastTurn = dateAgendaMedical.filter(turno => {\r\n                    return new Date(turno?.turnoFechHora).toDateString() === new Date(closest?.turnoFechHora).toDateString();\r\n                }).reduce((prev, current) => {\r\n                    return new Date(prev?.turnoFechHora) > new Date(current?.turnoFechHora) ? prev : current;\r\n                });\r\n\r\n                const dayShifts = dateAgendaMedical.filter(turno => {\r\n                    return new Date(turno?.turnoFechHora).toDateString() === new Date(closest?.turnoFechHora).toDateString();\r\n                });\r\n\r\n                const totalTurns = dayShifts.length;\r\n                const assignedTurns = getFilteredAppointments()?.length;\r\n                setTotalTurns(totalTurns);\r\n                setAssignedTurns(assignedTurns);\r\n            }\r\n        }\r\n    }, [modelAgendaMedicalReducer, date]);\r\n\r\n    const centeredCircularProgress = () => {\r\n        return (\r\n            <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n                <CircularProgress />\r\n            </div>\r\n        );\r\n    }\r\n\r\n    const formatSelectedDay = (dateString) => {\r\n        const date = new Date(dateString + \"T12:00:00\"); \r\n        const options = { weekday: 'long', day: '2-digit', month: '2-digit', year: 'numeric' };\r\n        const formattedDate = new Intl.DateTimeFormat('es-ES', options).format(date);\r\n        const cleanFormattedDate = formattedDate.replace(',', '').replace(/\\//g, '-');\r\n      \r\n        return cleanFormattedDate.charAt(0).toUpperCase() + cleanFormattedDate.slice(1);\r\n      };\r\n\r\n    return (\r\n        <>\r\n            <MenuProfile />\r\n            <div className={classes.headerPatientAgenda}> \r\n                <IconButton onClick={() => history.push('/CalendarMedical')}>\r\n                    <ArrowBackIcon className={classes.iconFilter} />\r\n                </IconButton>\r\n                <Typography className={classes.detailPatient}>{formatSelectedDay(selectedDay)}</Typography>\r\n                <div>\r\n                    <Typography className={classes.detailPatientCenterSpecialty} >\r\n                        {centro}\r\n                    </Typography>\r\n                    <Typography className={classes.detailPatientCenterSpecialty}>\r\n                        {\" | \"}{especialidad}\r\n                    </Typography>\r\n                </div>\r\n                <Divider className={`${classes.formDivider} ${classes.dividerAppointment}`} />\r\n            </div>\r\n\r\n            <div className={`${classes.divSectionMovements}`} >\r\n                <section className={`${classes.detailPatientInfoSection}`}>\r\n                    <div className={`${classes.detailCardAgendaMedical}`}>\r\n                        <div className={`${classes.detailPatientInfoTurno}`}>\r\n                            <Typography className={`${classes.detailPatientOpeningHours}`}>\r\n                                Horario de Atención:\r\n                            </Typography>\r\n                            <Typography className={`${classes.detailPatientTotalTurno}`}>\r\n                                Turnos\r\n                            </Typography>\r\n                            <Typography className={`${classes.detailPatientTurnoAssigned}`}>\r\n                                Asignados\r\n                            </Typography>\r\n                            <Typography className={`${classes.txtCardDescriptionHourTurnDetailPatient}`} >\r\n                                {horariosUnicos.map((horario, index) => {\r\n                                    const horas = horario.split(\" - \").map((hora) => {\r\n                                            const horaConHs = `${hora.charAt(0).toUpperCase()}${hora.slice(1)}`;\r\n                                            return horaConHs.replace(/hs/g, \"Hs.\") });\r\n                                    return (\r\n                                        <span key={index} className={`${classes.txtHorariosUnicosPatientAgenda}`}> \r\n                                            {horas[0]} {horas[1]}\r\n                                            {index < Object.keys(horariosUnicos).length - 1 && (\r\n                                                <>\r\n                                                    {\" \"}\r\n                                                    <span  className={`${classes.medicalAgendaDivision}`}>\r\n                                                        |{\" \"}\r\n                                                    </span>\r\n                                                </>\r\n                                            )}\r\n                                        </span>\r\n                                    );\r\n                                })}\r\n                            </Typography>\r\n                            <Typography className={`${classes.detailAgendaMedical}`}>\r\n                                {totalTurns}\r\n                            </Typography>\r\n                            <Typography className={`${classes.detailAgendaMedical}`}>\r\n                                {assignedTurns}\r\n                            </Typography>\r\n                        </div>\r\n                    </div>\r\n                </section>\r\n                {timeoutError ? (\r\n                    <Typography className={classes.txtIconTimeOutPatientAgenda}>\r\n                        <TimerOffIcon className={classes.IconTimeOutPatientAgenda} />\r\n                        La solicitud ha tardado demasiado. Por favor, inténtelo de nuevo más tarde.\r\n                    </Typography>\r\n                ) : modelAgendaMedicalReducer.isLoading ? (\r\n                    centeredCircularProgress()\r\n                ) : (\r\n                    <div className={`${classes.divSectionMovementsDetailPatientMedicalAgenda}`}>\r\n                    {getFilteredAppointments()?.map((turno, i) => (\r\n                        <MuiCard key={i} className={` ${classes.detailCardMuiPatientAgendaMedical}`} >\r\n                            <CardContent  className={classes.cardContentMuiCardDetailPatient}>\r\n                                <div className={classes.divCardContentCustomCalendarMedicalProfile} >\r\n                                    <section className={classes.medicalCenterIconDetailPatient}>\r\n                                        <LocationCityIcon className={classes.LocationCityIconDetailPatient} />\r\n                                    </section>\r\n                                    <section className={classes.cartillaPhonesSection}>\r\n                                        <Typography className={classes.detailPatientName}>\r\n                                            {turno.pacienteApellidoNombre}\r\n                                        </Typography>\r\n                                    </section>\r\n                                    <section className={classes.cartillaPhonesSection}>\r\n                                        <Typography className={classes.detailPatientOpeningHoursClose}>\r\n                                            Hora: {format(new Date(turno.turnoFechHora), \"HH:mm\")} |\r\n                                            Hora arribo: {(turno.tunrnoFechRecepcion === \"0001-01-01T00:00:00\" || turno.tunrnoFechRecepcion === \"0000-00-00T00:00:00\") ? \"\" : format(new Date(turno.tunrnoFechRecepcion), \"HH:mm\")}\r\n                                        </Typography>\r\n                                    </section>\r\n                                </div>\r\n                            </CardContent>\r\n                        </MuiCard>\r\n                    ))}\r\n                </div>\r\n                )}\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(PatientDetails, (prevProps, nextProps) => {\r\n    return prevProps.agendaMedical === nextProps.agendaMedical;\r\n});","// src/components/CustomCalendar.jsx\r\nimport React, { useCallback, useEffect, useState } from \"react\";\r\nimport Calendar from \"react-calendar\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport \"./customCalendar.css\";\r\nimport { format } from \"date-fns\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport { getMedicalAgenda } from \"../../redux/actions/appointmentsActions\";\r\nimport { useHistory } from \"react-router\";\r\nimport Header from \"../GenericHeader/Header\";\r\nimport { FormControl, Typography, CircularProgress, Card as MuiCard, CardContent, IconButton } from \"@material-ui/core\";\r\nimport CustomSelect from \"../../controls/Select/CustomSelect\";\r\nimport CustomButton from \"../../controls/Button/CustomButton\";\r\nimport PatientAgenda from \"../MedicalProfile/PatientAgenda\";\r\nimport LocationCityIcon from \"@material-ui/icons/LocationCity\";\r\n\r\nimport ControlPointOutlinedIcon from '@material-ui/icons/ControlPointOutlined';\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\n\r\nimport { es } from 'date-fns/locale';\r\n\r\nconst CustomCalendarProfileMedical = ({ agendaMedical }) => {\r\n\r\n  const [value, onChange] = useState(null);\r\n  const [indexItem, setIndexItem] = useState(new Date());\r\n  const [selectedDayCalendar, setSelectedDayCalendar] = useState(null);\r\n  const classes = useStyles();\r\n  const dispatch = useDispatch();\r\n  const history = useHistory();\r\n  const [flagAppointmentSelected, setFlagAppointmentSelected] = useState(false);\r\n  const [showCentroMedicoSelector, setShowCentroMedicoSelector] = useState(false);\r\n  const [centrosMedicos, setCentrosMedicos] = useState([]);\r\n  const [codCentrosMedicos, setCodCentrosMedicos] = useState([]);\r\n  const [codEspecialidades, setEspecialidades] = useState([]);\r\n  const modelAgendaMedicalReducer = useSelector(state => state.appointmentsReducer);\r\n  const [modelAgendaMedical, setMedicalAgenda] = useState(modelAgendaMedicalReducer?.medicalAgenda);\r\n  const [closestTurn, setClosestTurn] = useState([]);\r\n  const [lastTurnOfDay, setLastTurnOfDay] = useState([]);\r\n  const date = new Date();\r\n\r\n\r\n\r\n  const handleClickDay = useCallback(\r\n    (i) => (e) => {\r\n      let selectedDate = format(e, \"yyyy-MM-dd\");\r\n      setIndexItem(selectedDate);\r\n      const dayObject = selectedDate ? new Date(selectedDate + \"T00:00:00\") : null;\r\n\r\n      if (!agendaMedical) {\r\n        setSelectedDayCalendar(dayObject);\r\n        return;\r\n      }\r\n\r\n      const turnosDelDia = agendaMedical?.filter(turno => format(new Date(turno.turnoFechHora), \"yyyy-MM-dd\") === selectedDate);\r\n      \r\n      if (turnosDelDia.length > 0) {\r\n        const codCentrosMedicosDelDia = turnosDelDia?.map(turno => turno.centroMedico);\r\n        const codUniqueCentrosMedicos = [...new Set(codCentrosMedicosDelDia)];\r\n        const codEspecialidad = turnosDelDia?.map(turno => turno.especialidadCodigo);\r\n        const codUniqueEspecialidad = [...new Set(codEspecialidad)];\r\n        const centrosMedicosDelDia = turnosDelDia?.map(turno => turno.centroMedicoDescripcion);\r\n        const uniqueCentrosMedicos = [...new Set(centrosMedicosDelDia)];\r\n        setCodCentrosMedicos(codUniqueCentrosMedicos)\r\n        setEspecialidades(codUniqueEspecialidad);\r\n        setCentrosMedicos(uniqueCentrosMedicos);\r\n        setShowCentroMedicoSelector(true);\r\n      } \r\n      setSelectedDayCalendar(dayObject);\r\n    },\r\n    [indexItem, agendaMedical]\r\n  );\r\n\r\n  const isSame = (dateturn) => {\r\n    const webServiceDate = new Date(dateturn);\r\n    const localDate = new Date(selectedDayCalendar);\r\n\r\n    const isSameDate =\r\n    webServiceDate.getFullYear() === localDate.getFullYear() &&\r\n    webServiceDate.getMonth() === localDate.getMonth() &&\r\n    webServiceDate.getDate() === localDate.getDate();\r\n    return isSameDate;\r\n  }\r\n\r\n  const isDateCalendar = (shiftday) => {\r\n    return (selectedDayCalendar != null && selectedDayCalendar?.getDate() == shiftday?.getDate() && selectedDayCalendar?.getMonth() == shiftday?.getMonth() && selectedDayCalendar?.getFullYear() == shiftday?.getFullYear());\r\n  }\r\n\r\n  const checkAppointments = useCallback(\r\n    ({ date, view }) => {\r\n      let classesToAdd = [];\r\n      if (modelAgendaMedicalReducer?.medicalAgenda?.agenda != null) {\r\n        Object.entries(modelAgendaMedicalReducer?.medicalAgenda?.agenda)?.forEach(([key, item]) => {\r\n          let dateAux = new Date(item.turnoFechHora);\r\n          let calendarDate = format(date, \"yyyy-MM-dd\");\r\n          let auxDateAppointment = format(dateAux, \"yyyy-MM-dd\");\r\n          if (view === \"month\" && calendarDate === auxDateAppointment) {\r\n            let css = setClassDate(item, agendaMedical, setFlagAppointmentSelected);\r\n            classesToAdd.push(css);\r\n          }\r\n        });\r\n      }\r\n      return classesToAdd;\r\n    },\r\n    [modelAgendaMedicalReducer?.medicalAgenda?.agenda]\r\n  );\r\n\r\n\r\n\r\n\r\n  useEffect(() => {\r\n    const savedData = localStorage.getItem('handleCalendarClick');\r\n    \r\n    if (savedData) {\r\n      const parsedData = JSON.parse(savedData);\r\n      setMedicalAgenda(parsedData.agendaMedical);\r\n      setSelectedDayCalendar(new Date(parsedData.selectedDay + \"T00:00:00\"));\r\n      setCentrosMedicos(parsedData.centrosMedicos);\r\n      setShowCentroMedicoSelector(parsedData.centrosMedicos.length > 0);\r\n    } else {\r\n      setMedicalAgenda({ ...modelAgendaMedicalReducer?.medicalAgenda?.agenda });\r\n      dispatch(getMedicalAgenda({ ...modelAgendaMedical?.agenda }));\r\n    }\r\n  }, []);\r\n\r\n\r\n  useEffect(() => {\r\n    if (agendaMedical && modelAgendaMedicalReducer?.medicalAgenda?.agenda !== undefined) {\r\n      setMedicalAgenda(modelAgendaMedicalReducer?.medicalAgenda?.agenda);\r\n    }\r\n  }, []);\r\n\r\n\r\n  useEffect(() => {\r\n    if (agendaMedical && modelAgendaMedicalReducer?.medicalAgenda !== undefined && flagAppointmentSelected) {\r\n      document.getElementsByClassName(\"agenda\")?.[0]?.click();\r\n    }\r\n  }, [flagAppointmentSelected]);\r\n\r\n  const getFilteredAppointments = (centro, especialidad) => {\r\n    return modelAgendaMedicalReducer?.medicalAgenda?.agenda?.filter(\r\n        (turno) =>\r\n            turno.centroMedicoDescripcion.trim().toUpperCase() === centro.trim().toUpperCase() &&\r\n            turno.especialidadDescripcion.trim().toUpperCase() === especialidad.trim().toUpperCase() &&\r\n            turno.estadoTurno.trim().toUpperCase() === \"ASIGNADO\" &&\r\n            isSame(turno.turnoFechHora)   \r\n    );    \r\n  };\r\n\r\n  const handleCalendarClick = (centro,especialidad) => {\r\n    const selectedDate = selectedDayCalendar\r\n\r\n    const turnosDelDia = agendaMedical?.filter(turno => {\r\n      return turno.centroMedicoDescripcion.trim().toUpperCase() === centro.trim().toUpperCase() &&\r\n             turno.especialidadDescripcion.trim().toUpperCase() === especialidad.trim().toUpperCase() &&\r\n             isSame(turno.turnoFechHora);\r\n    });\r\n\r\n    const horariosDeAtencion = turnosDelDia?.map(turno => {\r\n      return `${turno.agendaHoraDesde}hs a ${turno.agendaHoraHasta}hs`;\r\n    }).join(\" | \");\r\n\r\n    const dataMedicaFilter = {\r\n      codCentrosMedicos,\r\n      centrosMedicos,\r\n      codEspecialidades,\r\n      agendaMedical,\r\n      closestTurn,\r\n      lastTurnOfDay,\r\n      selectedDay: format(selectedDate, \"yyyy-MM-dd\"),\r\n      centro,\r\n      especialidad,\r\n      horariosDeAtencion,  \r\n    };\r\n\r\n    localStorage.setItem('handleCalendarClick', JSON.stringify(dataMedicaFilter));\r\n\r\n    history.push({\r\n      pathname: '/PatientAgenda',\r\n      state: dataMedicaFilter,\r\n    });\r\n  };\r\n\r\n  const formatSelectedDate = (date) => {\r\n    if (!date) return \"\";\r\n    const formattedDate = format(date, \"eeee dd 'de' MMMM\", { locale: es });\r\n\r\n    const dateuppercase = formattedDate.charAt(0).toUpperCase() + formattedDate.slice(1);\r\n\r\n    return dateuppercase;\r\n  };\r\n\r\n\r\n  const CenteredCircularProgress = () => {\r\n    return (\r\n      <div className={`${classes.boxPointsDrawer} ${classes.centeredBox} ${classes.circularProgress}`}>\r\n        <CircularProgress />\r\n      </div>\r\n    );\r\n  }\r\n\r\n\r\n  const groupAppointments = (appointments) => {\r\n    return appointments.reduce((groups, appointment) => {\r\n      const centroMedico = appointment.centroMedicoDescripcion;\r\n      const especialidad = appointment.especialidadDescripcion;\r\n      const horarioDesde = appointment.agendaHoraDesde;\r\n      const horarioHasta = appointment.agendaHoraHasta; \r\n\r\n      if (!groups[centroMedico]) {\r\n        groups[centroMedico] = {};\r\n      }\r\n  \r\n      if (!groups[centroMedico][especialidad]) {\r\n        groups[centroMedico][especialidad] = [];\r\n      }\r\n\r\n      if (!groups[centroMedico][especialidad][`${horarioDesde} - ${horarioHasta}`]) {\r\n        groups[centroMedico][especialidad][`${horarioDesde} - ${horarioHasta}`] = [];\r\n      }\r\n  \r\n      groups[centroMedico][especialidad][`${horarioDesde} - ${horarioHasta}`].push(appointment);\r\n      return groups;\r\n    }, {});\r\n  };\r\n  \r\n\r\n  useEffect(() => {\r\n    if (agendaMedical?.length > 0) {\r\n      const closest = agendaMedical?.reduce((prev, current) => {\r\n        return new Date(prev?.turnoFechHora) < new Date(current?.turnoFechHora) ? prev : current;\r\n      });\r\n      setClosestTurn(closest);\r\n\r\n      const lastTurn = agendaMedical?.filter(turno => {\r\n        return new Date(turno?.turnoFechHora).toDateString() === new Date(closest?.turnoFechHora).toDateString();\r\n      }).reduce((prev, current) => {\r\n        return new Date(prev?.turnoFechHora) > new Date(current?.turnoFechHora) ? prev : current;\r\n      });\r\n      setLastTurnOfDay(lastTurn); \r\n    }\r\n  }, [indexItem, date]);\r\n\r\n  const firstTurnOfDay = (specialty, centerMedical) => {\r\n    const fecha = agendaMedical?.filter(turno => turno.estadoTurno.trim().toUpperCase() === \"ASIGNADO\" && turno.especialidadDescripcion.trim().toUpperCase() === specialty.trim().toUpperCase() && turno.centroMedicoDescripcion.trim().toUpperCase() === centerMedical.trim().toUpperCase() && isSame(turno.turnoFechHora)).reduce((prev, current) => {\r\n      return new Date(prev?.turnoFechHora) < new Date(current?.turnoFechHora) ? prev : current;\r\n    }, null)?.turnoFechHora\r\n    const fechaFormateada = new Date(fecha);\r\n    const hours = fechaFormateada.getHours().toString().padStart(2, '0');\r\n    const minutes = fechaFormateada.getMinutes().toString().padStart(2, '0');\r\n    const timeWithoutSeconds = `${hours}:${minutes}`;\r\n    return isNaN(fechaFormateada.getTime())? \"-\" : timeWithoutSeconds;\r\n  }\r\n\r\n  return (\r\n    <div className={classes.txtHomeAgendaMedica}>\r\n      <div className={classes.txtTitleMedicalAgenda}>\r\n        <Header title=\"Mi Agenda de Turnos\" />\r\n      </div>\r\n      <div className={classes.txtCalendarMedicalAgenda}>\r\n\r\n        {!agendaMedical ? (\r\n          <CenteredCircularProgress />\r\n        ) : (\r\n          <Calendar\r\n            onChange={onChange}\r\n            onClickDay={handleClickDay()}\r\n            showNeighboringMonth={false}\r\n            locale=\"es-ES\"\r\n            value={selectedDayCalendar}\r\n            tileClassName={({ date }) => isDateCalendar(date) ? \"activeDay\" : checkAppointments({ date, view: \"month\" })}\r\n            next2AriaLabel={null}\r\n            next2Label={null}\r\n            prev2AriaLabel={null}\r\n            prev2Label={null}\r\n          />\r\n        )}\r\n      </div>\r\n      {selectedDayCalendar && showCentroMedicoSelector && (\r\n      <div className={`${classes.viewCalendarMedical}`} >\r\n        <Typography className={classes.calendarSelectedDays} >\r\n          {formatSelectedDate(selectedDayCalendar)}\r\n        </Typography>\r\n        <div className={`${classes.divSectionCalendarMedica}`} >\r\n          {modelAgendaMedicalReducer?.medicalAgenda?.agenda?.filter(turno => {\r\n            const turnoFecha = format(new Date(turno.turnoFechHora), \"yyyy-MM-dd\");\r\n            const selectedDate = format(selectedDayCalendar, \"yyyy-MM-dd\");\r\n            return turnoFecha === selectedDate;\r\n          }).length > 0 && (\r\n            Object.entries(groupAppointments(modelAgendaMedicalReducer?.medicalAgenda?.agenda.filter(turno => {\r\n              const turnoFecha = format(new Date(turno.turnoFechHora), \"yyyy-MM-dd\");\r\n              const selectedDate = format(selectedDayCalendar, \"yyyy-MM-dd\");\r\n              return turnoFecha === selectedDate;\r\n            }))).map(([centroMedico, especialidades]) => (\r\n              Object.entries(especialidades).map(([especialidad, horarios]) => (\r\n                <MuiCard key={`${centroMedico}-${especialidad}`} className={`${classes.agendaMuiCardStyles}`} >\r\n                  <CardContent  className={classes.cardContentMuiCard}>\r\n                    <div className={classes.divCardContentCustomCalendarMedicalProfile} >\r\n                      <section className={classes.cartillaMedicalCenterSection}>\r\n                        <LocationCityIcon className={classes.LocationCityIcon} />\r\n                      </section>\r\n                      <section className={`${classes.detailCardCenterAgendaMedical}`}  >\r\n                        <Typography className={`${classes.txtCardDescriptionMedicalAgenda}`}>\r\n                          {centroMedico}\r\n                        </Typography>\r\n                        <Typography  className={`${classes.txtCardDescriptionMedicalSpecialty}`}>\r\n                          {especialidad}\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescriptionHourTurn}`} >\r\n                          <span>\r\n                            <span className={`${classes.txtCardDescriptionHourTurnBox}`} >\r\n                              Horario\r\n                            </span>\r\n                            <span  className={`${classes.detailCardHour}`}>\r\n                            {Object.keys(horarios).map((horario, index) => (\r\n                                <span key={index}>\r\n                                  {horario.split(\" - \").map((hora) => `${hora}hs`).join(\" a \")}\r\n                                  {index < Object.keys(horarios).length - 1 ? \" | \" : \"\"}\r\n                                </span>\r\n                              ))}\r\n                            </span>\r\n                          </span>\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescriptionFirstShift}`}>\r\n                          <span className={`${classes.txtCardDescriptionBox}`}>\r\n                            Turnos:\r\n                          </span>\r\n                          <span className={`${classes.txtCardDescriptionBoxGetFilteredAppointments}`}>\r\n                            {getFilteredAppointments(centroMedico, especialidad)?.length}\r\n                          </span>           \r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCardDescriptionFirstShift}`}>\r\n                          <span className={`${classes.txtCardDescriptionBox}`}>\r\n                            Primer Turno:\r\n                          </span>\r\n                          <span className={`${classes.txtCardDescriptionBoxFirstTurnOfDay}`}>\r\n                            {firstTurnOfDay(especialidad, centroMedico)}\r\n                          </span>\r\n                        </Typography>\r\n                      </section>\r\n                      </div>\r\n                      <div className={`${classes.divCardContentView}`}>\r\n                      <section className={classes.buttonZoneSection}>\r\n                        <section className={` ${classes.buttonZoneContainerCalendarProfileMedical}`} >\r\n                          <div>\r\n                            <IconButton className={classes.divCardIconView} onClick={() => handleCalendarClick(centroMedico, especialidad)} customClass={`${classes.customHeaderBtn}`}>\r\n                              <Typography   className={` ${classes.txtCardIconView}`}>\r\n                                VER\r\n                              </Typography>\r\n                              <ControlPointOutlinedIcon className={classes.iconControlPointOutlinedIcon}  />\r\n                            </IconButton>\r\n                          </div>\r\n                        </section>\r\n                      </section>\r\n                      </div>\r\n                  </CardContent>\r\n                </MuiCard>\r\n              ))\r\n            ))\r\n          )}\r\n        </div>\r\n      </div>\r\n    )}\r\n  </div>\r\n);\r\n};\r\n\r\nexport default React.memo(CustomCalendarProfileMedical, (prevProps, nextProps) => {\r\n  return prevProps.agendaMedical === nextProps.agendaMedical;\r\n});\r\n\r\nfunction setClassDate(item, agendaMedical, setFlagAppointmentSelected) {\r\n  const DEFAULT_CSS_CLASS = 'asignado';\r\n  const CSS_CLASSES = {\r\n    DISPONIBLE: 'disponible',\r\n    LICENCIA: 'licencia',\r\n    'Sin-Turno': 'sinTurno',\r\n    ASIGNADO: 'agenda',\r\n  };\r\n  let cssAppointmentState = DEFAULT_CSS_CLASS;\r\n  if (agendaMedical) {\r\n    cssAppointmentState = CSS_CLASSES[item.estadoTurno] || DEFAULT_CSS_CLASS;\r\n    if (item.turnoFechHora.split('T')[0] === agendaMedical) {\r\n      cssAppointmentState = CSS_CLASSES['ASIGNADO'];\r\n      setFlagAppointmentSelected(true);\r\n    }\r\n  }\r\n  return cssAppointmentState;\r\n}\r\n\r\n","import useStyles from \"../../assets/styles/styles\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport EmergencyModal from \"../HomeLogged/EmergencyModal\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useResizeScreen } from \"../../hooks/useResizeScreen\";\r\nimport {\r\n    Grid,\r\n    Box,\r\n    Typography,\r\n    IconButton\r\n} from \"@material-ui/core\";\r\nimport NotAccessModal from \"../HomeLogged/NotAccessModal\";\r\nimport MenuProfile from \"../Menu/MenuProfile\";\r\nimport { useHistory } from \"react-router\";\r\n\r\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\r\nimport NotFound from \"../HomeLogged/NotFound\";\r\nimport TodayIcon from '@mui/icons-material/Today';\r\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\r\nimport CustomCalendarProfileMedical from \"../Calendar/CalendarProfileMedical\";\r\nimport { getMedicalAgenda } from \"../../redux/actions/appointmentsActions\";\r\nimport { format } from \"date-fns\";\r\nimport \"../AskTurn/SelectDateDrawer/doctorCalendarAgenda.css\";\r\nimport PatientAgenda from \"./PatientAgenda\";\r\n\r\n\r\nconst userCode = parseInt(window.localStorage.getItem(\"numeroPersona\"));\r\n\r\nconst CalendarMedical = (props) => {\r\n    const classes = useStyles();\r\n    const dispatch = useDispatch();\r\n    const history = useHistory();\r\n    const modelAgendaMedicalReducer = useSelector(state => state.appointmentsReducer);\r\n    const [modelAgendaMedical, setMedicalAgenda] = useState(modelAgendaMedicalReducer?.medicalAgenda);\r\n    const [schedule, setSchedule] = useState([\"\"]);\r\n    const [doctorCodes, setDoctorCodes] = useState([\"\"]);\r\n    const DatosDeMedico = useSelector(state => state.appointmentsReducer?.medicalAgenda);\r\n  \r\n    const date = new Date();\r\n\r\n   \r\n\r\n    \r\n\r\n    useEffect(() => {\r\n        setMedicalAgenda(modelAgendaMedicalReducer?.medicalAgenda?.agenda);\r\n    }, [modelAgendaMedicalReducer?.medicalAgenda?.agenda]);\r\n\r\n\r\n    useEffect(() => {\r\n\r\n        const paramAll = {\r\n            fechaDesde: date?.toISOString()?.split('T')[0],\r\n            fechaHasta: format(date?.setMonth(date?.getMonth() + 1), 'yyyy-MM-dd'),\r\n            numeroPersona: userCode,\r\n            medicoCodigo: modelAgendaMedical?.medicoCodigo ? modelAgendaMedical.medicoCodigo.toString() : undefined,\r\n            parametroAgenda: \"TODOS\",\r\n        };\r\n\r\n\r\n        dispatch(getMedicalAgenda(paramAll));\r\n    }, []);\r\n\r\n\r\n\r\n    useEffect(() => {\r\n        validateSpecialties(\r\n            modelAgendaMedicalReducer,\r\n            modelAgendaMedical,\r\n            setSchedule,\r\n\r\n        );\r\n        let agenda = [];\r\n        if (modelAgendaMedical === 'TODOS') {\r\n            agenda = DatosDeMedico?.agenda?.filter(element => element?.tipoAtencion === \"R\");\r\n        } else {\r\n            agenda = DatosDeMedico?.agenda?.filter(element => element?.tipoAtencion === \"P\"|| element?.tipoAtencion === \"W\" );\r\n\r\n            modelAgendaMedical?.agenda?.filter(x => x.estadoTurno === 'DISPONIBLE')?.map(item => {\r\n                agenda?.push(item);\r\n            });\r\n        }\r\n\r\n        setSchedule(agenda);\r\n    }, [modelAgendaMedical]);\r\n    \r\n\r\n\r\n\r\n    const inlineCalendarStyles = {\r\n        appointmentType: { alignSelf: \"center\", fontSize: \"12px\", margin: \"5px\" },\r\n        noAvailableTurnIndicator: { alignSelf: \"center\", fontSize: \"12px\", margin: \"5px\", textAlign: \"center\" }\r\n    };\r\n\r\n\r\n\r\n    return (\r\n        <>\r\n            <MenuProfile />\r\n            <Box className={classes.boxHeaderBtn} style={{ justifyContent: 'flex-start' }}>\r\n            </Box>\r\n            <IconButton onClick={() => history.push('/MedicalProfile')}>\r\n                <ArrowBackIcon className={classes.iconFilter} />\r\n            </IconButton>\r\n        <div style={{marginTop:\"1px\"}}>\r\n            <div id=\"calendarioAgenda\" className={`${classes.boxPointsDrawer} ${classes.centeredBox}`} style={{ flex: '5', display: 'flex', flexDirection: 'column', alignItems: 'center' }}>\r\n                <div style={{ display: 'flex', flexWrap: 'wrap', marginTop: '1px' }}>\r\n                    <div style={{ margin: '10px', display: 'flex', alignItems: 'center' }}>\r\n                        <div className={`${classes.boxPointsDrawer_AgendaSusp} ${classes.boxPointsDrawer_Seleccionado} ${classes.box15x15}`} />\r\n                        <Typography className={classes.txtLinksInCard} style={inlineCalendarStyles.appointmentType}>\r\n                            Seleccionado\r\n                        </Typography>\r\n                    </div>\r\n                    <div style={{ margin: '10px', display: 'flex', alignItems: 'center' }}>\r\n                        <div className={`${classes.boxPointsDrawer_AgendaSusp} ${classes.boxPointsDrawer_Disponible} ${classes.box15x15}`} />\r\n                        <Typography className={classes.txtLinksInCard} style={inlineCalendarStyles.appointmentType}>\r\n                            Con Turnos\r\n                        </Typography>\r\n                    </div>\r\n                    <div style={{ margin: '10px', display: 'flex', alignItems: 'center' }}>\r\n                        <div className={`${classes.boxPointsDrawer_AgendaSusp} ${classes.boxPointsDrawer_SinTurnoAgenda} ${classes.box15x15}`} />\r\n                        <Typography className={classes.txtLinksInCard} style={inlineCalendarStyles.noAvailableTurnIndicator}>\r\n                            Sin turno\r\n                        </Typography>\r\n                    </div>\r\n                </div>\r\n                <div className={`${classes.calendarContainer} ${classes.calendarAgendaMedical}`}>\r\n                    <CustomCalendarProfileMedical agendaMedical={schedule} />\r\n                </div>\r\n            </div>\r\n            </div>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default CalendarMedical;\r\n\r\nfunction size(width) {\r\n    return (width <= '1200');\r\n}\r\n\r\n\r\n\r\nfunction validateSpecialties(\r\n    modelAgendaMedicalReducer,\r\n    modelAgendaMedical,\r\n    setSchedule,\r\n\r\n) {\r\n    if (modelAgendaMedicalReducer) {\r\n        const filteredAgenda = modelAgendaMedicalReducer?.medicalAgenda?.agenda?.filter(\r\n            (x) =>\r\n                x.medicoCodigo === modelAgendaMedical?.medicalAgenda?.agenda?.[0].medicoCodigo &&\r\n                x.especialidadCodigo === modelAgendaMedical?.medicalAgenda?.agenda?.[0].especialidadCodigo\r\n        );\r\n        setSchedule(filteredAgenda);\r\n\r\n    }\r\n}","import React, { Suspense, lazy } from \"react\";\r\nimport { TransitionGroup, CSSTransition } from 'react-transition-group';\r\nconst waitFor = Tag => props => <Tag {...props} />;\r\nconst Home = lazy(() => import('./pages/Home/index'));\r\nimport ReactDOM from \"react-dom\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport { Callback } from \"./auth/callback\";\r\nimport { LogoutCallback } from \"./auth/logoutCallback\";\r\nimport { SilentRenew } from \"./auth/silentRenew\";\r\nimport { Logout } from \"./auth/logout\";\r\nimport Login from \"./auth/login\";\r\nimport UsefulPhones from \"./pages/UsefulPhones/index\";\r\nimport CoveragePlans from \"./pages/CoveragePlans/index\";\r\nimport Activities from \"./pages/Activities\";\r\nimport MedicalRecord from \"./pages/MedicalRecord/index\";\r\nimport MapContainer from \"./components/MapContainer/MapContainer\";\r\nimport Headquarters from \"./components/Headquarters/Headquarters\";\r\nimport AppointmentHome from \"./pages/Turn/index\";\r\nimport { PrivateRoute } from \"./privateRoute\";\r\nimport RedirectPageContactAdvisor from \"./pages/RedirectPageContactAdvisor\";\r\nimport PersonalData from \"./pages/PersonalData\";\r\nimport Credentials from \"./pages/Credentials\";\r\nimport LoadingPage from \"./components/LoadingPage/LoadingPage\";\r\nimport loading from './assets/styles/loading.css';\r\nimport MedicalData from \"./pages/MedicalData\";\r\nimport PersonalMedicalData from \"./pages/MedicalData/PersonalMedicalData\";\r\nimport ProgramsHome from \"./pages/MedicalData/ProgramsHome\";\r\nimport VirtualDoctor from \"./pages/VirtualDoctor\";\r\nimport Coverage from \"./pages/Coverage\";\r\nimport TravelCoverage from \"./pages/Coverage/TravelCoverage\";\r\nimport AllNotification from \"./components/Notification/AllNotification\";\r\nimport AllCommunication from \"./components/Communication/AllCommunication\";\r\nimport Register from \"./auth/Register\";\r\nimport ContactUs from \"./pages/ContactUs\";\r\nimport Communication from \"./pages/Communication\";\r\nimport Notification from \"./pages/Notification\";\r\nimport Billing from \"./pages/Billing\";\r\nimport Prevention from \"./components/MedicalData/Prevention/Prevention\";\r\nimport Authorizations from \"./pages/Authorizations\";\r\nimport AuthorizationsDetails from \"./components/Authorizations/AuthorizationsDetails\";\r\nimport AppointmentRecord from \"./pages/AppointmentRecord\";\r\nimport AppointmentNext from \"./pages/AppointmentNext\";\r\nimport AppointmentFavorite from \"./pages/AppointmentFavorite\";\r\nimport Questions from \"./pages/Turn/Question\";\r\nimport Refunds from \"./pages/Refunds\";\r\nimport FrequentQuestionsPage from \"./pages/FrequentQuestions\";\r\nimport HeadquartersFrequentQuestions from \"./components/Headquarters/HeadquartersFrequentQuestions\";\r\nimport AuthorizationsFrequentQuestions from \"./components/Authorizations/AuthorizationsFrequentQuestions\";\r\nimport RefundsFrequentQuestions from \"./components/Refunds/RefundsFrequentQuestions\";\r\nimport RefundsDetails from \"./components/Refunds/RefundsDetails\";\r\nimport PrescriptionPage from './components/MedicalData/PrescriptionPage/PrescriptionPage'\r\nimport CalendarMedical from  './components/MedicalProfile/CalendarMedical';\r\nimport PatientAgenda from './components/MedicalProfile/PatientAgenda';\r\n\r\n\r\nimport MedicalProfile from './components/MedicalProfile/MedicalProfile';\r\nexport const Routes = (\r\n  <TransitionGroup>\r\n    <CSSTransition timeout={500} classNames={{ ...loading }}>\r\n      <Suspense fallback={ReactDOM.render(<LoadingPage />, document.getElementById(\"loadingDiv\"))}>\r\n        <Switch >\r\n          <Route path=\"/silentrenew\" exact={true} component={SilentRenew} />\r\n          <Route path=\"/logout\" exact={true} component={Logout} />\r\n          <Route path=\"/logout/callback\" exact={true} component={LogoutCallback} />\r\n          <Route path=\"/callback\" exact={true} component={Callback} />\r\n          <Route path=\"/login\" exact={true} component={Login} />\r\n          <Route exact={true} path=\"/phones\" component={UsefulPhones} />\r\n          <Route exact={true} path=\"/plans\" component={CoveragePlans} />\r\n          <Route exact={true} path=\"/contactadvisor\" component={RedirectPageContactAdvisor} />\r\n          <Route\r\n            exact={true}\r\n            path=\"/consumercomplaint\"\r\n            component={() => {\r\n              window.location.href = window.env.URL_ConsumerComplaint;\r\n            }}\r\n          />\r\n          <Route\r\n            exact={true}\r\n            path=\"/lowservice\"\r\n            component={() => {\r\n              window.location.href = window.env.URL_LowService;\r\n            }}\r\n          />\r\n          <Route path=\"/MedicalRecords\" component={MedicalRecord} />\r\n          <Route exact={true} path=\"/activities\" component={Activities} />\r\n          <Route path=\"/mapContainer\" component={MapContainer} />\r\n          <Route path=\"/headquarters\" component={Headquarters} />\r\n          <Route exact={true} path=\"/\" component={waitFor(Home)} />\r\n          <Route exact={true} path=\"/headquartersFAQ\" component={HeadquartersFrequentQuestions} />\r\n          <Route exact={true} path=\"/AuthorizationsFAQ\" component={AuthorizationsFrequentQuestions} />\r\n          <Route exact={true} path=\"/RefundsFAQ\" component={RefundsFrequentQuestions} />\r\n\r\n          <PrivateRoute path=\"/AppointmentHome\" component={AppointmentHome} />\r\n          <PrivateRoute exact={true} path=\"/PersonalData\" component={PersonalData} />\r\n\r\n          <PrivateRoute path=\"/Credentials\" component={Credentials} />\r\n          <PrivateRoute path=\"/MedicalProfile\" component={MedicalProfile} />\r\n          <PrivateRoute path=\"/PatientAgenda\" component={PatientAgenda} />\r\n          <PrivateRoute path=\"/MedicalData\" component={MedicalData} />\r\n          <PrivateRoute path=\"/PersonalMedicalData\" component={PersonalMedicalData} />\r\n          <PrivateRoute path=\"/ProgramsHome\" component={ProgramsHome} />\r\n          <PrivateRoute path='/Prevention' component={Prevention} />\r\n          <PrivateRoute path=\"/Coverage\" component={Coverage} />\r\n          <PrivateRoute path=\"/TravelCoverage\" component={TravelCoverage} />\r\n          <PrivateRoute path=\"/PrescriptionPage\" component={PrescriptionPage} />\r\n\r\n          <PrivateRoute path=\"/AllCommunications\" component={AllCommunication} />\r\n          <PrivateRoute path=\"/Communication\" component={Communication} />\r\n          <PrivateRoute path=\"/CalendarMedical\" component={CalendarMedical} />\r\n\r\n          <PrivateRoute path=\"/VirtualDoctor\" component={VirtualDoctor} />\r\n          <PrivateRoute path=\"/AllNotifications\" component={AllNotification} />\r\n          <PrivateRoute path=\"/Register\" component={Register} />\r\n          <PrivateRoute path=\"/Notification\" component={Notification} />\r\n          <PrivateRoute path=\"/ContactUs\" component={ContactUs} />\r\n          <PrivateRoute path='/Billing' component={Billing} />\r\n          <PrivateRoute path='/Authorizations' component={Authorizations} />\r\n          <PrivateRoute path='/AuthorizationsDetails' component={AuthorizationsDetails} />\r\n\r\n          <PrivateRoute path='/AppointmentRecord' component={AppointmentRecord} />\r\n          <PrivateRoute path='/NextAppointments' component={AppointmentNext} />\r\n          <PrivateRoute path='/FavoriteAppointments' component={AppointmentFavorite} />\r\n          <PrivateRoute path='/FrequentQuestions' component={Questions} />\r\n          <PrivateRoute path='/Refunds' component={Refunds} />\r\n          <PrivateRoute path='/RefundsDetails' component={RefundsDetails} />\r\n          <PrivateRoute path=\"/FrequentQuestionsPage\" component={FrequentQuestionsPage} />\r\n        </Switch>\r\n      </Suspense>\r\n    </CSSTransition>\r\n  </TransitionGroup >\r\n);\r\n","import { CircularProgress } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { AuthConsumer } from \"./providers/authProvider\";\r\n\r\nexport const LogoutCallback = () => (\r\n    <AuthConsumer>\r\n        {({ signoutRedirectCallback }) => {\r\n            signoutRedirectCallback();\r\n            return <div style={{display:\"flex\", justifyContent:\"center\"}}><CircularProgress /></div>;\r\n        }}\r\n    </AuthConsumer>\r\n);","import React, { useEffect, useState } from 'react';\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { Provider } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport StyledEngineProvider from '@material-ui/core/StyledEngineProvider';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { AppInsightsContextProvider } from \"./utils/AppInsightsContext\";\r\n\r\n// App Routes\r\nimport { Routes } from \"./Routes\";\r\nimport { AuthProvider } from './auth/providers/authProvider';\r\nimport ConfirmModal from './components/PersonalData/ConfirmModal';\r\n\r\nconst App = ({ store }) => {\r\n\tconst [modalTokenExpired, setModalTokenExpired] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (window.localStorage.getItem(\"access_token\")) {\r\n\t\t\tconst token = jwt_decode(window.localStorage.getItem('access_token'));\r\n\t\t\t// si el token expiró, desloguear \r\n\t\t\tif (token.exp < Date.now() / 1000) {\r\n\t\t\t\tsetModalTokenExpired(true);\r\n\t\t\t}\r\n\t\t}\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (modalTokenExpired && window.localStorage.getItem(\"access_token\")) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\twindow.localStorage.clear();\r\n\t\t\t\twindow.sessionStorage.clear();\r\n\t\t\t\twindow.location.replace(\"/logout\");\r\n\t\t\t}, 4000);\r\n\t\t}\r\n\t}, [modalTokenExpired]);\r\n\r\n\treturn (\r\n\t\t<AppInsightsContextProvider>\r\n\t\t\t<AuthProvider>\r\n\t\t\t\t<Provider store={store}>\r\n\t\t\t\t\t<StyledEngineProvider injectFirst>\r\n\t\t\t\t\t\t<BrowserRouter children={Routes} basename={\"/\"} />\r\n\t\t\t\t\t\t<ConfirmModal\r\n\t\t\t\t\t\t\tisOpen={modalTokenExpired}\r\n\t\t\t\t\t\t\tdescription='Tu sesión ha expirado. Por favor, iniciá sesión nuevamente.'\r\n\t\t\t\t\t\t\ttitleModal=\"\"\r\n\t\t\t\t\t\t\terrorClass='{descriptionModal.setModalErrorClass}'\r\n\t\t\t\t\t\t\tescapeKeyDown={true}\r\n\t\t\t\t\t\t\tbackdropClick={true}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</StyledEngineProvider>\r\n\t\t\t\t</Provider>\r\n\t\t\t</AuthProvider>\r\n\t\t</AppInsightsContextProvider>\r\n\t);\r\n\r\n};\r\n\r\nApp.propTypes = {\r\n\tstore: PropTypes.object.isRequired\r\n};\r\n\r\nexport default App;\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nconst initialValues = {\r\n  filtersCartillaSelected: {\r\n    plan: \"\",\r\n    zone: \"\",\r\n    city: \"\",\r\n    provider: \"\",\r\n    department: \"\",\r\n    alphabeticalSearch: \"\",\r\n  },\r\n  filters: { plan: [], provider: [], zone: [] },\r\n  localidadesBarrios: [],\r\n  especialidadesEstudios: [],\r\n  cartilla: {},\r\n  filtersCartilla: {\r\n    Titular: \"\",\r\n    Miembro: \"\",\r\n    FiltroTipoPrestador: \"\",\r\n    FiltroEspecialidad: \"\",\r\n    FiltroEstudioComplementario: \"\",\r\n    FiltroPlan: \"\",\r\n    FiltroZona: \"\",\r\n    FiltroLocalidad: [],\r\n    FiltroRazonSocial: \"\",\r\n    Count: 0,\r\n    Skip: 0,\r\n  },\r\n  completeProfile: {\r\n    PrestadorNumero: 0,\r\n  },\r\n  loading: false,\r\n  msgError: ''\r\n};\r\nexport default function cartillaReducer(state = initialValues, action) {\r\n\r\n  const ACTIONS = {\r\n    [actionTypes.FAILURE_GET_FILTERS_VALUES]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_LOCALIDADES_BARRIOS]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_PRESTADORES_RESULT]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_PERFIL_COMPLETO]: responseToReturn()\r\n  };\r\n\r\n  function responseToReturn() {\r\n    let res = { ...state };\r\n    if (action.message) {\r\n        res = { ...state, msgError: action.message };\r\n    }\r\n    return res;\r\n  }\r\n\r\n  if (ACTIONS[action.type] !== undefined) {\r\n    return ACTIONS[action.type];\r\n  }\r\n\r\n  switch (action.type) {\r\n    case actionTypes.SET_SELECTED_FILTERS_VALUES:\r\n      return {\r\n        ...state,\r\n        filtersCartillaSelected: action.payload,\r\n      };\r\n    case actionTypes.SET_MODEL_FILTERS_VALUES:\r\n      return {\r\n        ...state,\r\n        filtersCartilla: action.payload,\r\n      };\r\n    case actionTypes.GET_FILTERS_VALUES:\r\n      return {\r\n        ...state,\r\n      };\r\n    case actionTypes.SUCCESS_GET_FILTERS_VALUES:\r\n      if (action.response) {\r\n        return { ...state, filters: action.response.data };\r\n      } else {\r\n        return { ...state, action };\r\n      }\r\n    case actionTypes.SUCCESS_GET_LOCALIDADES_BARRIOS:\r\n      if (action.response) {\r\n        return { ...state, localidadesBarrios: action.response?.data };\r\n      } else {\r\n        return [...state, action];\r\n      }\r\n    case actionTypes.SUCCESS_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS:\r\n      if (action.response) {\r\n        return { ...state, especialidadesEstudios: action.response?.data };\r\n      } else {\r\n        return [...state, action];\r\n      }\r\n    case actionTypes.SUCCESS_GET_PRESTADORES_RESULT:\r\n      if (action.response) {\r\n        return {\r\n          ...state,\r\n          cartilla: action.response?.data,\r\n          loading: false\r\n        };\r\n      } else {\r\n        return [...state, action];\r\n      }\r\n    case actionTypes.SUCCESS_GET_PERFIL_COMPLETO:\r\n      if (action.response) {\r\n        return {\r\n          ...state,\r\n          completeProfile: action.response?.data,\r\n        };\r\n      } else {\r\n        return [...state, action];\r\n      }\r\n    case actionTypes.CLEAN_MODEL_MEDICAL_RECORDS:\r\n      return {\r\n        ...state, filtersCartillaSelected: {\r\n          plan: \"\",\r\n          zone: \"\",\r\n          city: \"\",\r\n          provider: \"\",\r\n          department: \"\",\r\n          alphabeticalSearch: \"\",\r\n        },\r\n        filters: { plan: [], provider: [], zone: [] },\r\n        localidadesBarrios: [],\r\n        especialidadesEstudios: [],\r\n        cartilla: {},\r\n        filtersCartilla: {\r\n          Titular: \"\",\r\n          Miembro: \"\",\r\n          FiltroTipoPrestador: \"\",\r\n          FiltroEspecialidad: \"\",\r\n          FiltroEstudioComplementario: \"\",\r\n          FiltroPlan: \"\",\r\n          FiltroZona: \"\",\r\n          FiltroLocalidad: [],\r\n          FiltroRazonSocial: \"\",\r\n          Count: 0,\r\n          Skip: 0,\r\n        },\r\n        completeProfile: {\r\n          PrestadorNumero: 0,\r\n        },\r\n        loading: false\r\n      };\r\n    case actionTypes.SET_LOADING_MEDICAL_RECORDS:\r\n      return { ...state, loading: true };\r\n    case actionTypes.CLEAN_PERFIL_COMPLETO:\r\n      return { ...state, cartilla: {} };\r\n    default:\r\n      return state;\r\n  }\r\n}\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nconst initialValues = {\r\n  afilliatedAppointments: {\r\n    NumeroPersona: 0,\r\n    SolicitudTurnos: \"\",\r\n    Count: 0,\r\n    Skip: 0,\r\n  },\r\n  all: [],\r\n  next: [],\r\n  appointmentNextFullData: [],\r\n  appointmentRecordFullData: [],\r\n  appointmentFavoriteFullData: [],\r\n  appointmentQuestionFullData: [],\r\n  record: [],\r\n  favorite: [],\r\n  questionF: [],\r\n  filtro: [],\r\n  fullDataFiltro: [],\r\n  groupFamilyTurn: [],\r\n  nextAvailableAppointments: [],\r\n  appointments: [],\r\n  modelAppointment: [],\r\n  nextAvailableAppointmentsDoctor: [],\r\n  postAppointment: [],\r\n  modelModifyAppointment: [],\r\n  isLoading: false,\r\n  msgError: '',\r\n  specialtiesList: [],\r\n  doctorsList: [],\r\n  freeDoctorAppointmentsList: [],\r\n  medicalAgenda: []\r\n  /**crear los objetos que vienen del servicio */\r\n};\r\n\r\nexport default function appointmentsReducer(state = initialValues, action) {\r\n  const ACTIONS = {\r\n    [actionTypes.FAILURE_GET_AFILLIATED_APPOINTMENTS]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_AFILLIATED_APPOINTMENTS_NEXT]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_AFILLIATED_APPOINTMENTS_RECORD]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_APPOINTMENTS_FAVORITE]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_DATA_GROUP_FAMILY]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_DATA_FILTER_APPOINTMENT]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_APPOINTMENTS_CANCELED]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_APPOINTMENTS_AB]: responseToReturn(),\r\n    [actionTypes.FAILURE_ANSWER_QUESTION]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_APPOINTMENTS_CONFIRMED]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_FULL_GROUP_FAMILY_APPOINTMENT]: responseToReturn(),\r\n    [actionTypes.CLEAR_APPOINTMENT_MSG_ERROR]: clearState('msgError'),\r\n    [actionTypes.FAILURE_GET_SPECIALTIES_LIST]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_DOCTORS_LIST]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_FREE_DOCTOR_APPOINTMENTS_LIST]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_MEDICAL_AGENDA]: responseToReturn(),\r\n\r\n  };\r\n\r\n  function responseToReturn() {\r\n    let res = { ...state };\r\n    if (action.message) {\r\n        res = { ...state, msgError: action.message, isLoading: false };\r\n    }\r\n    return res;\r\n  }\r\n\r\n  function clearState(type) {\r\n    if (type) {\r\n      return { ...state, [type]: initialValues[type] };\r\n    } else {\r\n      return { ...initialValues }\r\n    }\r\n  }\r\n\r\n  if (ACTIONS[action.type] !== undefined) {\r\n    return ACTIONS[action.type];\r\n  }\r\n\r\n  switch (action.type) {\r\n    case actionTypes.GET_NEXT_AVAILABLE_APPOINTMENTS:\r\n      return { ...state, nextAvailableAppointments: [], isLoading: true };\r\n    case actionTypes.GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR:\r\n      return { ...state, nextAvailableAppointments: [], isLoading: true };\r\n    case actionTypes.GET_AFILLIATED_APPOINTMENTS:\r\n      return { ...state, appointments: [], isLoading: true };\r\n    case actionTypes.GET_FREE_DOCTOR_APPOINTMENTS_LIST:\r\n      return { ...state, freeDoctorAppointmentsList: [], isLoading: true };\r\n    case actionTypes.GET_MEDICAL_AGENDA:\r\n      return { ...state, medicalAgenda: [], isLoading: true };\r\n    case actionTypes.SUCCESS_GET_AFILLIATED_APPOINTMENTS:\r\n      if (action.response) {\r\n        return { ...state, appointments: action.response.data.data.turnos, msgError:'', isLoading: false };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCESS_GET_AFILLIATED_APPOINTMENTS_NEXT:\r\n      if (action.response) {\r\n        return { ...state, next: action.response.data.data.turnos, appointmentNextFullData: action.response.data.data, msgError:'' };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n\r\n    case actionTypes.SUCCESS_GET_AFILLIATED_APPOINTMENTS_RECORD:\r\n      if (action.response) {\r\n        return { ...state, record: action.response.data.data.turnos, appointmentRecordFullData: action.response.data.data, msgError:'' };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCES_GET_APPOINTMENTS_FAVORITE:\r\n      if (action.response) {\r\n        return { ...state, favorite: action.response.data.data.favoritos, appointmentFavoriteFullData: action.response.data.data, msgError:'' };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCES_GET_DATA_GROUP_FAMILY:\r\n      if (action.response) {\r\n        return {\r\n          ...state,\r\n          groupFamilyTurn: action.response.data.data.items,\r\n          msgError:''\r\n        };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCES_GET_DATA_FILTER_APPOINTMENT:\r\n      if (action.response) {\r\n        return {\r\n          ...state,\r\n          filtro: action.response.data.data.afiliados,\r\n          fullDataFiltro: action.response.data.data,\r\n          msgError:''\r\n        };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCES_GET_APPOINTMENTS_CANCELED:\r\n      if (action.response) {\r\n        return { ...state, afilliatedAppointments: action.response.data.data, msgError:'' };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCES_GET_APPOINTMENTS_AB:\r\n      if (action.response) {\r\n        return { ...state, afilliatedAppointments: action.response.data.data, msgError:'' };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCES_ANSWER_QUESTION:\r\n      if (action.response) {\r\n        return { ...state, questionF: action.response.data.answerQuestion, appointmentQuestionFullData: action.response.data, msgError:'' };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS:\r\n      if (action.response) {\r\n        return { ...state, nextAvailableAppointments: action.response.data, isLoading: false, msgError:'' };\r\n      }\r\n      else {\r\n        return { ...state, isLoading: false };\r\n      }\r\n    case actionTypes.SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR:\r\n      if (action.response) {\r\n        return { ...state, nextAvailableAppointmentsDoctor: action.response.data, isLoading: false, msgError:'' };\r\n      }\r\n      else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCESS_GET_MEDICAL_AGENDA:\r\n      if (action.response) {\r\n        return { ...state, medicalAgenda: action.response.data, isLoading: false, msgError:'' };\r\n      }\r\n      else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SET_MODEL_TO_SAVE_APPOINTMENT:\r\n      return { ...state, modelAppointment: action.payload };\r\n    case actionTypes.GET_MODEL_TO_SAVE_APPOINTMENT:\r\n      return { ...state };\r\n    case actionTypes.SUCCESS_GET_APPOINTMENTS_CONFIRMED:\r\n      if (action.response) {\r\n        return { ...state, postAppointment: action.response.data, msgError:'' };\r\n      }\r\n      else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCESS_GET_FULL_GROUP_FAMILY_APPOINTMENT:\r\n      if (action.response) {\r\n        return { ...state, fullGroupFamily: action.response.data.data, msgError:'' };\r\n      }\r\n      else {\r\n        return { ...state };\r\n      }\r\n\r\n    case actionTypes.SUCCESS_GET_SPECIALTIES_LIST:\r\n      if (action.response) {\r\n        return { ...state, specialtiesList: action.response.data.data, msgError: '' };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n\r\n    case actionTypes.SUCCESS_GET_DOCTORS_LIST:\r\n      if (action.response) {\r\n        return { ...state, doctorsList: action.response.data.data, msgError: '' };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n\r\n    case actionTypes.SUCCESS_GET_FREE_DOCTOR_APPOINTMENTS_LIST:\r\n      if (action.response) {\r\n        return { ...state, freeDoctorAppointmentsList: action.response.data.data, msgError: '', isLoading: false };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n\r\n    case actionTypes.CLEAR_MODEL_APPOINTMENT:\r\n      return { ...state, modelAppointment: [] };\r\n    case actionTypes.CLEAR_AFFILLIATE:\r\n      return {\r\n        ...state, afilliatedAppointments: {\r\n          NumeroPersona: 0,\r\n          SolicitudTurnos: \"\",\r\n          Count: 0,\r\n          Skip: 0,\r\n        },\r\n      };\r\n    case actionTypes.SET_MODIFY_APPOINTMENT:\r\n      return { ...state, modelModifyAppointment: action.payload };\r\n\r\n    default:\r\n      return { ...state };\r\n  }\r\n}\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nconst initialValues = {\r\n  specialtyList: [],\r\n  medicalCenters: [],\r\n  isLoading: false,\r\n};\r\n\r\nexport default function medicalCenterReducer(state = initialValues, action) {\r\n\r\n  const ACTIONS = {\r\n    [actionTypes.FAILURE_GET_SPECIALTY_LIST]: responseToReturn(),\r\n    [actionTypes.FAILURE_GET_MEDICAL_CENTERS]: responseToReturn()\r\n  };\r\n\r\n  function responseToReturn() {\r\n    let res = { ...state };\r\n    if (action.message) {\r\n      res = { ...state, msgError: action.message };\r\n    }\r\n    return res;\r\n  }\r\n\r\n  if (ACTIONS[action.type] !== undefined) {\r\n    return ACTIONS[action.type];\r\n  }\r\n\r\n  switch (action.type) {\r\n    case actionTypes.SUCCESS_GET_SPECIALTY_LIST:\r\n      if (action.response) {\r\n        return { ...state, specialtyList: action.response.data, isLoading: false };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCESS_GET_MEDICAL_CENTERS:\r\n      if (action.response) {\r\n        return { ...state, medicalCenters: action.response.data, isLoading: false };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n      case actionTypes.GET_SPECIALTY_LIST:\r\n      return { ...state, specialtyList: [], isLoading: true };\r\n\r\n      case actionTypes.GET_MEDICAL_CENTERS:\r\n      return { ...state, medicalCenters: [], isLoading: true };\r\n    default:\r\n      return { ...state };\r\n  }\r\n}\r\n","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nconst initialValues = {\r\n    stepCounter: 0,\r\n    actualStep: -1,\r\n};\r\n\r\nexport default function stepAppointmentReducer(state = initialValues, action) {\r\n    switch (action.type) {\r\n        case actionTypes.SET_ACTUAL_STEP:\r\n            return { ...state, actualStep: action.payload };\r\n        case actionTypes.GET_STEPS:\r\n            return { ...state };\r\n        case actionTypes.NEXT_STEP:\r\n        case actionTypes.PREV_STEP:\r\n            return { ...state, stepCounter: action.payload };\r\n        default:\r\n            return { ...state };\r\n    }\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    emergencyNumbers: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function emergencyReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_EMERGENCY_NUMBERS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_EMERGENCY_NUMBERS]: responseToReturn()\r\n    };\r\n    function responseToReturn() {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, emergencyNumbers: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialValues = {\r\n    countNotification: 0,\r\n    notificationSelected: null,\r\n    notification: [],\r\n    \r\n    communication: [],\r\n\r\n    notifications:{},\r\n    modifyNotifications:false,\r\n    hasNotification : [\r\n        { title: 'Urgencias', countNotification: 0 },\r\n        { title: 'Turnos', countNotification: 0 },\r\n        { title: 'Autorizaciones', countNotification: 0 },\r\n        { title: 'Reintegros', countNotification: 0 },\r\n        { title: 'Médico virtual', countNotification: 0 },\r\n        { title: 'Credencial', countNotification: 0 },\r\n        { title: 'Datos médicos', countNotification: 0 },\r\n        { title: 'Datos y Afiliados', countNotification: 0 },\r\n        { title: 'Cobertura', countNotification: 0 },\r\n        { title: 'Cartilla', countNotification: 0 },\r\n        { title: 'Datos útiles', countNotification: 0 },\r\n        { title: 'Facturación', countNotification: 0 },\r\n        { title: 'Comunicaciones', countNotification: 0 },\r\n\r\n    ],\r\n    msgError: ''\r\n\r\n};\r\n\r\nexport default function notificationReducer(state = initialValues, action) {\r\n    const DEFAULT = { ...state };\r\n  \r\n    const ACTION_TO_RESPONSE = {\r\n        [actionTypes.SUCCESS_ALL_GET_NOTIFICATION]: responseToReturn('notifications'),\r\n      \r\n        [actionTypes.SUCCESS_GET_COMMUNICATION]: responseToReturn('communication'),\r\n\r\n        [actionTypes.SUCCESS_UPDATE_ALL_GET_NOTIFICATION]: responseToReturn('notifications'),\r\n        [actionTypes.SUCCESS_GET_NOTIFICATION]: responseToReturn('notification'),\r\n        [actionTypes.SUCCESS_MODIFY_NOTIFICATION]: responseToReturn('modifyNotifications'),\r\n        [actionTypes.SUCCESS_SET_COUNT_NOTIFICATION]: responseToReturn('countNotification'),\r\n        [actionTypes.SUCCESS_SELECT_NOTIFICATION]: responseToReturn('notificationSelected'),\r\n        [actionTypes.SUCCESS_HASH_NOTIFICATION]: responseToReturn('hasNotification'),\r\n        [actionTypes.FAILURE_ALL_GET_NOTIFICATION]: responseToReturn('notifications'),\r\n        [actionTypes.FAILURE_UPDATE_ALL_GET_NOTIFICATION]: responseToReturn('notifications'),\r\n        [actionTypes.FAILURE_GET_NOTIFICATION]: responseToReturn('notification'),\r\n        [actionTypes.FAILURE_MODIFY_NOTIFICATION]: responseToReturn('modifyNotifications'),\r\n        [actionTypes.FAILURE_SET_COUNT_NOTIFICATION]: responseToReturn('countNotification'),\r\n        [actionTypes.FAILURE_SELECT_NOTIFICATION]: responseToReturn('notificationSelected'),\r\n        [actionTypes.FAILURE_HASH_NOTIFICATION]: responseToReturn('hasNotification'),\r\n\r\n        [actionTypes.FAILURE_GET_COMMUNICATION]: responseToReturn('communication'),\r\n\r\n\r\n        /****/\r\n        [actionTypes.GET_NOTIFICATIONS]: responseToReturn(''),\r\n        [actionTypes.GET_COMMUNICATION]: responseToReturn(''),\r\n\r\n    };\r\n\r\n    function responseToReturn(item) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [item]: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n     let receiveAction = DEFAULT;\r\n\r\n    if (ACTION_TO_RESPONSE[action.type] !== undefined) {\r\n        receiveAction = ACTION_TO_RESPONSE[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nconst initialValues = {\r\n  phoneList: [],\r\n  phoneShift: [],\r\n  msgError: ''\r\n};\r\n\r\nexport default function phonesReducer(state = initialValues, action) {\r\n\r\n  const ACTIONS = {\r\n    [actionTypes.FAILURE_PHONES]: responseToReturn(),\r\n    [actionTypes.FAILURE_SHIFT_PHONES]: responseToReturn()\r\n  };\r\n\r\n  function responseToReturn() {\r\n    let res = { ...state };\r\n    if (action.message) {\r\n      res = { ...state, msgError: action.message };\r\n    }\r\n    return res;\r\n  }\r\n\r\n  if (ACTIONS[action.type] !== undefined) {\r\n    return ACTIONS[action.type];\r\n  }\r\n\r\n  switch (action.type) {\r\n    case actionTypes.SUCCES_PHONES:\r\n      if (action.response) {\r\n        return { ...state, phoneList: action.response.data.usefulPhone };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    case actionTypes.SUCCES_SHIFT_PHONES:\r\n      if (action.response) {\r\n        return { ...state, phoneShift: action.response.data.phoneShift };\r\n      } else {\r\n        return { ...state };\r\n      }\r\n    default:\r\n      return { ...state };\r\n  }\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialValues = {\r\n    address: [],\r\n    typesDocuments: [],\r\n    nationalities: [],\r\n    civilStatus: [],\r\n    fullData: [],\r\n    abmData: [],\r\n    credentials: [],\r\n    hobbies: [],\r\n    deportes: [],\r\n    error: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function personalDataReducer(state = initialValues, action) {\r\n\r\n    const ACTIONS = {\r\n        [actionTypes.FAILURE_GET_TYPE_OF_CONTACT]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_TYPE_OF_CONTACT_PHONE]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_TYPE_OF_CONTACT_MAIL]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_CONTACTDATA_OF_AFFILIATED]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_TYPES_DOCUMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_CIVIL_STATUS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_NATIONALITY]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_FULL_DATA]: responseToReturn(),\r\n        [actionTypes.FAILURE_ABM_FULL_DATA]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_CREDENTIALS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_HOBBIES]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_DEPORTES]: responseToReturn()\r\n    };\r\n\r\n    function responseToReturn() {\r\n        let res = { ...state };\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        return ACTIONS[action.type];\r\n    }\r\n\r\n    switch (action.type) {\r\n        case actionTypes.SUCCESS_GET_TYPE_OF_CONTACT:\r\n            if (action.response)\r\n                return { ...state, address: action.response.data.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SEND_REQUEST_FAILURE:\r\n            if (action.error) {\r\n                return { ...state, error: action.error.response.data.data };\r\n            }\r\n            else {\r\n                return { ...state };\r\n            }\r\n        case actionTypes.SUCCESS_GET_TYPE_OF_CONTACT_PHONE:\r\n            if (action.response)\r\n                return { ...state, phones: action.response.data.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_TYPE_OF_CONTACT_MAIL:\r\n            if (action.response)\r\n                return { ...state, mails: action.response.data.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_CONTACTDATA_OF_AFFILIATED:\r\n            if (action.response)\r\n                return { ...state, contactData: action.response.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_TYPES_DOCUMENTS:\r\n            if (action.response)\r\n                return { ...state, typesDocuments: action.response.data.data.documentoTipo };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_CIVIL_STATUS:\r\n            if (action.response)\r\n                return { ...state, civilStatus: action.response.data.data.estadoCivil };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_NATIONALITY:\r\n            if (action.response)\r\n                return { ...state, nationalities: action.response.data.data.nacionalidad };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_FULL_DATA:\r\n            if (action.response)\r\n                return { ...state, fullData: action.response.data.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_ABM_FULL_DATA:\r\n            if (action.response)\r\n                return { ...state, abmData: action.response.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_CREDENTIALS:\r\n            if (action.response)\r\n                return { ...state, credentials: action.response.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_HOBBIES:\r\n            if (action.response)\r\n                return { ...state, hobbies: action.response.data.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.SUCCESS_GET_DEPORTES:\r\n            if (action.response)\r\n                return { ...state, deportes: action.response.data.data };\r\n            else\r\n                return { ...state };\r\n        case actionTypes.CLEAR_ABM_MODEL:\r\n            return { ...state, abmData: [] };\r\n        default:\r\n            return { ...state };\r\n    }\r\n}","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nconst initialState = {\r\n    errorMsg: ''\r\n};\r\n\r\nexport default function errorReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SEND_REQUEST_FAILURE]: responseToReturn(),\r\n        [actionTypes.RESET_SEND_REQUEST_FAILURE]: clearModel()\r\n    };\r\n\r\n    function responseToReturn() {\r\n        let res = { ...state };\r\n        if (action.message) {\r\n            res = { ...state, errorMsg: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function clearModel() {\r\n        return { ...state, errorMsg: [] };\r\n      }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js'\r\n\r\nconst initialValues = {\r\n    programs: [],\r\n    allergiesParams: [],\r\n    affiliatedAllergies: [],\r\n    abmAllergies: [],\r\n    affiliatedPhones: [],\r\n    abmAffiliatedPhones: [],\r\n    abmFactorGroup: [],\r\n    factorGroup: [],\r\n    factorGroupParams: [],\r\n    abmChronicDiseases: [],\r\n    chronicDiseases: [],\r\n    chronicDiseasesParams: [],\r\n    abmChronicMedication: [],\r\n    chronicMedication: [],\r\n    weightHeight: {},\r\n    vitalParameters: {},\r\n    abweight: {},\r\n    ABVital: {},\r\n    laboratoryStudies: {},\r\n    detailLaboratory: {},\r\n    vaccine: [],\r\n    pharmaceuticalForm: [],\r\n    recipe: [],\r\n    recipeFiles:[],\r\n\r\n    msgError: ''\r\n};\r\n\r\nexport default function medicalDataReducer(state = initialValues, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_DATA_WHEIGHT_HEIGHT]: response('weightHeight', state, action),\r\n        [actionTypes.SUCCESS_AB_WHEIGHT_HEIGHT]: response('abweight', state, action),\r\n        [actionTypes.SUCCESS_GET_VITAL_PARAMETERS]: response('vitalParameters', state, action),\r\n        [actionTypes.SUCCESS_AB_VITAL_PARAMETERS]: response('ABVital', state, action),\r\n        [actionTypes.SUCCESS_GET_PROGRAMS]: responseToReturn('programs', state, action),\r\n        [actionTypes.SUCCESS_GET_ALLERGIES_PARAMS]: response('allergiesParams', state, action),\r\n        [actionTypes.SUCCESS_GET_AFFILIATED_ALLERGIES]: response('affiliatedAllergies', state, action),\r\n        [actionTypes.SUCCESS_ABM_ALLERGIES]: response('abmAllergies', state, action),\r\n        [actionTypes.SUCCESS_GET_AFFILIATED_PHONES]: response('affiliatedPhones', state, action),\r\n        [actionTypes.SUCCESS_ABM_MD_PHONES]: response('abmAffiliatedPhones', state, action),\r\n        [actionTypes.SUCCESS_GET_LABORATORY_STUDIES]: responseToReturn('laboratoryStudies', state, action),\r\n        [actionTypes.SUCCESS_GET_DETAIL_LABORATORY]: responseToReturn('detailLaboratory', state, action),\r\n        [actionTypes.SUCCESS_ABM_FACTOR_GROUP]: response('abmFactorGroup', state, action),\r\n        [actionTypes.SUCCESS_GET_FACTOR_GROUP]: response('factorGroup', state, action),\r\n        [actionTypes.SUCCESS_GET_FACTOR_GROUP_PARAMS]: response('factorGroupParams', state, action),\r\n        [actionTypes.SUCCESS_ABM_CHRONIC_DISEASES]: response('abmChronicDiseases', state, action),\r\n        [actionTypes.SUCCESS_GET_CHRONIC_DISEASES]: response('chronicDiseases', state, action),\r\n        [actionTypes.SUCCESS_GET_CHRONIC_DISEASES_PARAMS]: response('chronicDiseasesParams', state, action),\r\n        [actionTypes.SUCCESS_ABM_CHRONIC_MEDICATION]: response('abmChronicMedication', state, action),\r\n        [actionTypes.SUCCESS_GET_CHRONIC_MEDICATION]: response('chronicMedication', state, action),\r\n        [actionTypes.SUCCESS_GET_VACCINE]: responseToReturn('vaccine', state, action),\r\n        [actionTypes.SUCCESS_GET_PHARMACEUTICAL_FORM]: response('pharmaceuticalForm', state, action),\r\n\r\n\r\n        [actionTypes.GET_RECIPE]: response(\"recipe\", state, action),\r\n        [actionTypes.SUCCESS_GET_RECIPE]: responseToReturn('recipe', state, action),\r\n        [actionTypes.FAILURE_GET_RECIPE]: responseToReturn('recipe', state, action),\r\n\r\n        [actionTypes.GET_RECIPE_FILES]:response(\"recipeFiles\", state, action),\r\n        [actionTypes.SUCCESS_GET_RECIPE_FILES]: responseToReturn('recipeFiles', state, action),\r\n        [actionTypes.FAILURE_GET_RECIPE_FILES]: responseToReturn('recipeFiles', state, action),\r\n\r\n\r\n\r\n\r\n        [actionTypes.FAILURE_GET_DATA_WHEIGHT_HEIGHT]: response('', state, action),\r\n        [actionTypes.FAILURE_AB_WHEIGHT_HEIGHT]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_VITAL_PARAMETERS]: response('', state, action),\r\n        [actionTypes.FAILURE_AB_VITAL_PARAMETERS]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_PROGRAMS]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_GET_ALLERGIES_PARAMS]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_AFFILIATED_ALLERGIES]: response('', state, action),\r\n        [actionTypes.FAILURE_ABM_ALLERGIES]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_AFFILIATED_PHONES]: response('', state, action),\r\n        [actionTypes.FAILURE_ABM_MD_PHONES]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_LABORATORY_STUDIES]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_GET_DETAIL_LABORATORY]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_ABM_FACTOR_GROUP]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_FACTOR_GROUP]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_FACTOR_GROUP_PARAMS]: response('', state, action),\r\n        [actionTypes.FAILURE_ABM_CHRONIC_DISEASES]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_CHRONIC_DISEASES]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_CHRONIC_DISEASES_PARAMS]: response('', state, action),\r\n        [actionTypes.FAILURE_ABM_CHRONIC_MEDICATION]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_CHRONIC_MEDICATION]: response('', state, action),\r\n        [actionTypes.FAILURE_GET_VACCINE]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_GET_PHARMACEUTICAL_FORM]: response('', state, action),\r\n    };\r\n\r\n\r\n   \r\n\r\n    \r\n\r\n    \r\n    function response(item, state, action) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [item]: action.response.data.data };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js';\r\n\r\nconst initialValues = {\r\n    dataUser: null,\r\n    addDataUser: {},\r\n    deleteDataUser: {},\r\n    modifyDataUser: {},\r\n    registerUser: [],\r\n    registerValidation: [],\r\n    registerMedicalValidation:[],\r\n    isLoading: false,\r\n    msgError: '',\r\n    userTypeValidation: [],\r\n};\r\n\r\nexport default function registerUsersReducer(state = initialValues, action) {\r\n    switch(action.type){\r\n        case actionTypes.VERIFY_REGISTER:\r\n            state = { ...state, isLoading: true};\r\n            break;\r\n        case actionTypes.SUCCESS_VERIFY_REGISTER:\r\n            state = { ...state, isLoading: false};\r\n            break;\r\n        default:\r\n            break;\r\n    }\r\n\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_DATA_REGISTER_USER]: responseToReturn('dataUser', state, action),\r\n        [actionTypes.SUCCESS_ADD_DATA_REGISTER_USER]: responseToReturn('addDataUser', state, action),\r\n        [actionTypes.SUCCESS_DELETE_DATA_REGISTER_USER]: responseToReturn('deleteDataUser', state, action),\r\n        [actionTypes.SUCCESS_MODIFY_DATA_REGISTER_USER]: responseToReturn('modifyDataUser', state, action),\r\n        [actionTypes.SUCCESS_REGISTER_USER]: responseUserTypeValidation('registerUser', state, action),\r\n        [actionTypes.SUCCESS_VERIFY_REGISTER]: response('registerValidation', state, action),\r\n        [actionTypes.SUCCESS_VERIFY_REGISTER_MEDICAL]: response('registerMedicalValidation', state, action),\r\n\r\n        \r\n        [actionTypes.SUCCESS_VALIDATE_TYPE_OF_USER]: responseUserTypeValidation('userTypeValidation', state, action),\r\n        [actionTypes.FAILURE_GET_DATA_REGISTER_USER]: responseToReturn('dataUser', state, action),\r\n        [actionTypes.FAILURE_ADD_DATA_REGISTER_USER]: responseToReturn('addDataUser', state, action),\r\n        [actionTypes.FAILURE_DELETE_DATA_REGISTER_USER]: responseToReturn('deleteDataUser', state, action),\r\n        [actionTypes.FAILURE_MODIFY_DATA_REGISTER_USER]: responseToReturn('modifyDataUser', state, action),\r\n        [actionTypes.FAILURE_REGISTER_USER]: responseUserTypeValidation('registerUser', state, action),\r\n        [actionTypes.FAILURE_VERIFY_REGISTER]: response('registerValidation', state, action),\r\n        [actionTypes.FAILURE_VERIFY_REGISTER_MEDICAL]: response('registerMedicalValidation', state, action),\r\n\r\n        [actionTypes.FAILURE_VALIDATE_TYPE_OF_USER]: responseUserTypeValidation('userTypeValidation', state, action)\r\n\r\n    };\r\n\r\n    function response(item, state, action) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [item]: action.response.data.data };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message, isLoading: false };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function responseUserTypeValidation(item, state, action) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [item]: action.response?.data?.data, isLoading: false };\r\n        }\r\n        if (!action.response?.data?.data?.confirmacion) {\r\n            res = { ...state, msgError: action.response?.data.data?.mensajes, isLoading: false };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js';\r\n\r\nconst initialState = {\r\n    areaParemeters: [],\r\n    typeCoverage: [],\r\n    refundCoverageResult: [],\r\n    getCoveragePlans: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function coverageReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_TYPE_COVERAGE_PARAMETERS]: responseToReturn('typeCoverage', state, action),\r\n        [actionTypes.SUCCESS_GET_AREA_PARAMETERS]: responseToReturn('areaParameters', state, action),\r\n        [actionTypes.SUCCESS_POST_REFUND_COVERAGE]: responseToReturn('refundCoverageResult', state, action),\r\n        [actionTypes.SUCCESS_GET_ALL_COVERAGE_PLANS]: responseToReturn('getCoveragePlans', state, action),\r\n        [actionTypes.FAILURE_GET_TYPE_COVERAGE_PARAMETERS]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_GET_AREA_PARAMETERS]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_POST_REFUND_COVERAGE]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_GET_ALL_COVERAGE_PLANS]: responseToReturn('', state, action)\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    virtualDoctorResponse: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function virtualDoctorReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_POST_CALL_DOCTOR]: responseToReturn('virtualDoctorResponse'),\r\n        [actionTypes.FAILURE_POST_CALL_DOCTOR]: responseToReturn('virtualDoctorResponse'),\r\n        [actionTypes.CLEAN_VIRTUAL_DOCTOR_MODEL]: cleanModel(),\r\n    };\r\n\r\n    function responseToReturn(typeState) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [typeState]: action.response.data.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function cleanModel(){\r\n        return { ...state, virtualDoctorResponse: [] };\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js';\r\n\r\nconst initialState = {\r\n    contactUs: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function contactUsReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_POST_CONTACT_US]: responseToReturn('contactUs', state, action),\r\n        [actionTypes.FAILURE_POST_CONTACT_US]: responseToReturn('', state, action),\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js'\r\n\r\nconst initialState = {\r\n    allCredentials: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function credentialReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_ALL_CREDENTIALS]: responseToReturn('allCredentials', state, action),\r\n        [actionTypes.FAILURE_GET_ALL_CREDENTIALS]: responseToReturn('', state, action),\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    activities: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function activitiesReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_ALL_ACTIVITIES]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_ALL_FAILURE]: responseToReturn()\r\n    };\r\n    function responseToReturn() {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, activities: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    procedures: [],\r\n    postProcedure: [],\r\n    dataAffiliates: [],\r\n    lowMotives: null,\r\n    requestLow: null,\r\n    file: null,\r\n    postRequest: null,\r\n    getPlan: null,\r\n    getMotivosPlan: null,\r\n    getPlanDisponible: null,\r\n    postChangePlan: null,\r\n    permissionLow: null,\r\n    msgError: ''\r\n\r\n};\r\n\r\nexport default function procedureReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_PROCEDURES]: responseToReturn('procedures'),\r\n        [actionTypes.SUCCESS_POST_PROCEDURE]: responseToReturn('postProcedure'),\r\n        [actionTypes.SUCCESS_GET_DATOS_RECUPERA]: responseToReturn('dataAffiliates'),\r\n        [actionTypes.SUCCESS_GET_MOTIVOS_BAJA]: responseToReturn('lowMotives'),\r\n        [actionTypes.SUCCESS_GET_SOLICITUD_BAJA]: responseToReturn('requestLow'),\r\n        [actionTypes.SUCCESS_GET_FILE]: responseToReturn('file'),\r\n        [actionTypes.SUCCESS_POST_REQUEST_LOW]: responseToReturn('postRequest'),\r\n        [actionTypes.SUCCESS_GET_CHANGE_PLAN]: responseToReturn('getPlan'),\r\n        [actionTypes.SUCCESS_GET_MOTIVOS_BAJA_PLAN]: responseToReturn('getMotivosPlan'),\r\n        [actionTypes.SUCCESS_GET_PLAN]: responseToReturn('getPlanDisponible'),\r\n        [actionTypes.SUCCESS_POST_CHANGE_PLAN]: responseToReturn('postChangePlan'),\r\n        [actionTypes.SUCCESS_PERMISSION_LOW]: responseToReturn('permissionLow'),\r\n        [actionTypes.FAILURE_GET_PROCEDURES]: responseToReturn('procedures'),\r\n        [actionTypes.FAILURE_POST_PROCEDURE]: responseToReturn('postProcedure'),\r\n        [actionTypes.FAILURE_GET_DATOS_RECUPERA]: responseToReturn('dataAffiliates'),\r\n        [actionTypes.FAILURE_GET_MOTIVOS_BAJA]: responseToReturn('lowMotives'),\r\n        [actionTypes.FAILURE_GET_SOLICITUD_BAJA]: responseToReturn('requestLow'),\r\n        [actionTypes.FAILURE_GET_FILE]: responseToReturn('file'),\r\n        [actionTypes.FAILURE_POST_REQUEST_LOW]: responseToReturn('postRequest'),\r\n        [actionTypes.FAILURE_GET_CHANGE_PLAN]: responseToReturn('getPlan'),\r\n        [actionTypes.FAILURE_GET_MOTIVOS_BAJA_PLAN]: responseToReturn('getMotivosPlan'),\r\n        [actionTypes.FAILURE_GET_PLAN]: responseToReturn('getPlanDisponible'),\r\n        [actionTypes.FAILURE_POST_CHANGE_PLAN]: responseToReturn('postChangePlan'),\r\n        [actionTypes.FAILURE_PERMISSION_LOW]: responseToReturn('permissionLow'),\r\n        [actionTypes.CLEAN_POST_PROCEDURE_SELECTOR]: cleanPostProcedureSelector(),\r\n    };\r\n    function responseToReturn(type) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [type]: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function cleanPostProcedureSelector() {\r\n        return { ...state, postRequest: [] };\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    preventionControl: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function preventionReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_POST_PREVENTIONS]: responseToReturn('preventionControl'),\r\n        [actionTypes.FAILURE_POST_PREVENTIONS]: responseToReturn('preventionControl'),\r\n    };\r\n    function responseToReturn(type) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [type]: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js';\r\n\r\nconst initialValues = {\r\n    deleteStatus: [],\r\n    updateTag:[],\r\n    msgError: ''\r\n    \r\n};\r\n\r\n\r\nexport default function registerUsersReducer(state = initialValues, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_DELETE_PERSON_PLAYER]: responseToReturn('delete', state, action),\r\n        [actionTypes.SUCCESS_UPDATE_TAG]: responseToReturn('updateTag', state, action),\r\n        [actionTypes.FAILURE_DELETE_PERSON_PLAYER]: responseToReturn('delete', state, action),\r\n        [actionTypes.FAILURE_UPDATE_TAG]: responseToReturn('updateTag', state, action),\r\n\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    wayToPay: [],\r\n    enabledDirectDebit: [],\r\n    getDirectDebit: [],\r\n    abDirectDebit: [],\r\n    bills: [],\r\n    billingFiles: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function billingReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SET_AB_DIRECTDEBIT]: cleanVariable('abDirectDebit'),\r\n        [actionTypes.SUCCESS_GET_WAYTOPAY]: responseToReturn('wayToPay'),\r\n        [actionTypes.SUCCESS_GET_ENABLED_DIRECTDEBIT]: responseToReturn('enabledDirectDebit'),\r\n        [actionTypes.SUCCESS_GET_DIRECTDEBIT]: responseToReturn('getDirectDebit'),\r\n        [actionTypes.SUCCESS_AB_DIRECTDEBIT]: responseToReturn('abDirectDebit'),\r\n        [actionTypes.SUCCESS_GET_BILLINGS]: responseToReturn('bills'),\r\n        [actionTypes.SUCCESS_GET_BILLINGS_FILES]: responseToReturn('billingFiles'),\r\n        [actionTypes.FAILURE_GET_WAYTOPAY]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_ENABLED_DIRECTDEBIT]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_DIRECTDEBIT]: responseToReturn(),\r\n        [actionTypes.FAILURE_AB_DIRECTDEBIT]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_BILLINGS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_BILLINGS_FILES]: responseToReturn()\r\n    };\r\n    function responseToReturn(typeState) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [typeState]: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function cleanVariable(typeState) {\r\n        let res = { ...state };\r\n        if (action.payload === 'clean') {\r\n            res = { ...state, [typeState]: [] };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    authorizationDetails: [],\r\n    comments: [],\r\n    pushComment: [],\r\n    readComments: [],\r\n    authorizationsDetails: [],\r\n    authorizationDetail: [],\r\n    modelRequest: [],\r\n    stepCounter: 0,\r\n    actualStep: -1,\r\n    typeAttached: [],\r\n    params: [],\r\n    attachments: [],\r\n    postAttachments: [],\r\n    cancelAuthorization: [],\r\n    postRequest: [],\r\n    historial: [],\r\n    msgError: '',\r\n    downloadAttachments: [],\r\n    downloadAuth: [],\r\n    loadingDownloadAttachments: false,\r\n    loading: false,\r\n    loadingDownloadAuthorization: false\r\n};\r\n\r\nexport default function authorizationsReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SET_AUTHORIZATION_DETAILS]: setDataOfStore('authorizationDetails'),\r\n        [actionTypes.GET_AUTHORIZATION_DETAILS]: getDataOfStore(),\r\n        [actionTypes.SET_MODEL_AUTH_REQUEST]: setDataOfStore('modelRequest'),\r\n        [actionTypes.CLEAR_MODEL_REQUEST]: clearModel(),\r\n        [actionTypes.SET_ACTUAL_STEP_AUTH_REQUEST]: setDataOfStore('actualStep'),\r\n        [actionTypes.GET_STEPS_AUTH_REQUEST]: getDataOfStore(),\r\n        [actionTypes.PREV_STEP_AUTH_REQUEST]: setDataOfStore('stepCounter'),\r\n        [actionTypes.NEXT_STEP_AUTH_REQUEST]: setDataOfStore('stepCounter'),\r\n        [actionTypes.CLEAR_HISTORIAL_REQUEST]: clearHistorial(),\r\n        [actionTypes.CLEAR_MODEL_DETAILS_AUTH]: clearDetails(),\r\n        [actionTypes.GET_AUTHORIZATIONS_AFFILIATE]: setLoading(),\r\n        [actionTypes.DOWNLOAD_AUTHORIZATION]: setLoading('loadingDownloadAuthorization'),\r\n        [actionTypes.DOWNLOAD_ATTACHMENTS]: setLoading('loadingDownloadAttachments'),\r\n        [actionTypes.SUCCESS_GET_COMMENTS]: responseToReturn('comments'),\r\n        [actionTypes.SUCCESS_PUSH_COMMENTS]: responseToReturn('pushComment'),\r\n        [actionTypes.SUCCESS_GET_READ_COMMENTS]: responseToReturn('readComments'),\r\n        [actionTypes.SUCCESS_GET_AUTHORIZATIONS_DETAILS]: responseToReturn('authorizationsDetails'),\r\n        [actionTypes.SUCCESS_GET_AUTHORIZATION_DETAIL]: responseToReturn('authorizationDetail'),\r\n        [actionTypes.SUCCESS_GET_AUTHORIZATIONS_TYPEATTACHED]: responseToReturn('typeAttached'),\r\n        [actionTypes.SUCCESS_GET_PARAMS_AUTH_REQUEST]: responseToReturn('params'),\r\n        [actionTypes.SUCCESS_GET_AUTHORIZATIONS_ATTACHED]: responseToReturn('attachments'),\r\n        [actionTypes.SUCCESS_POST_AUTHORIZATIONS_ATTACHED]: responseToReturn('postAttachments'),\r\n        [actionTypes.SUCCESS_POST_AUTHORIZATIONS_REQUEST]: responseToReturn('postRequest'),\r\n        [actionTypes.SUCCESS_GET_AUTHORIZATIONS_AFFILIATE]: responseToReturn('historial'),\r\n        [actionTypes.SUCCESS_DOWNLOAD_ATTACHMENTS]: responseToReturn('downloadAttachments'),\r\n        [actionTypes.SUCCESS_DOWNLOAD_AUTHORIZATION]: responseToReturn('downloadAuth'),\r\n        [actionTypes.SUCCESS_CANCEL_AUTHORIZATION]: responseToReturn('cancelAuthorization'),\r\n        [actionTypes.FAILURE_GET_COMMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_PUSH_COMMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_READ_COMMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_AUTHORIZATIONS_DETAILS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_AUTHORIZATION_DETAIL]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_AUTHORIZATIONS_TYPEATTACHED]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_PARAMS_AUTH_REQUEST]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_AUTHORIZATIONS_ATTACHED]: responseToReturn(),\r\n        [actionTypes.FAILURE_POST_AUTHORIZATIONS_ATTACHED]: responseToReturn(),\r\n        [actionTypes.FAILURE_POST_AUTHORIZATIONS_REQUEST]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_AUTHORIZATIONS_AFFILIATE]: responseToReturn(),\r\n        [actionTypes.FAILURE_DOWNLOAD_ATTACHMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_CANCEL_AUTHORIZATION]: responseToReturn(),\r\n        [actionTypes.FAILURE_DOWNLOAD_AUTHORIZATION]: responseToReturn(),\r\n    };\r\n\r\n    function clearDetails() {\r\n        const res = { ...state,\r\n                        authorizationDetail: [],\r\n                        authorizationDetails: []\r\n                    }\r\n\r\n        return res;\r\n    }\r\n    \r\n    function clearModel() {\r\n        let res = { ...state };\r\n        if (action.payload) {\r\n            res = { ...state, modelRequest: [] };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function setDataOfStore(modelName) {\r\n        let res = { ...state };\r\n        if (action.payload) {\r\n            res = { ...state, [modelName]: action.payload };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function getDataOfStore() {\r\n        return { ...state };\r\n    }\r\n\r\n    function responseToReturn(typeState) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [typeState]: action.response.data.data, msgError: action.message, loading: false, loadingDownloadAttachments: false, loadingDownloadAuthorization : false };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function clearHistorial() {\r\n        let res = { ...state };\r\n        if (action.payload) {\r\n            res = { ...state, historial: [] };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function setLoading(loadingType) {\r\n        if (loadingType){\r\n            return { ...state, [loadingType] : true}\r\n        }else{\r\n            return { ...state, loading: true}\r\n        }\r\n    }\r\n    \r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    refunds: [],\r\n    refundDetails: [],\r\n    accountRefundsAB: [],\r\n    accountRefunds: [],\r\n    parametersRefunds: [],\r\n    modelRequest: [],\r\n    postRefund: [],\r\n    attachments: [],\r\n    comments: [],\r\n    detailsAttachments: [],\r\n    refundTypeAttached: [],\r\n    pushRefundComments: [],\r\n    postAttachments: [],\r\n    cancelRefund: [],\r\n    readRefundComments: [],\r\n    downloadRefund: [],\r\n    refundsFilters: [],\r\n    msgError: '',\r\n    loading: false,\r\n    loadingDownload: false\r\n};\r\n\r\nexport default function refundsReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.GET_PARAMETERS_REFUNDS]: setLoading(),\r\n        [actionTypes.GET_ACCOUNT_REFUNDS]: setLoading(),\r\n        [actionTypes.POST_REFUNDS]: setLoading(),\r\n        [actionTypes.GET_REFUND_DETAILS]: setLoading(),\r\n        [actionTypes.GET_REFUNDS]: setLoading(),\r\n        [actionTypes.DOWNLOAD_REFUND]: setDownloadLoading(),\r\n        [actionTypes.GET_DETAILS_ATTACHMENTS]: setDownloadLoading(),\r\n        [actionTypes.SUCCESS_GET_REFUNDS]: responseToReturn('refunds'),\r\n        [actionTypes.SUCCESS_AB_ACCOUNT_REFUND]: responseToReturn('accountRefundsAB'),\r\n        [actionTypes.SUCCESS_GET_ACCOUNT_REFUNDS]: responseToReturn('accountRefunds'),\r\n        [actionTypes.SUCCESS_GET_PARAMETERS_REFUNDS]: responseToReturn('parametersRefunds'),\r\n        [actionTypes.SUCCESS_POST_REFUNDS]: responseToReturn('postRefund'),\r\n        [actionTypes.FAILURE_GET_REFUNDS]: responseToReturn('refunds'),\r\n        [actionTypes.FAILURE_AB_ACCOUNT_REFUND]: responseToReturn('accountRefundsAB'),\r\n        [actionTypes.FAILURE_GET_ACCOUNT_REFUNDS]: responseToReturn('accountRefunds'),\r\n        [actionTypes.FAILURE_GET_PARAMETERS_REFUNDS]: responseToReturn('parametersRefunds'),\r\n        [actionTypes.FAILURE_POST_REFUNDS]: responseToReturn('postRefund'),\r\n        [actionTypes.SET_MODEL_REFUNDS]: setDataOfStore('modelRequest'),\r\n        [actionTypes.CLEAR_STATE_REFUNDS]: clearState(),\r\n        [actionTypes.CLEAR_MODEL_REFUNDS]: clearState('modelRequest'),\r\n        [actionTypes.CLEAR_POST_REFUNDS]: clearState('postRefund'),\r\n        [actionTypes.CLEAR_MSG_ERROR]: clearState('msgError'),\r\n        [actionTypes.SET_REFUNDS_FILTERS]: setDataOfStore('refundsFilters'),\r\n        [actionTypes.CLEAR_REFUNDS_FILTERS]: clearState('refundsFilters'),\r\n\r\n        [actionTypes.SUCCESS_GET_REFUND_DETAILS]: responseToReturn('refundDetails'),\r\n        [actionTypes.SUCCESS_GET_REFUND_ATTACHMENTS]: responseToReturn('attachments'),\r\n        [actionTypes.SUCCESS_GET_REFUND_COMMENTS]: responseToReturn('comments'),\r\n        [actionTypes.SUCCESS_GET_DETAILS_ATTACHMENTS]: responseToReturn('detailsAttachments'),\r\n        [actionTypes.SUCCESS_GET_REFUND_TYPE_ATTACHED]: responseToReturn('refundTypeAttached'),\r\n        [actionTypes.SUCCESS_PUSH_REFUND_COMMENTS]: responseToReturn('pushRefundComments'),\r\n        [actionTypes.SUCCESS_POST_REFUND_ATTACHED]: responseToReturn('postAttachments'),\r\n        [actionTypes.SUCCESS_CANCEL_REFUND]: responseToReturn('cancelRefund'),\r\n        [actionTypes.SUCCESS_POST_READ_REFUNDS_COMMENTS]: responseToReturn('readRefundComments'),\r\n        [actionTypes.SUCCESS_DOWNLOAD_REFUND]: responseToReturn('downloadRefund'),\r\n\r\n        [actionTypes.FAILURE_GET_REFUND_DETAILS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_REFUND_ATTACHMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_REFUND_COMMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_DETAILS_ATTACHMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_REFUND_TYPE_ATTACHED]: responseToReturn(),\r\n        [actionTypes.FAILURE_PUSH_REFUND_COMMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_POST_REFUND_ATTACHED]: responseToReturn(),\r\n        [actionTypes.FAILURE_CANCEL_REFUND]: responseToReturn(),\r\n        [actionTypes.FAILURE_POST_READ_REFUNDS_COMMENTS]: responseToReturn(),\r\n        [actionTypes.FAILURE_DOWNLOAD_REFUND]: responseToReturn(),\r\n    };\r\n\r\n    function responseToReturn(type) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [type]: action.response.data.data, loading: false, loadingDownload: false };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message, loading: false };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function setLoading() {\r\n        return {...state, loading: true};\r\n    }\r\n\r\n    function setDownloadLoading() {\r\n        return {...state, loadingDownload: true};\r\n    }\r\n\r\n    function setDataOfStore(modelName) {\r\n        let res = { ...state };\r\n        if (action.payload) {\r\n            res = { ...state, [modelName]: action.payload };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function clearState(type) {\r\n        if(type){\r\n            return { ...state, [type]: initialState[type]};\r\n        }else{\r\n            return {...initialState}\r\n        }\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    counterSurvey: [],\r\n    sendSurvey: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function surveyReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_COUNTER_SURVEY]: responseToReturn('counterSurvey'),\r\n        [actionTypes.SUCCESS_SEND_SURVEY]: responseToReturn('sendSurvey'),\r\n        [actionTypes.FAILURE_GET_COUNTER_SURVEY]: responseToReturn('counterSurvey'),\r\n        [actionTypes.FAILURE_SEND_SURVEY]: responseToReturn('sendSurvey'),\r\n        [actionTypes.CLEAR_COUNTER_SURVEY]: clearResponse('counterSurvey'),\r\n    };\r\n    function responseToReturn(name) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [name]: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function clearResponse(name) {\r\n        return { ...state, [name]: [] };\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    news: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function newsReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_ALL_NEWS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_ALL_NEWS]: responseToReturn()\r\n    };\r\n    function responseToReturn() {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, news: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    sedes: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function sedesReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_ALL_HEADQUATERS]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_ALL_HEADQUATERS]: responseToReturn()\r\n    };\r\n    function responseToReturn() {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, sedes: action.response.data.sedes, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js';\r\n\r\nconst initialState = {\r\n    allConfigurations: [],\r\n    configurationById: [],\r\n    configLowService:[],\r\n    configReclamo: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function configurationReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_CONFIGURATIONS]: responseToReturn('allConfigurations', state, action),\r\n        [actionTypes.SUCCESS_GET_CONFIGURATION_BY_ID]: responseToReturn('configurationById', state, action),\r\n        [actionTypes.SUCCESS_GET_CONFIGURATION_LOW_SERVICE_BY_ID]: responseToReturn('configLowService', state, action),\r\n        [actionTypes.SUCCESS_GET_CONFIGURATION_RECLAMO_BY_ID]: responseToReturn('configReclamo', state, action),\r\n        [actionTypes.FAILURE_GET_CONFIGURATIONS]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_GET_CONFIGURATION_BY_ID]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_GET_CONFIGURATION_LOW_SERVICE_BY_ID]: responseToReturn('', state, action),\r\n        [actionTypes.FAILURE_GET_CONFIGURATION_RECLAMO_BY_ID]: responseToReturn('', state, action),\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js';\r\n\r\nconst initialState = {\r\n    cards: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function cardReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_CARDS]: responseToReturn('cards', state, action),\r\n        [actionTypes.FAILURE_GET_CARDS]: responseToReturn('', state, action)\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js';\r\n\r\nconst initialState = {\r\n    planPdf: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function planPdfReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_PLANPDF_BY_PLANCODE]: responseToReturn('planPdf', state, action),\r\n        [actionTypes.FAILURE_GET_PLANPDF_BY_PLANCODE]: responseToReturn('planPdf', state, action),\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialValues = {\r\n    practices: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function practicasReducer(state = initialValues, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_PRACTICAS]: responseToReturn('practices'),\r\n        [actionTypes.FAILURE_GET_PRACTICAS]: responseToReturn('practices'),\r\n    };\r\n    function responseToReturn(typeState) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [typeState]: action.response.data.authorization, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialValues = {\r\n    telemedicine: [],\r\n    parameters: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function telemedicineAppointments(state = initialValues, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_TELEMEDICINE]: responseToReturn('telemedicine'),\r\n        [actionTypes.FAILURE_GET_TELEMEDICINE]: responseToReturn('telemedicine'),\r\n        [actionTypes.GET_TELEMEDICINE_PARAMS]: getDataOfStore(),\r\n        [actionTypes.SET_TELEMEDICINE_PARAMS]: setDataOfStore('parameters'),\r\n        [actionTypes.CLEAR_STATE]: clearState(),\r\n    };\r\n    function responseToReturn(typeState) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [typeState]: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    function setDataOfStore(modelName) {\r\n        let res = { ...state };\r\n        if (action.payload) {\r\n            res = { ...state, [modelName]: action.payload };\r\n        }\r\n        return res;\r\n    }\r\n    \r\n    function getDataOfStore() {\r\n        return { ...state };\r\n    }\r\n\r\n    function clearState(type) {\r\n        if(type){\r\n            return { ...state, [type]: initialValues[type]};\r\n        }else{\r\n            return {...initialValues}\r\n        }\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}\r\n","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js';\r\n\r\nconst initialState = {\r\n    capsAndCopayLink: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function capsAndCopayLinksReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_CAPANDCOPAYLINK_BY_PLANCODE]: responseToReturn('capsAndCopayLink', state, action),\r\n        [actionTypes.FAILURE_GET_CAPANDCOPAYLINK_BY_PLANCODE]: responseToReturn('', state, action)\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\nimport {responseToReturn} from '../../utils/utilsFunctions.js'\r\n\r\nconst initialState = {\r\n    programRequirementAndForm: [],\r\n    medicalPrograms: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function programRequirementAndFormReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM]: responseToReturn('programRequirementAndForm', state, action),\r\n        [actionTypes.SUCCESS_GET_MEDICAL_PROGRAMS]: responseToReturn('medicalPrograms', state, action),\r\n        [actionTypes.FAILURE_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM]: responseToReturn('programRequirementAndForm', state, action),\r\n        [actionTypes.FAILURE_GET_MEDICAL_PROGRAMS]: responseToReturn('medicalPrograms', state, action),\r\n    };\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nconst initialValues = {\r\n    allLimitPlanData: [],\r\n    post: {},\r\n    put: {},\r\n    delete: {},\r\n    requestInProgress: false,\r\n    refreshing: false,\r\n    msgError: ''\r\n};\r\n\r\nconst limitPlanReducer = (state = initialValues, action) => {\r\n\r\n    function responseToReturn() {\r\n        let res = { ...state };\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    switch (action.type) {\r\n        case actionTypes.SUCCESS_GET_LIMIT_PLAN:\r\n            if (action.response) {\r\n                return { ...state, allLimitPlanData: action.response.data.limitPlan, refreshing: false,\r\n                    requestInProgress: false, };\r\n            }\r\n            else {\r\n                return { ...state };\r\n            }\r\n\r\n        case actionTypes.SUCCESS_POST_LIMIT_PLAN:\r\n            window.location.reload();\r\n            if (action.response) {\r\n                return { ...state, post: action.response, refreshing: false,\r\n                    requestInProgress: false, };\r\n            }\r\n            else {\r\n                return { ...state };\r\n            }\r\n\r\n        case actionTypes.SUCCESS_PUT_LIMIT_PLAN:\r\n            window.location.reload();\r\n            if (action.response) {\r\n                return { ...state, put: action.response, refreshing: false,\r\n                    requestInProgress: false, };\r\n            }\r\n\r\n            else {\r\n                return { ...state };\r\n            }\r\n\r\n        case actionTypes.SUCCESS_DELETE_LIMIT_PLAN:\r\n            window.location.reload();\r\n            if (action.response) {\r\n                return { ...state, delete: action.response, refreshing: false,\r\n                    requestInProgress: false, };\r\n            }\r\n            else {\r\n                return { ...state };\r\n            }\r\n\r\n        case actionTypes.GET_LIMIT_PLAN:\r\n            return {\r\n                ...state,\r\n                refreshing: true,\r\n                requestInProgress: true,\r\n            }\r\n        case actionTypes.FAILURE_GET_LIMIT_PLAN:\r\n        case actionTypes.FAILURE_POST_LIMIT_PLAN:\r\n        case actionTypes.FAILURE_PUT_LIMIT_PLAN:\r\n        case actionTypes.FAILURE_DELETE_LIMIT_PLAN:\r\n            return responseToReturn();\r\n        default:\r\n            return state;\r\n    }\r\n}\r\nexport default limitPlanReducer;\r\n","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    campaign: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function campaignReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_CAMPAIGN]: responseToReturn(),\r\n        [actionTypes.FAILURE_GET_CAMPAIGN]: responseToReturn()\r\n    };\r\n    function responseToReturn() {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, campaign: action.response.data.campaigns, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import * as actionTypes from '../consts/actionTypes';\r\n\r\nconst initialState = {\r\n    communication: [],\r\n    msgError: ''\r\n};\r\n\r\nexport default function communicatedReducer(state = initialState, action) {\r\n    const DEFAULT = { ...state };\r\n    const ACTIONS = {\r\n        [actionTypes.SUCCESS_GET_COMMUNICATION]: responseToReturn('communication'),\r\n        [actionTypes.FAILURE_GET_COMMUNICATION]: responseToReturn('communication'),\r\n    \r\n\r\n        [actionTypes.GET_COMMUNICATION]: responseToReturn(''),\r\n    };\r\n    function responseToReturn(item) {\r\n        let res = { ...state };\r\n        if (action.response) {\r\n            res = { ...state, [item]: action.response.data, msgError: action.message };\r\n        }\r\n        if (action.message) {\r\n            res = { ...state, msgError: action.message };\r\n        }\r\n        return res;\r\n    }\r\n\r\n    let receiveAction = DEFAULT;\r\n\r\n    if (ACTIONS[action.type] !== undefined) {\r\n        receiveAction = ACTIONS[action.type];\r\n    }\r\n\r\n    return receiveAction;\r\n}","import { combineReducers } from \"redux\";\r\nimport demoReducer from \"./demoReducer\";\r\nimport cartillaReducer from \"./cartillaReducer\";\r\nimport appointmentsReducer from \"./appointmentsReducer\";\r\nimport medicalCenterReducer from \"./medicalCenterReducer\";\r\nimport stepAppointmentReducer from \"./stepAppointmentReducer\";\r\nimport emergencyReducer from \"./emergencyReducer\";\r\nimport notificationReducer from \"./notificationReducer\";\r\nimport phonesReducer from \"./phonesReducer\";\r\nimport personalDataReducer from './personalDataReducer';\r\nimport errorReducer from \"./errorReducer\";\r\nimport medicalDataReducer from \"./medicalDataReducer\";\r\nimport registerUsersReducer from \"./registerUsersReducer\";\r\nimport coverageReducer from \"./coverageReducer\";\r\nimport virtualDoctorReducer from \"./virtualDoctorReducer\";\r\nimport contactUsReducer from \"./contactUsReducer\";\r\nimport credentialReducer from \"./credentialReducer\";\r\nimport activitiesReducer from './activitiesReducer';\r\nimport procedureReducer from './procedureReducer';\r\nimport preventionReducer from \"./preventionReducer\";\r\nimport personPlayerReducer from \"./personPlayerReducer\";\r\nimport billingReducer from \"./billingReducer\";\r\nimport authorizationsReducer from \"./authorizationsReducer\";\r\nimport refundsReducer from \"./refundsReducer\";\r\nimport surveyReducer from \"./surveyReducer\";\r\nimport newsReducer from \"./newsReducer\";\r\nimport sedesReducer from \"./sedesReducer\";\r\nimport configurationReducer from \"./configurationReducer\";\r\nimport cardReducer from \"./cardReducer\";\r\nimport planPdfReducer from \"./planPdfReducer\";\r\nimport practicasReducer from \"./practicasReducer\";\r\nimport telemedicineAppointmentsReducer from \"./telemedicineAppointmentsReducer\";\r\nimport capsAndCopayLinksReducer from \"./capsAndCopayLinksReducer\";\r\nimport programRequirementAndFormReducer from \"./programRequirementAndFormReducer\";\r\nimport limitPlanReducer from './limitPlanReducer';\r\nimport campaignReducer from './campaignReducer';\r\nimport communicatedReducer from \"./communicatedReducer\";\r\n\r\nconst rootReducer = combineReducers({\r\n  demoReducer,\r\n  communicatedReducer: communicatedReducer,\r\n  cartillaReducer: cartillaReducer,\r\n  appointmentsReducer: appointmentsReducer,\r\n  medicalCenterReducer: medicalCenterReducer,\r\n  stepAppointmentReducer: stepAppointmentReducer,\r\n  emergencyReducer: emergencyReducer,\r\n  notificationReducer: notificationReducer,\r\n  phonesReducer: phonesReducer,\r\n  personalDataReducer: personalDataReducer,\r\n  errorReducer: errorReducer,\r\n  registerUsersReducer: registerUsersReducer,\r\n  medicalDataReducer: medicalDataReducer,\r\n  coverageReducer: coverageReducer,\r\n  virtualDoctorReducer: virtualDoctorReducer,\r\n  contactUsReducer: contactUsReducer,\r\n  credentialReducer: credentialReducer,\r\n  activitiesReducer: activitiesReducer,\r\n  procedureReducer: procedureReducer,\r\n  preventionReducer: preventionReducer,\r\n  personPlayerReducer: personPlayerReducer,\r\n  billingReducer: billingReducer,\r\n  authorizationsReducer: authorizationsReducer,\r\n  refundsReducer: refundsReducer,\r\n  surveyReducer: surveyReducer,\r\n  newsReducer: newsReducer,\r\n  sedesReducer: sedesReducer,\r\n  campaignReducer : campaignReducer,\r\n  configurationReducer: configurationReducer,\r\n  cardReducer: cardReducer,\r\n  planPdfReducer: planPdfReducer,\r\n  practicasReducer: practicasReducer,\r\n  telemedicineAppointmentsReducer: telemedicineAppointmentsReducer,\r\n  capsAndCopayLinksReducer: capsAndCopayLinksReducer,\r\n  programRequirementAndFormReducer: programRequirementAndFormReducer,\r\n  limitPlanReducer: limitPlanReducer,\r\n});\r\n\r\nexport default rootReducer;\r\n","import * as types from '../consts/actionTypes';\r\n\r\nexport default function(state = [], action) {\r\n\tswitch (action.type) {\r\n\t\tcase types.GET_DEMO_REQUEST:\r\n\t\t\treturn [...state];\r\n\t\tcase types.GET_DEMO_SUCCESS:\r\n\t\t\tif (action.demoData) {\r\n\t\t\t\treturn [...action, action.demoData];\r\n\t\t\t}\r\n\t\t\treturn [...state, action];\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n","import axios from \"axios\";\r\nconst API = axios.create({ baseURL: window.env.URL_SERVICE });\r\nconst url = window.env.URL_SERVICE;\r\n\r\nAPI.interceptors.request.use(\r\n  (config) => {\r\n\r\n    config.headers = {};\r\n\r\n    const token = localStorage.getItem(\"access_token\");\r\n    if (token) {\r\n      config.headers = {\r\n        Authorization: `Bearer ${token}`,\r\n        Accept: \"application/json\",\r\n        \"Content-Type\": \"application/json\",\r\n      };\r\n    }\r\n\r\n    const numeroPersona = localStorage.getItem(\"numeroPersona\");\r\n    if(numeroPersona){\r\n      config.headers.NumeroPersona = numeroPersona\r\n    }\r\n\r\n    return config;\r\n  },\r\n  (error) => {\r\n    // Any status codes that falls outside the range of 2xx cause this function to trigger\r\n    // Do something with response error\r\n    return Promise.reject(error);\r\n  }\r\n);\r\n\r\nAPI.interceptors.response.use(\r\n  (response) => {\r\n    return response;\r\n  },\r\n  (error) => { \r\n    // Any status codes that falls outside the range of 2xx cause this function to trigger\r\n    // Do something with response error\r\n    return Promise.reject(error.response.data.errors[0]);\r\n  }\r\n);\r\n\r\n\r\nconst cartillaEnvironment = \"/api/FilterCartilla/GetNewFilters\";\r\nconst cartillaLocalidadesBarrios = \"/api/FilterCartilla/GetLocalidadesBarrioDB/\";\r\nconst cartillaEspecialidadesEstudiosComplementarios =\r\n  \"/api/FilterCartilla/GetEspecialidadesEstudiosDB/\";\r\nconst getPrestadoresResultCartilla =\r\n  \"/api/FilterCartilla/GetPrestadoresResult/\";\r\nconst getPerfilPrestador = \"/api/FilterCartilla/GetPerfilPrestador/\";\r\nconst getTurnosAfiliado = \"/api/Turnos/GetTurnosAfiliado/\";\r\nconst getTurnosFavoritos = \"/api/Turnos/GetTurnosFavoritos/\";\r\nconst getDatosRecupera = \"/api/Turnos/GetDatosRecupera/\";\r\nconst cancelarTurno = \"/api/Turnos/CancelarTurno/\";\r\nconst ABTurnoFavorito = \"/api/Turnos/ABTurnoFavorito/\";\r\nconst GetSpecialtiesParameters = \"/api/Turnos/GetSpecialtiesParameters/\";\r\nconst GetDoctorsParameters = \"/api/Turnos/GetDoctorsParameters/\";\r\nconst GetFreeDoctorAppointments = \"/api/Turnos/GetFreeDoctorAppointmentsParameters/\";\r\nconst AnswerQuestion = \"/AnswerQuestion/\";\r\nconst communication = \"/Communication\";\r\nconst UsefulPhone = \"/UsefulPhone/\";\r\nconst PhoneShift = \"/PhoneShift/\";\r\nconst especialidadesPorCentroMedico =\r\n  \"/CentroMedico/EspecialidadesPorCentroMedico\";\r\nconst centrosMedicos = \"/CentroMedico/CentrosMedicos\";\r\nconst turnosLibresPorEspecialidad = '/CentroMedico/TurnosLibresPorEspecialidad';\r\nconst turnosLibresPorMedico = '/CentroMedico/TurnosLibresPorMedico';\r\nconst emergencyNumbers = '/Emergency';\r\nconst confirmarTurno = '/api/Turnos/ConfirmarTurno';\r\nconst personalData = '/Affiliate';\r\nconst PersonalDataContact = '/api/PersonalDataContact/';\r\nconst typesDocuments = '/Affiliate/DocumentsTypes';\r\nconst civilStatus = '/Affiliate/CivilStatus';\r\nconst nationalities = '/Affiliate/Countries';\r\nconst getDataWeight = '/Affiliate/GetPesoTalla';\r\nconst ABWeight = '/Affiliate/PesoTallaABM';\r\nconst getVitalParam = '/Affiliate/GetParametrosVitales';\r\nconst ABvitalParam = '/Affiliate/ParametrosVitalesABM';\r\nconst getEnrollments = '/Affiliate/GetEnrolamientos';\r\nconst getAllergiesParams = '/Affiliate/ParametroAlergias';\r\nconst getAllergiesAf = '/Affiliate/GetAlergias';\r\nconst ABMAllergies = '/Affiliate/AlergiasABM';\r\nconst getPhonesMD = '/Affiliate/GetTelefonosContactoEmergencia';\r\nconst abmPhones = '/Affiliate/TelefonosContactoEmergenciaABM';\r\nconst lab = '/Affiliate/GetResultadoLaboratorioCabecera';\r\nconst labDetail = '/Affiliate/GetResultadoLaboratorioDetalle';\r\nconst abmFactorGroup = '/Affiliate/GrupoFactorABM';\r\nconst factorGroup = '/Affiliate/GetGrupoFactor';\r\nconst parameterFactorGroup = '/Affiliate/ParametroGrupoFactor';\r\nconst abmChronicDiseases = '/Affiliate/EnfermedadesCronicasABM';\r\nconst chronicDiseases = '/Affiliate/GetEnfermedadesCronicas';\r\nconst parameterDiseases = '/Affiliate/ParametroEnfermedades';\r\nconst abmChronicMedication = '/Affiliate/MedicamentosCronicosABM';\r\nconst chronicMedication = '/Affiliate/GetMedicamentosCronicos';\r\nconst vaccine = '/Affiliate/GetVacunas';\r\nconst getDataUser = '/Affiliate/GetPersonRegister';\r\nconst addDataUser = '/Affiliate/AddPersonRegister';\r\nconst deleteDataUser = '/Affiliate/DeletePersonRegister';\r\nconst modifyDataUser = '/Affiliate/ModifyPersonRegister';\r\nconst getTypeRefundCoverageEndpoint = '/Affiliate/ParametroTipoCoberturaReintegro';\r\nconst getAreaRefundCoverageEndpoint = '/Affiliate/ParametroRubroCoberturaReintegro';\r\nconst refundCoverageEndpoint = '/Affiliate/CoberturaReintegro';\r\nconst callDoctorEndpoint = '/Affiliate/LlamandoAlDoctor';\r\nconst contactUs = '/Affiliate/Contactenos';\r\nconst Notification = '/Notification';\r\nconst byUser = '/Notification/GetAllByUser';\r\nconst activity = \"/Activity\";\r\nconst registerUser = '/Affiliate/ValidationRegisterUser';\r\nconst validationEndpoint = '/Affiliate/ValidationLogin';\r\nconst validationMedicoEndpoint = '/Affiliate/ValidationLoginMedico';\r\n\r\nconst allCoveragePlans = '/CoveragePlan';\r\nconst credentialConfig = '/Credential';\r\nconst getProcedure = '/api/Tramites';\r\nconst postProcedureEndPoint = '/api/Tramites/AfiliadoMisTramites';\r\nconst getMotivosB = '/api/Tramites/SolicitudBajaMotivo';\r\nconst getSolicitudB = '/api/Tramites/SolicitudBaja';\r\nconst getFileUrl = '/Blob/';\r\nconst postRequestUrl = '/api/Tramites/AfiliadoSolicitudBaja';\r\nconst getChangePlanUrl = '/api/Tramites/CambioPlan';\r\nconst getMotivePlanUrl = '/api/Tramites/CambioPlanMotivo';\r\nconst getPlansUrl = '/Plan';\r\nconst postChangePlansUrl = '/api/Tramites/AfiliadoCambioPlan';\r\nconst getPermisionLowUrl = '/api/Tramites/CambioPlanHabilitado';\r\nconst postPreventionEndPoint = '/Affiliate/ControlPreventivo';\r\nconst personPlayerUrl = '/PersonPlayer/';\r\nconst allCoveragePlansEndpoint = '/CoveragePlan/GetAllPlansSecured';\r\nconst allActivitiesEndpoint = '/Activity/GetAllActivitiesSecured';\r\nconst wayToPay = '/Billing/GetWayToPay';\r\nconst readCommentsEndPoint = '/Authorizations/ComentariosLeidos';\r\nconst authorizationDetailsEndPoint = '/Authorizations/AuthorizationDetails';\r\nconst commentsEndPoint = '/Authorizations/Comentarios';\r\nconst pushCommentEndPoint = '/Authorizations/PublicarComentario';\r\nconst allAuthorizationsEndPoint = '/Authorizations/AutorizacionesRecupera';\r\nconst typeAttached = '/Authorizations/GetTipoAdjunto';\r\nconst attachedUrl = '/Authorizations/GetAdjuntos';\r\nconst postAttachedUrl = '/Authorizations/SubirAdjuntos';\r\nconst postSendRequestUrl = '/Authorizations/EnviarSolicitud';\r\nconst wayToPayUrl = '/api/Facturacion/MedioDePago';\r\nconst enabledDirectDebit = '/api/Facturacion/DebitoAutomaticoHabilitado';\r\nconst getDirectDebitURL = '/api/Facturacion/DebitoAutomaticoRecupera';\r\nconst directDebitAB = '/api/Facturacion/DebitoAutomaticoAB';\r\nconst Urltag = '/Bus/UpdateTagUserDevice';\r\nconst billingEndPoint = '/api/Facturacion/Factura';\r\nconst billingFilesEndPoint = '/api/Facturacion/ArchivoFactura';\r\nconst getParametersAuthorizationEndPoint = '/Authorizations/GetParametersAuthorization';\r\nconst surveyEndPoint = '/api/Poll/AddCounterEntries';\r\nconst sendSurveyEndPoint = '/api/Poll/VotePoll';\r\nconst newsEndPoint = '/Notify';\r\nconst authorizationsAffiliateEndPoint = '/Authorizations/GetAuthorizationsAffiliate';\r\nconst sedesEndPoint = '/Sede';\r\nconst getConfigurationsEndpoint = '/Configuration';\r\nconst getCardsEndpoint = '/Card';\r\nconst hobbiesEndPoint = '/Affiliate/HobbiesDeportes';\r\nconst getPharmaceuticalFormEndpoint = '/Affiliate/ParametroFormaFarmaceutica';\r\nconst getPlanPdfEndpoint = '/PlanPdf';\r\nconst capAndCopayLinksEndpoint = '/CapsAndCopayLinks';\r\nconst AuthorizationEndPoint = '/Authorization';\r\nconst turnosTelemedicina = '/Affiliate/TelemedicinaTurnoRecepcion';\r\nconst programRequirementAndFormEndpoint = '/ProgramRequirementsAndForms';\r\nconst LimitPlanEndPoint = \"/LimitPlansMobile\";\r\nconst downloadAuthorizationAttachments = '/Authorizations/DescargarAdjunto';\r\n\r\n// Reintegros\r\nconst ABAccountRefundsEndPoint = '/Reintegros/CuentaReintegroAB';\r\nconst getAccountRefundsEndPoint = '/Reintegros/GetCuentasReintegro';\r\nconst parametersRefundsEndPoint = '/Reintegros/GetParametrosReintegro';\r\nconst postRefundsEndPoint = '/Reintegros/AddReintegro';\r\nconst getRefundsEndPoint = '/Reintegros/GetReintegro';\r\nconst getRefundDetailsEndPoint = \"/Reintegros/GetDetallesReintegro\";\r\nconst getRefundsAttachmentsEndPoint = \"/Reintegros/GetAdjuntosReintegro\";\r\nconst getRefundsCommentsEndPoint = \"/Reintegros/GetComentariosReintegro\";\r\nconst getDetailsAttachmentsEndPoint = \"/Reintegros/DescargarAdjuntoReintegro\";\r\nconst getRefundTypeAttachedEndPoint = \"/Reintegros/GetTipoAdjuntoReintegros\";\r\nconst AddAdjuntosReintegro = '/Reintegros/AddAdjuntosReintegro';\r\nconst cancelRefundEndPoint = '/Reintegros/AnularReintegro';\r\nconst AddComentarioReintegroEndPoint = '/Reintegros/AddComentarioReintegro';\r\nconst postReadRefundCommentEndPoint = '/Reintegros/ComentarioLeidoReintegro';\r\nconst downloadRefundsEndPoint = \"/Reintegros/GetReintegroDescarga\";\r\n\r\n// Autorizaciones\r\nconst downloadAuthorizationsEndpoint = \"/Authorizations/DescargaAutorizacion\";\r\nconst cancelAuthorizationEndPoint = '/Authorizations/AnularAutorizacion';\r\n\r\n// Campañas\r\nconst campaignEndpoint = \"/Campaign\";\r\n\r\n// REcetas\r\nconst getRecipeEndPoint = \"/Affiliate/GetReceta\";\r\nconst recipeFilesEndPoint = \"/Affiliate/ArchivoReceta\";\r\n\r\nconst validateTypeOfUser = '/Affiliate/UserTypeValidation';\r\n\r\n//AgendaMedica\r\nconst TurnosSelecionadosAgendaMedica = '/CentroMedico/TurnosSelecionadosAgendaMedica';\r\n\r\n\r\n\r\n\r\n/* MEDICAL RECORDS */\r\nexport const fetchFilterCartilla = () => API.get(cartillaEnvironment);\r\n\r\nexport const getFilterCartilla = (param) => {\r\n  return API\r\n    .post(`${url}${cartillaEnvironment}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getLocalidadesBarrio = (codigo) => {\r\n  return API\r\n    .get(`${url}${cartillaLocalidadesBarrios}${codigo}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getEspecialidadesEstudiosComplementarios = (codigo) => {\r\n  return API\r\n    .get(`${url}${cartillaEspecialidadesEstudiosComplementarios}${codigo}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getPrestadoresResult = (filters) => {\r\n  return API\r\n    .post(`${url}${getPrestadoresResultCartilla}`, filters)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getCompleteProfile = (providerCode) => {\r\n  return API\r\n    .post(`${url}${getPerfilPrestador}`, providerCode)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/*********************************************************************************/\r\n\r\n/* AFILLIATED APPOINTMENTS */\r\n\r\nexport const getAfilliatedAppointments = (afilliatedAppointments) => {\r\n  return API\r\n    .post(`${url}${getTurnosAfiliado}`, afilliatedAppointments)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAfilliatedAppointmentsRecord = (afilliatedAppointments) => {\r\n\r\n  return API\r\n    .post(`${url}${getTurnosAfiliado}`, afilliatedAppointments)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAfilliatedAppointmentsNextAPI = async (afilliatedAppointments) => {\r\n\r\n  return API\r\n    .post(`${url}${getTurnosAfiliado}`, afilliatedAppointments)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\n\r\nexport const getAppointmentFavorite = (param) => {\r\n  return API\r\n    .post(`${url}${getTurnosFavoritos}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getDataGroupFamily = (param) => {\r\n  return API\r\n    .post(`${url}${getDatosRecupera}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport const getDataFilterAppointment = (param) => {\r\n  return API\r\n    .post(`${url}${getDatosRecupera}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const AppointmentCanceled = (param) => {\r\n  return API\r\n    .post(`${url}${cancelarTurno}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const ABAppointmentFavorite = (param) => {\r\n  return API\r\n    .post(`${url}${ABTurnoFavorito}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const GetSpecialtiesList = (param) => {\r\n  return API\r\n    .post(`${url}${GetSpecialtiesParameters}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const GetDoctorsList = (param) => {\r\n  return API\r\n    .post(`${url}${GetDoctorsParameters}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const GetFreeDoctorAppointmentsList = (param) => {\r\n  return API\r\n    .post(`${url}${GetFreeDoctorAppointments}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAnswerQuestion = () => {\r\n  return API\r\n    .get(`${url}${AnswerQuestion}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n//\r\nexport const getCommunication =  () => {\r\n  return API\r\n    .get(`${url}${communication}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\n\r\n\r\n\r\nexport const getPhonesUtils = () => {\r\n  return API\r\n    .get(`${url}${UsefulPhone}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const GetShiftPhone = () => {\r\n  return API\r\n    .get(`${url}${PhoneShift}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\nexport const getSpecialties = (param) => {\r\n  return API\r\n    .post(`${url}${especialidadesPorCentroMedico}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getMedicalCenters = (param) => {\r\n  return API\r\n    .post(`${url}${centrosMedicos}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getNextAvailableAppointments = (params) => {\r\n  return API.post(`${url}${turnosLibresPorEspecialidad}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getNextAvailableAppointmentsDoctor = (params) => {\r\n  return API.post(`${url}${turnosLibresPorMedico}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const AppointmentConfirm = (param) => {\r\n  return API\r\n    .post(`${url}${confirmarTurno}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport const getMedicalAgenda = (params) => {\r\n  return API.post(`${url}${TurnosSelecionadosAgendaMedica}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n/*********************************************************************************/\r\n\r\n/***************************** EMERGENCY NUMBERS **********************************/\r\nexport const getEmergencyNumbers = () => {\r\n  return API.get(`${url}${emergencyNumbers}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/*********************************************************************************/\r\n\r\n/***************************** PERSONAL DATA *********************************/\r\nexport const getTypeOfContact = (affiliated) => {\r\n  return API.post(`${url}${personalData}/ContactsTypes`, affiliated)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postAddressAffiliated = (addressModel) => {\r\n  return API.post(`${url}${personalData}`, addressModel)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getContactDataAffiliated = (params) => {\r\n  return API\r\n    .get(`${url}${PersonalDataContact}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getTypesDocuments = (params) => {\r\n  return API\r\n    .post(`${url}${typesDocuments}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getCivilStatus = () => {\r\n  return API\r\n    .get(`${url}${civilStatus}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getNationalities = () => {\r\n  return API\r\n    .get(`${url}${nationalities}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getCompleteData = (affiliated) => {\r\n  return API.post(`${url}${personalData}/CompletedDates`, affiliated)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const abmFullData = (affiliated) => {\r\n  return API.post(`${url}${personalData}/ABM`, affiliated)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getCredentials = (params) => {\r\n  return API.post(`${url}${personalData}/Credentials`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getHobbies = async (params) => {\r\n  return API.post(`${url}${hobbiesEndPoint}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getDeportes = async (params) => {\r\n  return API.post(`${url}${hobbiesEndPoint}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/**WEIGHT AND HEIGHT */\r\nexport const getDataWheightHeight = (params) => {\r\n  return API.post(`${url}${getDataWeight}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const ABWheightHeight = (params) => {\r\n  return API.post(`${url}${ABWeight}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/**VITAL PARAMETERS */\r\nexport const getVitalParameters = (params) => {\r\n  return API.post(`${url}${getVitalParam}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const ABvitalParameters = (params) => {\r\n  return API.post(`${url}${ABvitalParam}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAffiliateEnrollments = (params) => {\r\n  return API.post(`${url}${getEnrollments}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAllergies = async () => {\r\n  return API.get(`${url}${getAllergiesParams}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAffiliatedAllergies = async (affiliated) => {\r\n  return API.post(`${url}${getAllergiesAf}`, affiliated)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const allergiesABM = async (item) => {\r\n  return API.post(`${url}${ABMAllergies}`, item)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getMDPhones = async (item) => {\r\n  return API.post(`${url}${getPhonesMD}`, item)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const ABMMDPhones = async (item) => {\r\n  return API.post(`${url}${abmPhones}`, item)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const ABMFactorGroup = (item) => {\r\n  return API.post(`${url}${abmFactorGroup}`, item)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getFactorGroup = (params) => {\r\n  return API.post(`${url}${factorGroup}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getParameterFactorGroup = () => {\r\n  return API.get(`${url}${parameterFactorGroup}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const ABMChronicDiseases = (item) => {\r\n  return API.post(`${url}${abmChronicDiseases}`, item)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getChronicDiseases = (params) => {\r\n  return API.post(`${url}${chronicDiseases}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getParameterDiseases = (params) => {\r\n  return API.get(`${url}${parameterDiseases}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const ABMChronicMedication = (item) => {\r\n  return API.post(`${url}${abmChronicMedication}`, item)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getChronicMedication = (params) => {\r\n  return API.post(`${url}${chronicMedication}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getVaccine = (params) => {\r\n  return API.post(`${url}${vaccine}`, params)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getLaboratoryStudies = (param) => {\r\n  return API.post(`${url}${lab}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getDetailLaboratoryStudies = (param) => {\r\n  return API.post(`${url}${labDetail}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport const getDataRegisterUser = (param) => {\r\n  return API.post(`${url}${getDataUser}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/**Coverage */\r\n\r\nexport const getTypeRefundCoverage = async () => {\r\n  return API.get(`${url}${getTypeRefundCoverageEndpoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const addDataRegisterUser = (param) => {\r\n  return API.post(`${url}${addDataUser}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport const getAreaRefundCoverage = (param) => {\r\n  return API.get(`${url}${getAreaRefundCoverageEndpoint}?tipoCodigo=${param}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const deleteDataRegisterUser = (param) => {\r\n  return API.post(`${url}${deleteDataUser}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport const registerAffiliate = (param) => {\r\n  return API.post(`${url}${registerUser}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const validateTypeOfProfile = (param) => {\r\n  return API.post(`${url}${validateTypeOfUser}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const validationRegisterUser = (param) => {\r\n  return API.post(`${url}${validationEndpoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport const validationMedicoRegisterUser = (param) => {\r\n  return API.post(`${url}${validationMedicoEndpoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const modifyDataRegisterUser = (param) => {\r\n  return API.put(`${url}${modifyDataUser}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postRefundCoverageResult = async (body) => {\r\n  return API.post(`${url}${refundCoverageEndpoint}`, body)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postContactUs = async (param) => {\r\n  return API.post(`${url}${contactUs}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postCallDoctor = async (body) => {\r\n  return API.post(`${url}${callDoctorEndpoint}`, body)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getNotification = (id) => {\r\n  return API\r\n    .get(`${url}${Notification}/${id}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport const getAllNotifications = (param) => {\r\n  if(window.localStorage.getItem('access_token')){\r\n    return API\r\n      .get(`${url}${byUser}/${param.email}`)\r\n      .then((response) => {\r\n        return response;\r\n      })\r\n      .catch((error) => {\r\n        throw error;\r\n      });\r\n  }\r\n  return null;\r\n};\r\n\r\nexport const modifyNotification = (param) => {\r\n\r\n  return API\r\n    .put(`${url}${Notification}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getActivities = () => {\r\n  return API\r\n    .get(`${url}${activity}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getActivitiesWithSecurity = () => {\r\n  return API.get(`${url}${allActivitiesEndpoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAllCoveragePlans = () => {\r\n  return API.get(`${url}${allCoveragePlans}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAllCoveragePlansWithSecurity = (params) => {\r\n  // headerConfig.headers.NumeroPersona = params.numeroPersona;\r\n  return API.get(`${url}${allCoveragePlansEndpoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAllCredentials = (numeroPersona) => {\r\n  // headerConfig.headers.NumeroPersona = numeroPersona;\r\n  return API.get(`${url}${credentialConfig}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/* PROCEDURES */\r\nexport const getProcedures = (id) => {\r\n  return API\r\n    .get(`${url}${getProcedure}?sector=${id}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postProcedure = async (param) => {\r\n  return API.post(`${url}${postProcedureEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getDataAffiliatesBaja = (param) => {\r\n  return API.post(`${url}${getDatosRecupera}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getMotivosBaja = () => {\r\n  return API.get(`${url}${getMotivosB}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getSolicitudBaja = () => {\r\n  return API.get(`${url}${getSolicitudB}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getFile = (param) => {\r\n  return API.get(`${url}${getFileUrl}${param}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postRequestLow = (param) => {\r\n  return API.post(`${url}${postRequestUrl}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/**change plan */\r\nexport const getChangePlan = () => {\r\n  return API.get(`${url}${getChangePlanUrl}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getMotiveLowPlan = () => {\r\n  return API.get(`${url}${getMotivePlanUrl}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getPlans = (param) => {\r\n  return API.post(`${url}${getPlansUrl}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postChangePlan = (param) => {\r\n  return API.post(`${url}${postChangePlansUrl}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\nexport const getPermisionLow = (param) => {\r\n  return API.post(`${url}${getPermisionLowUrl}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\n/**Prevention control */\r\nexport const postPrevention = async (param) => {\r\n  return API.post(`${url}${postPreventionEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/**Prevention control */\r\nexport const deletePersonPlayer = async (param) => {\r\n  return API.delete(`${url}${personPlayerUrl}${param.email}/${param.playerId}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/**Way To Pay control */\r\nexport const getWayToPay = (param) => {\r\n  return API.post(`${url}${wayToPayUrl}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\n/* Direct Debit */\r\nexport const getEnabledDirectDebit = (param) => {\r\n  return API.post(`${url}${enabledDirectDebit}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getDirectDebit = async (param) => {\r\n  return API.post(`${url}${getDirectDebitURL}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const abDirectDebit = (param) => {\r\n  return API\r\n    .post(`${url}${directDebitAB}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const UpdateTag = (param) => {\r\n  return API.post(`${url}${Urltag}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\n/**Authorizations**/\r\n\r\nexport const readComments = async (param) => {\r\n  return API.post(`${url}${readCommentsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getDetails = async (param) => {\r\n  return API.post(`${url}${authorizationDetailsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getComments = async (param) => {\r\n  return API.post(`${url}${commentsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const pushComments = async (param) => {\r\n  return API.post(`${url}${pushCommentEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAllAuthorizations = async (param) => {\r\n  return API.post(`${url}${allAuthorizationsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAllBillsAffiliate = async (param) => {\r\n  return API.post(`${url}${billingEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getBillingFiles = async (param) => {\r\n  return API.post(`${url}${billingFilesEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getTypeAttached = async (param) => {\r\n  return API.get(`${url}${typeAttached}/${param}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getParametersAuthorizationRequest = async () => {\r\n  return API.get(`${url}${getParametersAuthorizationEndPoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAttached = async (param) => {\r\n  return API.post(`${url}${attachedUrl}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const downloadAttachments = async (param) => {\r\n  return API.get(`${url}${downloadAuthorizationAttachments}/${param.numeroPersona}/${param.autorizacionAdjuntoCodigo}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postAttached = async (param) => {\r\n  return API.post(`${url}${postAttachedUrl}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postRequest = async (param) => {\r\n  return API.post(`${url}${postSendRequestUrl}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const cancelAuthorization = async (param) => {\r\n  return API.get(`${url}${cancelAuthorizationEndPoint}/${param.numeroPersona}/${param.gestionCodigo}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/*Recetas  */\r\nexport const getRecipe = async (param) => {\r\n  return API.post(`${url}${getRecipeEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getRecipeFiles = async (param) => {\r\n  return API.post(`${url}${recipeFilesEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\n\r\n\r\n/*Reintegros*/\r\nexport const getRefunds = async (param) => {\r\n  return API.post(`${url}${getRefundsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const ABAccountRefund = async (param) => {\r\n  return API.post(`${url}${ABAccountRefundsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAccountRefunds = async (param) => {\r\n  return API.get(`${url}${getAccountRefundsEndPoint}/${param}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getParametersRefunds = async () => {\r\n  return API.get(`${url}${parametersRefundsEndPoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postRefunds = async (param) => {\r\n  return API.post(`${url}${postRefundsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getRefundDetails = async (param) => {\r\n  return API.post(`${url}${getRefundDetailsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getRefundAttachments = async (param) => {\r\n  return API.post(`${url}${getRefundsAttachmentsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getRefundComments = async (param) => {\r\n  return API.post(`${url}${getRefundsCommentsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getDetailsAttachments = async (param) => {\r\n  return API.get(`${url}${getDetailsAttachmentsEndPoint}/${param.numeroPersona}/${param.reintegroAdjuntoCodigo}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getRefundTypeAttached = async (param) => {\r\n  return API.get(`${url}${getRefundTypeAttachedEndPoint}/${param}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postRefundAttached = async (param) => {\r\n  return API.post(`${url}${AddAdjuntosReintegro}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const cancelRefund = async (param) => {\r\n  return API.get(`${url}${cancelRefundEndPoint}/${param.numeroPersona}/${param.gestionCodigo}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postRefundAComment = async (param) => {\r\n  return API.post(`${url}${AddComentarioReintegroEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const postReadRefundComments = async (param) => {\r\n  return API.post(`${url}${postReadRefundCommentEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const downloadRefunds = async (param) => {\r\n  return API.post(`${url}${downloadRefundsEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const downloadAuthorizations = async (param) => {\r\n  return API.post(`${url}${downloadAuthorizationsEndpoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/*Encuesta*/\r\nexport const getCounterSurvey = async (param) => {\r\n  if(window.localStorage.getItem('access_token')){\r\n    return API.post(`${url}${surveyEndPoint}`, param)\r\n      .then(response => {\r\n        return response;\r\n      })\r\n      .catch(error => {\r\n        throw error;\r\n      });\r\n  }\r\n  return null;\r\n\r\n};\r\n\r\nexport const sendSurvey = async (param) => {\r\n  return API.post(`${url}${sendSurveyEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/* Noticias */\r\nexport const getNews = async () => {\r\n  return API.get(`${url}${newsEndPoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getAuthorizationsAffiliate = async (param) => {\r\n  return API.post(`${url}${authorizationsAffiliateEndPoint}`, param)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/* Sedes */\r\nexport const getHeadquaters = async () => {\r\n  return API.get(`${url}${sedesEndPoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\n/**Configurations */\r\n\r\nexport const getConfigurations = async () => {\r\n  return API.get(`${url}${getConfigurationsEndpoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getConfigById = async (id) => {\r\n  return API.get(`${url}${getConfigurationsEndpoint}/${id}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/** Cards */\r\n\r\nexport const getCardsAPI = async () => {\r\n  return API.get(`${url}${getCardsEndpoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/** PharmaceuticalForm **/\r\n\r\nexport const getPharmaceuticalForm = async () => {\r\n  return API.get(`${url}${getPharmaceuticalFormEndpoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n}\r\n\r\n/** PlanPdf **/\r\n\r\nexport const getPlanPdfByPlanCode = async (planCode) => {\r\n  return API.get(`${url}${getPlanPdfEndpoint}/Plans/${planCode}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/** Practicas **/\r\nexport const getPracticas = async () => {\r\n  return API.get(`${url}${AuthorizationEndPoint}/Practices`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getTelemedicineAppointments = (affiliated) => {\r\n  return API.post(`${url}${turnosTelemedicina}`, affiliated)\r\n  .then(response => {\r\n    return response;\r\n  })\r\n  .catch(error => {\r\n    throw error;\r\n  });\r\n};\r\n\r\n/** Cap and Copay Links **/\r\nexport const getCapAndCopayLinkByPlanCode = async (planCode) => {\r\n  return API.get(`${url}${capAndCopayLinksEndpoint}/Plans/${planCode}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/** Program Requirement And Form **/\r\n\r\nexport const getProgramRequirementAndFormByProgram = async (program) => {\r\n  return API.get(`${url}${programRequirementAndFormEndpoint}/Programs/${program}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const getMedicalPrograms = async() => {\r\n  return API.get(`${url}${programRequirementAndFormEndpoint}/Programs`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n/* LimitarPlanes */\r\nexport const getLimitPlan = () => {\r\n  if(window.localStorage.getItem('access_token')){\r\n    return API\r\n    .get(`${url}${LimitPlanEndPoint}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n  }\r\n\r\n  return null;\r\n\r\n};\r\n\r\nexport const postLimitPlan = (param) => {\r\n  return API\r\n    .post(`${url}${LimitPlanEndPoint}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const putLimitPlan = (param) => {\r\n  return API\r\n    .put(`${url}${LimitPlanEndPoint}`, param)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\nexport const deleteLimitPlan = (id) => {\r\n  return API\r\n    .delete(`${url}${LimitPlanEndPoint}/${id}`)\r\n    .then((response) => {\r\n      return response;\r\n    })\r\n    .catch((error) => {\r\n      throw error;\r\n    });\r\n};\r\n\r\n\r\n/* Campañas */\r\n\r\nexport const getCampaign = async () => {\r\n  return API.get(`${url}${campaignEndpoint}`)\r\n    .then(response => {\r\n      return response;\r\n    })\r\n    .catch(error => {\r\n      throw error;\r\n    });\r\n};\r\n","import { call, put, takeEvery, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncFetchZoneFilters({ payload }) {\r\n  try {\r\n    const response = yield call(API.getFilterCartilla, payload);\r\n    yield put({ type: actionTypes.SUCCESS_GET_FILTERS_VALUES, response, message: '' });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_FILTERS_VALUES,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetLocalidadesBarrios({ payload }) {\r\n  try {\r\n    const response = yield call(API.getLocalidadesBarrio, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_LOCALIDADES_BARRIOS,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_LOCALIDADES_BARRIOS,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetEspecialidadesEstudios({ payload }) {\r\n  try {\r\n    const response = yield call(\r\n      API.getEspecialidadesEstudiosComplementarios,\r\n      payload\r\n    );\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetPrestadoresCartilla({ payload }) {\r\n  try {\r\n    const response = yield call(API.getPrestadoresResult, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_PRESTADORES_RESULT,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_PRESTADORES_RESULT,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetCompleteProfile({ payload }) {\r\n  try {\r\n    const response = yield call(API.getCompleteProfile, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_PERFIL_COMPLETO,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_PERFIL_COMPLETO,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\n// Watchers\r\nexport default function* filtersSaga() {\r\n  yield takeEvery(actionTypes.GET_FILTERS_VALUES, asyncFetchZoneFilters);\r\n  yield takeLatest(\r\n    actionTypes.GET_LOCALIDADES_BARRIOS,\r\n    asyncGetLocalidadesBarrios\r\n  );\r\n  yield takeLatest(\r\n    actionTypes.GET_ESPECIALIDADES_ESTUDIOS_COMPLEMENTARIOS,\r\n    asyncGetEspecialidadesEstudios\r\n  );\r\n  yield takeLatest(\r\n    actionTypes.GET_PRESTADORES_CARTILLA,\r\n    asyncGetPrestadoresCartilla\r\n  );\r\n  yield takeLatest(actionTypes.GET_PERFIL_COMPLETO, asyncGetCompleteProfile);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\n/**agregar el llamao a las funciones que se comunican con la api */\r\nfunction* asyncGetAfilliatedAppointments({ payload }) {\r\n  try {\r\n\r\n    if(payload !== undefined){\r\n      var response = yield call(API.getAfilliatedAppointments, payload);\r\n    }\r\n    \r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_AFILLIATED_APPOINTMENTS,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_AFILLIATED_APPOINTMENTS,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetAfilliatedAppointmentsRecord({ payload }) {\r\n  try {\r\n\r\n    if(payload !== undefined){\r\n      var response = yield call(API.getAfilliatedAppointmentsRecord, payload);\r\n    }\r\n\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_AFILLIATED_APPOINTMENTS_RECORD,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_AFILLIATED_APPOINTMENTS_RECORD,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetAfilliatedAppointmentsNext({ payload }) {\r\n  try {\r\n    if (payload !== undefined) {\r\n      var response = yield call(API.getAfilliatedAppointmentsNextAPI, payload);\r\n    }\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_AFILLIATED_APPOINTMENTS_NEXT,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_AFILLIATED_APPOINTMENTS_NEXT,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\n\r\nfunction* asyncGetAppointmentFavorite({ payload }) {\r\n  try {\r\n    const response = yield call(API.getAppointmentFavorite, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCES_GET_APPOINTMENTS_FAVORITE,\r\n        response\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_APPOINTMENTS_FAVORITE,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetDataGroupFamily({ payload }) {\r\n  try {\r\n    var response = yield call(API.getDataGroupFamily, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCES_GET_DATA_GROUP_FAMILY,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_DATA_GROUP_FAMILY,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\n\r\n\r\nfunction* asyncGetDataFilterAppointment({ payload }) {\r\n  try {\r\n    const response = yield call(API.getDataFilterAppointment, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCES_GET_DATA_FILTER_APPOINTMENT,\r\n        response\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_DATA_FILTER_APPOINTMENT,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\n\r\nfunction* asyncAppointmentCanceled({ payload }) {\r\n  try {\r\n    const response = yield call(API.AppointmentCanceled, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCES_GET_APPOINTMENTS_CANCELED,\r\n        response\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_APPOINTMENTS_CANCELED,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncABAppointmentFavorite({ payload }) {\r\n  try {\r\n    const response = yield call(API.ABAppointmentFavorite, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCES_GET_APPOINTMENTS_AB,\r\n        response\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_APPOINTMENTS_AB,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetAnswerQuestion() {\r\n  try {\r\n    var response = yield call(API.getAnswerQuestion);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCES_ANSWER_QUESTION,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_ANSWER_QUESTION,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetSpecialties({ payload }) {\r\n  try {\r\n    var response = yield call(API.getSpecialties, payload);\r\n    if (response){\r\n      yield put({ type: actionTypes.SUCCESS_GET_SPECIALTY_LIST, response, message: '' });\r\n    }\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_SPECIALTY_LIST,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetMedicalCenters({ payload }) {\r\n  try {\r\n    var response = yield call(API.getMedicalCenters, payload);\r\n    if (response){\r\n      yield put({ type: actionTypes.SUCCESS_GET_MEDICAL_CENTERS, response, message: '' });\r\n    }\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_MEDICAL_CENTERS,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetNextAvailableAppointments({ payload }) {\r\n  try {\r\n    var response = yield call(API.getNextAvailableAppointments, payload);\r\n    if (response){\r\n      yield put({ type: actionTypes.SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS, response, message: ''});\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS, message: error.message });\r\n  }\r\n}\r\n\r\nfunction* asyncGetNextAvailableAppointmentsDoctor({ payload }) {\r\n  try {\r\n    var response = yield call(API.getNextAvailableAppointmentsDoctor, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR, response, message: ''});\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR, message: error.message });\r\n  }\r\n}\r\n\r\nfunction* asyncSaveAppointment({ payload }) {\r\n  try {\r\n    // var response = yield call(API.saveAppointment, payload);\r\n    if (response)\r\n      yield put({ type: actionTypes.SEND_REQUEST_SUCCESS, message: response });\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.SEND_REQUEST_FAILURE, message: error.message });\r\n  }\r\n}\r\n\r\nfunction* asyncAppointmentConfirmed({ payload }) {\r\n  try {\r\n    const response = yield call(API.AppointmentConfirm, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_GET_APPOINTMENTS_CONFIRMED, response, message: \"\"});\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_GET_APPOINTMENTS_CONFIRMED, message: error });\r\n  }\r\n}\r\n\r\nfunction* asyncGetFullGroupFamily({ payload }) {\r\n  try {\r\n    var response = yield call(API.getDataFilterAppointment, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_GET_FULL_GROUP_FAMILY_APPOINTMENT, response, message: '' });\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_GET_FULL_GROUP_FAMILY_APPOINTMENT, message: error.message });\r\n  }\r\n}\r\n\r\nfunction* asyncGetSpecialtiesList({ payload }) {\r\n  try {\r\n    const response = yield call(API.GetSpecialtiesList, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_SPECIALTIES_LIST,\r\n        response\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_SPECIALTIES_LIST,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetDoctorsList({ payload }) {\r\n  try {\r\n    const response = yield call(API.GetDoctorsList, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_DOCTORS_LIST,\r\n        response\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_DOCTORS_LIST,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetFreeDoctorAppointmentsList({ payload }) {\r\n  try {\r\n    const response = yield call(API.GetFreeDoctorAppointmentsList, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_FREE_DOCTOR_APPOINTMENTS_LIST,\r\n        response\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_FREE_DOCTOR_APPOINTMENTS_LIST,\r\n      message: error\r\n    });\r\n  }\r\n}\r\n\r\n\r\n\r\nfunction* asyncGetMedicalAgenda({ payload }) {\r\n  try {\r\n    var response = yield call(API.getMedicalAgenda, payload);\r\n    if (response){\r\n      yield put({ type: actionTypes.SUCCESS_GET_MEDICAL_AGENDA, response, message: ''});\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_GET_MEDICAL_AGENDA, message: error.message });\r\n  }\r\n}\r\n\r\n// Watchers\r\nexport default function* appointmentsSaga() {\r\n  yield takeLatest(\r\n    actionTypes.GET_AFILLIATED_APPOINTMENTS,\r\n    asyncGetAfilliatedAppointments\r\n  );\r\n  yield takeLatest(\r\n    actionTypes.GET_AFILLIATED_APPOINTMENTS_RECORD,\r\n    asyncGetAfilliatedAppointmentsRecord\r\n  );\r\n  yield takeLatest(\r\n    actionTypes.GET_AFILLIATED_APPOINTMENTS_NEXT,\r\n    asyncGetAfilliatedAppointmentsNext\r\n  );\r\n  yield takeLatest(\r\n    actionTypes.GET_APPOINTMENTS_FAVORITE,\r\n    asyncGetAppointmentFavorite\r\n  );\r\n\r\n  yield takeLatest(actionTypes.GET_DATA_GROUP_FAMILY, asyncGetDataGroupFamily);\r\n\r\n  yield takeLatest(actionTypes.GET_DATA_FILTER_APPOINTMENT, asyncGetDataFilterAppointment);\r\n\r\n  yield takeLatest(\r\n    actionTypes.GET_APPOINTMENTS_CANCELED,\r\n    asyncAppointmentCanceled\r\n  );\r\n\r\n  yield takeLatest(\r\n    actionTypes.GET_APPOINTMENTS_AB,\r\n    asyncABAppointmentFavorite\r\n  );\r\n\r\n  yield takeLatest(actionTypes.GET_ANSWER_QUESTION, asyncGetAnswerQuestion);\r\n\r\n  yield takeLatest(actionTypes.GET_SPECIALTY_LIST, asyncGetSpecialties);\r\n  yield takeLatest(actionTypes.GET_MEDICAL_CENTERS, asyncGetMedicalCenters);\r\n  yield takeLatest(actionTypes.GET_NEXT_AVAILABLE_APPOINTMENTS, asyncGetNextAvailableAppointments);\r\n  yield takeLatest(actionTypes.SAVE_APPOINTMENT, asyncSaveAppointment);\r\n  yield takeLatest(actionTypes.GET_NEXT_AVAILABLE_APPOINTMENTS_DOCTOR, asyncGetNextAvailableAppointmentsDoctor);\r\n  yield takeLatest(actionTypes.GET_APPOINTMENTS_CONFIRMED, asyncAppointmentConfirmed);\r\n  yield takeLatest(actionTypes.GET_FULL_GROUP_FAMILY_APPOINTMENT, asyncGetFullGroupFamily);\r\n  yield takeLatest(actionTypes.GET_SPECIALTIES_LIST, asyncGetSpecialtiesList);\r\n  yield takeLatest(actionTypes.GET_DOCTORS_LIST, asyncGetDoctorsList);\r\n  yield takeLatest(actionTypes.GET_FREE_DOCTOR_APPOINTMENTS_LIST, asyncGetFreeDoctorAppointmentsList);\r\n  yield takeLatest(actionTypes.GET_MEDICAL_AGENDA, asyncGetMedicalAgenda);\r\n\r\n  \r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\n/**agregar el llamao a las funciones que se comunican con la api */\r\n\r\nfunction* asyncGetPhonesUtils() {\r\n  try {\r\n    var response = yield call(API.getPhonesUtils);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCES_PHONES,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_PHONES,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncgetShiftPhone() {\r\n  try {\r\n    var response = yield call(API.GetShiftPhone);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCES_SHIFT_PHONES,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_SHIFT_PHONES,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\n\r\n\r\n\r\n// Watchers\r\nexport default function* phonesSaga() {\r\n  yield takeLatest(actionTypes.GET_PHONES, asyncGetPhonesUtils);\r\n  yield takeLatest(actionTypes.GET_SHIFT_PHONES, asyncgetShiftPhone);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetEmergencyNumbers() {\r\n    try {\r\n        const response = yield call(API.getEmergencyNumbers);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_EMERGENCY_NUMBERS, response, message: '' });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_EMERGENCY_NUMBERS,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n\r\n// Watchers\r\nexport default function* emergencySaga() {\r\n    yield takeLatest(actionTypes.GET_EMERGENCY_NUMBERS, asyncGetEmergencyNumbers);\r\n}\r\n","import { takeLatest, call, put } from \"@redux-saga/core/effects\";\r\nimport * as actionTypes from '../consts/actionTypes';\r\nimport * as API from '../api/index';\r\n\r\nfunction* asyncGetTypesOfContact({ payload }) {\r\n    try {\r\n        let response = yield call(API.getTypeOfContact, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_TYPE_OF_CONTACT, response });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_TYPE_OF_CONTACT, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetTypesOfContactPhone({ payload }) {\r\n    try {\r\n        let response = yield call(API.getTypeOfContact, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_TYPE_OF_CONTACT_PHONE, response });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_TYPE_OF_CONTACT_PHONE, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetTypesOfContactMail({ payload }) {\r\n    try {\r\n        let response = yield call(API.getTypeOfContact, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_TYPE_OF_CONTACT_MAIL, response });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_TYPE_OF_CONTACT_MAIL, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetContactData({ payload }) {\r\n    try {\r\n        let response = yield call(API, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_CONTACTDATA_OF_AFFILIATED, response, message: '' });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CONTACTDATA_OF_AFFILIATED, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetTypesDocuments({ payload }) {\r\n    try {\r\n        let response = yield call(API.getTypesDocuments, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_TYPES_DOCUMENTS, response });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_TYPES_DOCUMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetCivilStatus() {\r\n    try {\r\n        let response = yield call(API.getCivilStatus);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_CIVIL_STATUS, response });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CIVIL_STATUS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetNationalities() {\r\n    try {\r\n        let response = yield call(API.getNationalities);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_NATIONALITY, response });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_NATIONALITY, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetFullData({ payload }) {\r\n    try {\r\n        let response = yield call(API.getCompleteData, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_FULL_DATA, response });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_FULL_DATA, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncAbmFullData({ payload }) {\r\n    try {\r\n        let response = yield call(API.abmFullData, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_ABM_FULL_DATA, response, message: '' });\r\n            yield put({ type: actionTypes.SEND_REQUEST_FAILURE, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_ABM_FULL_DATA, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetCredentials({ payload }) {\r\n    try {\r\n        let response = yield call(API.getCredentials, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CREDENTIALS, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CREDENTIALS, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetHobbies({ payload }) {\r\n    try {\r\n        let response = yield call(API.getHobbies, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_HOBBIES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_HOBBIES, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetDeportes({ payload }) {\r\n    try {\r\n        let response = yield call(API.getDeportes, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_DEPORTES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_DEPORTES, message: error });\r\n    }\r\n}\r\n\r\nexport default function* personalDataSaga() {\r\n    yield takeLatest(actionTypes.GET_TYPE_OF_CONTACT, asyncGetTypesOfContact);\r\n    yield takeLatest(actionTypes.GET_TYPE_OF_CONTACT_PHONE, asyncGetTypesOfContactPhone);\r\n    yield takeLatest(actionTypes.GET_TYPE_OF_CONTACT_MAIL, asyncGetTypesOfContactMail);\r\n    yield takeLatest(actionTypes.GET_CONTACTDATA_OF_AFFILIATED, asyncGetContactData);\r\n    yield takeLatest(actionTypes.GET_NATIONALITY, asyncGetNationalities);\r\n    yield takeLatest(actionTypes.GET_CIVIL_STATUS, asyncGetCivilStatus);\r\n    yield takeLatest(actionTypes.GET_TYPES_DOCUMENTS, asyncGetTypesDocuments);\r\n    yield takeLatest(actionTypes.GET_FULL_DATA, asyncGetFullData);\r\n    yield takeLatest(actionTypes.ABM_FULL_DATA, asyncAbmFullData);\r\n    yield takeLatest(actionTypes.GET_CREDENTIALS, asyncGetCredentials);\r\n    yield takeLatest(actionTypes.GET_HOBBIES, asyncGetHobbies);\r\n    yield takeLatest(actionTypes.GET_DEPORTES, asyncGetDeportes);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetDataWheightHeight({ payload }) {\r\n    try {\r\n        const response = yield call(API.getDataWheightHeight, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_DATA_WHEIGHT_HEIGHT, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_DATA_WHEIGHT_HEIGHT, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncABWheightHeight({ payload }) {\r\n    try {\r\n        const response = yield call(API.ABWheightHeight, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_AB_WHEIGHT_HEIGHT, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_AB_WHEIGHT_HEIGHT, message: error });\r\n    }\r\n}\r\n\r\n/**vital parameters */\r\nfunction* asyncGetVitalParamters({ payload }) {\r\n    try {\r\n        const response = yield call(API.getVitalParameters, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_VITAL_PARAMETERS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_VITAL_PARAMETERS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncABVitalParamters({ payload }) {\r\n    try {\r\n        const response = yield call(API.ABvitalParameters, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_AB_VITAL_PARAMETERS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_AB_VITAL_PARAMETERS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetPrograms({ payload }) {\r\n    try {\r\n        var response = yield call(API.getAffiliateEnrollments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_PROGRAMS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_PROGRAMS, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAllergiesParams() {\r\n    try {\r\n        const response = yield call(API.getAllergies);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_ALLERGIES_PARAMS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_ALLERGIES_PARAMS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAffiliatedAllergies({ payload }) {\r\n    try {\r\n        const response = yield call(API.getAffiliatedAllergies, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_AFFILIATED_ALLERGIES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_AFFILIATED_ALLERGIES, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncABMAllergies({ payload }) {\r\n    try {\r\n        const response = yield call(API.allergiesABM, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_ABM_ALLERGIES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_ABM_ALLERGIES, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAffiliatedPhones({ payload }) {\r\n    try {\r\n        const response = yield call(API.getMDPhones, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_AFFILIATED_PHONES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_AFFILIATED_PHONES, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncABMAffiliatedPhones({ payload }) {\r\n    try {\r\n        const response = yield call(API.ABMMDPhones, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_ABM_MD_PHONES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_ABM_MD_PHONES, message: error });\r\n    }\r\n}\r\n/** */\r\nfunction* asyncABMFactorGroup({ payload }) {\r\n    try {\r\n        const response = yield call(API.ABMFactorGroup, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_ABM_FACTOR_GROUP, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_ABM_FACTOR_GROUP, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetFactorGroup({ payload }) {\r\n    try {\r\n        let response = yield call(API.getFactorGroup, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_FACTOR_GROUP, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_FACTOR_GROUP, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetFactorGroupParams() {\r\n    try {\r\n        const response = yield call(API.getParameterFactorGroup);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_FACTOR_GROUP_PARAMS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_FACTOR_GROUP_PARAMS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncABMChronicDiseases({ payload }) {\r\n    try {\r\n        const response = yield call(API.ABMChronicDiseases, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_ABM_CHRONIC_DISEASES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_ABM_CHRONIC_DISEASES, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetChronicDiseases({ payload }) {\r\n    try {\r\n        const response = yield call(API.getChronicDiseases, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CHRONIC_DISEASES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CHRONIC_DISEASES, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetChronicDiseasesParams({ payload }) {\r\n    try {\r\n        const response = yield call(API.getParameterDiseases, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CHRONIC_DISEASES_PARAMS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CHRONIC_DISEASES_PARAMS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncABMChronicMedication({ payload }) {\r\n    try {\r\n        const response = yield call(API.ABMChronicMedication, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_ABM_CHRONIC_MEDICATION, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_ABM_CHRONIC_MEDICATION, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetChronicMedication({ payload }) {\r\n    try {\r\n        const response = yield call(API.getChronicMedication, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CHRONIC_MEDICATION, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CHRONIC_MEDICATION, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetVaccine({ payload }) {\r\n    try {\r\n        var response = yield call(API.getVaccine, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_VACCINE, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_VACCINE, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetLaboratoryStudies({ payload }) {\r\n    try {\r\n        var response = yield call(API.getLaboratoryStudies, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_LABORATORY_STUDIES, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_LABORATORY_STUDIES, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetDetailLaboratoryStudies({ payload }) {\r\n    try {\r\n        var response = yield call(API.getDetailLaboratoryStudies, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_DETAIL_LABORATORY, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_DETAIL_LABORATORY, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetPharmaceuticalForm() {\r\n    try {\r\n        const response = yield call(API.getPharmaceuticalForm);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_PHARMACEUTICAL_FORM, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_PHARMACEUTICAL_FORM, message: error });\r\n    }\r\n}\r\n\r\n\r\nfunction* asyncGetRecipe({ payload }) {\r\n    try {\r\n        const response = yield call(API.getRecipe, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_RECIPE, response });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_RECIPE,\r\n            message: error,\r\n        });\r\n    }\r\n}\r\n\r\n\r\nfunction* asyncGetRecipeFiles({ payload }) {\r\n    try {\r\n      let response = yield call(API.getRecipeFiles, payload);\r\n      if (response) {\r\n        yield put({ type: actionTypes.SUCCESS_GET_RECIPE_FILES, response, message: '' });\r\n      }\r\n    } catch (error) {\r\n      yield put({ type: actionTypes.FAILURE_GET_RECIPE_FILES, message: error.message });\r\n    }\r\n  }\r\n\r\n\r\n\r\n\r\n\r\nexport default function* medicalDataSaga() {\r\n    yield takeLatest(actionTypes.GET_DATA_WHEIGHT_HEIGHT, asyncGetDataWheightHeight);\r\n    yield takeLatest(actionTypes.AB_DATA_WHEIGHT_HEIGHT, asyncABWheightHeight);\r\n    yield takeLatest(actionTypes.GET_VITAL_PARAMETERS, asyncGetVitalParamters);\r\n    yield takeLatest(actionTypes.AB_VITAL_PARAMETERS, asyncABVitalParamters);\r\n    yield takeLatest(actionTypes.GET_CHRONIC_MEDICATION, asyncGetChronicMedication);\r\n    yield takeLatest(actionTypes.GET_PROGRAMS, asyncGetPrograms);\r\n    yield takeLatest(actionTypes.GET_ALLERGIES_PARAMS, asyncGetAllergiesParams);\r\n    yield takeLatest(actionTypes.GET_AFFILIATED_ALLERGIES, asyncGetAffiliatedAllergies);\r\n    yield takeLatest(actionTypes.ABM_ALLERGIES, asyncABMAllergies);\r\n    yield takeLatest(actionTypes.GET_AFFILIATED_PHONES, asyncGetAffiliatedPhones);\r\n    yield takeLatest(actionTypes.ABM_MD_PHONES, asyncABMAffiliatedPhones);\r\n    yield takeLatest(actionTypes.GET_LABORATORY_STUDIES, asyncGetLaboratoryStudies);\r\n    yield takeLatest(actionTypes.GET_DETAIL_LABORATORY_STUDIES, asyncGetDetailLaboratoryStudies);\r\n    yield takeLatest(actionTypes.ABM_FACTOR_GROUP, asyncABMFactorGroup);\r\n    yield takeLatest(actionTypes.GET_FACTOR_GROUP, asyncGetFactorGroup);\r\n    yield takeLatest(actionTypes.GET_FACTOR_GROUP_PARAMS, asyncGetFactorGroupParams);\r\n    yield takeLatest(actionTypes.ABM_CHRONIC_DISEASES, asyncABMChronicDiseases);\r\n    yield takeLatest(actionTypes.GET_CHRONIC_DISEASES, asyncGetChronicDiseases);\r\n    yield takeLatest(actionTypes.GET_CHRONIC_DISEASES_PARAMS, asyncGetChronicDiseasesParams);\r\n    yield takeLatest(actionTypes.ABM_CHRONIC_MEDICATION, asyncABMChronicMedication);\r\n    yield takeLatest(actionTypes.GET_CHRONIC_MEDICATION, asyncGetChronicMedication);\r\n    yield takeLatest(actionTypes.GET_VACCINE, asyncGetVaccine);\r\n    yield takeLatest(actionTypes.GET_PHARMACEUTICAL_FORM, asyncGetPharmaceuticalForm);\r\n    yield takeLatest(actionTypes.GET_RECIPE, asyncGetRecipe);\r\n    yield takeLatest(actionTypes.GET_RECIPE_FILES, asyncGetRecipeFiles);\r\n\r\n    \r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetDataRegisterUser({ payload }) {\r\n  try {\r\n    var response = yield call(API.getDataRegisterUser, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_DATA_REGISTER_USER,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_DATA_REGISTER_USER,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncAddDataRegisterUser({ payload }) {\r\n  try {\r\n    var response = yield call(API.addDataRegisterUser, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_ADD_DATA_REGISTER_USER,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_ADD_DATA_REGISTER_USER,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncDeleteDataRegisterUser({ payload }) {\r\n  try {\r\n    var response = yield call(API.deleteDataRegisterUser, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_DELETE_DATA_REGISTER_USER,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_DELETE_DATA_REGISTER_USER,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncRegisterUser({ payload }) {\r\n  try {\r\n    let response = yield call(API.registerAffiliate, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_REGISTER_USER, response, message: '' });\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_REGISTER_USER, message: error.message });\r\n  }\r\n}\r\n\r\nfunction* asyncValidationRegister({ payload }) {\r\n  try {\r\n    let response = yield call(API.validationRegisterUser, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_VERIFY_REGISTER, response });\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_VERIFY_REGISTER, message: error });\r\n  }\r\n}\r\n\r\nfunction* asyncValidationRegisterMedico({ payload }) {\r\n  try {\r\n    let response = yield call(API.validationMedicoRegisterUser, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_VERIFY_REGISTER_MEDICAL, response });\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_VERIFY_REGISTER_MEDICAL, message: error });\r\n  }\r\n}\r\n\r\nfunction* asyncModifyDataRegisterUser({ payload }) {\r\n  try {\r\n    var response = yield call(API.modifyDataRegisterUser, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_MODIFY_DATA_REGISTER_USER,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_MODIFY_DATA_REGISTER_USER,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncUserTypeValidation({ payload }) {\r\n  try {\r\n    let response = yield call(API.validateTypeOfProfile, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_VALIDATE_TYPE_OF_USER, response });\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_VALIDATE_TYPE_OF_USER, message: error });\r\n  }\r\n}\r\n\r\n\r\n// Watchers\r\nexport default function* phonesSaga() {\r\n  yield takeLatest(actionTypes.GET_DATA_REGISTER_USER, asyncGetDataRegisterUser);\r\n  yield takeLatest(actionTypes.ADD_DATA_REGISTER_USER, asyncAddDataRegisterUser);\r\n  yield takeLatest(actionTypes.DELETE_DATA_REGISTER_USER, asyncDeleteDataRegisterUser);\r\n  yield takeLatest(actionTypes.MODIFY_DATA_REGISTER_USER, asyncModifyDataRegisterUser);\r\n  yield takeLatest(actionTypes.REGISTER_USER, asyncRegisterUser);\r\n  yield takeLatest(actionTypes.VERIFY_REGISTER, asyncValidationRegister);\r\n  yield takeLatest(actionTypes.VERIFY_REGISTER_MEDICAL, asyncValidationRegisterMedico);\r\n  yield takeLatest(actionTypes.VALIDATE_TYPE_OF_USER, asyncUserTypeValidation);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\n/**agregar el llamado a las funciones que se comunican con la api */\r\nfunction* asyncGetTypeRefundCoverageParameters({ payload }) {\r\n    try {\r\n        var response = yield call(API.getTypeRefundCoverage, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_TYPE_COVERAGE_PARAMETERS, response, message: ''});\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_TYPE_COVERAGE_PARAMETERS,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAreaRefundCoverageParameters({ payload }) {\r\n    try {\r\n        let response = yield call(API.getAreaRefundCoverage, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_AREA_PARAMETERS, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_AREA_PARAMETERS, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncPostRefundCoverage({ payload }) {\r\n    try {\r\n        let response = yield call(API.postRefundCoverageResult, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_POST_REFUND_COVERAGE, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_POST_REFUND_COVERAGE, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAllCoveragePlans({ payload }) {\r\n    try {\r\n        let response = '';\r\n        if (payload !== '') {\r\n            response = yield call(API.getAllCoveragePlansWithSecurity, payload);\r\n        } else {\r\n            response = yield call(API.getAllCoveragePlans);\r\n        }\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_ALL_COVERAGE_PLANS, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_ALL_COVERAGE_PLANS, message: error.message });\r\n    }\r\n}\r\n\r\n// Watchers\r\nexport default function* coverageSaga() {\r\n    yield takeLatest(actionTypes.GET_TYPE_COVERAGE_PARAMETERS, asyncGetTypeRefundCoverageParameters);\r\n    yield takeLatest(actionTypes.GET_AREA_PARAMETERS, asyncGetAreaRefundCoverageParameters);\r\n    yield takeLatest(actionTypes.POST_REFUND_COVERAGE, asyncPostRefundCoverage);\r\n    yield takeLatest(actionTypes.GET_ALL_COVERAGE_PLANS, asyncGetAllCoveragePlans);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\n/**agregar el llamao a las funciones que se comunican con la api */\r\nfunction* asyncPostContactUs({ payload }) {\r\n    try {\r\n        var response = yield call(API.postContactUs, payload);\r\n        if (response)\r\n            yield put({\r\n                type: actionTypes.SUCCESS_POST_CONTACT_US,\r\n                response,\r\n                message: ''\r\n            });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_POST_CONTACT_US,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\nexport default function* contactUsSaga() {\r\n    yield takeLatest(actionTypes.POST_CONTACT_US, asyncPostContactUs);\r\n\r\n}","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\n/**agregar el llamado a las funciones que se comunican con la api */\r\nfunction* asyncGetUrlDoctorCaller({ payload }) {\r\n    try {\r\n        let response = yield call(API.postCallDoctor, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_POST_CALL_DOCTOR, response });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_POST_CALL_DOCTOR,\r\n            message: error\r\n        });\r\n    }\r\n}\r\n\r\n// Watchers\r\nexport default function* virtualDoctorSaga() {\r\n    yield takeLatest(actionTypes.POST_CALL_DOCTOR, asyncGetUrlDoctorCaller);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\n/**agregar el llamao a las funciones que se comunican con la api */\r\n\r\nfunction* asyncGetAllNotifications({ payload }) {\r\n  try {\r\n    var response = yield call(API.getAllNotifications, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_ALL_GET_NOTIFICATION,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_ALL_GET_NOTIFICATION,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetNotification({ payload }) {\r\n  try {\r\n    var response = yield call(API.getNotification, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_NOTIFICATION,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_NOTIFICATION,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncModifyNotification({ payload }) {\r\n  try {\r\n    var res = yield call(API.modifyNotification, payload);\r\n    if (res)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_MODIFY_NOTIFICATION,\r\n        response: {data: true},\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_MODIFY_NOTIFICATION,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncSetCount({ payload }) {\r\n  try {\r\n      yield put({\r\n        type: actionTypes.SUCCESS_SET_COUNT_NOTIFICATION,\r\n        response: {data: payload},\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_SET_COUNT_NOTIFICATION,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncSelectNotification({payload}){\r\n  try {\r\n    yield put({\r\n      type: actionTypes.SUCCESS_SELECT_NOTIFICATION,\r\n      response: {data: payload},\r\n      message: ''\r\n    });\r\n} catch (error) {\r\n  yield put({\r\n    type: actionTypes.FAILURE_SELECT_NOTIFICATION,\r\n    message: error.message,\r\n  });\r\n}\r\n}\r\n\r\n\r\nfunction* asyncremoveModifyNotification({payload}){\r\n  try {\r\n    yield put({\r\n      type: actionTypes.SUCCESS_MODIFY_NOTIFICATION,\r\n      response: {data: payload},\r\n      message: ''\r\n    });\r\n} catch (error) {\r\n  yield put({\r\n    type: actionTypes.FAILURE_MODIFY_NOTIFICATION,\r\n    message: error.message,\r\n  });\r\n}\r\n}\r\n\r\n\r\nfunction* asyncUpdateAllNotifications({ payload }) {\r\n  try {\r\n      yield put({\r\n        type: actionTypes.SUCCESS_UPDATE_ALL_GET_NOTIFICATION,\r\n        response : {data: payload},\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_UPDATE_ALL_GET_NOTIFICATION,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncSetHashNotification({ payload }) {\r\n  try {\r\n      yield put({\r\n        type: actionTypes.SUCCESS_HASH_NOTIFICATION,\r\n        response : {data: payload},\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_HASH_NOTIFICATION,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetCommunication({ payload }) {\r\n  try {\r\n      let response = '';\r\n      if (payload !== '') {\r\n          response = yield call(API.getCommunication);\r\n      } else {\r\n          response = yield call(API.getCommunication);\r\n      }\r\n      if (response)\r\n          yield put({ type: actionTypes.SUCCESS_GET_COMMUNICATION, response, message: '' });\r\n  } catch (error) {\r\n      yield put({\r\n          type: actionTypes.SEND_REQUEST_FAILURE,\r\n          message: error.message,\r\n      });\r\n  }\r\n}\r\n\r\n\r\n\r\n// Watchers\r\nexport default function* notificationsSaga() {\r\n  yield takeLatest(actionTypes.GET_NOTIFICATION, asyncGetNotification);\r\n  yield takeLatest(actionTypes.GET_ALL_NOTIFICATION, asyncGetAllNotifications);\r\n  yield takeLatest(actionTypes.MODIFY_NOTIFICATION, asyncModifyNotification);\r\n  yield takeLatest(actionTypes.SET_COUNT_NOTIFICATION, asyncSetCount);\r\n  yield takeLatest(actionTypes.SELECT_NOTIFICATION, asyncSelectNotification);\r\n  yield takeLatest(actionTypes.RESET_MODIFY_NOTIFICATION, asyncremoveModifyNotification);\r\n  yield takeLatest(actionTypes.GET_UPDATE_ALL_NOTIFICATION, asyncUpdateAllNotifications);\r\n  yield takeLatest(actionTypes.HASH_NOTIFICATION, asyncSetHashNotification);\r\n  yield takeLatest(actionTypes.GET_COMMUNICATION, asyncGetCommunication);\r\n\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\n/**agregar el llamado a las funciones que se comunican con la api */\r\nfunction* asyncGetAllCredentials({ payload }) {\r\n    try {\r\n        var response = yield call(API.getAllCredentials, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_ALL_CREDENTIALS, response, message: '' });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_ALL_CREDENTIALS,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n// Watchers\r\nexport default function* credentialSaga() {\r\n    yield takeLatest(actionTypes.GET_ALL_CREDENTIALS, asyncGetAllCredentials);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetActivities({ payload }) {\r\n    try {\r\n        let response = '';\r\n        if (payload !== '') {\r\n            response = yield call(API.getActivitiesWithSecurity);\r\n        } else {\r\n            response = yield call(API.getActivities);\r\n        }\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_ALL_ACTIVITIES, response, message: '' });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_ALL_FAILURE,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n\r\n// Watchers\r\nexport default function* activitiesSaga() {\r\n    yield takeLatest(actionTypes.GET_ALL_ACTIVITIES, asyncGetActivities);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetProcedures({ payload }) {\r\n    try {\r\n        const response = yield call(API.getProcedures, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_PROCEDURES, response, message: '' });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_PROCEDURES,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncPostProcedure({ payload }) {\r\n    try {\r\n        let response = yield call(API.postProcedure, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_POST_PROCEDURE, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_POST_PROCEDURE, message: error.message });\r\n    }\r\n}\r\nfunction* asyncGetDataAffiliatesBaja({ payload }) {\r\n    try {\r\n        let response = yield call(API.getDataAffiliatesBaja, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_DATOS_RECUPERA, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_DATOS_RECUPERA, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetMotivosBaja() {\r\n    try {\r\n        let response = yield call(API.getMotivosBaja);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_MOTIVOS_BAJA, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_MOTIVOS_BAJA, message: error.message });\r\n    }\r\n}\r\nfunction* asyncGetSolicitudBaja() {\r\n    try {\r\n        let response = yield call(API.getSolicitudBaja);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_SOLICITUD_BAJA, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_SOLICITUD_BAJA, message: error.message });\r\n    }\r\n}\r\nfunction* asyncGetFile({ payload }) {\r\n    try {\r\n        let response = yield call(API.getFile, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_FILE, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_FILE, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncPostRequestLowGetFile({ payload }) {\r\n    try {\r\n        let response = yield call(API.postRequestLow, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_POST_REQUEST_LOW, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_POST_REQUEST_LOW, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetMotiveLowPlan() {\r\n    try {\r\n        let response = yield call(API.getMotiveLowPlan);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_MOTIVOS_BAJA_PLAN, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_MOTIVOS_BAJA_PLAN, message: error.message });\r\n    }\r\n}\r\n\r\n\r\nfunction* asyncGetPlans({ payload }) {\r\n    try {\r\n        let response = yield call(API.getPlans, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_PLAN, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_PLAN, message: error.message });\r\n    }\r\n}\r\n\r\n\r\nfunction* asyncGetPermisionLow({ payload }) {\r\n    try {\r\n        let response = yield call(API.getPermisionLow, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_PERMISSION_LOW, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_PERMISSION_LOW, message: error.message });\r\n    }\r\n}\r\n\r\n\r\nfunction* asyncGetChangePlan() {\r\n    try {\r\n        const response = yield call(API.getChangePlan);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_CHANGE_PLAN, response, message: '' });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_CHANGE_PLAN,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncPostChangePlan({ payload }) {\r\n    try {\r\n        let response = yield call(API.postChangePlan, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_POST_CHANGE_PLAN, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_POST_CHANGE_PLAN, message: error.message });\r\n    }\r\n}\r\n\r\n// Watchers\r\nexport default function* procedureSaga() {\r\n    yield takeLatest(actionTypes.GET_PROCEDURES, asyncGetProcedures);\r\n    yield takeLatest(actionTypes.POST_PROCEDURE, asyncPostProcedure);\r\n    yield takeLatest(actionTypes.GET_CHANGE_PLAN, asyncGetChangePlan);\r\n    yield takeLatest(actionTypes.POST_CHANGE_PLAN, asyncPostChangePlan);\r\n    yield takeLatest(actionTypes.GET_DATOS_RECUPERA, asyncGetDataAffiliatesBaja);\r\n    yield takeLatest(actionTypes.GET_MOTIVOS_BAJA, asyncGetMotivosBaja);\r\n    yield takeLatest(actionTypes.GET_SOLICITUD_BAJA, asyncGetSolicitudBaja);\r\n    yield takeLatest(actionTypes.GET_FILE, asyncGetFile);\r\n    yield takeLatest(actionTypes.POST_REQUEST_LOW, asyncPostRequestLowGetFile);\r\n    yield takeLatest(actionTypes.GET_MOTIVOS_BAJA_PLAN, asyncGetMotiveLowPlan);\r\n    yield takeLatest(actionTypes.GET_PLAN, asyncGetPlans);\r\n    yield takeLatest(actionTypes.PERMISSION_LOW, asyncGetPermisionLow);\r\n\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\n/**agregar el llamao a las funciones que se comunican con la api */\r\n\r\nfunction* asyncPostPreventionControl({ payload }) {\r\n    try {\r\n        var response = yield call(API.postPrevention, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_POST_PREVENTIONS, response, message: '' });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_POST_PREVENTIONS,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n// Watchers\r\nexport default function* preventionSaga() {\r\n    yield takeLatest(actionTypes.POST_PREVENTIONS, asyncPostPreventionControl);\r\n}\r\n","import { takeLatest, call, put } from \"@redux-saga/core/effects\";\r\nimport * as actionTypes from '../consts/actionTypes';\r\nimport * as API from '../api/index';\r\n\r\nfunction* asyncDeletePersonPlayer({ payload }) {\r\n    try {\r\n        let response = yield call(API.deletePersonPlayer, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_DELETE_PERSON_PLAYER, response, message: '' });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_DELETE_PERSON_PLAYER, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncUpdateTag({ payload }) {\r\n    try {\r\n        let response = yield call(API.UpdateTag, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_UPDATE_TAG, response, message: '' });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_UPDATE_TAG, message: error.message });\r\n    }\r\n}\r\n\r\nexport default function* personPlayerSaga () {\r\n    yield takeLatest(actionTypes.DELETE_PERSON_PLAYER, asyncDeletePersonPlayer);\r\n    yield takeLatest(actionTypes.UPDATE_TAG, asyncUpdateTag);\r\n\r\n  }\r\n  \r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetWayToPay({ payload }) {\r\n  try {\r\n    var response = yield call(API.getWayToPay, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_WAYTOPAY,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_WAYTOPAY,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetEnabledDirectDebit({ payload }) {\r\n  try {\r\n    var response = yield call(API.getEnabledDirectDebit, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_ENABLED_DIRECTDEBIT,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_ENABLED_DIRECTDEBIT,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetDirectDebit({ payload }) {\r\n  try {\r\n    var response = yield call(API.getDirectDebit, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_GET_DIRECTDEBIT,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_GET_DIRECTDEBIT,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncABDirectDebit({ payload }) {\r\n  try {\r\n    var response = yield call(API.abDirectDebit, payload);\r\n    if (response)\r\n      yield put({\r\n        type: actionTypes.SUCCESS_AB_DIRECTDEBIT,\r\n        response,\r\n        message: ''\r\n      });\r\n  } catch (error) {\r\n    yield put({\r\n      type: actionTypes.FAILURE_AB_DIRECTDEBIT,\r\n      message: error.message,\r\n    });\r\n  }\r\n}\r\n\r\nfunction* asyncGetAllBills({ payload }) {\r\n  try {\r\n    let response = yield call(API.getAllBillsAffiliate, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_GET_BILLINGS, response, message: '' });\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_GET_BILLINGS, message: error.message });\r\n  }\r\n}\r\n\r\nfunction* asyncGetBillingFiles({ payload }) {\r\n  try {\r\n    let response = yield call(API.getBillingFiles, payload);\r\n    if (response) {\r\n      yield put({ type: actionTypes.SUCCESS_GET_BILLINGS_FILES, response, message: '' });\r\n    }\r\n  } catch (error) {\r\n    yield put({ type: actionTypes.FAILURE_GET_BILLINGS_FILES, message: error.message });\r\n  }\r\n}\r\n\r\n// Watchers\r\nexport default function* billingSaga() {\r\n  yield takeLatest(actionTypes.GET_WAYTOPAY, asyncGetWayToPay);\r\n  yield takeLatest(actionTypes.GET_ENABLED_DIRECTDEBIT, asyncGetEnabledDirectDebit);\r\n  yield takeLatest(actionTypes.GET_DIRECTDEBIT, asyncGetDirectDebit);\r\n  yield takeLatest(actionTypes.AB_DIRECTDEBIT, asyncABDirectDebit);\r\n  yield takeLatest(actionTypes.GET_BILLINGS, asyncGetAllBills);\r\n  yield takeLatest(actionTypes.GET_BILLINGS_FILES, asyncGetBillingFiles);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetComments({ payload }) {\r\n    try {\r\n        let response = yield call(API.getComments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_COMMENTS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_COMMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncPushComments({ payload }) {\r\n    try {\r\n        let response = yield call(API.pushComments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_PUSH_COMMENTS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_PUSH_COMMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetReadComments({ payload }) {\r\n    try {\r\n        let response = yield call(API.readComments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_READ_COMMENTS, response });\r\n        }\r\n    }\r\n    catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_READ_COMMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAuthorizationsDetails({ payload }) {\r\n    try {\r\n        let response = yield call(API.getAllAuthorizations, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_AUTHORIZATIONS_DETAILS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_AUTHORIZATIONS_DETAILS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetDetails({ payload }) {\r\n    try {\r\n        let response = yield call(API.getDetails, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_AUTHORIZATION_DETAIL, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_AUTHORIZATIONS_DETAILS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAuthorizationsTypeAttached({ payload }) {\r\n    try {\r\n        let response = yield call(API.getTypeAttached, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_AUTHORIZATIONS_TYPEATTACHED, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_AUTHORIZATIONS_TYPEATTACHED, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetParamsAuthRequest() {\r\n    try {\r\n        let response = yield call(API.getParametersAuthorizationRequest);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_PARAMS_AUTH_REQUEST, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_PARAMS_AUTH_REQUEST, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAuthorizationsAttached({ payload }) {\r\n    try {\r\n        let response = yield call(API.getAttached, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_AUTHORIZATIONS_ATTACHED, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_AUTHORIZATIONS_ATTACHED, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncPostAuthorizationsAttached({ payload }) {\r\n    try {\r\n        let response = yield call(API.postAttached, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_POST_AUTHORIZATIONS_ATTACHED, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_POST_AUTHORIZATIONS_ATTACHED, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncPostAuthorizationsRequest({ payload }) {\r\n    try {\r\n        let response = yield call(API.postRequest, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_POST_AUTHORIZATIONS_REQUEST, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_POST_AUTHORIZATIONS_REQUEST, message: error});\r\n    }\r\n}\r\n\r\nfunction* asyncGetAuthorizationsAffiliate({ payload }) {\r\n    try {\r\n        let response = yield call(API.getAuthorizationsAffiliate, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_AUTHORIZATIONS_AFFILIATE, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_AUTHORIZATIONS_AFFILIATE, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncDownloadAttachments({ payload }) {\r\n    try {\r\n        let response = yield call(API.downloadAttachments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_DOWNLOAD_ATTACHMENTS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_DOWNLOAD_ATTACHMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncDownloadAuthorization({ payload }) {\r\n    try {\r\n        let response = yield call(API.downloadAuthorizations, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_DOWNLOAD_AUTHORIZATION, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_DOWNLOAD_AUTHORIZATION, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncCancelAuthorization({ payload }) {\r\n    try {\r\n        const response = yield call(API.cancelAuthorization, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_CANCEL_AUTHORIZATION, response });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_CANCEL_AUTHORIZATION,\r\n            message: error\r\n        });\r\n    }\r\n}\r\n\r\n\r\n\r\nexport default function* authorizationsSaga() {\r\n    yield takeLatest(actionTypes.GET_COMMENTS, asyncGetComments);\r\n    yield takeLatest(actionTypes.PUSH_COMMENTS, asyncPushComments);\r\n    yield takeLatest(actionTypes.GET_READ_COMMENTS, asyncGetReadComments);\r\n    yield takeLatest(actionTypes.GET_AUTHORIZATIONS_DETAILS, asyncGetAuthorizationsDetails);\r\n    yield takeLatest(actionTypes.GET_AUTHORIZATION_DETAIL, asyncGetDetails);\r\n    yield takeLatest(actionTypes.GET_AUTHORIZATIONS_TYPEATTACHED, asyncGetAuthorizationsTypeAttached);\r\n    yield takeLatest(actionTypes.GET_PARAMS_AUTH_REQUEST, asyncGetParamsAuthRequest);\r\n    yield takeLatest(actionTypes.GET_AUTHORIZATIONS_ATTACHED, asyncGetAuthorizationsAttached);\r\n    yield takeLatest(actionTypes.POST_AUTHORIZATIONS_ATTACHED, asyncPostAuthorizationsAttached);\r\n    yield takeLatest(actionTypes.POST_AUTHORIZATIONS_REQUEST, asyncPostAuthorizationsRequest);\r\n    yield takeLatest(actionTypes.GET_AUTHORIZATIONS_AFFILIATE, asyncGetAuthorizationsAffiliate);\r\n    yield takeLatest(actionTypes.DOWNLOAD_ATTACHMENTS, asyncDownloadAttachments);\r\n    yield takeLatest(actionTypes.DOWNLOAD_AUTHORIZATION, asyncDownloadAuthorization);\r\n    yield takeLatest(actionTypes.CANCEL_AUTHORIZATION, asyncCancelAuthorization);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetRefunds({ payload }) {\r\n    try {\r\n        const response = yield call(API.getRefunds, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_REFUNDS, response });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_REFUNDS,\r\n            message: error,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncAccountRefundAB({ payload }) {\r\n    try {\r\n        const response = yield call(API.ABAccountRefund, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_AB_ACCOUNT_REFUND, response });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_AB_ACCOUNT_REFUND,\r\n            message: error,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncGetParametersRefunds() {\r\n    try {\r\n        const response = yield call(API.getParametersRefunds);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_PARAMETERS_REFUNDS, response });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_PARAMETERS_REFUNDS,\r\n            message: error,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncGetAccountRefunds({ payload }) {\r\n    try {\r\n        const response = yield call(API.getAccountRefunds, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_ACCOUNT_REFUNDS, response });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_ACCOUNT_REFUNDS,\r\n            message: error,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncPostRefunds({ payload }) {\r\n    try {\r\n        const response = yield call(API.postRefunds, payload);\r\n        if (response)\r\n            yield put({\r\n                type: actionTypes.SUCCESS_POST_REFUNDS,\r\n                response\r\n            });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_POST_REFUNDS,\r\n            message: error,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncGetRefundDetails({ payload }) {\r\n    try {\r\n        let response = yield call(API.getRefundDetails, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_REFUND_DETAILS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_REFUND_DETAILS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetRefundAttachments({ payload }) {\r\n    try {\r\n        let response = yield call(API.getRefundAttachments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_REFUND_ATTACHMENTS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_REFUND_ATTACHMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetRefundComments({ payload }) {\r\n    try {\r\n        let response = yield call(API.getRefundComments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_REFUND_COMMENTS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_REFUND_COMMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetDetailsAttachments({ payload }) {\r\n    try {\r\n        let response = yield call(API.getDetailsAttachments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_DETAILS_ATTACHMENTS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_DETAILS_ATTACHMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncGetRefundTypeAttached({ payload }) {\r\n    try {\r\n        let response = yield call(API.getRefundTypeAttached, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_REFUND_TYPE_ATTACHED, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_REFUND_TYPE_ATTACHED, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncPushRefundComments({ payload }) {\r\n    try {\r\n        let response = yield call(API.postRefundAComment, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_PUSH_REFUND_COMMENTS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_PUSH_REFUND_COMMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncPostRefundAttached({ payload }) {\r\n    try {\r\n        let response = yield call(API.postRefundAttached, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_POST_REFUND_ATTACHED, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_POST_REFUND_ATTACHED, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncCancelRefund({ payload }) {\r\n    try {\r\n        const response = yield call(API.cancelRefund, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_CANCEL_REFUND, response });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_CANCEL_REFUND,\r\n            message: error,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncPostReadRefundComment({ payload }) {\r\n    try {\r\n        let response = yield call(API.postReadRefundComments, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_POST_READ_REFUNDS_COMMENTS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_POST_READ_REFUNDS_COMMENTS, message: error });\r\n    }\r\n}\r\n\r\nfunction* asyncDownloadRefund({ payload }) {\r\n    try {\r\n        let response = yield call(API.downloadRefunds, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_DOWNLOAD_REFUND, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_DOWNLOAD_REFUND, message: error });\r\n    }\r\n}\r\n\r\n// Watchers\r\nexport default function* refundsSaga() {\r\n    yield takeLatest(actionTypes.GET_REFUNDS, asyncGetRefunds);\r\n    yield takeLatest(actionTypes.AB_ACCOUNT_REFUND, asyncAccountRefundAB);\r\n    yield takeLatest(actionTypes.GET_ACCOUNT_REFUNDS, asyncGetAccountRefunds);\r\n    yield takeLatest(actionTypes.GET_PARAMETERS_REFUNDS, asyncGetParametersRefunds);\r\n    yield takeLatest(actionTypes.POST_REFUNDS, asyncPostRefunds);\r\n    yield takeLatest(actionTypes.GET_REFUND_DETAILS, asyncGetRefundDetails);\r\n    yield takeLatest(actionTypes.GET_REFUND_ATTACHMENTS, asyncGetRefundAttachments);\r\n    yield takeLatest(actionTypes.GET_REFUND_COMMENTS, asyncGetRefundComments);\r\n    yield takeLatest(actionTypes.GET_DETAILS_ATTACHMENTS, asyncGetDetailsAttachments);\r\n    yield takeLatest(actionTypes.GET_REFUND_TYPE_ATTACHED, asyncGetRefundTypeAttached);\r\n    yield takeLatest(actionTypes.PUSH_REFUND_COMMENTS, asyncPushRefundComments);\r\n    yield takeLatest(actionTypes.POST_REFUND_ATTACHED, asyncPostRefundAttached);\r\n    yield takeLatest(actionTypes.CANCEL_REFUND, asyncCancelRefund);\r\n    yield takeLatest(actionTypes.POST_READ_REFUNDS_COMMENTS, asyncPostReadRefundComment);\r\n    yield takeLatest(actionTypes.DOWNLOAD_REFUND, asyncDownloadRefund);\r\n}","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetCounterSurvey({ payload }) {\r\n    try {\r\n        const response = yield call(API.getCounterSurvey, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_COUNTER_SURVEY, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_COUNTER_SURVEY,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\nfunction* asyncSendSurvey({ payload }) {\r\n    try {\r\n        const response = yield call(API.sendSurvey, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_SEND_SURVEY, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_SEND_SURVEY,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n\r\n// Watchers\r\nexport default function* surveySaga() {\r\n    yield takeLatest(actionTypes.GET_COUNTER_SURVEY, asyncGetCounterSurvey);\r\n    yield takeLatest(actionTypes.SEND_SURVEY, asyncSendSurvey);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetNews({ payload }) {\r\n    try {\r\n        let response = yield call(API.getNews, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_ALL_NEWS, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_ALL_NEWS, message: error.message });\r\n    }\r\n}\r\n\r\n// Watchers\r\nexport default function* newsSaga() {\r\n    yield takeLatest(actionTypes.GET_ALL_NEWS, asyncGetNews);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetHeadquaters() {\r\n    try {\r\n        var response = yield call(API.getHeadquaters);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_ALL_HEADQUATERS, response, message: '', });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_ALL_HEADQUATERS,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n\r\n// Watchers\r\nexport default function* sedesSaga() {\r\n    yield takeLatest(actionTypes.GET_ALL_HEADQUATERS, asyncGetHeadquaters);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetConfigurations() {\r\n    try {\r\n        let response = yield call(API.getConfigurations);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CONFIGURATIONS, response });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CONFIGURATIONS, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetConfigurationById({ payload }) {\r\n    try {\r\n        let response = yield call(API.getConfigById, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CONFIGURATION_BY_ID, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CONFIGURATION_BY_ID, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetConfigurationLowService({payload}){\r\n    try {\r\n        let response = yield call(API.getConfigById, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CONFIGURATION_LOW_SERVICE_BY_ID, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CONFIGURATION_LOW_SERVICE_BY_ID, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncGetConfigurationReclamo({payload}){\r\n    try {\r\n        let response = yield call(API.getConfigById, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CONFIGURATION_RECLAMO_BY_ID, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CONFIGURATION_RECLAMO_BY_ID, message: error.message });\r\n    }\r\n}\r\n\r\nexport default function* configurationSaga() {\r\n    yield takeLatest(actionTypes.GET_CONFIGURATIONS, asyncGetConfigurations);\r\n    yield takeLatest(actionTypes.GET_CONFIGURATION_BY_ID, asyncGetConfigurationById);\r\n    yield takeLatest(actionTypes.GET_CONFIGURATION_LOW_SERVICE_BY_ID, asyncGetConfigurationLowService);\r\n    yield takeLatest(actionTypes.GET_CONFIGURATION_RECLAMO_BY_ID, asyncGetConfigurationReclamo);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetCards() {\r\n    try {\r\n        let response = yield call(API.getCardsAPI);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CARDS, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CARDS, message: error.message });\r\n    }\r\n}\r\n\r\nexport default function* cardSaga() {\r\n    yield takeLatest(actionTypes.GET_CARDS, asyncGetCards);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetPlanPdfByPlanCode({ payload }) {\r\n    try {\r\n        let response = yield call(API.getPlanPdfByPlanCode, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_PLANPDF_BY_PLANCODE, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_PLANPDF_BY_PLANCODE, message: error.message });\r\n    }\r\n}\r\n\r\nexport default function* planPdfSaga() {\r\n    yield takeLatest(actionTypes.GET_PLANPDF_BY_PLANCODE, asyncGetPlanPdfByPlanCode);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetPracticas() {\r\n    try {\r\n        const response = yield call(API.getPracticas);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_PRACTICAS, response, message: '' });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_PRACTICAS,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n\r\n// Watchers\r\nexport default function* practicasSaga() {\r\n    yield takeLatest(actionTypes.GET_PRACTICAS, asyncGetPracticas);\r\n}\r\n","import { takeLatest, call, put } from \"@redux-saga/core/effects\";\r\nimport * as actionTypes from '../consts/actionTypes';\r\nimport * as API from '../api/index';\r\n\r\nfunction* asyncGetTelemedicineAppointments({ payload }) {\r\n    try {\r\n        let response = yield call(API.getTelemedicineAppointments, payload);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_TELEMEDICINE, response, message: '' });\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_TELEMEDICINE, message: error.message });\r\n    }\r\n}\r\n\r\nexport default function* telemedicineAppointmentsSaga() {\r\n    yield takeLatest(actionTypes.GET_TELEMEDICINE, asyncGetTelemedicineAppointments);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetCapAndCopayLinkByPlanCode({ payload }) {\r\n    try {\r\n        let response = yield call(API.getCapAndCopayLinkByPlanCode, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_CAPANDCOPAYLINK_BY_PLANCODE, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_CAPANDCOPAYLINK_BY_PLANCODE, message: error.message });\r\n    }\r\n}\r\n\r\nexport default function* capsAndCopayLinksSaga() {\r\n    yield takeLatest(actionTypes.GET_CAPANDCOPAYLINK_BY_PLANCODE, asyncGetCapAndCopayLinkByPlanCode);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetProgramRequirementAndFormByProgram({ payload }) {\r\n    try {\r\n        let response = yield call(API.getProgramRequirementAndFormByProgram, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM, message: error.message });\r\n    }\r\n}\r\n\r\nfunction* asyncMedicalPrograms({ payload }) {\r\n    try {\r\n        let response = yield call(API.getMedicalPrograms, payload);\r\n        if (response) {\r\n            yield put({ type: actionTypes.SUCCESS_GET_MEDICAL_PROGRAMS, response, message: '' });\r\n        }\r\n    } catch (error) {\r\n        yield put({ type: actionTypes.FAILURE_GET_MEDICAL_PROGRAMS, message: error.message });\r\n    }\r\n}\r\n\r\nexport default function* programRequirementAndFormSaga() {\r\n    yield takeLatest(actionTypes.GET_PROGRAMREQUIREMENTANDFORM_BY_PROGRAM, asyncGetProgramRequirementAndFormByProgram);\r\n    yield takeLatest(actionTypes.GET_MEDICAL_PROGRAMS, asyncMedicalPrograms);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetLimitPlan() {\r\n\ttry {\r\n\t\tvar response = yield call(API.getLimitPlan);\r\n\t\tif (response) {\r\n\t\t\tyield put({\r\n\t\t\t\ttype: actionTypes.SUCCESS_GET_LIMIT_PLAN,\r\n\t\t\t\tresponse,\r\n\t\t\t\tmessage: ''\r\n\t\t\t});\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tyield put({\r\n\t\t\ttype: actionTypes.FAILURE_GET_LIMIT_PLAN,\r\n\t\t\tmessage: error.message,\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction* asyncPostLimitPlan({ payload }) {\r\n\ttry {\r\n\t\tvar response = yield call(API.postLimitPlan, payload);\r\n\t\tif (response) {\r\n\t\t\tyield put({\r\n\t\t\t\ttype: actionTypes.SUCCESS_POST_LIMIT_PLAN,\r\n\t\t\t\tresponse,\r\n\t\t\t\tmessage: ''\r\n\t\t\t});\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tyield put({\r\n\t\t\ttype: actionTypes.FAILURE_POST_LIMIT_PLAN,\r\n\t\t\tmessage: error.message,\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction* asyncPutLimitPlan({ payload }) {\r\n\ttry {\r\n\t\tvar response = yield call(API.putLimitPlan, payload);\r\n\t\tif (response) {\r\n\t\t\tyield put({\r\n\t\t\t\ttype: actionTypes.SUCCESS_PUT_LIMIT_PLAN,\r\n\t\t\t\tresponse,\r\n\t\t\t\tmessage: ''\r\n\t\t\t});\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tyield put({\r\n\t\t\ttype: actionTypes.FAILURE_PUT_LIMIT_PLAN,\r\n\t\t\tmessage: error.message,\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction* asyncDeleteLimitPlan({ payload }) {\r\n\ttry {\r\n\t\tvar response = yield call(API.deleteLimitPlan, payload);\r\n\t\tif (response) {\r\n\t\t\tyield put({\r\n\t\t\t\ttype: actionTypes.SUCCESS_DELETE_LIMIT_PLAN,\r\n\t\t\t\tresponse,\r\n\t\t\t\tmessage: ''\r\n\t\t\t});\r\n\t\t}\r\n\t} catch (error) {\r\n\t\tyield put({\r\n\t\t\ttype: actionTypes.FAILURE_DELETE_LIMIT_PLAN,\r\n\t\t\tmessage: error.message,\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default function* limitPlanSaga() {\r\n\tyield takeLatest(actionTypes.GET_LIMIT_PLAN, asyncGetLimitPlan);\r\n\tyield takeLatest(actionTypes.POST_LIMIT_PLAN, asyncPostLimitPlan);\r\n\tyield takeLatest(actionTypes.PUT_LIMIT_PLAN, asyncPutLimitPlan);\r\n\tyield takeLatest(actionTypes.DELETE_LIMIT_PLAN, asyncDeleteLimitPlan);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetCampaign() {\r\n    try {\r\n        var response = yield call(API.getCampaign);\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_CAMPAIGN, response, message: '', });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.FAILURE_GET_CAMPAIGN,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n\r\n// Watchers\r\nexport default function* campaignSaga() {\r\n    yield takeLatest(actionTypes.GET_CAMPAIGN, asyncGetCampaign);\r\n}\r\n","import { call, put, takeLatest } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"../consts/actionTypes\";\r\nimport * as API from \"../api\";\r\n\r\nfunction* asyncGetCommunication({ payload }) {\r\n    try {\r\n        let response = '';\r\n        if (payload !== '') {\r\n            response = yield call(API.getCommunication);\r\n        } else {\r\n            response = yield call(API.getCommunication);\r\n        }\r\n        if (response)\r\n            yield put({ type: actionTypes.SUCCESS_GET_COMMUNICATION, response, message: '' });\r\n    } catch (error) {\r\n        yield put({\r\n            type: actionTypes.SEND_REQUEST_FAILURE,\r\n            message: error.message,\r\n        });\r\n    }\r\n}\r\n\r\n  \r\n\r\n// Watchers\r\nexport default function* communicatedSaga() {\r\n    yield takeLatest(actionTypes.GET_COMMUNICATION, asyncGetCommunication);\r\n   \r\n}\r\n","import { all } from \"redux-saga/effects\";\r\nimport filtersSaga from \"./medicalFiltersSaga\";\r\nimport appointmentsSaga from \"./appointmentsSaga\";\r\nimport phonesSaga from \"./phonesSaga\";\r\nimport emergencySaga from './emergencySaga';\r\nimport personalDataSaga from \"./personalDataSaga\";\r\nimport medicalDataSaga from './medicalDataSaga';\r\nimport registerUsersSaga from './registerUsersSaga';\r\nimport coverageSaga from './coverageSaga';\r\nimport contactUsSaga from './contactUsSaga';\r\nimport virtualDoctorSaga from \"./virtualDoctorSaga\";\r\nimport notificationsSaga from \"./notificationsSaga\";\r\nimport credentialSaga from \"./credentialSaga\";\r\nimport activitiesSaga from \"./activitiesSaga\";\r\nimport procedureSaga from \"./procedureSaga\";\r\nimport preventionSaga from \"./preventionSaga\";\r\nimport personPlayerSaga from \"./personPlayerSaga\";\r\nimport billingSaga from \"./billingSaga\";\r\nimport authorizationsSaga from \"./authorizationsSaga\";\r\nimport refundsSaga from \"./refundsSaga\";\r\nimport surveySaga from \"./surveySaga\";\r\nimport newsSaga from \"./newsSaga\";\r\nimport sedesSaga from \"./sedesSaga\";\r\nimport configurationSaga from \"./configurationSaga\";\r\nimport cardSaga from \"./cardSaga\";\r\nimport planPdfSaga from \"./planPdfSaga\";\r\nimport practicasSaga from \"./practicasSaga\";\r\nimport telemedicineAppointmentsSaga from \"./telemedicineAppointmentsSaga\";\r\nimport capsAndCopayLinksSaga from \"./capsAndCopayLinksSaga\";\r\nimport programRequirementAndFormSaga from \"./programRequirementAndFormSaga\";\r\nimport limitPlanSaga from \"./limitPlanSaga\";\r\nimport campaignSaga from \"./campaignSaga\";\r\nimport communicatedSaga from \"./communicationSaga\";\r\n\r\nexport default function* rootSaga() {\r\n  yield all([\r\n    communicatedSaga(),\r\n    filtersSaga(),\r\n    appointmentsSaga(),\r\n    phonesSaga(), emergencySaga(),\r\n    personalDataSaga(),\r\n    medicalDataSaga(),\r\n    coverageSaga(),\r\n    contactUsSaga(),\r\n    virtualDoctorSaga(),\r\n    registerUsersSaga(),\r\n    notificationsSaga(),\r\n    credentialSaga(),\r\n    activitiesSaga(),\r\n    procedureSaga(),\r\n    preventionSaga(),\r\n    personPlayerSaga(),\r\n    billingSaga(),\r\n    authorizationsSaga(),\r\n    refundsSaga(),\r\n    surveySaga(),\r\n    newsSaga(),\r\n    sedesSaga(),\r\n    campaignSaga(),\r\n    configurationSaga(),\r\n    cardSaga(),\r\n    planPdfSaga(),\r\n    practicasSaga(),\r\n    telemedicineAppointmentsSaga(),\r\n    capsAndCopayLinksSaga(),\r\n    programRequirementAndFormSaga(),\r\n    limitPlanSaga(),\r\n  ]);\r\n}","import { createStore, applyMiddleware } from \"redux\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\n\r\nimport rootReducer from \"../reducers\";\r\nimport rootSaga from \"../sagas\";\r\n\r\nconst configureStore = () => {\r\n  const sagaMiddleware = createSagaMiddleware();\r\n  return {\r\n    ...createStore(rootReducer, applyMiddleware(sagaMiddleware)),\r\n    runSaga: sagaMiddleware.run(rootSaga),\r\n  };\r\n};\r\n\r\nexport default configureStore;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport registerServiceWorker from \"./registerServiceWorker\";\r\n\r\nimport App from \"./App\";\r\n\r\nimport configureStore from \"./redux/store\";\r\nconst store = configureStore();\r\n\r\nReactDOM.render(<App store={store} />, document.getElementById(\"root\"));\r\nregisterServiceWorker();\r\n//test","import * as actionTypes from '../consts/actionTypes';\r\n\r\nexport function getNotifications() {\r\n    return {\r\n        type: actionTypes.GET_NOTIFICATIONS,\r\n        payload: ''\r\n    };\r\n}\r\n\r\nexport function setNotification(param) {\r\n    return {\r\n        type: actionTypes.SET_NOTIFICATIONS,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function selectNotification(notificationSelected) {\r\n    return {\r\n        type: actionTypes.SELECT_NOTIFICATION,\r\n        payload: notificationSelected\r\n    };\r\n}\r\n\r\nexport function setCount(COUNT) {\r\n    return {\r\n        type: actionTypes.SET_COUNT_NOTIFICATION,\r\n        payload: COUNT\r\n    };\r\n}\r\n\r\n\r\n/**/ \r\n\r\nexport function getAllNotifications(id) {\r\n    return {\r\n        type: actionTypes.GET_ALL_NOTIFICATION,\r\n        payload: id\r\n    };\r\n}\r\n\r\nexport function updateAllNotifications(notifications) {\r\n    return {\r\n        type: actionTypes.GET_UPDATE_ALL_NOTIFICATION,\r\n        payload: notifications\r\n    };\r\n}\r\n\r\nexport function modifyNotification(param) {\r\n    return {\r\n        type: actionTypes.MODIFY_NOTIFICATION,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function removeModifyNotification(param) {\r\n    return {\r\n        type: actionTypes.RESET_MODIFY_NOTIFICATION,\r\n        payload: param\r\n    };\r\n}\r\n\r\nexport function getNotification(id) {\r\n    return {\r\n        type: actionTypes.GET_NOTIFICATION,\r\n        payload: id\r\n    };\r\n}\r\n\r\nexport function setHashNotification(hash) {\r\n    return {\r\n        type: actionTypes.HASH_NOTIFICATION,\r\n        payload: hash\r\n    };\r\n}\r\n\r\nexport function getCommunication() {\r\n    return {\r\n      type: actionTypes.GET_COMMUNICATION,\r\n      payload: \"\",\r\n    }\r\n  }","import * as actionTypes from \"../consts/actionTypes\";\r\n\r\nexport function getLimitPlan() {\r\n  return {\r\n    type: actionTypes.GET_LIMIT_PLAN,\r\n    payload: \"\",\r\n  }\r\n}\r\n\r\nexport function postLimitPlan(param) {\r\n  return {\r\n    type: actionTypes.POST_LIMIT_PLAN,\r\n    payload: param,\r\n  }\r\n}\r\n\r\nexport function putLimitPlan(param) {\r\n  return {\r\n    type: actionTypes.PUT_LIMIT_PLAN,\r\n    payload: param,\r\n  }\r\n}\r\n\r\nexport function deleteLimitPlan(param) {\r\n  return {\r\n    type: actionTypes.DELETE_LIMIT_PLAN,\r\n    payload: param,\r\n  }\r\n}\r\n","import React, { useCallback, useState } from \"react\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport { useHistory } from \"react-router\";\r\n\r\nconst ItemMenu = (props) => {\r\n  const { Ref, Redirect, Icon, Link, Titulo, emergency, setOpenModalEmergency, notAccess, setOpenNotAccessModal } = props;\r\n  const classes = useStyles();\r\n  const [active, setActive] = useState(-1);\r\n  const history = useHistory();\r\n\r\n  const handleClick = (e, arg1) => {\r\n    e.preventDefault();\r\n    window.open(arg1);\r\n    setActive(arg1);\r\n    setColorActive(arg1);\r\n  };\r\n\r\n  const setColorActive = useCallback((arg1) => {\r\n    let response = '';\r\n    if (arg1 === history?.location?.pathname) {\r\n      response = classes.activeItemMenu;\r\n    }\r\n    return response;\r\n  }, [active]);\r\n\r\n  const handleModalEmergency = () => {\r\n    if (emergency) {\r\n      setOpenModalEmergency(prevState => !prevState);\r\n    } else if (notAccess) {\r\n      setOpenNotAccessModal(prevState => !prevState);\r\n    }\r\n    else {\r\n      (!history.location.pathname.includes(Redirect) || Redirect == \"/\") && history.push(Redirect);\r\n    }\r\n  };\r\n\r\n  return (\r\n    <>\r\n      {Ref ?\r\n        <ListItem button onClick={e => handleClick(e, Redirect)} className={`${classes.listItemsStyles} ${setColorActive()}`} >\r\n          <ListItemIcon className={classes.icon}>\r\n            {Icon}\r\n          </ListItemIcon>\r\n          <ListItemText\r\n            primary={\r\n              <>\r\n                <Typography className={classes.multiline}>\r\n                  {\" \"}\r\n                  {Titulo}{\" \"}\r\n                </Typography>\r\n              </>\r\n            }\r\n          />\r\n        </ListItem>\r\n        :\r\n        <ListItem button onClick={handleModalEmergency} className={` ${classes.listItemsStyles}  ${setColorActive(Redirect)}`}>\r\n          <ListItemIcon className={classes.icon}>\r\n            {Icon}\r\n          </ListItemIcon>\r\n          <ListItemText\r\n            primary={\r\n              <>\r\n                <Typography className={classes.multiline}>\r\n                  {\" \"}\r\n                  {Titulo}{\" \"}\r\n                </Typography>\r\n              </>\r\n            }\r\n          />\r\n        </ListItem>\r\n      }\r\n    </>\r\n  );\r\n};\r\nexport default React.memo(ItemMenu);\r\n","import React, { useCallback } from \"react\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport useStyles from \"../../assets/styles/styles\";\r\nimport \"./modal.css\";\r\nimport { Box } from \"@material-ui/core\";\r\n\r\nconst ModalProfile = (props) => {\r\n  const classes = useStyles();\r\n  const { title, description, observation, specialties, open, onClose, type, customBackgroundDialog, customBackgroundDialogContent, close } = props;\r\n\r\n  const handleClose = useCallback(() => {\r\n    onClose(false);\r\n  }, []);\r\n\r\n  return (\r\n    <div>\r\n      {type === 'cancel' ?\r\n        <Dialog\r\n          onClose={handleClose}\r\n          aria-labelledby=\"customized-dialog-title\"\r\n          open={open}\r\n          id=\"modalTurn\"\r\n        >\r\n          {close &&\r\n            <IconButton\r\n              aria-label=\"close\"\r\n              className={classes.closeButton}\r\n              onClick={handleClose}\r\n            >\r\n              <CloseIcon />\r\n            </IconButton>\r\n          }\r\n          <Box display=\"flex\" id=\"cancelModal\">\r\n            <div style={{ alignSelf: 'center' }}>\r\n              <DialogTitle\r\n                id=\"customized-dialog-title\"\r\n                className={`${classes.contentDialogTitle} ${classes.contentDialogTitleCancel}`}\r\n                onClose={handleClose}\r\n              >\r\n                {title}\r\n              </DialogTitle>\r\n              <DialogContent className={classes.contentDialogTitle}>\r\n                {observation}\r\n              </DialogContent>\r\n              <DialogContent className={classes.contentDialogTitle}>\r\n                {description}\r\n              </DialogContent>\r\n            </div>\r\n          </Box>\r\n        </Dialog>\r\n        :\r\n\r\n        <Dialog\r\n          onClose={handleClose}\r\n          aria-labelledby=\"customized-dialog-title\"\r\n          open={open}\r\n          id=\"backDrop\"\r\n        >\r\n          <div id=\"modalProfile\">\r\n            <IconButton\r\n              aria-label=\"close\"\r\n              className={classes.closeButton}\r\n              onClick={handleClose}\r\n            >\r\n              <CloseIcon />\r\n            </IconButton>\r\n\r\n            <DialogTitle\r\n              id=\"customized-dialog-title\"\r\n              className={`${classes.contentDialogTitle} ${customBackgroundDialog}`}\r\n              onClose={handleClose}\r\n            >\r\n              {title}\r\n            </DialogTitle>\r\n\r\n            <DialogContent dividers className={`${customBackgroundDialogContent}`}>\r\n              {description}\r\n              {observation}\r\n              {specialties}\r\n            </DialogContent>\r\n          </div>\r\n        </Dialog>}\r\n    </div>\r\n  );\r\n};\r\nexport default React.memo(ModalProfile, (prevState, nextState) => {\r\n  return prevState.open === nextState.open && prevState.title === nextState.title && prevState.description === nextState.decription;\r\n});\r\n","\r\nexport const IDENTITY_CONFIG = {\r\n    authority: window.env.API_IDENTITY,\r\n    client_id: window.env.CLIENT_ID_MOBILE,\r\n    redirect_uri: window.env.URL_CALLBACK_WEB_MOBILE,\r\n    scope: window.env.SCOPE_MOBILE,\r\n    post_logout_redirect_uri: window.env.URL_PUBLIC_MOBILE, // (string): The OIDC post-logout redirect URI.\r\n    automaticSilentRenew: true, //(boolean, default: false): Flag to indicate if there should be an automatic attempt to renew the access token prior to its expiration.\r\n    loadUserInfo: false, //(boolean, default: true): Flag to control if additional identity data is loaded from the user info endpoint in order to populate the user's profile.\r\n    silent_redirect_uri: window.env.URL_SILENT_NEW_MOBILE, //(string): The URL for the page containing the code handling the silent renew.\r\n    response_type: \"token id_token\" //(string, default: 'id_token'): The type of response desired from the OIDC provider.\r\n  };\r\n  \r\n  export const METADATA_OIDC = {\r\n    issuer: window.env.API_IDENTITY,\r\n    jwks_uri: window.env.API_IDENTITY + \"/.well-known/openid-configuration/jwks\",\r\n    authorization_endpoint: window.env.API_IDENTITY + \"/connect/authorize\",\r\n    token_endpoint: window.env.API_IDENTITY + \"/connect/token\",\r\n    userinfo_endpoint: window.env.API_IDENTITY + \"/connect/userinfo\",\r\n    end_session_endpoint: window.env.API_IDENTITY + \"/connect/endsession\",\r\n    check_session_iframe: window.env.API_IDENTITY + \"/connect/checksession\",\r\n    revocation_endpoint: window.env.API_IDENTITY + \"/connect/revocation\",\r\n    introspection_endpoint: window.env.API_IDENTITY + \"/connect/introspect\"\r\n  };","import { IDENTITY_CONFIG, METADATA_OIDC } from \"../../utils/authConst\";\r\nimport { UserManager, WebStorageStateStore } from \"oidc-client\";\r\nimport jwt_decode from 'jwt-decode';\r\n\r\nexport default class AuthService {\r\n  UserManager;\r\n  accessToken;\r\n\r\n  constructor() {\r\n    // Verificar si hay una sesión activa y si no estamos en la pantalla de destino\r\n    const sessionActive = localStorage.getItem(\"access_token\");\r\n    const currentPath = window.location.pathname;\r\n\r\n    if (sessionActive && currentPath?.includes('callback')) {\r\n      // Redirigir a la pantalla de destino si ya hay una sesión activa y no estamos en \"/Register\"\r\n      this.navigateToScreen();\r\n    } else {\r\n      // Inicializar UserManager solo si no hay sesión activa\r\n      this.UserManager = new UserManager({\r\n        ...IDENTITY_CONFIG,\r\n        userStore: new WebStorageStateStore({ store: window.localStorage }),\r\n        metadata: {\r\n          ...METADATA_OIDC,\r\n        },\r\n      });\r\n\r\n      // Eventos de UserManager\r\n      this.UserManager.events.addUserLoaded((user) => {\r\n        // Almacenar tokens en localStorage\r\n        localStorage.setItem(\"access_token\", user.access_token);\r\n        localStorage.setItem(\"id_token\", user.id_token);\r\n        this.accessToken = user.access_token;\r\n        this.setUserInfo({\r\n          accessToken: this.accessToken,\r\n          idToken: user.id_token,\r\n        });\r\n\r\n        // Redirigir si la URL incluye \"callback\" después de la autenticación\r\n        if (window.location.href.indexOf(\"callback\") !== -1) {\r\n          this.navigateToScreen();\r\n        }\r\n      });\r\n\r\n      this.UserManager.events.addSilentRenewError();\r\n      this.UserManager.events.addAccessTokenExpired(() => {\r\n        this.signinSilent();\r\n      });\r\n    }\r\n  }\r\n\r\n  signinRedirectCallback = () => {\r\n    this.UserManager?.signinRedirectCallback().then(() => {\r\n      \"\";\r\n    });\r\n  };\r\n\r\n  getUser = async () => {\r\n    const user = await this.UserManager.getUser();\r\n    if (!user) {\r\n      return this.UserManager.signinRedirectCallback();\r\n    }\r\n    return user;\r\n  };\r\n\r\n  parseJwt = (token) => {\r\n    if (token !== null || token !== undefined) {\r\n      return jwt_decode(token);\r\n    }\r\n    return null;\r\n  };\r\n\r\n  setUserInfo = (authResult) => {\r\n    const data = this.parseJwt(this.accessToken);\r\n\r\n    this.setlocalInfo(authResult);\r\n    this.setUser(data);\r\n  };\r\n\r\n  signinRedirect = () => {\r\n    localStorage.setItem(\"redirectUri\", window.location.pathname);\r\n    this.UserManager.signinRedirect({});\r\n  };\r\n\r\n  setUser = (data) => {\r\n    const nombre = data.given_name ?? '';\r\n    const apellido = data.family_name ?? '';\r\n    localStorage.setItem(\"userId\", data.sub);\r\n    localStorage.setItem(\"userName\", `${nombre}_${apellido}`);\r\n    localStorage.setItem(\"role\", data.role);\r\n    localStorage.setItem(\"email\", data.email);\r\n  };\r\n\r\n  navigateToScreen = () => {\r\n    window.location.replace(\"/Register\");\r\n  };\r\n\r\n  setlocalInfo(authResult) {\r\n    localStorage.setItem(\"access_token\", authResult.accessToken);\r\n    localStorage.setItem(\"id_token\", authResult.idToken);\r\n  }\r\n\r\n  isAuthenticated = () => {\r\n    const oidcStorage = JSON.parse(\r\n      localStorage.getItem(\r\n        `oidc.user:${window.env.API_IDENTITY}:${window.env.CLIENT_ID_MOBILE}`\r\n      )\r\n    );\r\n    return !!oidcStorage && !!oidcStorage.access_token;\r\n  };\r\n\r\n  signinSilent = () => {\r\n    this.UserManager.signinSilent()\r\n      .then((user) => {\r\n        console.log(\"signed in\", user);\r\n      })\r\n      .catch((err) => {\r\n        console.log(err);\r\n      });\r\n  };\r\n  signinSilentCallback = () => {\r\n    this.UserManager.signinSilentCallback();\r\n  };\r\n\r\n  createSigninRequest = () => {\r\n    return this.UserManager.createSigninRequest();\r\n  };\r\n\r\n  logout = () => {\r\n    this.UserManager.signoutRedirect({\r\n      id_token_hint: localStorage.getItem(\"id_token\"),\r\n    });\r\n    this.UserManager.clearStaleState();\r\n  };\r\n\r\n  signoutRedirectCallback = () => {\r\n    this.UserManager.signoutRedirectCallback().then(() => {\r\n      localStorage.clear();\r\n      window.location.replace(window.env.URL_PUBLIC_MOBILE);\r\n    });\r\n    this.UserManager.clearStaleState();\r\n  };\r\n}\r\n","import React, {Component} from \"react\";\r\nimport AuthService from \"../services/authService\";\r\n\r\nconst AuthContext = React.createContext({\r\n    signinRedirectCallback: () => ({}),\r\n    logout: () => ({}),\r\n    signoutRedirectCallback: () => ({}),\r\n    isAuthenticated: () => ({}),\r\n    signinRedirect: () => ({}),\r\n    signinSilentCallback: () => ({}),\r\n    createSigninRequest: () => ({})\r\n});\r\n\r\nexport const AuthConsumer = AuthContext.Consumer;\r\n\r\nexport class AuthProvider extends Component {\r\n    \r\n    authService;\r\n    constructor(props) {\r\n        super(props);\r\n        this.authService = new AuthService();\r\n    }\r\n    render() {\r\n        \r\n        return <AuthContext.Provider value={this.authService}>{this.props.children}</AuthContext.Provider>;\r\n    }\r\n}\r\n","import React from 'react';\r\nimport { Typography } from \"@material-ui/core\";\r\nimport { useResizeScreen } from \"../../../hooks/useResizeScreen\";\r\nimport { MONTHS } from \"../../../utils/utilsFunctions\";\r\nimport useStyles from '../../../assets/styles/styles';\r\n\r\nconst HeaderCard = ({ day, numberDay, month, year }) => {\r\n    const { screen } = useResizeScreen();\r\n    const classes = useStyles();\r\n\r\n    return (\r\n        <>\r\n            {screen.sWidth > 321 ?\r\n                <>\r\n                    <Typography style={{ fontSize: '9px' }} className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                        {day}\r\n                    </Typography>\r\n                    <Typography style={{ fontSize: '2rem' }} className={`${classes.txtNumberCalendar} ${classes.txtEllipsis}`}>\r\n                        {numberDay}\r\n                    </Typography>\r\n                    <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n                        <Typography style={{ paddingRight: '2px' }} className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                            {MONTHS[month]}\r\n                        </Typography>\r\n                        <Typography className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                            {year}\r\n                        </Typography>\r\n                    </div>\r\n                </>\r\n                :\r\n                <div style={{ display: 'flex' }}>\r\n                    <div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'center' }}>\r\n                        <Typography style={{ fontSize: '40px' }} className={`${classes.txtNumberCalendar} ${classes.txtEllipsis}`}>\r\n                            {numberDay}\r\n                        </Typography>\r\n                    </div>\r\n                    <div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'center', paddingLeft: '10px' }}>\r\n                        <Typography style={{ fontSize: '15px' }} className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                            {day}\r\n                        </Typography>\r\n                        <div style={{ display: 'flex', justifyContent: 'flex-start' }}>\r\n                            <Typography style={{ paddingRight: '2px', fontSize: '12px' }} className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                                {MONTHS[month]}\r\n                            </Typography>\r\n                            <Typography style={{ fontSize: '12px' }} className={`${classes.txtCalendar} ${classes.txtEllipsis}`}>\r\n                                {year}\r\n                            </Typography>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            }\r\n        </>\r\n    );\r\n};\r\n\r\nexport default React.memo(HeaderCard);","import React from 'react';\r\nimport useStyles from \"../../assets/styles/styles\";\r\nconst QuickAccess = (props) => {\r\n    const classes = useStyles();\r\n    const { children, index, hasNotification, customClass } = props;\r\n    const setIconColor = (i) => {\r\n        let cssClass = classes.ShowMoreArrowIcon;\r\n        if (i % 2 === 0) return classes.txtDarkBlue;\r\n        return cssClass;\r\n    };\r\n\r\n    return <>\r\n        <div style={{ border: hasNotification ? '3px solid' : 'none' }} className={`${classes.backgroundToLightGray} ${classes.lightBoxShadow} ${classes.quickAccess} ${setIconColor(index)} ${customClass}`}>\r\n            {children}\r\n        </div>\r\n    </>;\r\n};\r\n\r\nexport default React.memo(QuickAccess,(prevState, nextState) => {\r\n    return prevState === nextState\r\n});","import { IconButton, Typography } from '@material-ui/core';\r\nimport React from 'react';\r\nimport QuickAccess from './QuickAccess';\r\n\r\nconst QuickAccessBox = (props) => {\r\n    const { hasNotification, i, item, classes, customClass, iconClass, txtIcon, handleClick, ...other } = props;\r\n    return <>\r\n        <IconButton className={`${classes.divItemQuickAccess} ${classes.correctionBlockIcon} ${customClass}`} onClick={handleClick} {...other}>\r\n            <QuickAccess hasNotification={hasNotification} index={i} customClass={iconClass}>\r\n                {item.icon}\r\n            </QuickAccess>\r\n            <Typography className={`${classes.txtObservaciones} ${classes.subtitleTurn} ${classes.txtDarkBlue} ${classes.txtQuickAccess} ${classes.txtEllipsis} ${classes.correctionSentence} ${txtIcon}`} style={{ marginTop: \"5px \" }}>\r\n                {item.title}\r\n            </Typography>\r\n        </IconButton>\r\n    </>;\r\n};\r\n\r\nexport default React.memo(QuickAccessBox, (prevState, nextState) => {\r\n    return prevState.item === nextState.item;\r\n});"],"sourceRoot":""}