{"version":3,"sources":["imgs/card-tag.svg","imgs sync /^/logo/-enrg/-.*/.svg$","store/creators/Shared.js","store/reducers/Login.js","store/reducers/Users.js","services/CalendarHandler.js","store/reducers/Energy.js","store/reducers/Invoices.js","store/reducers/Pays.js","store/reducers/Services.js","store/reducers/Accounts.js","store/reducers/Shared.js","store/reducers/Plus.js","store/reducers/Genius.js","store/reducers/Notifications.js","store/reducers/Alerts.js","store/reducers/Chatbot.js","utils/enums.js","store/reducers/Theme.js","store/Store.js","store/creators/Login.js","store/creators/Users.js","store/creators/Energy.js","store/creators/Services.js","store/creators/Invoices.js","store/creators/Pays.js","store/creators/Accounts.js","store/creators/Plus.js","store/creators/Genius.js","store/creators/Notifications.js","store/creators/Alerts.js","store/creators/Chatbot.js","store/creators/Theme.js","services/WebServices.js","store/actions/Users.js","store/actions/Accounts.js","language/es.js","store/actions/Shared.js","store/actions/Login.js","store/actions/Services.js","store/actions/Invoices.js","store/actions/Energy.js","components/shared/utilities/useWindowSize.js","components/energy/cards/Cards.js","store/actions/Theme.js","components/energy/graphs/SubMenuGraphs.js","services/GraphsHandler.js","components/genius/TextTooltip.js","components/shared/utilities/ButtonCircle.js","components/energy/graphs/GraphTypePicker.js","components/genius/ExtraItemsPopover.js","components/energy/graphs/GraphPeriodPicker.js","components/energy/graphs/GraphIndicators.js","components/shared/utilities/CalendarGraphEnergy.js","components/shared/utilities/Input.js","components/energy/graphs/ExportGraph.js","components/shared/svgs/GraphStyles.js","components/onboarding/utils/StepProgressBar.js","components/onboarding/utils/TooltipCustom.js","components/onboarding/hook/useTour.js","components/onboarding/steps/GraphPeriodSteps.js","components/onboarding/steps/GraphCalendarSteps.js","components/onboarding/steps/GraphExportDataSteps.js","components/energy/graphs/Graph.js","components/onboarding/steps/GraphTypeSteps.js","components/energy/invoice/Invoice.js","store/actions/Notifications.js","components/shared/utilities/BackButton.js","components/shared/utilities/MultipleSelect.js","components/shared/Support.js","components/shared/WalletCard.js","components/shared/Neugets.js","store/actions/Alerts.js","components/notifications/PopoverNotifications.js","components/notifications/NotificationBox.js","services/NotificationsHandler.js","components/shared/utilities/CheckPicker.js","components/alerts/IntervalTime.js","components/alerts/NewAlert.js","components/notifications/Notifications.js","store/actions/Chatbot.js","components/energy/services/ServicesPopover.js","components/shared/ChatPopover.js","components/shared/Chatbot.js","components/shared/Header.js","components/energy/services/ActiveServices.js","components/shared/utilities/Table.js","components/shared/users/Users.js","components/shared/users/UserCreate.js","components/energy/services/ServicesContainer.js","components/onboarding/steps/ServicePickerSteps.js","components/energy/Energy.js","components/onboarding/steps/ServiceSteps.js","components/menu/User.js","components/menu/Menu.js","components/shared/utilities/Tooltip.js","components/invoices/InvoiceDetails.js","components/invoices/InvoiceModal.js","components/invoices/InvoiceTable.js","components/invoices/InvoiceSummary.js","components/invoices/account/AccountDrawer.js","store/actions/Pays.js","components/invoices/pay/PaymentMethod.js","components/shared/utilities/Select.js","components/invoices/pay/CardPayment.js","components/invoices/pay/PsePayment.js","components/invoices/pay/Pay.js","components/shared/utilities/CalendarInvoices.js","components/onboarding/steps/InvoiceSteps.js","components/invoices/Invoices.js","components/onboarding/steps/PaymentSteps.js","components/shared/utilities/Picker.js","components/onboarding/steps/UserSteps.js","components/shared/Account.js","store/actions/Plus.js","components/plus/dashboard/graphs/GraphPicker.js","components/plus/dashboard/tags/CreateDevice.js","components/plus/dashboard/tags/CreateTag.js","components/plus/dashboard/export/ExportGraph.js","components/plus/dashboard/graphs/Graph.js","components/plus/dashboard/cards/Cards.js","components/plus/dashboard/modules/Radar.js","components/plus/dashboard/modules/AlwaysOn.js","components/plus/dashboard/modules/Rank.js","components/shared/Services.js","components/plus/dashboard/shared/ServicesContainer.js","components/plus/Plus.js","components/efficiency/Efficiency.js","components/plus/dashboard/tags/GraphPower.js","components/plus/dashboard/tags/TagManager.js","store/actions/Genius.js","components/genius/ActiveReports.js","components/genius/SubMenu.js","components/genius/Picker.js","components/genius/ExportReport.js","components/shared/utilities/CalendarRangePicker.js","components/shared/utilities/MonthYearPicker.js","components/genius/Genius.js","components/plus/dashboard/alwayson/graph/GraphPeriodPicker.js","components/shared/utilities/Calendar.js","components/plus/dashboard/alwayson/graph/Graph.js","components/plus/dashboard/alwayson/Cards.js","components/plus/dashboard/alwayson/AlwaysOn.js","components/plus/dashboard/quality/Graphs.js","components/plus/dashboard/quality/Cards.js","components/plus/dashboard/quality/PowerFactor.js","components/plus/dashboard/quality/QualityEnergy.js","components/dashboard/Dashboard.js","components/onboarding/steps/DashboardSteps.js","components/preonboarding/Preonboarding.js","components/onboarding/OnboardingModal.js","components/shared/utilities/RateNumber.js","components/nps/PopUpScore.js","components/nps/NpsSurvey.js","components/alerts/PopoverAlerts.js","components/alerts/DeleteAlertModal.js","components/alerts/Alerts.js","components/shared/LumiBanner.js","components/onboarding/OnboardingSections.js","components/onboarding/steps/AlertSteps.js","components/onboarding/steps/WalktroughSteps.js","components/shared/svgs/Gradients.js","components/Main.js","components/onboarding/steps/ProfileSteps.js","components/shared/utilities/InputRounded.js","components/login/Login.js","components/invoices/pay/paid/PaidStatus.js","components/invoices/pay/paid/Paid.js","components/shared/MobileScreen.js","components/onboarding/Onboarding.js","App.js","index.js","imgs/empty-data-device.svg","imgs/empty-data-device-light.svg","imgs/empty-modules-plus.svg","imgs/empty-widgets-slider.svg","imgs/empty-graph-energy.svg","imgs/empty_state_alerts.svg","imgs/pse-logo-dark.svg","imgs/pse-logo-light.svg","imgs/empty-modules-plus-light.svg","imgs/onboarding/step3-profile.png","imgs/onboarding/english/step3-profile-en.png","imgs/logo-enrg-light.svg","imgs/logo-enrg-dark.svg","imgs/logo-enrg-white.svg","imgs/empty-graph-energy-light.svg","imgs/onboarding/step1-graph-type.png","imgs/onboarding/english/step1-graph-type-en.png","imgs/onboarding/step2-graph-type.png","imgs/onboarding/english/step2-graph-type-en.png","imgs/onboarding/step3-graph-type.png","imgs/onboarding/english/step3-graph-type-en.png","imgs/onboarding/step4-graph-type.png","imgs/onboarding/english/step4-graph-type-en.png","imgs/onboarding/step1-graph-period.png","imgs/onboarding/english/step1-graph-period-en.png","imgs/onboarding/step2-graph-period.png","imgs/onboarding/english/step2-graph-period-en.png","imgs/onboarding/step3-graph-period.png","imgs/onboarding/english/step3-graph-period-en.png","imgs/onboarding/step4-graph-period.png","imgs/onboarding/english/step4-graph-period-en.png","imgs/onboarding/step5-graph-period.png","imgs/onboarding/english/step5-graph-period-en.png","imgs/onboarding/step1-graph-calendar.png","imgs/onboarding/english/step1-graph-calendar-en.png","imgs/onboarding/step2-graph-calendar.png","imgs/onboarding/english/step2-graph-calendar-en.png","imgs/onboarding/step1-graph-export.png","imgs/onboarding/english/step1-graph-export-en.png","imgs/onboarding/step2-graph-export.png","imgs/onboarding/english/step2-graph-export-en.png","imgs/empty-card-bill.svg","files/TyC+PLAN+DE+REFERIDOS+.pdf","imgs/empty-data-notifications.svg","imgs/empty-data-notifications-light.svg","imgs/LUMI.png","imgs/empty-users.svg","imgs/empty-user-light.svg","imgs/onboarding/step1-service-detail.png","imgs/onboarding/english/step1-service-detail-en.png","imgs/onboarding/step2-service-detail.png","imgs/onboarding/english/step2-service-detail-en.png","imgs/onboarding/step1-service-picker.png","imgs/onboarding/english/step1-service-picker-en.png","imgs/onboarding/step2-service-picker.png","imgs/onboarding/english/step2-service-picker-en.png","imgs/onboarding/step3-service-picker.png","imgs/onboarding/english/step3-service-picker-en.png","imgs/jeh-signature.png","imgs/visa-logo-dark.svg","imgs/visa-logo-light.svg","imgs/onboarding/step1-payment.png","imgs/onboarding/english/step1-payment-en.png","imgs/onboarding/step2-payment.png","imgs/onboarding/english/step2-payment-en.png","imgs/onboarding/step3-payment.png","imgs/onboarding/english/step3-payment-en.png","imgs/onboarding/step4-payment.png","imgs/onboarding/english/step4-payment-en.png","imgs/onboarding/step1-invoice.png","imgs/onboarding/english/step1-invoice-en.png","imgs/onboarding/step2-invoice.png","imgs/onboarding/english/step2-invoice-en.png","imgs/onboarding/step1-new-user.png","imgs/onboarding/english/step1-new-user-en.png","imgs/onboarding/step2-new-user.png","imgs/onboarding/english/step2-new-user-en.png","imgs/onboarding/step3-new-user.png","imgs/onboarding/english/step3-new-user-en.png","imgs/box.svg","imgs/empty_widgets_slider_light.svg","imgs/empty-data-tag.svg","imgs/empty-data-tag-light.svg","imgs/empty_state_genius_dark.svg","imgs/empty_state_genius_light.svg","imgs/logo-neu-white.svg","imgs/logo-erco.svg","imgs/erco-computer.png","imgs/erco-generation.png","imgs/erco-efficiency.png","imgs/erco-screen.png","imgs/hand-with-phone.png","imgs/consumption-info.png","imgs/energy-receipt.png","imgs/steps.png","imgs/left-chat.png","imgs/right-chat.png","imgs/empty_state_alerts_light.svg","imgs/onboarding/step1-profile.png","imgs/onboarding/english/step1-profile-en.png","imgs/onboarding/step2-profile.png","imgs/onboarding/english/step2-profile-en.png","imgs/onboarding/step1-alerts.png","imgs/onboarding/english/step1-alerts-en.png","imgs/onboarding/step2-alerts.png","imgs/onboarding/english/step2-alerts-en.png","imgs/onboarding/step3-alerts.png","imgs/onboarding/english/step3-alerts-en.png","imgs/onboarding/step4-alerts.png","imgs/onboarding/english/step4-alerts-en.png","imgs/onboarding/step5-alerts.png","imgs/onboarding/english/step5-alerts-en.png","imgs/onboarding/step6-alerts.png","imgs/onboarding/english/step6-alerts-en.png","imgs/onboarding/step7-alerts.png","imgs/onboarding/english/step7-alerts-en.png","imgs/onboarding/step8-alerts.png","imgs/onboarding/english/step8-alerts-en.png","imgs/onboarding/step-walktrough.png","imgs/onboarding/english/step-walktrough-en.png","imgs/app-store.svg","imgs/play-store.svg"],"names":["module","exports","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","initialState","step","loading","resending","counter","codeTries","user","profileProgress","savingInfoUser","userAccessEdit","showCreateUserModal","showUsersListModal","userJobs","usersAccount","usersAccountLoading","userChannels","userPersonalInterests","userPreferenceInfo","showUserPreferencesModal","userTokenApi","usersLoading","calendarIntervals","setCalendarDates","value","interval","graphDateFrom","graphDateTo","addDays","startOfWeek","startOfMonth","addMonths","startOfYear","addYears","setCalendarDatesEnergy","startDate","endDate","sortByDate","a","b","date","graphData","graphLoading","indicatorsLoading","intervalGraph","graphs","graphsRelations","activeGraphs","indicators","invoiceInfo","Date","graphDateFromScroll","graphDateToScroll","enableScrollData","showReportModal","reportLoading","scrollActive","tariff","bannersData","showDetailService","prevStateBar","enableAverageLine","rankGraphId","invoices","invoicesSummary","total_bills","pending_bills","total_consumption","total_payment","id_bills_array","invoicesSummaryLoading","invoicesLoading","delayedInvoicesLoading","moreInvoicesLoading","invoicesDate","selectedInvoices","banks","invoicesToPay","invoicesContent","invoicesContentLoading","invoiceDetails","invoiceDetailsContent","invoiceDetailsIndex","invoicesPeriods","invoicesPeriodsFiltered","billsStatus","name","color","text_color","filterStatus","totalInvoicesByPeriod","currentPage","sortField","sortOrder","showPay","emptyPaginationResult","typeComponent","infoPayment","commission","totalPayment","neugets","paymentLoading","paymentMethods","paymentProvider","servicesTypes","key","title","icon","totalServices","totalServicesGrouped","activeServicesEnergy","activeServicesPlus","activeServicesInvoices","activeServicePreonboarding","defaultActiveService","totalAccounts","account","codeReferred","language","currentModule","showMenu","showBlackScreen","showBlackScreenDrawer","showCalendar","showNpsSurvey","showDrawerOnboarding","startOnboarding","dashboard","service_detail","service_picker","graph_type_picker","graph_period_picker","graph_calendar_picker","graph_export_data","new_alert","new_user","payment","invoice","profile","walktrough","controlledOnboarding","showPulseAnimation","screenPaddingBottom","dataGraph","dataGraphPage","loadingInitData","enableHistory","devices","energyQuality","loadingEnergyQuality","alwaysOn","loadingAlwaysOn","loadingIndicators","comparatives","loadingComparatives","appliances","tagRecords","lastConection","lastPage","lastDay","openQualityEnergy","dataGraphQuality","dataGraphAlwaysOn","intervalGraphAlwaysOn","graphDateFromAlwaysOn","graphDateToAlwaysOn","graphDateFromScrollAlwaysOn","graphDateToScrollAlwaysOn","enableScrollDataAlwaysOn","loadingAlwaysOnModule","qualityIndicators","loadingQualityIndicators","alwaysOnIndicators","loadingAlwaysOnIndicators","rankGraphIdAlwaysOn","totalReports","activeReports","loadingReport","loadingNewReport","reportGenerated","newReport","expanded","serviceType","graphsType","totalGraphs","notifications","notificationsPagination","notificationsLoading","totalNotificationsInfo","alerts","alertRegisters","alertRegistersPagination","alertRegistersLoading","totalalertRegistersInfo","showDrawerAlerts","activeChat","loadingChat","currentConversationId","messages","showChatBot","activeChatMessages","conversations","showBannerChatbot","themes","DARK","LIGHT","savedTheme","localStorage","getItem","theme","values","includes","allReducers","combineReducers","login","state","arguments","length","undefined","type","payload","users","capabilities","energy","eventProperty","dates","options","graphsGroups","relations","services","newInvoices","currentInvoice","foundInvoice","find","i","id_bill","loadingDelay","filter","ip","paid_bills","due_bills","pays","accounts","shared","currentStartOnboarding","currentControlledOnboarding","plus","_arrayPages$","arrayPages","lastAvailablePage","_","last","item","init","idPageRecord","push","sort","data","flat","arrayPagesStreaming","pageInit","pageInitModified","concat","dataGraphStreaming","newData","_payload$data","dataGraphHistoryInit","genius","chatbot","action","Store","createStore","root","composeWithDevTools","applyMiddleware","thunk","current","process","SETData","async","url","method","params","endpoint","simple","token","headers_simple","response","fetch","headers","Headers","body","JSON","stringify","ok","text","then","parse","GETData","mode","GETS3PublicUrl","path","bucket","region","objectDataBody","error","console","setUser","setSavingInfoUser","setShowCreateUserModal","setShowUsersListModal","setUsersAccount","setUserAccessEdit","setUsersAccountLoading","setLoadingNewUser","getUserExtraDataAsync","dispatch","getState","idUser","catch","loadUserJobsAsync","loadUsersByAccountAsync","_getState$accounts$ac","accountId","idAccount","finally","getUserApiTokenAsync","setAccount","setNeugets","loadAccountsAsync","accountSavedInLocalStorage","userId","usersNEU","_response","identifyObj","Identify","set","identify","checkIfLocalStorageHaveAValidAccount","some","_accountSavedInLocalS","setItem","lang","title_button_go_to_back","support_title_main","support_emergency_button","support_help_button","notifications_title","notifications_show_all","notifications_show_alerts","notifications_back_button","notifications_notification_set_read","notifications_notification_set_unread","notifications_notification_delete","notifications_empty_state_title","notifications_empty_state_text","support_main_title_drawer","support_main_description_drawer","support_title_section_personal_data","support_input_label_id_document","support_input_label_user_name","support_input_placeholder_user_name_example","support_input_label_user_lastname","support_input_placeholder_user_lastname_example","support_input_label_user_email","support_input_placeholder_user_email_example","support_input_label_user_phone","support_input_placeholder_user_phone_example","support_input_label_user_address","support_input_placeholder_user_address_example","support_select_label_service","support_select_label_type_ticket","support_select_option_customer_requests","support_select_option_customer_claims","support_select_option_customer_complaints","support_select_option_customer_suggestions","support_select_label_area_ticket","support_select_option_billing","support_select_option_operations","support_select_option_tech","support_select_option_accounting","support_select_option_legal","support_select_option_customer_success","support_title_section_detail_ticket","support_input_label_request_ticket","support_title_section_upload_file","support_description_section_upload_file","support_button_label_upload_file","support_button_label_send_form","user_picker_placeholder_account","user_title_section_personal_data","user_title_section_your_info","user_input_label_id_document","user_input_label_names","user_input_placeholder_names_example","user_input_label_lastname","user_input_placeholder_lastname_example","user_input_label_email","user_input_placeholder_email_example","user_input_label_phone","user_input_placeholder_phone_example","user_input_label_optional_phone","user_input_placeholder_optional_phone_example","user_input_label_address","user_input_placeholder_address_example","user_input_label_optional_address","user_input_placeholder_optional_address_example","user_select_label_language","user_title_section_health","user_input_label_height","user_input_placeholder_height_example","user_input_label_weight","user_input_placeholder_weight_example","user_input_label_eps","user_input_placeholder_eps_example","user_select_label_insurance","user_title_section_home","user_input_label_type_property","user_input_placeholder_type_property","user_input_label_house_area","user_input_placeholder_house_area_example","user_input_label_house_people","user_input_label_house_levels","user_input_label_house_floor","user_picker_label_own_home","user_picker_label_solar_system","user_title_section_vehicle","user_picker_label_own_vehicle","user_picker_label_electric_vehicle","user_picker_label_armored_vehicle","user_save_button","user_cancel_button","user_title_section_create_users","user_title_section_edit_users","user_title_section_accounts","user_title_section_privacy_info","user_title_section_terms_conditions","user_button_logout","user_select_option_language_es","user_select_option_language_en","user_select_option_type_apartment","user_select_option_type_house","user_select_option_type_country_house","user_select_option_type_farm","user_title_create_user","user_title_edit_user","user_select_label_job_area","user_select_option_financial_area","user_select_option_energy_area","user_select_option_support_area","user_select_option_enviromental_area","user_select_option_other_area","user_select_label_services_selected","user_select_label_services","user_button_add_user","user_button_edit_user","users_title_main_header","users_table_header_edit","users_table_header_id_document","users_table_header_name","users_table_header_lastname","users_table_header_phone","users_table_header_email","users_table_header_job_area","users_table_header_services","users_pagination_go_to_page","users_pagination_show_page","login_main_title","login_title_description","login_input_label_data","login_input_label_code","login_question_code","login_await_resend_code","login_unit_await_resend_code","login_resend_code","login_button_validate","login_button_continue","login_button_enter","login_link_cancel","login_title_step_two","plus_title_main_dashboard","plus_label_empty_data","plus_title_empty_state","plus_introduction_empty_state","plus_phrase_empty_state","plus_button_access","plus_link_more_info","plus_graph_picker_option_active_power","plus_graph_picker_option_reactive_power","plus_graph_picker_option_rms_voltage_1","plus_graph_picker_option_rms_voltage_2","plus_graph_picker_option_rms_voltage_3","plus_graph_picker_option_rms_current_1","plus_graph_picker_option_rms_current_2","plus_graph_picker_option_rms_current_3","plus_graph_text_help_tag_step_1","plus_graph_text_help_tag_step_2","plus_graph_text_empty_data_device","plus_graph_text_last_connection","plus_graph_button_show_last_records_device","plus_title_max_active_power","plus_unit_max_active_power","plus_graph_button_tag","plus_graph_button_tag_manager","plus_graph_button_select_point","plus_graph_button_select_range","plus_graph_button_select_points","plus_graph_button_go_back","plus_always_on_title","plus_trends_title","plus_trends_label","plus_radar_title","plus_rank_title","plus_graph_title_empty_data","tag_new_device_main_title","tag_new_device_header_label_save","tag_new_device_header_label_cancel","tag_new_device_header_label_device","tag_new_device_title_name","tag_new_device_input_label_name","tag_new_device_title_type","tag_new_device_input_label_type","tag_new_device_title_brand","tag_new_device_input_label_brand","tag_new_device_title_reference","tag_new_device_input_label_reference","tag_new_device_button_create","tag_new_device_button_cancel","tag_new_tag_header_label_save","tag_new_tag_header_label_tag","tag_new_tag_header_label_cancel","tag_new_tag_input_label_search","tag_new_tag_title_devices_list","tag_new_tag_text_average_comsuption","tag_new_tag_text_duration","tag_new_tag_text_no_tag","tag_new_tag_text_no_devices","tag_new_tag_text_no_devices_description","tag_new_tag_button_link_tag","tag_table_tag_label_processed","tag_table_tag_label_procesing","tag_new_tag_button_new_device","tag_graph_power_legend_active_power","tag_graph_power_legend_reactive_power","tag_graph_power_title_empty_data","tag_graph_power_phrase_empty_data","tag_manager_title_main_dashboard","tag_manager_title_devices","tag_manager_table_header_name","tag_manager_table_header_create_at","tag_manager_table_header_active_energy","tag_manager_table_header_active_power","tag_manager_table_header_reactive_energy","tag_manager_table_header_reactive_power","tag_manager_table_title_empty_data","tag_manager_table_phrase_empty_data","tag_manager_button_tag","tag_title_section_new_tags","services_input_label_search","services_select_all","energy_main_title_dashboard","energy_invoice_show_bills","energy_invoice_state_paid","energy_invoice_state_to_pay","energy_invoice_no_bills","energy_invoice_title","energy_invoice_label_consumption","energy_invoice_label_tariff","energy_invoice_show_detail","energy_trends_title","energy_trends_title_comparative","energy_widgets_empty_data","energy_adress_title","energy_service_type_title","energy_users_title","energy_period_picker_hour_to_hour","energy_period_picker_hour_to_hour_description","energy_period_picker_day_to_day","energy_period_picker_day_to_day_description","energy_period_picker_day_to_day_monthly","energy_period_picker_day_to_day_monthly_description","energy_period_picker_month_to_month","energy_period_picker_month_to_month_description","energy_graph_calendar_fast_access","energy_graph_calendar_button","energy_graph_calendar_week_range","energy_graph_calendar_month_range","energy_graph_title_empty_data","energy_graph_description_empty_data","energy_graph_empty_data_button","energy_graph_title","energy_graph_title_consumption","energy_graph_title_generation","energy_graph_title_daily_consumption","energy_graph_title_weekly_consumption","energy_graph_title_monthly_consumption","energy_graph_title_year_consumption","energy_graph_title_daily_generation","energy_graph_title_weekly_generation","energy_graph_title_monthly_generation","energy_graph_title_year_generation","energy_graph_indicator_total","energy_graph_indicator_max","energy_graph_indicator_average","energy_graph_period_picker_day","energy_graph_period_picker_week","energy_graph_period_picker_month","energy_graph_period_picker_year","energy_graph_type_picker_search","energy_graph_type_disclaimer","energy_graph_group_reactive","energy_graph_type_average_line","energy_graph_group_ac","energy_graph_group_irradiance","energy_graph_group_transactive_energy","energy_graph_group_power","energy_graph_group_active_energy_cost","energy_graph_group_dc","energy_graph_group_generation","energy_graph_group_current","energy_graph_group_frequency","energy_graph_group_active_energy","energy_graph_group_metereology","energy_graph_group_injection","energy_graph_group_voltage","energy_graph_group_temperature","energy_graph_group_irradiance_gen","energy_graph_group_operation_state","energy_graph_group_prediction_active_energy","energy_graph_label_active_energy","energy_graph_label_injected_energy","energy_graph_label_transactive_energy","energy_graph_label_reactive_excess_energy","energy_graph_label_reactive_inductive_energy","energy_graph_label_reactive_capacitive_energy","energy_graph_label_current","energy_graph_label_voltage","energy_graph_label_frequency","energy_graph_label_generation","energy_graph_label_generation_spec","energy_graph_label_current_ac","energy_graph_label_current_dc","energy_graph_label_voltage_ac","energy_graph_label_voltage_dc","energy_graph_label_active_pwr","energy_graph_label_apparent_pwr","energy_graph_label_pwr_factor","energy_graph_label_inverter_temp","energy_graph_label_heatsink_temp","energy_graph_label_irradiance","energy_graph_label_panel_temp","energy_graph_label_environment_temp","energy_graph_label_humidity","energy_graph_label_wind_speed","energy_graph_label_wind_direction","energy_graph_label_gen_frequency","energy_graph_label_active_energy_cost","energy_graph_label_active_power","energy_graph_label_reactive_power","energy_graph_label_prediction_active_energy","energy_graph_label_reactive_inductive_excess_energy","energy_graph_label_reactive_capacitive_excess_energy","energy_graph_unit_active_energy","energy_graph_unit_injected_energy","energy_graph_unit_transactive_energy","energy_graph_unit_reactive_excess_energy","energy_graph_unit_reactive_inductive_energy","energy_graph_unit_reactive_capacitive_energy","energy_graph_unit_reactive_inductive_excess_energy","energy_graph_unit_reactive_capacitive_excess_energy","energy_graph_unit_current","energy_graph_unit_voltage","energy_graph_unit_frequency","energy_graph_unit_generation","energy_graph_unit_generation_spec","energy_graph_unit_current_ac","energy_graph_unit_current_dc","energy_graph_unit_voltage_ac","energy_graph_unit_voltage_dc","energy_graph_unit_active_pwr","energy_graph_unit_apparent_pwr","energy_graph_unit_pwr_factor","energy_graph_unit_inverter_temp","energy_graph_unit_heatsink_temp","energy_graph_unit_irradiance","energy_graph_unit_panel_temp","energy_graph_unit_environment_temp","energy_graph_unit_humidity","energy_graph_unit_wind_speed","energy_graph_unit_wind_direction","energy_graph_unit_gen_frequency","energy_graph_unit_active_energy_cost","energy_graph_unit_active_power","energy_graph_unit_reactive_power","energy_graph_unit_prediction_active_energy","invoices_main_title_dashboard","invoices_main_title","invoices_title","invoices_empty_account_selection","invoices_account_total_selection_separator","invoices_account_total_selection","invoices_empty_date_selection","invoices_empty_filter_selection","invoices_pending_filter_option","invoices_summary_account_filter_alert_before_bold","invoices_summary_account_filter_alert_bold","invoices_summary_account_filter_alert_after_bold","invoices_selected_invoices_summary_title","invoices_pending_invoices_summary_title","invoices_empty_summary_pending_invoices","invoices_state_pending","invoices_state_overdue","invoices_state_paid","invoices_empty_state","invoices_state_suspended_service","invoices_state_due_date","invoices_button_download_bills","invoices_text_selec_all","invoices_text_total_pay","invoices_select_placeholder_all_services","invoices_button_pay","invoices_text_empty_bills_period","invoices_title_section_bills","invoices_text_error_show_bills","invoices_text_no_select_bills","invoices_pay_title_section_personal_data","invoices_pay_title_section_bank_data","invoices_pay_text_modal","invoices_pay_input_label_name","invoices_pay_input_placeholder_user_name_example","invoices_pay_input_label_email","invoices_pay_input_placeholder_email_example","invoices_pay_input_label_phone","invoices_pay_input_placeholder_phone_example","invoices_pay_input_label_address","invoices_pay_input_placeholder_address_example","invoices_pay_input_label_type_person","invoices_pay_input_label_type_document","invoices_pay_input_label_idDocument","invoices_pay_input_placeholder_idDocument_example","invoices_pay_input_label_bank","invoices_pay_title_total_payment","invoices_pay_title_subtotal_payment","invoices_pay_title_use_neugets","invoices_pay_title_get_neugets","invoices_pay_title_quantity_neugets","invoices_pay_title_total","invoices_pay_select_label_user_type","invoices_pay_select_label_banks","invoices_pay_select_label_user_legal_type","invoices_pay_text_total_to_pay","invoices_pay_text_options_to_pay","invoices_pay_button_pay","invoices_pay_label_option_cc","invoices_pay_label_option_ce","invoices_pay_label_option_nit","invoices_pay_label_option_natural_user","invoices_pay_label_option_legal_user","invoices_card_payment_cardholder_address","invoices_paid_title_state_approved","invoices_paid_title_state_declined","invoices_paid_title_state_pending","invoices_paid_text_email","invoices_paid_text_date","invoices_paid_text_date_payment","invoices_paid_text_ref","invoices_paid_text_description","invoices_paid_text_total_payment","invoices_paid_title_payment_receipt","invoices_paid_text_transaction_details","invoices_paid_text_total_bill","invoices_paid_text_neugets_discount","invoices_paid_text_neugets_remaining","invoices_paid_button_print","invoices_paid_link_finally","invoices_summary_title_energy","invoices_summary_title_plus","invoices_summary_title_zero","invoices_summary_title_detail_bill","invoices_summary_title_total_bill","invoices_summary_title_quantity_bill","invoices_summary_title_unit_price","invoices_alert_overdue","invoices_alert_note","alert_user_popup_name","alert_user_popup_lastname","alert_user_popup_id_document","alert_user_popup_email","alert_create_user_popup_email","alert_user_popup_phone","alert_create_user_popup_phone","alert_create_user_popup_job_area","alert_create_user_popup_selected_services","alert_new_user_popup_success","alert_edit_user_popup_success","alert_new_user_popup_failed","alert_edit_user_popup_failed","alert_user_popup_address","alert_support_popup_ticket_service","alert_support_popup_ticket_description","alert_support_popup_success","alert_submit_form_popup_success","alert_submit_form_popup_failed","alert_pay_popup_banks","alert_title_error","alert_title_success","alert_shared_error","alert_login_user_not_found","alert_login_invalid_code","menu_main_dashboard","menu_energy_service","menu_zero_service","menu_efficiency_service","menu_plus_service","menu_onboarding","main_title_mobile_screen","main_description_mobile_screen","language_locale","account_title_main_dashboard","account_detail_title_admin","account_detail_title_relations","service_detail_title_users","service_detail_title_location","zero_credit_card_title_show_detail","zero_credit_card_title_photovoltaic_system","zero_credit_card_title_full_loan","zero_credit_card_title_next_payment","zero_credit_detail_state_not_available","zero_credit_detail_state_pending","zero_credit_detail_state_paid","zero_credit_detail_state_canceled","zero_credit_detail_state_overdue","zero_credit_detail_title_detail_credit","zero_credit_detail_title_fee_amount","zero_credit_detail_title_agreed_interest_rate","zero_credit_detail_rate_placement","zero_credit_detail_title_full_loan","zero_credit_detail_title_total_paid","zero_credit_detail_title_depreciation_table","zero_marketplace_title_main","zero_marketplace_description","zero_marketplace_title_contact_adviser","zero_marketplace_title_credit_uses","zero_service_title_suggested","zero_service_detail_empty_content","zero_service_detail_button_request_quote","zero_approve_quote_title_main","zero_approve_quote_title_question","zero_approve_quote_info_email","zero_approve_quote_button_continue","zero_quote_title_version","zero_quote_title_show_detail","zero_quote_title_valid_until","zero_quote_button_approve_quote","zero_quote_state_in_process","zero_quote_state_accepted","zero_quotes_title_main","zero_quotes_empty_state","zero_quotes_empty_state_description","zero_tab_label_home","zero_tab_label_quotes","zero_tab_label_wallet","zero_neugets_card_title_balance","zero_neugets_card_title_help","zero_neugets_card_title_neugets","zero_neugets_card_title_ranking","zero_neugets_card_title_ranking_card","zero_wallet_title_history","zero_transactions_redeemed_neugets","zero_transactions_acquired_neugets","zero_transactions_invoice_paid","zero_transactions_empty_state","zero_transactions_empty_state_description","loader_text_content","invoices_text_empty_description_bills_period","alert_create_preference_info_user_success","alert_create_preference_info_user_error","alert_users_info_reception","alert_users_platform_uses","alert_users_personal_interests","users_preference_info_user_title","users_preference_info_user_description","users_preference_info_user_job","users_preference_info_reception","users_preference_info_user_platform_uses","users_preference_info_user_interests","users_multipleselect_placeholder","users_input_label_platform","users_button_personal_preferences","alert_delete_user_success","alert_delete_user_error","users_multipleselect_label_selected","alert_users_preference_info","users_preference_info_title","users_preference_info_description","users_preference_info_button_complete","neugets_tooltip_copy_code","neugets_text_share_code_title","neugets_text_share_code_message","neugets_drawer_main_title","neugets_drawer_text_neugets_description","neugets_drawer_text_use_neugets","neugets_drawer_text_get_neugets","neugets_drawer_text_share_referral_code","neugets_drawer_text_legal_terms","alert_create_new_tag_success","alert_create_new_tag_failed","alert_create_new_device_success","alert_create_new_device_failed","alert_users_failed_change_image","energy_export_graph_title","energy_export_graph_start_time","energy_export_graph_end_time","energy_export_graph_filename","energy_export_graph_button","alert_download_report_error","alert_filename_report_error","menu_genius_service","daily_active_energy","weekly_active_energy","hourly_distribution_active_energy","money_savings_history","reactive_excess_history","reactive_excess_weekly","hourly_active_energy","monthly_active_energy","weekly_mean_active_energy","reactive_excess_daily","alert_genius_create_report_filename","alert_genius_create_report_graphs","alert_genius_create_report_devices","alert_genius_create_report_range","genius_drawer_title_main","genius_input_label_filename","genius_input_placeholder_filename_example","genius_multipleselect_label_graphs","genius_multipleselect_placeholder_graphs_selected","genius_multipleselect_placeholder_select","genius_multipleselect_label_devices","genius_multipleselect_placeholder_devices_selected","genius_calendar_label_date","genius_calendar_placeholder_select","genius_button_create_report","genius_button_cancel_report","genius_title_main_reports","genius_button_new_report","genius_header_title_report_premium","genius_header_title_report_basic","genius_title_empty_state","genius_text_description_empty_state","genius_no_reports","genius_new_report","genius_delete_report","genius_download_report","genius_save_report","genius_cancel_report","genius_name_report","genius_date_range_report","genius_creation_date_report","genius_services_report","genius_selected_items","genius_add_services","genius_done_button","genius_graphs","genius_add_graphs","genius_new_item","genius_search_placeholder","alert_genius_create_report_success","alert_genius_create_report_pending","alert_genius_create_report_failed","alert_create_new_tag_associated_tags","shared_multipleselect_label_select_all","invoices_text_unselected_all","plus_modal_title_empty_state","plus_modal_description_empty_state","plus_modal_phrase_empty_state","plus_modal_button_empty_state","plus_rank_tooltip_info","plus_always_on_tooltip_info","plus_radar_tooltip_info_voltage","plus_radar_tooltip_info_current","plus_radar_tooltip_info_power","genius_button_default_report","energy_graph_message_scroll_active","user_table_title_empty_state","user_table_description_empty_state","alert_support_popup_type_ticket","alert_support_popup_area_ticket","support_select_placeholder","plus_export_graph_title","plus_export_graph_date","plus_export_graph_filename","plus_export_graph_format","plus_export_graph_button","alert_format_filename_report_error","alert_date_report_error","alert_new_device_name","alert_new_device_type","money_savings_table","alert_genius_create_report_duplicate_filename","shared_survey_nps_title","shared_survey_nps_text_question","shared_survey_nps_text_comment","shared_survey_nps_text_secondary_title","shared_survey_nps_text_description","shared_survey_nps_text_question_bad","shared_survey_nps_text_question_good","shared_survey_nps_text_specific_question_bad","shared_survey_nps_text_specific_question_good","shared_survey_nps_list_option_bill","shared_survey_nps_list_option_platform","shared_survey_nps_list_option_customer","shared_survey_nps_list_option_pay","shared_survey_nps_list_option_other","shared_survey_nps_button_send_score","shared_survey_nps_button_send","alert_nps_survey_create_success","alert_nps_survey_create_error","premium_measurement","premium_monthly_consumption","premium_weekly_consumption","premium_daily_consumption","user_title_section_api_token","user_button_generate_token","user_button_cancel_token","alert_generate_token_api_error","user_channel_option_email","user_channel_option_calls","user_channel_option_text","user_channel_option_wsp","user_channel_option_app","user_channel_option_myself","user_department_option_not_apply","user_department_option_manager","user_department_option_operative","user_department_option_financial","user_department_option_innovation","user_department_option_tech","user_department_option_engineer","user_department_option_commercial","user_interest_option_innovation","user_interest_option_environment","user_interest_option_finance","user_interest_option_relationship","energy_indicator_day_highest_consumption","energy_indicator_average_consumption","energy_indicator_consumption","energy_indicator_compare_last_period","energy_indicator_hour_highest_consumption","energy_indicator_current_consumption","energy_indicator_reactive_energy","generation_indicator_saving","generation_indicator_saving_vs","generation_indicator_generated","generation_indicator_compare_last_period","generation_indicator_trees_planted","generation_indicator_trees_accum","generation_indicator_trees_last_period","generation_indicator_co2_reduced","generation_indicator_co2_last_period","generation_indicator_co2_reduced_accum","generation_indicator_highest_hour","generation_indicator_average","generation_indicator_least_hour","generation_indicator_highest_day","generation_indicator_highest_month","generation_indicator_highest_month_generation","generation_indicator_least_day","generation_indicator_current_generation","api_user_token_tooltip_empty","generation_indicator_total_generated","generation_indicator_from_beginning","generation_indicator_count_services","generation_indicator_total_saving","genelogin_button_validateration_indicator_vs_conventional_energy","generation_indicator_month_generated","generation_indicator_theoretical_energy","generation_indicator_average_saving","generation_indicator_last_x_months","generation_indicator_last_month_saving","generation_indicator_saving_tariff","alerts_label_no_name","alerts_label_main_title_drawer","alerts_label_creation_indications","alerts_button_add_new_alert","alerts_label_recently_created","alerts_label_title_empty_state","alerts_label_body_empty_state","alerts_condition_greater_than","alerts_condition_same_as","alerts_condition_less_than","alerts_channel_email","alerts_channel_text_message","alerts_channel_notification","alerts_label_title_edit_alert","alerts_label_title_new_alert","alerts_button_save","alerts_label_body_new_alert","alerts_messager_alert_create_success","alerts_messager_alert_create_error","alerts_messager_alert_edit_success","alerts_messager_alert_edit_error","alerts_messager_alert_delete_success","alerts_messager_delete_title_confirmation","alerts_messager_delete_confirmation","alerts_messager_keep_option","alerts_messager_delete_option","alerts_select_days_monday","alerts_select_days_tuesday","alerts_select_days_wednesday","alerts_select_days_thursday","alerts_select_days_friday","alerts_select_days_saturday","alerts_select_days_sunday","alerts_select_interval_hourly","alerts_select_interval_daily","alerts_select_interval_weekly","alerts_select_interval_monthly","alert_genius_create_report_initially","invoice_content_text_bill","invoice_content_text_contract","invoice_content_text_niu","invoice_content_text_customer_name","invoice_content_text_service_name","invoice_content_text_billing_address","invoice_content_text_total","invoice_content_text_bill_date","invoice_content_text_due_date","invoice_content_text_suspension_date","invoice_content_text_suspension_date_empty","invoice_content_text_strong_balance","invoice_content_first_text_balance","invoice_content_second_text_balance","invoice_content_text_strong_outstanding_balance","invoice_content_text_outstanding_balance","invoice_content_text_outstanding_balance_suspension","invoice_content_text_consumption_detail","invoice_content_text_consumption","invoice_content_text_days_billed","invoice_content_text_billed_since","invoice_content_text_billed_until","invoice_content_text_meter_code","invoice_content_text_previous_consumption","invoice_content_text_current_consumption","invoice_content_text_avg_six_months","invoice_content_text_label_pay_month","invoice_content_text_label_consumption","invoice_content_text_reactive_detail","invoice_content_text_days_billed_reactive","invoice_content_text_amount_billed_reactive_inductive","invoice_content_text_amount_billed_reactive_capacitive","invoice_content_text_amount_billed_reactive","invoice_content_text_reactive_factor","invoice_content_text_tariff_detail","invoice_content_first_text_tariff","invoice_content_first_text_strong_tariff","invoice_content_second_text_tariff","invoice_content_second_text_strong_tariff","invoice_content_third_text_tariff","invoice_content_third_text_strong_tariff","invoice_content_fourth_text_tariff","invoice_content_fourth_text_strong_tariff","invoice_content_fifth_text_tariff","invoice_content_sixth_text_tariff","invoice_content_text_tariff_g","invoice_content_text_tariff_t","invoice_content_text_tariff_d","invoice_content_text_tariff_cv","invoice_content_text_tariff_pr","invoice_content_text_tariff_r","invoice_content_text_tariff_cu","invoice_content_text_tariff_cu_cot","invoice_content_text_technical_info","invoice_content_text_or","invoice_content_text_or_phone","invoice_content_text_distr_circuit","invoice_content_text_transf_number","invoice_content_text_legal_info","invoice_content_first_text_legal_info","invoice_content_second_text_legal_info","invoice_content_third_text_legal_info","invoice_content_fourth_text_legal_info","invoice_content_fifth_text_legal_info","invoice_content_sixth_text_legal_info","invoice_content_seventh_text_legal_info","invoice_content_eighth_text_legal_info","invoice_content_text_pay_methods","invoice_content_text_pay_web","invoice_content_text_pay_app","invoice_content_text_pay_wire_transfer","invoice_content_first_text_pay_wire_transfer_detail","invoice_content_second_text_pay_wire_transfer_detail","invoice_content_text_legal_representative","invoice_content_text_taxes","invoice_content_text_address","invoice_content_text_payment_way","invoice_content_text_payment_cash","invoice_content_text_payment_method","invoice_content_text_debit_card","invoice_content_text_support","invoice_content_text_support_wsp","invoice_content_text_support_emergency","invoice_content_text_footer_page","invoice_content_text_strong_neugets","invoice_content_first_text_neugets","invoice_content_second_text_neugets","invoice_content_text_bill_detail","invoice_content_text_bill_detail_info","invoice_content_text_header_table_item","invoice_content_text_header_table_detail","invoice_content_text_header_table_unit_value","invoice_content_text_header_table_concept_value","invoice_content_text_header_table_month_value","invoice_content_text_header_table_quantity","invoice_content_text_header_table_days_quantity","invoice_content_text_header_table_value","invoice_content_text_subtotal","invoice_content_text_iva","invoice_content_text_capital_record","invoices_tooltip_previous_bill","invoices_tooltip_next_bill","invoices_tooltip_download_bill","invoices_tooltip_search_bill","invoices_tooltip_close_bill","invoices_tooltip_zoomin_bill","always_on_indicator_title_percentage","always_on_indicator_text_percentage","always_on_indicator_title_tons_co2","always_on_indicator_title_max_day","always_on_indicator_title_cost","power_factor_title","power_factor_label_phase","power_factor_label_optime_range","power_factor_label_reactive_range","power_factor_label_deficient_range","tooltip_premium_monthly_consumption","tooltip_tariffs_records","tooltip_hourly_active_energy","tooltip_hourly_distribution_active_energy","tooltip_total_payment_history","tooltip_daily_active_energy","tooltip_weekly_mean_active_energy","tooltip_reactive_cash_flow","tooltip_weekly_active_energy","tooltip_monthly_active_energy","tooltip_money_savings_history","tooltip_penalized_days_history","tooltip_premium_daily_consumption","tooltip_reactive_excess_history","tooltip_money_savings_table","tooltip_premium_weekly_consumption","tooltip_premium_measurement","genius_multipleselect_label_new_graphs","invoice_content_text_negative_balance","invoice_content_text_new_negative_balance","tooltip_a_p","tooltip_acuerdo","tooltip_aj","tooltip_aj_ap","tooltip_aj_con_cv","tooltip_aj_con_d","tooltip_aj_con_g","tooltip_aj_con_pr","tooltip_aj_con_r","tooltip_aj_con_t","tooltip_aj_cons_cont","tooltip_aj_consumo_kwh","tooltip_aj_cont","tooltip_aj_cu","tooltip_aj_cu_cont","tooltip_aj_ea","tooltip_aj_ec","tooltip_aj_ee2","tooltip_aj_er","tooltip_aj_intmora","tooltip_aj_intzero","tooltip_aj_prop_terc","tooltip_aj_re","tooltip_aj_sdl","tooltip_aj_seg","tooltip_aj_subs","tooltip_cont","tooltip_ea","tooltip_ea_cv","tooltip_ea_d","tooltip_ea_g","tooltip_ea_pr","tooltip_ea_r","tooltip_ea_t","tooltip_ec","tooltip_ee","tooltip_ee2","tooltip_eem","tooltip_er","tooltip_ing_ter","tooltip_int_med","tooltip_int_mora","tooltip_int_mora_zero","tooltip_int_neupay","tooltip_l1955","tooltip_mat_saas","tooltip_med","tooltip_mo_saas","tooltip_neu_comision","tooltip_neu_datos","tooltip_neu_inv114","tooltip_neu_inv126","tooltip_neu_inv131","tooltip_neu_inv132","tooltip_neu_inv136","tooltip_neu_ops1","tooltip_neu_ops2","tooltip_neu_ops3","tooltip_neu_ops4","tooltip_neu_ops5","tooltip_neu_pay","tooltip_neu_plus","tooltip_neu_serv","tooltip_neu_serv1","tooltip_neu_serv2","tooltip_neu_serv3","tooltip_neu_serv4","tooltip_neu_serv5","tooltip_neu_serv6","tooltip_neu_serv7","tooltip_neu_serv8","tooltip_neu_telem","tooltip_reint_cyg","tooltip_saldo","tooltip_seg_conv","tooltip_sist_solar","tooltip_subs","tooltip_reactive_inductive","tooltip_reactive_capacitive","tooltip_graph_energy_no_match","tooltip_graph_energy_no_match_reason","user_title_section_alerts","energy_graph_no_data","genius_download_file_report","genius_download_html_report","genius_download_excel_report","onboarding_drawer_title","onboarding_drawer_faqs","onboarding_drawer_show","onboarding_drawer_hide","onboarding_payment_title","onboarding_payment_description","onboarding_invoice_title","onboarding_invoice_description","onboarding_dashboard_title","onboarding_dashboard_description","onboarding_new_user_title","onboarding_new_user_description","onboarding_new_alert_title","onboarding_new_alert_description","onboarding_service_detail_title","onboarding_service_detail_description","onboarding_service_picker_title","onboarding_service_picker_description","onboarding_graph_type_picker_title","onboarding_graph_type_picker_description","onboarding_graph_period_picker_title","onboarding_graph_period_picker_description","onboarding_graph_export_data_title","onboarding_graph_export_data_description","onboarding_graph_calendar_picker_title","onboarding_graph_calendar_picker_description","onboarding_service_title_step1","onboarding_service_title_step2","onboarding_service_description_step1","onboarding_service_description_step2","onboarding_service_picker_title_step1","onboarding_service_picker_title_step2","onboarding_service_picker_title_step3","onboarding_service_picker_description_step1","onboarding_service_picker_description_step2","onboarding_service_picker_description_step3","onboarding_graph_calendar_title_step1","onboarding_graph_calendar_title_step2","onboarding_graph_calendar_description_step1","onboarding_graph_calendar_description_step2","onboarding_graph_export_data_title_step1","onboarding_graph_export_data_title_step2","onboarding_graph_export_data_description_step1","onboarding_graph_export_data_description_step2","onboarding_graph_period_title_step1","onboarding_graph_period_title_step2","onboarding_graph_period_title_step3","onboarding_graph_period_title_step4","onboarding_graph_period_title_step5","onboarding_graph_period_description_step1","onboarding_graph_period_description_step2","onboarding_graph_period_description_step3","onboarding_graph_period_description_step4","onboarding_graph_period_description_step5","onboarding_graph_type_title_step1","onboarding_graph_type_title_step2","onboarding_graph_type_title_step3","onboarding_graph_type_title_step4","onboarding_graph_type_description_step1","onboarding_graph_type_description_step2","onboarding_graph_type_description_step3","onboarding_graph_type_description_step4","onboarding_invoice_title_step1","onboarding_invoice_title_step2","onboarding_invoice_description_step1","onboarding_invoice_description_step2","onboarding_payment_title_step1","onboarding_payment_title_step2","onboarding_payment_title_step3","onboarding_payment_title_step4","onboarding_payment_description_step1","onboarding_payment_description_step2","onboarding_payment_description_step3","onboarding_payment_description_step4","onboarding_user_title_step1","onboarding_user_title_step2","onboarding_user_title_step3","onboarding_user_description_step1","onboarding_user_description_step2","onboarding_user_description_step3","onboarding_profile_title_step1","onboarding_profile_title_step2","onboarding_profile_title_step3","onboarding_profile_title_step4","onboarding_profile_description_step1","onboarding_profile_description_step2","onboarding_profile_description_step3","onboarding_profile_description_step4","onboarding_dashboard_title_step1","onboarding_dashboard_title_step2","onboarding_dashboard_title_step3","onboarding_dashboard_title_step4","onboarding_dashboard_title_step5","onboarding_dashboard_title_step6","onboarding_dashboard_title_step7","onboarding_dashboard_description_step1","onboarding_dashboard_description_step2","onboarding_dashboard_description_step3","onboarding_dashboard_description_step4","onboarding_dashboard_description_step5","onboarding_dashboard_description_step6","onboarding_dashboard_description_step7","onboarding_alert_title_step1","onboarding_alert_title_step2","onboarding_alert_title_step3","onboarding_alert_title_step4","onboarding_alert_title_step5","onboarding_alert_title_step6","onboarding_alert_title_step7","onboarding_alert_title_step8","onboarding_alert_description_step1","onboarding_alert_description_step2","onboarding_alert_description_step3","onboarding_alert_description_step4","onboarding_alert_description_step5","onboarding_alert_description_step6","onboarding_alert_description_step7","onboarding_alert_description_step8","energy_graph_group_average","onboarding_walktrough_title","onboarding_walktrough_description","last_monthly_generation","invoices_text_empty_bills_pending","invoices_text_empty_bills_paid","invoices_text_empty_bills_due","generation_per_equipment","generation_vs_irradiance","generation","temperature_plot","generation_variation","invoices_text_empty_bills_overdue","invoices_state_clear_filters","tooltip_last_monthly_generation","tooltip_generation_per_equipment","tooltip_generation_vs_irradiance","tooltip_generation","tooltip_temperature_plot","user_selected_label_job_area","tooltip_generation_variation","savings","alerts_title_interval_time","alerts_interval_time_body_frequency","alerts_interval_time_title_days","alerts_interval_time_title_range","alerts_interval_time_title_body","alerts_title_initial_time","alerts_title_final_time","alert_time_am","alert_time_pm","alerts_new_alert_service_item","alerts_new_alert_service_label","alerts_new_alert_service_example","alerts_new_alert_variable_item","alerts_new_alert_variable_label","alerts_new_alert_variable_example","alerts_new_alert_rule_item","alerts_new_alert_rule_label","alerts_new_alert_rule_example","alerts_new_alert_value_item","alerts_new_alert_value_label","alerts_new_alert_value_example","new_alert_type_title","new_alert_select_type","alerts_new_alert_channel_example","new_alert_schedule_description","popover_duplicate_alert","popover_delete_alert","accounts_id_account","accounts_location","graph_operation_state_no_record","graph_operation_state_process","graph_operation_state_standby","graph_operation_state_checking","graph_operation_state_fail","energy_no_users","energy_done_button","energy_click_to_change","reports_select_all","invoces_more_invoces","alerts_label_title_empty_state_registers","alerts_label_body_empty_state_registers","nps_beta_survey_usability","nps_beta_survey_information","nps_beta_survey_design","nps_beta_survey_other","nps_beta_survey_alert_error","nps_beta_survey_your_opinion_counts","nps_beta_survey_improve_experience","nps_beta_survey_rate_beta_experience","nps_beta_survey_dislike","nps_beta_survey_can_improve","nps_beta_survey_great","nps_beta_survey_send_rating","nps_beta_survey_thanks","nps_beta_survey_highlight","nps_beta_survey_send","nps_beta_survey_rate_experience","onboarding_generation_title1","onboarding_generation_text1","onboarding_generation_title2","onboarding_generation_text2","onboarding_generation_title3","onboarding_generation_text3","onboarding_generation_title4","onboarding_generation_text4","onboarding_preonboarding_title1","onboarding_preonboarding_text1","onboarding_preonboarding_title2","onboarding_preonboarding_text2","onboarding_preonboarding_title3","onboarding_preonboarding_text3","onboarding_consumption_title1","onboarding_consumption_text1","onboarding_consumption_title2","onboarding_consumption_text2","onboarding_consumption_title3","onboarding_consumption_text3","onboarding_consumption_title4","onboarding_consumption_text4","onboarding_modal_description","onboarding_modal_finally","onboarding_modal_continue","dashboard_steps_power_outages","dashboard_steps_short_circuit","dashboard_steps_support","dashboard_steps_billing_problems","dashboard_steps_payment_methods","quality_graph_lines","quality_graph_power","quality_graph_electricity","quality_graph_voltage","quality_graph_variables","chatbot_aids1","chatbot_aids2","chatbot_aids3","roles_commercial","roles_operations","roles_invoicing","roles_environmental","roles_financial","roles_marketing","roles_legal","roles_not_apply","roles_innovation","roles_manager","invoices_paid_text_commission","tutorial_start_button","tutorial_skip_button","tutorial_got_it","report_type","consumption_report","generation_report","ppa_report","genius_report_monthly_consumption","genius_report_submeasurements","genius_report_detailed_consumption","genius_report_reactive_energy","genius_report_savings","genius_report_generation","picker_yes_button","picker_no_button","lumi_title","lumi_first_text","lumi_second_text","lumi_title_card","lumi_first_text_card","lumi_second_text_title","lumi_do_click_here","lumi_hey","lumi_question","lumi_you_chat","lumi_explanation","lumi_go_tutorial","lumi_continue_conversation","lumi_ask_me","lumi_consulting","lumi_projects","service_type_energy","service_type_plus","service_type_zero","service_type_generation","graphs_go_back_button","export_graph_example_filename","pagination","pagination_of","services_picker_select_all","services_picker_descelect_all","energy_graph_plus_button","genius_tooltip_button_graphs","alerts_select_interval_secondBySecond","alerts_select_check_one_minute","alerts_select_check_five_minute","alerts_select_check_ten_minute","alerts_select_check_fifteen_minute","alerts_interval_time_title_plus_check","user_input_placeholder_name","user_input_placeholder_lastname","user_input_placeholder_id","user_input_placeholder_phone","user_input_placeholder_email","firebaseApp","firebase","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","remoteConfig","getRemoteConfig","isSupported","support","messaging","getMessaging","onMessage","Notification","open","className","duration","placement","description","React","createElement","settings","minimumFetchIntervalMillis","defaultConfig","loadLanguage","fetchAndActivate","words","parameters","getAll","entries","forEach","entry","asString","replace","setCurrentModule","setLanguage","setShowBlackScreen","setShowBlackScreenDrawer","setShowCalendar","setShowNpsSurvey","setStartOnboarding","setControlledOnboarding","setShowDrawerOnboarding","setShowPulseAnimation","loadLanguageAsync","setNpsSurveyAsync","id_user","Alert","success","defaultTracking","getFirebaseToken","permission","getToken","vapidKey","setStep","setLoading","setResending","loadInitInfoAsync","sharedActions","result","_result$jobs","_result$capabilities","usersActions","accountsActions","setUserId","lastname","email","jobs","job","projects_type","updateConnectionAsync","_dispatch","setTotalServices","setTotalServicesGrouped","setActiveServicesEnergy","setActiveServicesPlus","setActiveServicesInvoices","setDefaultActiveService","loadServicesAsync","groupedServices","reduce","acc","service","serviceDetails","defaultServiceIndex","findIndex","s","idService","servicesPlus","x","typeService","filteredServices","setTimeout","setInvoices","setInvoicesSummary","setInvoicesSummaryLoading","setMoreInvoices","updateInvoices","setInvoicesLoading","setDelayedInvoicesLoading","setMoreInvoicesLoading","setInvoicesContentLoading","setInvoicesDate","setInvoicesToPay","setInvoicesContent","setShowInvoiceDetailsContent","setInvoicesPeriods","setFilterStatus","setCurrentPage","setShowPay","setEmptyPaginationResult","downloadInvoiceAsync","blob","n","lastIndexOf","filename","substring","link","document","href","URL","createObjectURL","download","click","setGraphData","setGraphloading","setIntervalGraph","setGraphDatesScroll","setGraphOptions","setGraphActive","setIndicatorsloading","setEnableScrollData","setShowReportModal","setReportloading","setTariff","setShowDetailService","loadGraphAsync","loadByScroll","requestLeft","metadata","from","getUnixTime","to","id_service","graphsOptions","graph","toLowerCase","graph_type","graphs_options","metadataTariff","id_services","startdate","enddate","energyResponse","currentGraphData","mergeAndRemoveDuplicates","arr1","arr2","uniqueKey","uniqueKeysSet","Set","filteredArr2","has","_energyResponse$find","newResponseData","existingData","loadGraphOptionsAsync","byAlerts","groups","translatedGraphs","translationKey","group","translatedGroup","graphResponse","loadDetailService","parseInt","_service$type","servicesActions","useWindowSize","windowSize","setWindowSize","useState","width","height","useEffect","handleResize","window","innerWidth","innerHeight","addEventListener","removeEventListener","SwiperCore","use","Autoplay","Navigation","connect","props","size","RenderWidgets","_ref","_item$value_title","_item$value_text","value_color","icon_color","style","image_url","backgroundColor","target","rel","onClick","track","Widget_ID","amplitude_event","objectFit","src","alt","value_title","FontAwesomeIcon","fal","icon_text","value_text","RenderWidgetsEmpty","empty_widgets_slider","Widget_Back","Swiper","loop","centeredSlides","spaceBetween","slidesPerView","navigation","nextEl","prevEl","orderData","j","card","SwiperSlide","autoplay","delay","disableOnInteraction","Widget_Forward","setTheme","SubMenuGraphs","setControlRemoteClick","selectedGraphs","showSubmenuGraphs","setShowSubmenuGraphs","isDisabled","show","setShow","graphActiveTemporal","setGraphActiveTemporal","Popover","lazy","fitMaxHeightToBounds","fitMaxWidthToBounds","trigger","isOpen","guessBetterPosition","withArrow","arrowColor","arrowSize","offset","openingAnimationTranslateDistance","spaceBetweenPopoverAndTarget","onChangeOpen","animation","animate","opacity","exit","transition","initial","content","_graph","isSelected","id_graph","g","Variable_ID","unit","areArrayEquals","Array","isArray","every","val","index","limitWordLenght","string","limit","slice","setGraphLabel","withLimit","lastDashIndex","graphLabel","serviceName","TextTooltip","bgColor","closeOnEnter","focus","background","borderColor","borderWidth","sizeIcon","additionalStyle","showPulse","disabled","Fragment","controlledTypePicker","graphTypePicker","energyActions","setEnableAverageLine","themeActions","_graphs","search","setSearch","graphGroups","setGraphGroups","setFocus","controlRemoteClick","disbaledGraphs","setDisbaledGraphs","setSelectedGraphs","setDisbaledGraphsValues","graphsDisabled","_graphsRelations","array","relation","_graph$","id_graph_relation","available","_value","_s$translatedGroup","_s$translatedGroup$to","v","closeOnRemoteClick","fitMaxHeightToBoundsonChangeopen","placeholder","onChange","graphGroup","_graphGroup$group","_selectedGraphs$","_graphGroup$group2","_graphGroup$graphData","graphSelectedCount","_graphData","Whisper","speaker","Tooltip","borderRadius","paddingTop","ButtonCircle","ExtraItemsPopover","button","graphIntervalData","labelName","labelDescription","graphPeriodPicker","_graphIntervalData$fi","getIntervalLabel","maxHeight","Rank_ID","Project_Type","_activeGraphs$","_activeGraphs$2","_activeGraphs$3","domain","indexes","setIndexes","tot","max","avg","min","showIndexes","setShowIndexes","handlerIndexes","_data$","uniqueArray","y","x_sec","prev","curr","toFixed","Math","label","phrase","split","charAt","toUpperCase","join","capitalizedText","formatDateLabel","dateFormated","intervalLeft","intervalRight","moment","locale","utc","tz","format","CurrencyFormat","displayType","thousandSeparator","renderText","defaultRangeDate","CalendarRangePicker","previewDates","setPreviewDates","setDates","dateRangeEnergy","Transition","in","timeout","right","DateRange","es","enUS","pt","rangeColors","dateDisplayFormat","selection","showSelectionPreview","ranges","minDate","maxDate","startOfToday","showDateDisplay","showPreview","isDate","preview","onPreviewChange","previewDate","weekStartsOn","endOfWeek","range","isSameWeek","lastDates","borderBottomLeftRadius","borderBottomRightRadius","Calendar","next2Label","prev2Label","minDetail","maxDetail","nextLabel","prevLabel","required","help","onPressEnter","htmlFor","autoFocus","stopPropagation","onKeyDown","_ref2","keyCode","showError","payloadExport","setError","report_name","dateFrom","dateTo","createReportAsync","startTime","endTime","format_type","currentstatus","anchor","appendChild","removeChild","payloadToExportInit","payloadToExport","setPayloadToExport","showCalendarDateFrom","setShowCalendarDateFrom","showCalendarDateTo","setShowCalendarDateTo","Modal","marginLeft","marginRight","display","overflow","backdropClassName","dialogClassName","onHide","Datepicker","Input","minWidth","Loader","colors","hex","gradients25","gradientTransform","stopColor","gradients25Light","gradients50","gradient75","gradients","barStyles","fill","linearStyles","fillOpacity","stroke","strokeWidth","grid","pointerEvents","tickLabelsX","fontSize","angle","padding","fontFamily","tickLabelsY","tickStyle","StepProgressBar","status","steps","barWidth","progressBars","barColor","continuous","backProps","closeProps","primaryProps","tooltipProps","isLastStep","skipProps","backClickHandler","otherBackProps","nextClickHandler","otherNextProps","handleNextClick","event","assign","textDecoration","hideFooter","hideBackButton","handleBackClick","useTour","stepsGraphPeriod","step1","step1En","disableBeacon","disableOverlayClose","spotlightClicks","hideFooterTitle","pulseEffect","step2","step2En","step3","step3En","step4","step4En","step5","step5En","stepsGraphCalendar","stepsGraphExportData","VictoryZoomVoronoiContainer","createContainer","handlerFormatAxis","stringFormats","zoomContainer","unix","getNextMonth","left","dateObject","day","subtract","add","startOf","endOf","week","month","getBarWidth","numOfGraphsSelected","graphCalendarPicker","graphExportData","controlledPeriodPicker","controlledCalendarPicker","controlledExportPicker","setGraphDates","setScrollActive","setDetailDataGraph","setPrevStateBar","_data$filter$","_data$filter$2","_data$filter$2$data","_data$2","_data$filter$3","_data$filter$4","_data$filter$4$data","_data$3","history","useHistory","numLegendsToShow","graphContainer","useRef","graphContainerLoader","avgText","emptyData","setEmptyData","graphContainerWidth","setGraphContainerWidth","setDomain","entireDomain","setEntireDomain","setData","grabbing","setGrabbing","openGraphPeriodPicker","setOpenPeriodPicker","maxNormalize","setMaxNormalize","GENERATION","IRRADIANCE","PR","loader","setLoader","sortGraphData","_dataValues$","_$last","_$last2","dataValues","intervalX","getDate","_moment","_moment2","isNaN","daysInMonth","floor","getBoundingClientRect","emptyDataGraph","d","_props$activeGraphs2","_props$activeGraphs","getMaxNormalize","getMax","arr","irradiance","RenderEmptyData","empty_graph_energy","empty_graph_energy_light","tourGraphType","tourGraphPeriod","tourGraphCalendar","tourGraphExportData","DotSliderLine","scale","currentDate","firstDateMonth","UTC","getUTCFullYear","getUTCMonth","firstDateTimestamp","getTime","x1","x2","y1","y2","cx","cy","r","rx","ry","textAnchor","alignmentBaseline","FinalDot","_style$data","_style$data2","valueData","stdDeviation","attributeName","dur","repeatCount","AverageLine","_ref3","strokeDasharray","handleBarClick","_event","_data$datum","_data$datum2","targetDate","datum","targetDateYear","graphDateFromWeek","graphDateToWeek","graphDateFromMonth","graphDateToMonth","formatOperationStateValue","graph_operation_state_deteriorating","CustomFlyout","_ref4","detailData","Content","_ref5","_item$data$","reverse","_item$data$2","_item$data$3","_item$data$4","fontWeight","ref","graphLoadingContainer","inverse","center","GraphTypePicker","_activeServicesPlus$","GraphPeriodPicker","CalendarGraphEnergy","overflowX","overflowY","top","graphDateFromYear","graphDateToYear","handlePrevStateBar","onMouseDown","onMouseUp","marginTop","Graphic_Back","_service$type2","nextValue","Graphic_Forward","_service$type3","transform","transformOrigin","VictoryChart","domainPadding","bottom","containerComponent","allowZoom","allowDrag","allowDraw","allowResize","zoomDimension","zoomDomain","activateData","onZoomDomainChange","domainZoom","voronoiDimension","labels","labelComponent","VictoryTooltip","active","flyoutComponent","VictoryGroup","VictoryBar","valueY","barRatio","cornerRadius","topRight","topLeft","_ref7","events","eventHandlers","onMouseOver","mutation","onMouseOut","_ref6","_service$type4","VictoryArea","interpolation","dependentAxis","VictoryAxis","tickFormat","round","tickLabelComponent","VictoryLabel","dx","dy","verticalAnchor","backgroundPadding","backgroundStyle","backgroundComponent","Rect","axis","tickLabels","axisLabel","_props$activeGraphs3","tickValues","singleQuadrantDomainPadding","_ref8","valueOf","_props$activeGraphs4","_props$activeGraphs5","GraphIndicators","ExportGraph","esLocale","enLocale","Link","pathname","fromEnergy","textTransform","year","empty_card_bill","setNotifications","setNotificationsLoading","loadTotalNotificationsAsync","BackButton","selectedData","keyName","disabledData","allowAllOptions","labelAllServices","singleSelect","setActive","selectedAllOptions","setSelectedAllOptions","totalOptions","zIndex","isNew","isValidateEmail","test","setShowPersonalData","phone","address","ticketDescription","_user$ticketDescripti","initTicket","idDocument","file","isEnable","setEnable","personalData","setFile","isValidUser","prevUser","optionsData","Drawer","showSupport","setShowSupport","onSubmit","preventDefault","selectedService","fileData","errorFlag","fileName","now","contentType","signedUrl","dataZoho","company","clientType","channel","presignedUrl","message","Animation","Collapse","dimension","MultipleSelect","log","option","onDrop","files","dataTransfer","onDragOver","getElementById","accept","selectedFile","prefix","getCodeReferredByAccountAsync","_getState$accounts$ac2","codeMessage","showNeugets","setShowNeugets","WalletCard","codeReferral","navigator","clipboard","writeText","filePDF","gap","WhatsappShareButton","faWhatsapp","LinkedinShareButton","faLinkedin","EmailShareButton","subject","faEnvelope","FacebookShareButton","quote","hashtag","faFacebook","setAlerts","setAlertsLoading","setShowDrawerAlerts","loadAlertsAsync","mapStateToProps","ownProps","notification","setVisualization","deleteNotificationAsync","newNotifications","id_register","updateNotificationAsync","read","notificationsActions","handlerClose","Notification_ID","category","styles","slideOutRight","animationName","Radium","keyframes","NotificationBox","timestamp","deeplink","isShown","setCategory","hasHovered","colorThemeMap","dark","light","StyleRoot","handleHover","onMouseLeave","handleLeave","getThemeColor","_colorThemeMap$color","replaceTextValues","fromNow","PopoverNotifications","CheckPicker","plusSelected","border","days","id_day","checkTimePlus","minutes","alertTime","setAlertTime","dayIds","fromHour","fromMinutes","fromPartOfDay","toHour","toMinutes","toPartOfDay","intervalIds","timingPlus","showTimePlus","setShowTimePlus","intervalTime","hour","String","RenderDays","RenderTiming","showAlertPeriod","setShowPeriodAlert","id_interval","outline","conditions","id_condition","channels","id_channel","intervals","combinedArray","array1","array2","item1","match","item2","id_infrastructure","id_device","newAlert","createAlertAsync","_payload$intervalTime","_payload$intervalTime2","_payload$intervalTime3","_payload$intervalTime4","_payload$intervalTime5","_payload$intervalTime6","_payload$intervalTime7","_payload$intervalTime8","_payload$intervalTime9","graphIds","id_alert_type","condition","alert_name","id_frequency","start_hour","end_hour","active_week_days","id_channels","channelIds","serviceIds","timing_plus","alertsActions","editAlertAsync","_payload$intervalTime10","_payload$intervalTime11","_payload$intervalTime12","_payload$intervalTime13","_payload$intervalTime14","_payload$intervalTime15","_payload$intervalTime16","_payload$intervalTime17","idAlert","_alert$graphIds2","_props$graphs","_props$graphs$options","_alert$intervalTime3","_alert$intervalTime4","_alert$intervalTime5","_alert$intervalTime6","_alert$intervalTime7","_alert$intervalTime8","_alert$intervalTime9","_alert$intervalTime10","initAlert","alert","setAlert","activeService","setActiveService","activeVariable","setActiveVariable","activeRule","setActiveRule","activeValue","setActiveValue","activeChannel","setActiveChannel","alertProperty","setAlertProperty","Alert_Type","Project_Quantity","Interval_ID","Interval_Day","searchTerm","setSearchTerm","showNewAlert","alertSelected","_props$alertSelected","_props$alertSelected$","_props$alertSelected2","_props$alertSelected3","_props$alertSelected4","_props$alertSelected5","_props$alertSelected6","_props$alertSelected7","_props$alertSelected8","_props$alertSelected9","_props$alertSelected10","_props$alertSelected11","_props$alertSelected12","_props$alertSelected13","_props$alertSelected14","_props$alertSelected15","_props$alertSelected16","_props$alertSelected17","fromHourFormated","toHourFormated","id_alert","formatLabel","array3","formatAmplitudeEvent","labelTranslation","_alert$intervalTime","_alert$intervalTime2","prevState","_graphs$options$filte","handleClose","setShowNewAlert","setAlertSelected","setEditAlert","groupBy","_service$account","editAlert","_services$","_services$$account","maxWidth","accountServiceIds","areAllSelected","toggleSelectAllServicesByAccount","formatGraphLabel","_graphSelected$","_combinedArray2","servicesSelectedPlus","_alert$serviceIds2","idsGraphsPlus","_plusGraphs","plusGraphs","energyGraphs","validatePlus","IntervalTime","_props$totalServices$","_props$totalServices$2","t","NotificationsLoading","ContentLoader","seed","foregroundColor","_x","loadNotificationsAsync","page","pagination_info","next_page","loadAlertRegistersAsync","setAlertRegisters","isDashboard","location","setType","showNotifications","onEntering","onScroll","scrollTop","clientHeight","scrollHeight","handleScroll","setShowNotifications","emptyDataLight","NewAlert","emptyDataAlerts","setActiveChat","setLoadingChat","setMessages","setCurrentConversation","setShowChatBot","setActiveChatMessages","servicePicker","selectFunction","activeServices","limitSelectServices","availableTypeServices","popoverPosition","allowAllServices","useLocation","setServices","servicesSelected","setServicesSelected","filterServices","Project_ID","allServicesSelected","loadActiveChat","_result$body","entity","id_conversation","conversationMessages","_message$response_sum","userMessage","id_content","request","sender","created_at","full_date","onBoarding","botMessage","response_summary","score","err","chatbotActions","currentAccount","handleActiveMessage","_account$","_account$services","ConversationComponent","_item$services","_item$services2","_totalAccounts$filter","_totalAccounts$filter2","_totalAccounts$filter3","_item$services4","_item$services5","loadConversations","_account$services2","_item$services3","minHeight","isBefore","_moment3","_moment4","setActiveChatAsync","setConversation","newMessages","chatbotResponse","idContent","status_code","updatedMessages","setScore","RiveComponent","useRive","stateMachines","layout","Layout","fit","Fit","FitWidth","alignment","Alignment","Center","RiveComponentBeta","enableChatBot","aids","messagesContainerRef","setRequest","mount","setMount","showChatsResume","setShowChatsResume","isDragging","setIsDragging","startX","setStartX","scrollLeft","setScrollLeft","scrollToBottom","handleSendMessage","indexSelected","indexOf","ChatPopover","ServicesPopover","onLoad","dateGroup","groupMessageDate","lumi","whiteSpace","parts","replaceMessageLink","faThumbsUpSolid","faThumbsUp","faThumbsDownSolid","faThumbsDown","clickable","grabCursor","conversationSavedInLocalStorage","moduleName","backToButton","loadNeugetsByAccountAsync","totalNeugets","_user$capabilities","_user$capabilities2","_user$capabilities4","_user$capabilities5","_user$capabilities6","goBack","Chatbot","show_chatbot","show_header_emergency_button","_user$capabilities3","userType","idUserType","emergency_line","show_header_support_button","show_header_notifications_button","recently_unread","toggleTheme","Support","Neugets","Notifications","setActiveServices","showActiveServices","activeServiceDetail","setActiveServiceDetail","mouseEnterDelay","far","fas","servicesLoading","columns","actions","deleteAction","getTableBodyProps","headerGroups","prepareRow","useTable","useSortBy","usePagination","userSelected","setUserSelected","headerGroup","getHeaderGroupProps","column","getHeaderProps","getSortByToggleProps","textAlign","render","isSorted","isSortedDesc","row","getRowProps","cells","cell","verticalAlign","textOverflow","getCellProps","amplitude","getInstance","logEvent","empty_users","empty_users_light","Header","accessor","deleteUserAsync","canPreviousPage","canNextPage","pageOptions","gotoPage","nextPage","previousPage","setPageSize","pageIndex","pageSize","closeButton","Body","Table","u","roleIds","idJob","servicesIds","Footer","initUserForm","isValidateString","createUserAsync","updateUserAsync","userForm","setUserForm","userLoadingContainer","User_Profile","Assigned_Project_ID","_activeServiceDetail$","_activeServiceDetail$2","ActiveServices","filteredPlusServices","serviceDetail","image","UserList","UserCreate","stepsServicePicker","analytics","getAnalytics","CardsContent","mainCard","widthCard","Invoice","Cards","controlledServicePicker","loadIndicatorsAsync","indicatorsData","metadataInvoice","promises","Promise","all","indicatorsResponse","invoicesResponse","invoicesActions","getUserPreferenceInfoAsync","loadBannersAsync","_user$job","id_account","typeservices","job_area","_props$history$locati","historyData","setHistoryData","user_name","tourServiceDetail","tourServicePicker","paddingBottom","ServicesContainer","Graph","progress","setShowAccount","CircularProgressbarWithChildren","trail","getActivePath","setMenu","onMouseEnter","LogoDark","LogoLight","show_section_genius","show_section_efficiency","show_section_plus","User","trackWidth","indicatorWidth","indicatorColor","changeFocus","fontIcon","typeIcon","colorIcon","amplitudeEvent","progressStyle","invoiceShow","loadInvoiceDetailsContent","_periodInfo$invoicesC","periodInfo","id_period","periodDate","billing_date","_periodInfo$invoicesC2","servicesIdsLoaded","getMonth","getFullYear","type_content","c","bill","contract","niu","customer_name","type_id","service_name","billing_address","pending","margin","total","bill_date","due_date","outstanding_balance","p","suspension_date","consumption","days_billed","billed_since","billed_until","meter_code","previous_consumption","avg_6_months","quantity","pixels","days_billed_reactive","amount_billed_reactive_inductive","amount_billed_reactive_capacitive","amount_billed_reactive","reactive_factor","voltage_level","social_stratum","asset_ownership","location_type","tariff_type","cu","cv","cot","pr","or","or_phone","distr_circuit","transf_number","QRCode","qr","signature","cufe","concepts","concept","service_type","items","toLocaleLowerCase","cp","conceptIndex","number","TooltipInfo","trim","unit_value","subtotal","iva","negative_balance","capital","payments_capital","new_negative_balance","invoiceModalIndexes","groupedData","setPreviousInvoiceModal","setFollowingInvoiceModal","accountIndex","dateGroupIndex","showInvoice","setShowInvoice","setInvoicesModalIndexes","invoiceIndex","reference","invoiceUrl","pdf_path","InvoiceDetails","setSortField","setSortOrder","cleanDate","handleOpenModal","formatNumber","string_value","toString","values_part","integerValue","decimalValue","dateHeaderTemplate","colSpan","stringMonth","getMonthName","sortByServiceName","newSortOrder","accountGroup","newIsSelected","newTotalConsumption","parseFloat","newTotalPayment","selected","toggleInvoiceSelection","rowData","invoiceServiceNameTemplate","invoiceReferenceTemplate","surfaceBgOnSurface","surfaceBgOnSurfaceAlpha","invoiceTariffTemplate","invoiceConsumptionTemplate","state_string","bg_color","expiration","date_expiration","statusTemplate","formattedTotalPayment","invoicePayTemplate","invoiceDetailTemplate","expiratioDnate","addHours","separatedDate","viewBox","xmlns","fill-rule","clip-rule","fill-opacity","stroke-opacity","stroke-width","stroke-linecap","stroke-linejoin","_invoices","selectAll","allAccountsSelected","filterPendingInvoices","notSelectedPedingInvoices","selectedPedingInvoicesArray","selectedPedingInvoices","totalConsumption","accum","dynamicPedingInvoices","dynamicSelectedPedingInvoices","toggleSelectAll","handleFilterPendingInvoices","PseIconLight","PseIconDark","VisaIconLight","VisaIconDark","_totalAccounts","_totalServices","openAccountDrawer","accountPickerRef","fromEnergyAccount","energyAccounts","setEnergyAccounts","setTotalAccounts","normalizeText","normalize","activeServicesEnergyAccountIds","_s$account","normalizedAccounts","visible","boxShadow","toggleSelectedAccount","allSelected","onSaveChanges","deselectedAccounts","energyAccountsIds","newActiveServicesInvoices","currentService","currentIdAccount","setTypeComponent","setInfoPayment","setPaymentLoading","setPsePaymentAsync","pseProvider","id_bills","URL_BANK","setCardPaymentAsync","redirect_url","errorMessage","paysActions","setPaymentProvider","provider","PseLight","PseDark","_options$find","fees","_infoPayment$card_nam","_infoPayment$id_docum","_infoPayment$address","_infoPayment$card_num","_infoPayment$card_exp","_infoPayment$card_exp2","_infoPayment$card_cvv","initInfo","id_external_user","id_document","card_name","card_number","card_expiration_year","card_expiration_month","card_cvv","payments","defaultInfo","setDefaultInfo","invoices_card_payment_bank","invoices_card_payment_cardholder","texto","expresionRegular","RegExp","grupos","separarTexto","invoices_card_payment_cardholder_name","invoices_card_payment_equal_cardholder_name","invoices_card_payment_cardholder_document","invoices_card_payment_number","Select","invoices_card_payment_instalments","loadBankDataAsync","DATA","_infoPayment$name","_infoPayment$phone","_infoPayment$email","userLegalTypes","userTypes","last_name","financial_institution_code","user_legal_id_type","user_type","bankData","setShowBankData","Component","CardPayment","PsePayment","PaymentMethod","loadPaymentMethodsAsync","loadingOpenPay","setLoadingOpenPay","isValidatePseString","isValidateCardString","isValidUserByPse","invoices_card_payment_methods","decimalScale","fixedDecimalScale","Payment_Method","Bill_ID","showCardError","alert_pay_popup_card_cvv","alert_pay_popup_card_expiration_year","alert_pay_popup_card_expiration_month","alert_pay_popup_card_number","alert_pay_popup_card_name","showPseError","mapDispatchToProps","start","end","clearDate","clear","selectedDate","setSelectedDate","subMonths","stepsInvoice","invoiceOnboarding","loadInvoicesAsync","loadInvoices","searchText","pendingInvoices","periodId","loadInvoicesSummaryAsync","summary","loadMoreInvoicesAsync","clonededInvoices","setInvoiceShow","setInvoiceShowIndex","loadInvoicesPeriodsAsync","_setInvoices","filteredByActiveServices","setFilteredByActiveServices","zoomIn","setZoomIn","setInvoiceUrl","isExpanded","setIsExpanded","debounceSearchInvoices","setDebounceSearchInvoices","searchInvoices","setSearchInvoices","setOpenAccountDrawer","openInvoiceStateModal","setOpenInvoiceStateModal","loadingDownload","setLoadingDownload","setCleanDate","setSelectAll","setFilterPendingInvoices","setFromEnergyAccount","searchInputContainerRef","searchInputRef","invoicesContainerRef","invoiceStateModal","handleDocumentClick","contains","handleClickOutside","_location$state","activeAccountsIds","invoicesPerPage","oldInvoice","selectedCurrentInvoice","clearTimeout","tourPayment","tourInvoice","activeAccounts","useMemo","customer","customerDate","toISOString","groupDataByAccountAndDate","handleInvoicesContainerScroll","appear","enter","AccountDrawer","getMonthLabel","strDate","stringFormat","stringFormatDate","CalendarInvoices","SETBlobFile","revokeObjectURL","transitionProperty","transitionTimingFunction","transitionDuration","InvoiceTable","InvoiceSummary","revertSummary","Pay","InvoiceModal","newAccountIndex","newInvoiceIndex","newDateGroupIndex","previousAccount","newInvoice","stepsUser","setShowMainInfo","newUser","logout","loginActions","setProfileProgress","updateInfoUserAsync","getUserImageAsync","generateUserApiTokenAsync","credential","_user$idDocument","_user$name","_user$lastname","_user$email","_user$phone","_user$address","_user$roleIds","_user$idLanguage","_props$userTokenApi","setUserImage","setIsLoading","FormData","append","SETFile","_result","alert_failed_change_image","languages","_user","setUserData","userChanges","setUserChanges","isLoading","mainInfo","healthInfo","setShowHealthInfo","homeInfo","setShowHomeInfo","vehicleInfo","setShowVehicleInfo","tokenApi","setTokenApi","tourUser","_user$jobs","showAccount","idLanguage","borderTopLeftRadius","_props$userTokenApi2","urlData","subscription","setDataGraph","setLoadingInitData","setEnableHistory","setDataGraphStreaming","setEnergyQuality","setLoadingEnergyQuality","setAlwaysOn","setLoadingAlwaysOn","setIndicators","setLoadingIndicators","setComparatives","setLoadingComparatives","setTagRecords","setLastConection","setLastDay","setLastPage","setOpenQualityEnergy","setDataGraphAlwaysOn","setDataGraphHistoryInit","setGraphDatesScrollAlwaysOn","setEnableScrollDataAlwaysOn","setLoadingAlwaysOnModule","setQualityIndicators","setLoadingQualityIndicators","setAlwaysOnIndicators","setLoadingAlwaysOnIndicators","connectToIoTCore","Amplify","configure","addPluggable","AWSIoTProvider","aws_pubsub_region","aws_pubsub_endpoint","PubSub","subscribe","next","convertDataGraph","dataConverted","_Date","_data$timestamp","device_id","time","active_power","active_energy","reactive_power","reactive_energy","active_power_1","rms_voltage_1","rms_current_1","power_factor_1","active_power_2","rms_voltage_2","rms_current_2","power_factor_2","active_power_3","rms_voltage_3","rms_current_3","power_factor_3","_getState$plus$device2","_currentDevice$2","currentDevice","_getState$services$ac4","close","loadInitData","_getState$services$ac5","_getState","unsubscribe","deviceActive","_deviceActive","_deviceActive2","_deviceActive3","_deviceActive4","timezone","_response$body2","_getState$plus$device3","_currentDevice$3","_getState$services$ac6","idDevice","nextShardId","loadStreamingData","loadHistoryData","_getState$services$ac","_deviceActive$","getDataRedis","_dataGraph$","_dataGraph$2","_getState$services$ac2","isLessHour","_deviceActive$2","_response$body","_getState$plus$device","_currentDevice$","_getState$services$ac3","getDataAthenaRedis","_getState$services$ac7","_deviceActive5","_deviceActive6","_response$body3","_getState$plus$device4","_currentDevice$4","_getState$services$ac8","shardId","_getState$services$ac9","_deviceActive7","_deviceActive8","_response$body4","_response$nextShardId","_getState$plus$device5","_currentDevice$5","_getState$services$ac10","loadDevices","loadAppliances","_getState$services$ac14","addAppliance","loadGraphAlwaysOnAsync","_energyResponse","_energyResponse$body","_energyResponse2","setSelectedOption","phases","property","Plus_Variable_ID","appliance","custom_name","plusActions","setAppliance","brand","_props$activeServices","validate","DataAppliances","Devices","showInfoDevice","setShowInfoDevice","appliancesSelected","setAppliancesSelected","id_appliance","id_tag","active_cons","RenderCardEmpty","empty_modules_plus","addTags","showCreateDevice","setShowCreateDevice","setDevices","_d$custom_name","initial_timestamp","pointOne","final_timestamp","pointTwo","CreateDevice","handleDownloadCSV","setStepDownload","objectUrl","dispatchEvent","MouseEvent","bubbles","cancelable","view","downloadBlob","nameFile","deviceId","projectName","stepDownload","_props$activeServices2","statusCode","exportFile","BouncingDotsLoader","_item","getInitPage","initPageByTime","toLocaleString","timeZone","getHours","LoadingHistoryData","VictoryZoomContainer","areaStyle","loadingData","graphContinerWidth","resetData","abs","defaultOption","pointTagDragInit","positionX","setOptions","setDay","showStreaming","setShowStreaming","indicatorZoom","setIndicatorZoom","zoomMinutes","setZoomMinutes","showExportGraph","setShowExportGraph","grabbingTag","setGrabbingTag","pointTagDrag","setPointTagDrag","enableTag","setEnableTag","setPointOne","setPointTwo","active1","setActive1","active2","setActive2","showCreateTag","setShowCreateTag","pointTooltip","setPointTooltip","showTooltip","setShowTooltip","dataDomain","setDataDomain","enableLoaderGraph","setEnableLoaderGraph","minValueY","minBy","maxValueY","maxBy","intervalY","filtered","minValueYDomain","maxValueYDomain","intervalYDomain","_dataGraphNoInit$","widthDomain","timeStampEstimated","itemSelected","k","ceil","_d","dataGraphNoInit","firstAvailablePage","verifyPageLeft","handleBeforeDay","_props$dataGraphPage","verifyPage","handleAfterDay","handleZoomIn","handleZoomOut","positionAdjusted","DotSliderArea","points","y_value","_y","x_value","_props$activeServices3","GraphPicker","Slide","onActivated","point","paddingLeft","paddingRight","Draggable","onStart","onStop","onDrag","bounds","empty_data_device","empty_data_device_light","CreateTag","Plus_Widget_ID","kpi","increment","positive","empty_widgets_slider_light","BiPhaseGraph","_props$label","radarStyle","ticks","axisStyle","polar","startAngle","endAngle","gradient","VictoryPolarAxis","tickCount","_props$label2","axisAngle","labelPlacement","axisLabelComponent","ThreePhaseGraph","_props$label3","_props$label4","_props$label5","IndicatorsLoading","empty_modules_plus_light","loadEnergyQuality","_getState$services$ac11","states","streaming","indicator","info","indexVariable","loadingContainer","loadAlwaysOn","_getState$services$ac12","_result$body2","avgData","setAvgData","mean","dow","bottomLeft","bottomRight","Location","loadComparatives","_value$type","allValues","typesSelected","setTypesSelected","selectedAllServices","setSelectedAllServices","servicesActive","setServicesActive","disabledServices","setDisabledServices","_services","Services","loadIndicators","_getState$services$ac13","graphContiner","setGraphContinerWidth","empty","RenderEmptyService","ServicesPlus","Radar","AlwaysOn","Rank","urlFrame","frameEfficiency","contentWindow","postMessage","token_key","token_value","strokeOpacity","tag","processed","_$maxBy","allowPan","_props$data","colorScale","_datum$active_power","_datum$reactive_power","empty_data_tag","empty_data_tag_light","_props$item","applianceSelected","setApplianceSelected","deviceSelected","_props$item2","loadTagRecords","_result$body3","resultModified","setDeviceSelected","_props$account","_props$appliances$","_item$custom_name","_item$custom_name$toL","_item$custom_name2","_item$custom_name2$to","GraphPower","create_timestamp","reactive_cons","setGraphs","setActiveReports","setReportLoading","setNewReportLoading","setNewReport","setShowContentHeader","getReportsAsync","reports","report","file_name","downloadReportsAsync","reportDetailed","showActiveReports","setReportDetailed","scrollToReport","setSelectedTypeOfReport","geniusActions","setExpanded","id_report","SubMenu","activatedAllOptions","setActivatedAllOptions","screenSize","list","mergedIds","mergeObjectsWithoutDuplicateIds","tooltip","getGraphsByServiceAsync","labelDetail","labelButton","buttonText","allowSearch","showSelected","typeReport","filterName","outsideButtonEvent","insideButtonEvent","allOptionButtonEvent","externalShowEvent","setExternalShowEvent","filterValue","countByType","groupsWithCount","count","scrollY","ids_service","closeOnScroll","_item$options_graphs","_item$options_graphs$","_item$options_graphs$2","name_category","options_graphs","parseISO","htmlUrl","excelUrl","setFileName","dateRange","setDateRange","_dateRange$","_dateRange$2","Rank_Date","MonthYearPicker","onShownDateChange","showMonthAndYearPickers","direction","staticRanges","inputRanges","loadingContent","duplicateReport","deviceIds","generateReportAsync","_getState$services$to","isPPA","source","start_date","end_date","zoho_crm_id","zoho_crm_module","emails","setReportGenerated","bodyPPA","statusReport","deleteReportAsync","setServiceType","setGraphsType","getGraphsReportAsync","initReport","duplicate","setReport","serviceSelected","setServiceSelected","graphSelected","setGraphSelected","typeOfReport","setTypeOfReport","selectedTypeOfReport","premium","setPremium","isNavbarFixed","setIsNavbarFixed","payloadPPA","setPayloadPPA","getYear","dataGroupGraphs","prevReport","isValidReport","self","types","generationIds","consumptionIds","generationServices","_s$type","consumptionServices","_s$type2","show_genius_ppa_report","filteredTypeReport","_graphSelected","Genius_Variable_ID","position","ActiveReports","querySelector","scrollIntoView","behavior","ExportReport","file_excel","Picker","created_time","isoDateString","endOfMonth","details","getMonthAndYearDetails","new_graph","id_graphs","marginBottom","IframeResizer","scrollMarginTop","empty_report_genius_dark","empty_report_genius_light","changePeriod","_graphContainer$curre","date_unix","eventHandler","Standby_Widget_ID","text_value","loadAlwaysOnIndicators","_activeServicesPlus$2","loadingGraph","variable","line","variableName","graph_1","setGraph_1","graph_2","setGraph_2","graph_3","setGraph_3","firstLine","setFirstLine","secondLine","setSecondLine","thirdLine","setThirdLine","typeLines","setTypeLines","setIndexVariable","expandedVariable","setExpandedVariable","expandedLine","setExpandedLine","Quality_Variable_ID","handlerIndexVariable","handlerVariable","_areaStyle$","_areaStyle$$data","_areaStyle$2","_areaStyle$2$data","_areaStyle$3","_areaStyle$3$data","_areaStyle$4","_areaStyle$4$data","_areaStyle$5","_areaStyle$5$data","_areaStyle$6","_areaStyle$6$data","_areaStyle$7","_areaStyle$7$data","y_1","y_2","y_3","y_value_1","y_value_2","y_value_3","VictoryLine","tile","loadQualityIndicators","_getState$services$ac15","_deviceActive9","_deviceActive10","_itemMax$value","_itemMin$value","itemMax","itemMin","metaData","maxDomain","tick","VictoryStack","PowerFactor","Graphs","startDashboardOnboarding","setActiveServicePreonboarding","tour","logoErco","logoNeu","logo","onboarding","handleMessageFromIframe","origin","statusInvoice","skippedOnboarding","finishedOnboarding","framePreonboarding","onboardingSections","showBetaMessage","currentView","setCurrentView","isShowing","setIsShowing","section","setSection","showSection","show_onboarding_modals","getData","showInvoices","onboardingGeneration","imgPath","ercoComputer","classImageContainer","ercoGeneration","classImage","ercoEfficiency","ercoScreen","onboardingPreonboarding","leftChat","rightChat","nextStepsInfoConsumption","handWithPhone","consumptionInfo","energyReceipt","show_section_invoices","isLastObject","handleContinueClick","faChevronRight","RateNumber","elements","charCounter","setCharCounter","surveyValue","setSurveyValue","qualify","comment","specific_reason","firstSend","setFirstSend","setService","resize","maxLength","handleSend","toast","dismiss","loadUserNpsAsync","show_nps_survey","PopUpScore","toastId","ToastContainer","autoClose","pauseOnFocusLoss","closeOnClick","onChangeEdit","onChangeDuplicate","setOpenDeleteModal","DeleteAlertModal","openModal","setOpenModal","deleteAlertAsync","AlertsLoading","RenderAlert","_alert$services$","PopoverAlerts","openDeleteModal","emptyDataAlertsLight","setShowBannerChatbot","setScreenPaddingBottom","dragItem","dragged","windowWidth","windowHeight","lumiStyleActive","lumiStyleInactive","initialLeftPosition","initialTopPosition","setStyle","topPosition","setTopPosition","leftPosition","setLeftPosition","isReturning","setIsReturning","handleMouseMove","newLeft","clientX","elementWidth","newTop","clientY","elementHeight","handleMouseUp","onPointerDown","startY","onPointerUp","tutorialListInfo","chatBot","tutorialFunction","tutorialListInfoGlobal","showItems","setShowItems","TutorialContainer","tutorial","stepsAlert","step6","step6En","step7","step7En","step8","step8En","stepsWalktrough","RadialBlueGradient","RadialBlueLightGradient","RadialGreenGradient","RadialGreenLightGradient","RadialPurpleGradient","RadialPurpleLightGradient","LinearRedOrangeGradient","ProtectedRoute","component","hasAccess","rest","Route","Redirect","controlledNewAlert","_props$user$capabilit","_user$capabilities7","_user$capabilities8","_user$capabilities9","tourProfile","tourAlerts","tourWalktrough","show_section_onboarding","LumiBanner","Menu","Account","Alerts","OnboardingSections","OnboardingModal","show_feedback_new_platform_survey","NpsSurvey","Switch","exact","Energy","Dashboard","Invoices","Plus","Genius","Efficiency","TagManager","QualityEnergy","Preonboarding","showAlert","generateCodeAsync","messageError","setInterval","clearInterval","setCounter","loadInfoUserAsync","resultUser","_resultUser$jobs","_resultUser$capabilit","setCodeTries","require","inputValue","setInputValue","setInput","input","AuthCode","containerClassName","inputClassName","allowedCharacters","InputRounded","trimStart","trimEnd","PaidStatus","statusMessage","statusIcon","this","transaction","invoices_paid_text_method","amount","componentRef","setTransaction","queryString","complement","ticket","order","ReactToPrint","copyStyles","appStore","playStore","frameOnboarding","App","componentDidMount","updateBodyClass","componentDidUpdate","prevProps","componentWillUnmount","classList","Provider","store","MobileScreen","Paid","Login","Onboarding","Main","_App","displayName","baseUrl","getElementsByTagName","getAttribute","container","createRoot","BrowserRouter","basename","tab"],"mappings":"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CAjBD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,iD,oBCA3CD,EAAOC,QAAU,IAA0B,8C,kBCA3CD,EAAOC,QAAU,8rW,oBCAjBD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,mD,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,mD,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,mD,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,mD,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,mD,oBCA3CD,EAAOC,QAAU,IAA0B,kD,oBCA3CD,EAAOC,QAAU,IAA0B,qD,oBCA3CD,EAAOC,QAAU,IAA0B,kD,kBCA3CD,EAAOC,QAAU,8oT,oBCAjBD,EAAOC,QAAU,IAA0B,gD,kBCA3CD,EAAOC,QAAU,05Z,oBCAjBD,EAAOC,QAAU,IAA0B,gD,kBCA3CD,EAAOC,QAAU,0mY,oBCAjBD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,oD,oBCA3CD,EAAOC,QAAU,IAA0B,sD,oBCA3CD,EAAOC,QAAU,IAA0B,4D,oBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,kD,kBCA3CD,EAAOC,QAAU,8jV,oBCAjBD,EAAOC,QAAU,IAA0B,kD,oBCA3CD,EAAOC,QAAU,IAA0B,qD,oBCA3CD,EAAOC,QAAU,IAA0B,kD,oBCA3CD,EAAOC,QAAU,IAA0B,qD,oBCA3CD,EAAOC,QAAU,IAA0B,kD,kBCA3CD,EAAOC,QAAU,80W,oBCAjBD,EAAOC,QAAU,IAA0B,kD,oBCA3CD,EAAOC,QAAU,IAA0B,qD,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,kBCA3CD,EAAOC,QAAU,k2P,oBCAjBD,EAAOC,QAAU,IAA0B,2C,kBCA3CD,EAAOC,QAAU,kyX,oBCAjBD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,+C,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,+C,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,+C,oBCA3CD,EAAOC,QAAU,IAA0B,iC,oBCA3CD,EAAOC,QAAU,IAA0B,wD,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,kD,oBCA3CD,EAAOC,QAAU,IAA0B,qD,oBCA3CD,EAAOC,QAAU,IAA0B,sD,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,wC,oBCA3CD,EAAOC,QAAU,IAA0B,sD,oBCA3CD,EAAOC,QAAU,IAA0B,2C,kBCA3CD,EAAOC,QAAU,k/Z,oBCAjBD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,0C,kBCA3CD,EAAOC,QAAU,8pW,oBCAjBD,EAAOC,QAAU,IAA0B,0C,kBCA3CD,EAAOC,QAAU,s6U,oBCAjBD,EAAOC,QAAU,IAA0B,0C,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,0C,kBCA3CD,EAAOC,QAAU,8wM,oBCAjBD,EAAOC,QAAU,IAA0B,0C,kBCA3CD,EAAOC,QAAU,8uO,kBCAjBD,EAAOC,QAAU,ktH,kBCAjBD,EAAOC,QAAU,kxK,oBCAjBD,EAAOC,QAAU,IAA0B,0C,kBCA3CD,EAAOC,QAAU,0xR,oBCAjBD,EAAOC,QAAU,IAA0B,0C,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,6C,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,wC","file":"static/js/main.5ded2427.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/card-tag.a2b979e9.svg\";","var map = {\n\t\"./logo-enrg-dark.svg\": 378,\n\t\"./logo-enrg-light.svg\": 377,\n\t\"./logo-enrg-white.svg\": 379\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1177;","export const SET_MENU = 'SET_MENU';\r\nexport const SET_CURRENT_MODULE = 'SET_CURRENT_MODULE';\r\nexport const SET_LANGUAGE = 'SET_LANGUAGE';\r\nexport const SET_SHOW_BLACK_SCREEN = 'SET_SHOW_BLACK_SCREEN';\r\nexport const LOGOUT = 'LOGOUT';\r\nexport const SET_SHOW_CALENDAR = 'SET_SHOW_CALENDAR';\r\nexport const SET_SHOW_BLACK_SCREEN_DRAWER = 'SET_SHOW_BLACK_SCREEN_DRAWER';\r\nexport const SET_SHOW_NPS_SURVEY = 'SET_SHOW_NPS_SURVEY';\r\nexport const SET_START_ONBOARDING = 'SET_START_ONBOARDING';\r\nexport const SET_CONTROLLED_ONBOARDING = 'SET_CONTROLLED_ONBOARDING';\r\nexport const SET_SHOW_DRAWER_ONBOARDING = 'SET_SHOW_DRAWER_ONBOARDING';\r\nexport const SET_SHOW_PULSE_ANIMATION = 'SET_SHOW_PULSE_ANIMATION';\r\nexport const SET_SCREEN_PADDING_BOTTOM = 'SET_SCREEN_PADDING_BOTTOM';","import * as creators from '../creators/Login';\r\n\r\nconst initialState = { \r\n step: 0,\r\n loading: false,\r\n resending: false,\r\n counter: 60,\r\n codeTries: 0\r\n};\r\n\r\nexport const loginReducer = (state = initialState, { type, payload }) => {\r\n switch (type) { \r\n case creators.SET_STEP:\r\n return { ...state, step: payload };\r\n case creators.SET_LOADING:\r\n return { ...state, loading: payload };\r\n case creators.SET_RESENDING:\r\n return { ...state, resending: payload };\r\n case creators.SET_COUNTER:\r\n return { ...state, counter: payload };\r\n case creators.SET_CODE_TRIES:\r\n return { ...state, codeTries: payload };\r\n default:\r\n return state;\r\n }\r\n}","import * as creators from '../creators/Users';\r\n\r\nconst initialState = {\r\n user: null,\r\n profileProgress: 0,\r\n savingInfoUser: false,\r\n userAccessEdit: null,\r\n showCreateUserModal: false,\r\n showUsersListModal: false,\r\n userJobs: [],\r\n usersAccount: [],\r\n usersAccountLoading: true,\r\n userChannels: [],\r\n userPersonalInterests: [],\r\n userPreferenceInfo: null,\r\n showUserPreferencesModal: null,\r\n userTokenApi: null,\r\n usersLoading: false\r\n};\r\n\r\nexport const usersReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case creators.SET_USER:\r\n return { ...state, user: payload };\r\n case creators.SET_USER_CAPABILITIES:\r\n const user = state.user;\r\n return { ...state, user: { ...user, capabilities: { ...user.capabilities, ...payload } } };\r\n case creators.SET_PROFILE_PROGRESS:\r\n return { ...state, profileProgress: payload };\r\n case creators.SET_SAVING_INFO_USER:\r\n return { ...state, savingInfoUser: payload };\r\n case creators.SET_USER_ACCESS_EDIT:\r\n return { ...state, userAccessEdit: payload };\r\n case creators.SET_SHOW_CREATE_USER_MODAL:\r\n return { ...state, showCreateUserModal: payload };\r\n case creators.SET_SHOW_USERS_LIST_MODAL:\r\n return { ...state, showUsersListModal: payload };\r\n case creators.SET_USER_JOBS:\r\n return { ...state, userJobs: payload };\r\n case creators.SET_USERS_ACCOUNT:\r\n return { ...state, usersAccount: payload };\r\n case creators.SET_USERS_ACCOUNT_LOADING:\r\n return { ...state, usersAccountLoading: payload };\r\n case creators.SET_USER_CHANNELS:\r\n return { ...state, userChannels: payload };\r\n case creators.SET_USER_PERSONAL_INTERESTS:\r\n return { ...state, userPersonalInterests: payload };\r\n case creators.SET_USER_PREFERENCE_INFO:\r\n return { ...state, userPreferenceInfo: payload };\r\n case creators.SET_SHOW_MODAL_USER_PREFERENCE:\r\n return { ...state, showUserPreferencesModal: payload };\r\n case creators.SET_USER_TOKEN_API:\r\n return { ...state, userTokenApi: payload };\r\n case creators.SET_LOADING_NEW_USER:\r\n return { ...state, usersLoading: payload };\r\n default:\r\n return state;\r\n }\r\n}","import { addDays, addMonths, addYears, startOfWeek, startOfMonth, startOfYear, format } from 'date-fns';\r\nimport esLocale from 'date-fns/locale/es';\r\nimport enLocale from 'date-fns/locale/en-US';\r\n\r\nexport const calendarIntervals = [\r\n \"month\", \"month\", \"year\", \"decade\"\r\n];\r\n\r\nexport const setCalendarDates = (value, interval) => {\r\n\r\n switch (interval) {\r\n case 0:\r\n return {\r\n graphDateFrom: value,\r\n graphDateTo: value\r\n };\r\n case 1:\r\n return {\r\n graphDateFrom: addDays(startOfWeek(value, 0), 1),\r\n graphDateTo: addDays(startOfWeek(value, 0), 7)\r\n };\r\n case 2:\r\n return {\r\n graphDateFrom: startOfMonth(value),\r\n graphDateTo: addDays(addMonths(startOfMonth(value), 1), -1)\r\n };\r\n case 3:\r\n return {\r\n graphDateFrom: startOfYear(value),\r\n graphDateTo: addYears(startOfYear(value), 1)\r\n };\r\n default:\r\n return null\r\n }\r\n};\r\n\r\nexport const stringFormatDate = (value, interval, language = 'es') => {\r\n\r\n const locale = language === 'es' ? esLocale : enLocale;\r\n\r\n let stringFormat; \r\n\r\n switch (interval) {\r\n case 0:\r\n stringFormat = 'EEEE, dd MMMM yyyy';\r\n break;\r\n case 1:\r\n stringFormat = 'dd MMMM yyyy';\r\n break;\r\n case 2:\r\n stringFormat = 'MMMM yyyy';\r\n break;\r\n case 3:\r\n stringFormat = 'yyyy';\r\n break;\r\n default:\r\n return null\r\n }\r\n\r\n return format(value, stringFormat, { locale: locale })\r\n};\r\n\r\nexport const setCalendarDatesEnergy = (value, interval) => {\r\n\r\n switch (interval) {\r\n case 0:\r\n return {\r\n graphDateFrom: value.startDate,\r\n graphDateTo: value.endDate\r\n };\r\n case 1:\r\n return {\r\n graphDateFrom: addDays(startOfWeek(value.startDate, 0), 1),\r\n graphDateTo: addDays(startOfWeek(value.endDate, 0), 7)\r\n };\r\n case 2:\r\n return {\r\n graphDateFrom: startOfMonth(value.startDate),\r\n graphDateTo: addDays(addMonths(startOfMonth(value.endDate), 1), -1)\r\n };\r\n case 3:\r\n return {\r\n graphDateFrom: startOfYear(value.startDate),\r\n graphDateTo: addYears(startOfYear(value.endDate), 1)\r\n };\r\n default:\r\n return null\r\n }\r\n};\r\n\r\nexport const sortByDate = (a, b) => { \r\n if (a.date < b.date)\r\n return - 1; \r\n if (a.date > b.date)\r\n return 1; \r\n return 0; \r\n};","import * as creators from '../creators/Energy';\r\n\r\nimport { addDays, startOfWeek } from 'date-fns';\r\nimport { setCalendarDatesEnergy } from '../../services/CalendarHandler';\r\n\r\nconst initialState = {\r\n graphData: [],\r\n graphLoading: true,\r\n indicatorsLoading: true,\r\n intervalGraph: 1,\r\n graphs: [],\r\n graphsRelations: [],\r\n activeGraphs: [],\r\n indicators: [],\r\n invoiceInfo: null,\r\n graphDateFrom: addDays(startOfWeek(new Date()), 1),\r\n graphDateTo: addDays(startOfWeek(new Date()), 7),\r\n graphDateFromScroll: addDays(startOfWeek(new Date()), 1),\r\n graphDateToScroll: addDays(startOfWeek(new Date()), 7),\r\n enableScrollData: true,\r\n showReportModal: false,\r\n reportLoading: false,\r\n scrollActive: true,\r\n tariff: [],\r\n bannersData: [],\r\n showDetailService: false,\r\n prevStateBar: null,\r\n enableAverageLine: true,\r\n rankGraphId: 'Rank_Weekly'\r\n}\r\n\r\nexport const energyReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case creators.SET_GRAPH_DATA:\r\n return { ...state, graphData: payload };\r\n case creators.SET_GRAPH_LOADING:\r\n return { ...state, graphLoading: payload };\r\n case creators.SET_INDICATORS_LOADING:\r\n return { ...state, indicatorsLoading: payload };\r\n case creators.SET_INVOICE_INFO:\r\n return { ...state, invoiceInfo: payload };\r\n case creators.SET_INTERVAL_GRAPH:\r\n\r\n let date = { startDate: new Date(), endDate: new Date(), key: 'selection' };\r\n let eventProperty = '';\r\n\r\n if (state.graphDateTo < date)\r\n date = state.graphDateTo;\r\n\r\n const dates = setCalendarDatesEnergy(date, payload);\r\n\r\n switch (payload) {\r\n case 0:\r\n eventProperty = 'Rank_Hourly'\r\n break\r\n case 1:\r\n eventProperty = 'Rank_Weekly'\r\n break\r\n case 2:\r\n eventProperty = 'Rank_Monthly'\r\n break\r\n case 3:\r\n eventProperty = 'Rank_Yearly'\r\n break\r\n default:\r\n eventProperty = 'Rank_Weekly'\r\n break\r\n }\r\n\r\n return {\r\n ...state,\r\n intervalGraph: payload,\r\n graphDateFrom: dates.graphDateFrom,\r\n graphDateTo: dates.graphDateTo,\r\n graphDateFromScroll: dates.graphDateFrom,\r\n graphDateToScroll: dates.graphDateTo,\r\n rankGraphId: eventProperty\r\n };\r\n\r\n case creators.SET_GRAPH_ACTIVE:\r\n return { ...state, activeGraphs: payload };\r\n case creators.SET_INDICATORS:\r\n return { ...state, indicators: payload };\r\n case creators.SET_GRAPH_OPTIONS:\r\n return {\r\n ...state,\r\n graphs: [{ options: payload.options, graphsGroups: payload.graphsGroups }],\r\n graphsRelations: payload.relations\r\n };\r\n case creators.SET_GRAPH_DATES:\r\n return {\r\n ...state,\r\n graphDateFrom: payload.graphDateFrom,\r\n graphDateTo: payload.graphDateTo,\r\n graphDateFromScroll: payload.graphDateFrom,\r\n graphDateToScroll: payload.graphDateTo\r\n };\r\n case creators.SET_GRAPH_DATES_SCROLL:\r\n return {\r\n ...state,\r\n graphDateFromScroll: payload.graphDateFrom,\r\n graphDateToScroll: payload.graphDateTo\r\n };\r\n case creators.SET_ENABLE_SCROLL_DATA:\r\n return { ...state, enableScrollData: payload };\r\n case creators.SET_SHOW_REPORT_MODAL:\r\n return { ...state, showReportModal: payload };\r\n case creators.SET_REPORT_LOADING:\r\n return { ...state, reportLoading: payload };\r\n case creators.SET_SCROLL_ACTIVE:\r\n return { ...state, scrollActive: payload };\r\n case creators.SET_TARIFF:\r\n return { ...state, tariff: payload };\r\n case creators.SET_BANNERS_DATA:\r\n return { ...state, bannersData: payload };\r\n case creators.SET_SHOW_DETAIL_SERVICE:\r\n return { ...state, showDetailService: payload };\r\n case creators.SET_DETAIL_DATA_GRAPH:\r\n return {\r\n ...state,\r\n intervalGraph: payload.intervalGraph,\r\n graphDateFrom: payload.graphDateFrom,\r\n graphDateTo: payload.graphDateTo,\r\n graphDateFromScroll: payload.graphDateFrom,\r\n graphDateToScroll: payload.graphDateTo\r\n };\r\n case creators.SET_PREV_STATE_BAR:\r\n return { ...state, prevStateBar: payload };\r\n case creators.SET_ENABLE_AVERAGE_LINE:\r\n return { ...state, enableAverageLine: payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as creators from '../creators/Invoices';\r\n\r\nimport { addMonths } from 'date-fns';\r\n\r\nconst initialState = {\r\n invoices: [],\r\n invoicesSummary: {\r\n total_bills: 0,\r\n pending_bills: 0,\r\n total_consumption: 0,\r\n total_payment: 0,\r\n id_bills_array: []\r\n },\r\n invoicesSummaryLoading: false,\r\n invoicesLoading: true,\r\n delayedInvoicesLoading: true,\r\n moreInvoicesLoading: false,\r\n invoicesDate: addMonths(new Date(), -1),\r\n selectedInvoices: [],\r\n banks: [],\r\n invoicesToPay: [],\r\n invoicesContent: [],\r\n invoicesContentLoading: true,\r\n invoiceDetails: null,\r\n invoiceDetailsContent: null,\r\n invoiceDetailsIndex: 0,\r\n invoicesPeriods: [],\r\n invoicesPeriodsFiltered: [],\r\n billsStatus: [\r\n {\r\n id: 'paid',\r\n name: 'Pagada',\r\n color: 'green',\r\n text_color: 'green-500'\r\n },\r\n {\r\n id: 'pending',\r\n name: 'Pendiente',\r\n color: 'orange',\r\n text_color: 'orange-200'\r\n },\r\n {\r\n id: 'overdue',\r\n name: 'Vencida',\r\n color: 'red',\r\n text_color: 'red-200'\r\n }\r\n ],\r\n filterStatus: null,\r\n totalInvoicesByPeriod: [],\r\n currentPage: 0,\r\n sortField: 'date_expiration',\r\n sortOrder: 0,\r\n showPay: false,\r\n emptyPaginationResult: false\r\n}\r\n\r\nexport const invoicesReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case creators.SET_INVOICES:\r\n return { ...state, invoices: payload };\r\n case creators.SET_INVOICES_SUMMARY:\r\n return { ...state, invoicesSummary: payload };\r\n case creators.SET_INVOICES_SUMMARY_LOADING:\r\n return { ...state, invoicesSummaryLoading: payload };\r\n case creators.SET_MORE_INVOICES:\r\n return { ...state, invoices: [...state.invoices, ...payload] };\r\n case creators.UPDATE_INVOICES:\r\n const newInvoices = state.invoices.map(currentInvoice => {\r\n const foundInvoice = payload.find(i => {\r\n return (i.id_bill === currentInvoice.id_bill)\r\n })\r\n if(!foundInvoice) return currentInvoice;\r\n return { \r\n ...currentInvoice, \r\n ...foundInvoice,\r\n loadingDelay: false\r\n }\r\n })\r\n return { ...state, invoices: newInvoices };\r\n case creators.SET_INVOICES_LOADING:\r\n return { ...state, invoicesLoading: payload };\r\n case creators.SET_DELAYED_INVOICES_LOADING:\r\n return { ...state, delayedInvoicesLoading: payload };\r\n case creators.SET_MORE_INVOICES_LOADING:\r\n return { ...state, moreInvoicesLoading: payload };\r\n case creators.SET_INVOICES_DATE:\r\n return { ...state, invoicesDate: payload };\r\n case creators.SET_SELECTED_INVOICES:\r\n return { ...state, selectedInvoices: payload };\r\n case creators.SET_INVOICES_BANKS:\r\n return { ...state, banks: payload };\r\n case creators.SET_INVOICES_TO_PAY:\r\n return { ...state, invoicesToPay: payload };\r\n case creators.SET_INVOICES_CONTENT:\r\n return { ...state, invoicesContent: payload };\r\n case creators.SET_INVOICES_CONTENT_LOADING:\r\n return { ...state, invoicesContentLoading: payload };\r\n case creators.SET_SHOW_INVOICE_DETAILS:\r\n return { ...state, invoiceDetails: payload };\r\n case creators.SET_SHOW_INVOICE_DETAILS_CONTENT:\r\n return { ...state, invoiceDetailsContent: payload };\r\n case creators.SET_SHOW_INVOICE_DETAILS_INDEX:\r\n return { ...state, invoiceDetailsIndex: payload };\r\n case creators.SET_INVOICES_PERIODS:\r\n return { ...state, invoicesPeriods: payload };\r\n case creators.SET_INVOICES_FILTER_STATUS:\r\n let invoicesPeriodsFiltered = state.invoicesPeriods.filter(ip => {\r\n switch (payload) {\r\n case 'pending':\r\n return ip.pending_bills > 0\r\n case 'paid':\r\n return ip.paid_bills > 0\r\n case 'overdue':\r\n return ip.due_bills > 0\r\n default:\r\n return null;\r\n }\r\n });\r\n\r\n return { ...state, filterStatus: payload, invoicesPeriodsFiltered };\r\n case creators.SET_INVOICES_TOTAL_INVOICES_BY_PERIOD:\r\n return { ...state, totalInvoicesByPeriod: payload };\r\n case creators.SET_INVOICES_CURRENT_PAGE:\r\n return { ...state, currentPage: payload };\r\n case creators.SET_INVOICES_SORT_FIELD:\r\n return { ...state, sortField: payload };\r\n case creators.SET_INVOICES_SORT_ORDER:\r\n return { ...state, sortOrder: payload };\r\n case creators.SET_SHOW_PAY:\r\n return { ...state, showPay: payload };\r\n case creators.SET_EMPTY_PAGINATION_RESULT:\r\n return { ...state, emptyPaginationResult: payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as creators from '../creators/Pays';\r\n\r\nconst initialState = {\r\n banks: [],\r\n invoicesToPay: [],\r\n typeComponent: 'METHOD',\r\n infoPayment: {\r\n commission: 0,\r\n totalPayment: 0,\r\n neugets: 0\r\n },\r\n paymentLoading: false,\r\n paymentMethods: [],\r\n paymentProvider: null\r\n}\r\n\r\nexport const paysReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case creators.SET_PAYS_BANKS:\r\n return { ...state, banks: payload };\r\n case creators.SET_PAYS_INVOICES_TO_PAY:\r\n return { ...state, invoicesToPay: payload };\r\n case creators.SET_PAYS_TYPE_COMPONENT:\r\n return { ...state, typeComponent: payload };\r\n case creators.SET_PAYS_INFO_PAYMENT:\r\n return { ...state, infoPayment: payload };\r\n case creators.SET_PAYS_PAYMENT_LOADING:\r\n return { ...state, paymentLoading: payload };\r\n case creators.SET_PAYS_PAYMENT_METHODS:\r\n return { ...state, paymentMethods: payload };\r\n case creators.SET_PAYS_PAYMENT_PROVIDER:\r\n return { ...state, paymentProvider: payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as creators from '../creators/Services';\r\n\r\nconst servicesTypes = [\r\n {\r\n key: 'energy',\r\n title: 'Energía',\r\n icon: 'energy',\r\n },\r\n {\r\n key: 'plus',\r\n title: 'Plus',\r\n icon: 'plus'\r\n },\r\n {\r\n key: 'zero',\r\n title: 'Financieros',\r\n icon: 'zero'\r\n },\r\n {\r\n key: 'generation',\r\n title: 'Generación',\r\n icon: 'generation'\r\n }\r\n ];\r\n\r\nconst initialState = {\r\n servicesTypes,\r\n totalServices: [],\r\n totalServicesGrouped: [],\r\n activeServicesEnergy: [],\r\n activeServicesPlus: [],\r\n activeServicesInvoices: [],\r\n activeServicePreonboarding: null,\r\n defaultActiveService: null\r\n}\r\n\r\nexport const servicesReducer = (state = initialState, { type, payload }) => {\r\n\r\n switch (type) {\r\n case creators.SET_TOTAL_SERVICES:\r\n return { ...state, totalServices: payload };\r\n case creators.SET_TOTAL_SERVICES_GROUPED:\r\n return { ...state, totalServicesGrouped: payload };\r\n case creators.SET_ACTIVE_SERVICES_ENERGY:\r\n return { ...state, activeServicesEnergy: payload };\r\n case creators.SET_ACTIVE_SERVICES_PLUS:\r\n return { ...state, activeServicesPlus: payload };\r\n case creators.SET_ACTIVE_SERVICES_INVOICES:\r\n return { ...state, activeServicesInvoices: payload };\r\n case creators.SET_ACTIVE_SERVICE_PREONBOARDING:\r\n return { ...state, activeServicePreonboarding: payload };\r\n case creators.SET_DEFAULT_ACTIVE_SERVICE:\r\n return { ...state, defaultActiveService: payload };\r\n default:\r\n return state;\r\n }\r\n\r\n}\r\n","import * as creators from '../creators/Accounts';\r\n\r\nconst initialState = {\r\n totalAccounts: [],\r\n account: null,\r\n neugets: null,\r\n codeReferred: null\r\n}\r\n\r\nexport const accountsReducer = (state = initialState, { type, payload }) => {\r\n\r\n switch (type) {\r\n case creators.SET_TOTAL_ACCOUNTS:\r\n return { ...state, totalAccounts: payload };\r\n case creators.SET_ACCOUNT:\r\n return { ...state, account: payload };\r\n case creators.SET_NEUGETS:\r\n return { ...state, neugets: payload };\r\n case creators.SET_CODE_REFERRED:\r\n return { ...state, codeReferred: payload };\r\n default:\r\n return state;\r\n }\r\n\r\n}\r\n","import * as creators from '../creators/Shared';\r\n\r\nconst initialState = {\r\n language: {},\r\n currentModule: 0,\r\n showMenu: false,\r\n showBlackScreen: false,\r\n showBlackScreenDrawer: false,\r\n showCalendar: false,\r\n showNpsSurvey: false,\r\n showDrawerOnboarding: false,\r\n startOnboarding: {\r\n dashboard: false,\r\n service_detail: false,\r\n service_picker: false,\r\n graph_type_picker: false,\r\n graph_period_picker: false,\r\n graph_calendar_picker: false,\r\n graph_export_data: false,\r\n new_alert: false,\r\n new_user: false,\r\n payment: false,\r\n invoice: false,\r\n profile: false,\r\n walktrough: false\r\n },\r\n controlledOnboarding: {\r\n service_picker: false,\r\n graph_type_picker: false,\r\n graph_period_picker: false,\r\n graph_calendar_picker: false,\r\n graph_export_data: false,\r\n new_alert: false\r\n },\r\n showPulseAnimation: false,\r\n screenPaddingBottom: 0\r\n};\r\n\r\nexport const sharedReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case creators.SET_LANGUAGE:\r\n return { ...state, language: payload };\r\n case creators.SET_MENU:\r\n return { ...state, showMenu: payload };\r\n case creators.SET_SHOW_BLACK_SCREEN:\r\n return { ...state, showBlackScreen: payload };\r\n case creators.SET_SHOW_CALENDAR:\r\n return { ...state, showCalendar: payload };\r\n case creators.SET_SHOW_BLACK_SCREEN_DRAWER:\r\n return { ...state, showBlackScreenDrawer: payload };\r\n case creators.SET_SHOW_NPS_SURVEY:\r\n return { ...state, showNpsSurvey: payload };\r\n case creators.SET_CURRENT_MODULE:\r\n return { ...state, currentModule: payload };\r\n case creators.SET_START_ONBOARDING:\r\n\r\n const currentStartOnboarding = { ...state.startOnboarding };\r\n currentStartOnboarding[payload.key] = payload.value;\r\n\r\n return { ...state, startOnboarding: currentStartOnboarding };\r\n case creators.SET_CONTROLLED_ONBOARDING:\r\n\r\n const currentControlledOnboarding = { ...state.controlledOnboarding };\r\n currentControlledOnboarding[payload.key] = payload.value;\r\n\r\n return { ...state, controlledOnboarding: currentControlledOnboarding };\r\n case creators.SET_SHOW_DRAWER_ONBOARDING:\r\n return { ...state, showDrawerOnboarding: payload };\r\n case creators.SET_SHOW_PULSE_ANIMATION:\r\n return { ...state, showPulseAnimation: payload };\r\n case creators.SET_SCREEN_PADDING_BOTTOM:\r\n return { ...state, screenPaddingBottom: payload };\r\n default:\r\n return state;\r\n }\r\n}","import * as creators from '../creators/Plus';\r\nimport _ from 'lodash';\r\nimport { addDays, startOfWeek } from 'date-fns';\r\nimport { setCalendarDates } from '../../services/CalendarHandler';\r\n\r\nconst initialState = {\r\n dataGraph: [],\r\n dataGraphPage: [],\r\n loadingInitData: false,\r\n enableHistory: true,\r\n devices: [],\r\n energyQuality: null,\r\n loadingEnergyQuality: false,\r\n alwaysOn: [],\r\n loadingAlwaysOn: false,\r\n indicators: [],\r\n loadingIndicators: false,\r\n comparatives: [],\r\n loadingComparatives: false,\r\n appliances: [],\r\n tagRecords: [],\r\n lastConection: null,\r\n lastPage: 1,\r\n lastDay: 0,\r\n openQualityEnergy: false,\r\n dataGraphQuality: [], \r\n dataGraphAlwaysOn: [], \r\n intervalGraphAlwaysOn: 1,\r\n graphDateFromAlwaysOn: addDays(startOfWeek(new Date()), 1),\r\n graphDateToAlwaysOn: addDays(startOfWeek(new Date()), 7),\r\n graphDateFromScrollAlwaysOn: addDays(startOfWeek(new Date()), 1),\r\n graphDateToScrollAlwaysOn: addDays(startOfWeek(new Date()), 7),\r\n enableScrollDataAlwaysOn: true,\r\n loadingAlwaysOnModule: true,\r\n qualityIndicators: null,\r\n loadingQualityIndicators: true,\r\n alwaysOnIndicators: [],\r\n loadingAlwaysOnIndicators: true,\r\n rankGraphIdAlwaysOn: 'Rank_Weekly'\r\n};\r\n\r\nexport const plusReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case creators.SET_DATA_GRAPH:\r\n\r\n let arrayPages = state.dataGraphPage;\r\n\r\n const lastAvailablePage = _.last(state.dataGraphPage.filter(item => !item?.init));\r\n\r\n let idPageRecord = arrayPages.length ? payload?.type === 0 ? arrayPages[0]?.idPageRecord + 1 : lastAvailablePage?.idPageRecord - 1 : 0;\r\n\r\n payload[\"idPageRecord\"] = idPageRecord;\r\n arrayPages.push(payload);\r\n arrayPages = arrayPages.filter(item => (item?.idPageRecord <= idPageRecord + 2 && item?.idPageRecord >= idPageRecord - 3) || item?.init);\r\n arrayPages.sort((a, b) => (a?.idPageRecord < b?.idPageRecord) ? 1 : ((b?.idPageRecord < a?.idPageRecord) ? -1 : 0));\r\n\r\n let dataGraph = arrayPages.map(value => value?.data).flat();\r\n\r\n return { ...state, dataGraph: dataGraph, dataGraphPage: arrayPages };\r\n \r\n case creators.SET_DATA_GRAPH_STREAMING:\r\n\r\n let arrayPagesStreaming = state.dataGraphPage;\r\n\r\n let pageInit = _.last(state.dataGraphPage);\r\n\r\n let pageInitModified = { ...pageInit, data: pageInit?.data.concat(payload) };\r\n\r\n arrayPagesStreaming[arrayPagesStreaming.length - 1] = pageInitModified;\r\n\r\n let dataGraphStreaming = arrayPagesStreaming.map(value => value?.data).flat();\r\n\r\n return { ...state, dataGraph: dataGraphStreaming, dataGraphPage: arrayPagesStreaming };\r\n\r\n case creators.SET_LOADING_INIT_DATA:\r\n return { ...state, loadingInitData: payload };\r\n case creators.SET_ENABLE_HISTORY:\r\n return { ...state, enableHistory: payload };\r\n case creators.SET_DEVICES:\r\n return { ...state, devices: payload };\r\n case creators.RESET_DATA:\r\n return { ...state, dataGraph: [], dataGraphPage: [] };\r\n case creators.SET_ENERGY_QUALITY:\r\n return { ...state, energyQuality: payload };\r\n case creators.SET_LOADING_ENERGY_QUALITY:\r\n return { ...state, loadingEnergyQuality: payload };\r\n case creators.SET_ALWAYS_ON:\r\n return { ...state, alwaysOn: payload };\r\n case creators.SET_LOADING_ALWAYS_ON:\r\n return { ...state, loadingAlwaysOn: payload };\r\n case creators.SET_PLUS_INDICATORS:\r\n return { ...state, indicators: payload };\r\n case creators.SET_PLUS_LOADING_INDICATORS:\r\n return { ...state, loadingIndicators: payload };\r\n case creators.SET_COMPARATIVES:\r\n return { ...state, comparatives: payload };\r\n case creators.SET_LOADING_COMPARATIVES:\r\n return { ...state, loadingComparatives: payload };\r\n case creators.SET_APPLIANCES:\r\n return { ...state, appliances: payload };\r\n case creators.SET_TAG_RECORDS:\r\n return { ...state, tagRecords: payload };\r\n case creators.SET_LAST_CONECTION:\r\n return { ...state, lastConection: payload };\r\n case creators.SET_LAST_DAY:\r\n return { ...state, lastDay: payload };\r\n case creators.SET_LAST_PAGE:\r\n return { ...state, lastPage: payload };\r\n case creators.SET_DATA_GRAPH_HISTORY_INIT:\r\n let newData = state.dataGraphPage.map(item =>{\r\n return {...item, data: payload?.data?.concat(item?.data)};\r\n });\r\n let dataGraphHistoryInit = newData.map(value => value?.data).flat();\r\n return { ...state, dataGraph: dataGraphHistoryInit, dataGraphPage: newData };\r\n case creators.SET_OPEN_QUALITY_ENERGY:\r\n return { ...state, openQualityEnergy: payload }; \r\n case creators.SET_DATA_GRAPH_ALWAYS_ON:\r\n return { ...state, dataGraphAlwaysOn: payload }; \r\n case creators.SET_INTERVAL_GRAPH_ALWAYS_ON:\r\n\r\n let date = new Date();\r\n let eventProperty = '';\r\n\r\n if (state.graphDateToAlwaysOn < date)\r\n date = state.graphDateToAlwaysOn;\r\n\r\n const dates = setCalendarDates(date, payload);\r\n\r\n switch (payload) { \r\n case 1:\r\n eventProperty = 'Rank_Weekly'\r\n break\r\n case 2:\r\n eventProperty = 'Rank_Monthly'\r\n break\r\n case 3:\r\n eventProperty = 'Rank_Yearly'\r\n break\r\n default:\r\n eventProperty = 'Rank_Weekly'\r\n break\r\n }\r\n\r\n return { ...state, \r\n intervalGraphAlwaysOn: payload,\r\n graphDateFromAlwaysOn: dates.graphDateFrom,\r\n graphDateToAlwaysOn: dates.graphDateTo,\r\n graphDateFromScrollAlwaysOn: dates.graphDateFrom,\r\n graphDateToScrollAlwaysOn: dates.graphDateTo,\r\n rankGraphIdAlwaysOn: eventProperty\r\n }; \r\n case creators.SET_GRAPH_DATES_ALWAYS_ON:\r\n return {\r\n ...state,\r\n graphDateFromAlwaysOn: payload.graphDateFrom,\r\n graphDateToAlwaysOn: payload.graphDateTo,\r\n graphDateFromScrollAlwaysOn: payload.graphDateFrom,\r\n graphDateToScrollAlwaysOn: payload.graphDateTo\r\n };\r\n case creators.SET_GRAPH_DATES_SCROLL_ALWAYS_ON:\r\n return {\r\n ...state,\r\n graphDateFromScrollAlwaysOn: payload.graphDateFromAlwaysOn,\r\n graphDateToScrollAlwaysOn: payload.graphDateToAlwaysOn\r\n };\r\n case creators.SET_ENABLE_SCROLL_DATA_ALWAYS_ON:\r\n return { ...state, enableScrollDataAlwaysOn: payload };\r\n case creators.SET_LOADING_ALWAYS_ON_MODULE:\r\n return { ...state, loadingAlwaysOnModule: payload }; \r\n case creators.SET_QUALITY_INDICATORS:\r\n return { ...state, qualityIndicators: payload }; \r\n case creators.SET_LOADING_QUALITY_INDICATORS:\r\n return { ...state, loadingQualityIndicators: payload }; \r\n case creators.SET_ALWAYS_ON_INDICATORS:\r\n return { ...state, alwaysOnIndicators: payload }; \r\n case creators.SET_LOADING_ALWAYS_ON_INDICATORS:\r\n return { ...state, loadingAlwaysOnIndicators: payload }; \r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as creators from '../creators/Genius';\r\n\r\nconst initialState = {\r\n totalReports: [],\r\n graphs: [],\r\n activeReports: [],\r\n loadingReport: true,\r\n loadingNewReport: false,\r\n reportGenerated: false,\r\n newReport: false,\r\n expanded: false,\r\n serviceType: null,\r\n graphsType: null,\r\n totalGraphs: []\r\n};\r\n\r\nexport const geniusReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case creators.SET_REPORTS_GENIUS:\r\n return { ...state, totalReports: payload };\r\n case creators.SET_GRAPHS_REPORT_GENIUS:\r\n return { ...state, graphs: payload };\r\n case creators.SET_ACTIVE_REPORTS:\r\n return { ...state, activeReports: payload };\r\n case creators.SET_REPORT_LOADING:\r\n return { ...state, loadingReport: payload };\r\n case creators.SET_NEW_REPORT_LOADING:\r\n return { ...state, loadingNewReport: payload };\r\n case creators.SET_REPORT_GENERATED:\r\n return { ...state, reportGenerated: payload };\r\n case creators.SET_NEW_REPORT:\r\n return { ...state, newReport: payload };\r\n case creators.SET_SHOW_CONTENT_HEADER:\r\n return { ...state, expanded: payload };\r\n case creators.SET_SERVICE_TYPE:\r\n return { ...state, serviceType: payload };\r\n case creators.SET_GRAPHS_TYPE:\r\n return { ...state, graphsType: payload };\r\n case creators.SET_TOTAL_GRAPHS_REPORT_GENIUS:\r\n return { ...state, totalGraphs: payload };\r\n default:\r\n return state;\r\n }\r\n}","import * as creators from '../creators/Notifications';\r\n\r\nconst initialState = {\r\n notifications: [],\r\n notificationsPagination: null,\r\n notificationsLoading: true,\r\n totalNotificationsInfo: null\r\n}\r\n\r\nexport const notificationsReducer = (state = initialState, { type, payload }) => {\r\n\r\n switch (type) {\r\n case creators.SET_NOTIFICATIONS:\r\n return { ...state, notifications: payload };\r\n case creators.SET_TOTAL_NOTIFICATIONS_INFO:\r\n return { ...state, totalNotificationsInfo: payload };\r\n case creators.SET_NOTIFICATIONS_PAGINATION:\r\n return { ...state, notificationsPagination: payload };\r\n case creators.SET_NOTIFICATIONS_LOADING:\r\n return { ...state, notificationsLoading: payload };\r\n default:\r\n return state;\r\n }\r\n\r\n}\r\n","import * as creators from '../creators/Alerts';\r\n\r\nconst initialState = {\r\n alerts: [],\r\n loading: false,\r\n alertRegisters: [],\r\n alertRegistersPagination: null,\r\n alertRegistersLoading: true,\r\n totalalertRegistersInfo: null,\r\n showDrawerAlerts: false \r\n}\r\n\r\nexport const alertsReducer = (state = initialState, { type, payload }) => {\r\n\r\n switch (type) {\r\n case creators.SET_ALERTS:\r\n return { ...state, alerts: payload };\r\n case creators.SET_ALERTS_LOADING:\r\n return { ...state, loading: payload };\r\n case creators.SET_ALERT_REGISTERS:\r\n return { ...state, alertRegisters: payload };\r\n case creators.SET_TOTAL_ALERT_REGISTERS_INFO:\r\n return { ...state, totalalertRegistersInfo: payload };\r\n case creators.SET_ALERT_REGISTERS_PAGINATION:\r\n return { ...state, alertRegistersPagination: payload };\r\n case creators.SET_ALERT_REGISTERS_LOADING:\r\n return { ...state, alertRegistersLoading: payload };\r\n case creators.SET_SHOW_DRAWER_ALERTS:\r\n return { ...state, showDrawerAlerts: payload }; \r\n default:\r\n return state;\r\n }\r\n\r\n}","import * as creators from '../creators/Chatbot';\r\n\r\nconst initialState = {\r\n activeChat: false,\r\n loadingChat: false,\r\n currentConversationId: null,\r\n messages: [],\r\n showChatBot: false,\r\n activeChatMessages: true,\r\n conversations: [],\r\n showBannerChatbot: true\r\n}\r\n\r\nexport const chatbotReducer = (state = initialState, { type, payload }) => {\r\n switch (type) {\r\n case creators.SET_ACTIVE_CHAT:\r\n return { ...state, activeChat: payload };\r\n case creators.SET_LOADING_CHAT:\r\n return { ...state, loadingChat: payload };\r\n case creators.SET_CURRENT_CONVERSATION:\r\n return { ...state, currentConversationId: payload };\r\n case creators.SET_MESSAGES:\r\n return { ...state, messages: payload };\r\n case creators.SET_SHOW_CHATBOT:\r\n return { ...state, showChatBot: payload };\r\n case creators.SET_ACTIVATE_CHAT_MESSAGES:\r\n return { ...state, activeChatMessages: payload };\r\n case creators.SET_CONVERSATIONS:\r\n return { ...state, conversations: payload };\r\n case creators.SET_SHOW_BANNER_CHATBOT:\r\n return { ...state, showBannerChatbot: payload };\r\n default:\r\n return state;\r\n }\r\n}","export const themes = {\r\n DARK: 'dark',\r\n LIGHT: 'light'\r\n}","import { themes } from \"../../utils/enums\";\r\n\r\nimport * as theme from '../creators/Theme';\r\n\r\nconst savedTheme = localStorage.getItem('theme');\r\n\r\nconst initialState = {\r\n theme: Object.values(themes).includes(savedTheme) ? savedTheme : themes.DARK\r\n};\r\n\r\nexport const themeReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case theme.SET_THEME:\r\n return {\r\n ...state,\r\n theme: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { createStore, combineReducers, applyMiddleware } from \"redux\";\r\n\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\n\r\nimport thunk from \"redux-thunk\";\r\n\r\nimport * as sharedCreators from \"./creators/Shared\";\r\n\r\nimport { loginReducer } from \"./reducers/Login\";\r\nimport { usersReducer } from \"./reducers/Users\";\r\nimport { energyReducer } from \"./reducers/Energy\";\r\nimport { invoicesReducer } from \"./reducers/Invoices\";\r\nimport { paysReducer } from \"./reducers/Pays\";\r\nimport { servicesReducer } from \"./reducers/Services\";\r\nimport { accountsReducer } from \"./reducers/Accounts\";\r\nimport { sharedReducer } from \"./reducers/Shared\";\r\nimport { plusReducer } from \"./reducers/Plus\";\r\nimport { geniusReducer } from \"./reducers/Genius\";\r\nimport { notificationsReducer } from \"./reducers/Notifications\";\r\nimport { alertsReducer } from \"./reducers/Alerts\";\r\nimport { chatbotReducer } from \"./reducers/Chatbot\";\r\nimport { themeReducer } from \"./reducers/Theme\";\r\n\r\nconst allReducers = combineReducers({\r\n login: loginReducer,\r\n users: usersReducer,\r\n energy: energyReducer,\r\n services: servicesReducer,\r\n invoices: invoicesReducer,\r\n pays: paysReducer,\r\n accounts: accountsReducer,\r\n shared: sharedReducer,\r\n plus: plusReducer,\r\n genius: geniusReducer,\r\n notifications: notificationsReducer,\r\n alerts: alertsReducer,\r\n chatbot: chatbotReducer,\r\n theme: themeReducer,\r\n});\r\n\r\nconst root = (state, action) => {\r\n if (action.type === sharedCreators.LOGOUT) {\r\n const { shared, theme } = state;\r\n state = { shared, theme };\r\n }\r\n\r\n return allReducers(state, action);\r\n};\r\n\r\nconst Store = createStore(root, composeWithDevTools(applyMiddleware(thunk)));\r\n\r\nexport default Store;\r\n","export const SET_STEP = \"SET_STEP\";\r\nexport const SET_LOADING = \"SET_LOADING\"\r\nexport const SET_RESENDING = \"SET_RESENDING\";\r\nexport const SET_COUNTER = \"SET_COUNTER\";\r\nexport const SET_CODE_TRIES = \"SET_CODE_TRIES\";","export const SET_USER = \"SET_USER\";\r\nexport const SET_USER_CAPABILITIES = \"SET_USER_CAPABILITIES\";\r\nexport const SET_PROFILE_PROGRESS = \"SET_PROFILE_PROGRESS\";\r\nexport const SET_SAVING_INFO_USER = \"SET_SAVING_INFO_USER\";\r\nexport const SET_USER_ACCESS_EDIT = \"SET_USER_ACCESS_EDIT\";\r\nexport const SET_SHOW_CREATE_USER_MODAL = \"SET_SHOW_CREATE_USER_MODAL\";\r\nexport const SET_SHOW_USERS_LIST_MODAL = \"SET_SHOW_USERS_LIST_MODAL\";\r\nexport const SET_USER_JOBS = \"SET_USER_JOBS\";\r\nexport const SET_USERS_ACCOUNT = \"SET_USERS_ACCOUNT\";\r\nexport const SET_USERS_ACCOUNT_LOADING = \"SET_USERS_ACCOUNT_LOADING\";\r\nexport const SET_USER_CHANNELS = \"SET_USER_CHANNELS\";\r\nexport const SET_USER_PERSONAL_INTERESTS = \"SET_USER_PERSONAL_INTERESTS\";\r\nexport const SET_USER_PREFERENCE_INFO = \"SET_USER_PREFERENCE_INFO\";\r\nexport const SET_SHOW_MODAL_USER_PREFERENCE = \"SET_SHOW_MODAL_USER_PREFERENCE\";\r\nexport const SET_USER_TOKEN_API = \"SET_USER_TOKEN_API\";\r\nexport const SET_LOADING_NEW_USER = \"SET_LOADING_NEW_USER\";","export const SET_GRAPH_DATA = 'SET_GRAPH_DATA';\r\nexport const SET_GRAPH_LOADING = 'SET_GRAPH_LOADING';\r\nexport const SET_INTERVAL_GRAPH = 'SET_INTERVAL_GRAPH';\r\nexport const SET_GRAPH_DATES = 'SET_GRAPH_DATES';\r\nexport const SET_GRAPH_OPTIONS = 'SET_GRAPH_OPTIONS';\r\nexport const SET_GRAPH_ACTIVE = 'SET_GRAPH_ACTIVE';\r\nexport const SET_INDICATORS = 'SET_INDICATORS';\r\nexport const SET_INVOICE_INFO = 'SET_INVOICE_INFO';\r\nexport const SET_INDICATORS_LOADING = 'SET_INDICATORS_LOADING';\r\nexport const SET_GRAPH_DATES_SCROLL = 'SET_GRAPH_DATES_SCROLL';\r\nexport const SET_ENABLE_SCROLL_DATA = 'SET_ENABLE_SCROLL_DATA';\r\nexport const SET_SHOW_REPORT_MODAL = 'SET_SHOW_REPORT_MODAL';\r\nexport const SET_REPORT_LOADING = 'SET_REPORT_LOADING';\r\nexport const SET_SCROLL_ACTIVE = 'SET_SCROLL_ACTIVE';\r\nexport const SET_TARIFF = 'SET_TARIFF';\r\nexport const SET_BANNERS_DATA = 'SET_BANNERS_DATA';\r\nexport const SET_SHOW_DETAIL_SERVICE = 'SET_SHOW_DETAIL_SERVICE';\r\nexport const SET_DETAIL_DATA_GRAPH = 'SET_DETAIL_DATA_GRAPH';\r\nexport const SET_PREV_STATE_BAR = 'SET_PREV_STATE_BAR';\r\nexport const SET_ENABLE_AVERAGE_LINE = 'SET_ENABLE_AVERAGE_LINE';","export const SET_TOTAL_SERVICES = 'SET_TOTAL_SERVICES';\r\nexport const SET_TOTAL_SERVICES_GROUPED = 'SET_TOTAL_SERVICES_GROUPED';\r\nexport const SET_ACTIVE_SERVICES_ENERGY = 'SET_ACTIVE_SERVICES_ENERGY';\r\nexport const SET_ACTIVE_SERVICES_INVOICES = 'SET_ACTIVE_SERVICES_INVOICES';\r\nexport const SET_ACTIVE_SERVICES_PLUS = 'SET_ACTIVE_SERVICES_PLUS';\r\nexport const SET_ACTIVE_SERVICE_PREONBOARDING = 'SET_ACTIVE_SERVICE_PREONBOARDING';\r\nexport const SET_DEFAULT_ACTIVE_SERVICE = 'SET_DEFAULT_ACTIVE_SERVICE';","export const SET_INVOICES = 'SET_INVOICES';\r\nexport const SET_INVOICES_SUMMARY = 'SET_INVOICES_SUMMARY';\r\nexport const SET_INVOICES_SUMMARY_LOADING = 'SET_INVOICES_SUMMARY_LOADING';\r\nexport const SET_MORE_INVOICES = 'SET_MORE_INVOICES';\r\nexport const UPDATE_INVOICES = 'UPDATE_INVOICES';\r\nexport const SET_INVOICES_LOADING = 'SET_INVOICES_LOADING';\r\nexport const SET_DELAYED_INVOICES_LOADING = 'SET_DELAYED_INVOICES_LOADING';\r\nexport const SET_MORE_INVOICES_LOADING = 'SET_MORE_INVOICES_LOADING';\r\nexport const SET_INVOICES_DATE = 'SET_INVOICES_DATE';\r\nexport const SET_SELECTED_INVOICES = 'SET_SELECTED_INVOICES';\r\nexport const SET_INVOICES_BANKS = \"SET_INVOICES_BANKS\";\r\nexport const SET_INVOICES_TO_PAY = \"SET_INVOICES_TO_PAY\";\r\nexport const SET_INVOICES_CONTENT = \"SET_INVOICES_CONTENT\";\r\nexport const SET_INVOICES_CONTENT_LOADING = \"SET_INVOICES_CONTENT_LOADING\";\r\nexport const SET_SHOW_INVOICE_DETAILS = \"SET_SHOW_INVOICE_DETAILS\";\r\nexport const SET_SHOW_INVOICE_DETAILS_CONTENT = \"SET_SHOW_INVOICE_DETAILS_CONTENT\";\r\nexport const SET_SHOW_INVOICE_DETAILS_INDEX = \"SET_SHOW_INVOICE_DETAILS_INDEX\";\r\nexport const SET_INVOICES_PERIODS = \"SET_INVOICES_PERIODS\";\r\nexport const SET_INVOICES_FILTER_STATUS = \"SET_INVOICES_FILTER_STATUS\";\r\nexport const SET_INVOICES_TOTAL_INVOICES_BY_PERIOD = \"SET_INVOICES_TOTAL_INVOICES_BY_PERIOD\";\r\nexport const SET_INVOICES_CURRENT_PAGE = \"SET_INVOICES_CURRENT_PAGE\";\r\nexport const SET_INVOICES_SORT_FIELD = \"SET_INVOICES_SORT_FIELD\";\r\nexport const SET_INVOICES_SORT_ORDER = \"SET_INVOICES_SORT_ORDER\";\r\nexport const SET_SHOW_PAY = \"SET_SHOW_PAY\";\r\nexport const SET_EMPTY_PAGINATION_RESULT = \"SET_EMPTY_PAGINATION_RESULT\";","export const SET_PAYS_BANKS = \"SET_PAYS_BANKS\";\r\nexport const SET_PAYS_INVOICES_TO_PAY = \"SET_PAYS_INVOICES_TO_PAY\";\r\nexport const SET_PAYS_TYPE_COMPONENT = \"SET_PAYS_TYPE_COMPONENT\";\r\nexport const SET_PAYS_INFO_PAYMENT = \"SET_PAYS_INFO_PAYMENT\";\r\nexport const SET_PAYS_PAYMENT_LOADING = \"SET_PAYS_PAYMENT_LOADING\";\r\nexport const SET_PAYS_PAYMENT_METHODS = \"SET_PAYS_PAYMENT_METHODS\";\r\nexport const SET_PAYS_PAYMENT_PROVIDER = \"SET_PAYS_PAYMENT_PROVIDER\";","export const SET_TOTAL_ACCOUNTS = 'SET_TOTAL_ACCOUNTS';\r\nexport const SET_ACCOUNT = 'SET_ACCOUNT';\r\nexport const SET_NEUGETS = 'SET_NEUGETS';\r\nexport const SET_CODE_REFERRED = 'SET_CODE_REFERRED';\r\nexport const SET_NOTIFICATIONS = 'SET_NOTIFICATIONS';","export const SET_DATA_GRAPH = 'SET_DATA_GRAPH';\r\nexport const SET_LOADING_INIT_DATA = 'SET_LOADING_INIT_DATA';\r\nexport const SET_ENABLE_HISTORY = 'SET_ENABLE_HISTORY';\r\nexport const SET_DATA_GRAPH_STREAMING = 'SET_DATA_GRAPH_STREAMING';\r\nexport const SET_DEVICES = 'SET_DEVICES';\r\nexport const RESET_DATA = 'RESET_DATA';\r\nexport const SET_ENERGY_QUALITY = 'SET_ENERGY_QUALITY';\r\nexport const SET_LOADING_ENERGY_QUALITY = 'SET_LOADING_ENERGY_QUALITY';\r\nexport const SET_ALWAYS_ON = 'SET_ALWAYS_ON';\r\nexport const SET_LOADING_ALWAYS_ON = 'SET_LOADING_ALWAYS_ON';\r\nexport const SET_PLUS_INDICATORS = 'SET_PLUS_INDICATORS';\r\nexport const SET_PLUS_LOADING_INDICATORS = 'SET_PLUS_LOADING_INDICATORS';\r\nexport const SET_COMPARATIVES = 'SET_COMPARATIVES';\r\nexport const SET_LOADING_COMPARATIVES = 'SET_LOADING_COMPARATIVES';\r\nexport const SET_APPLIANCES = 'SET_APPLIANCES';\r\nexport const SET_TAG_RECORDS = 'SET_TAG_RECORDS';\r\nexport const SET_LAST_CONECTION = 'SET_LAST_CONECTION';\r\nexport const SET_LAST_DAY = 'SET_LAST_DAY';\r\nexport const SET_LAST_PAGE = 'SET_LAST_PAGE';\r\nexport const SET_DATA_GRAPH_HISTORY_INIT = 'SET_DATA_GRAPH_HISTORY_INIT';\r\nexport const SET_OPEN_QUALITY_ENERGY = 'SET_OPEN_QUALITY_ENERGY';\r\nexport const SET_DATA_GRAPH_ALWAYS_ON = 'SET_DATA_GRAPH_ALWAYS_ON';\r\nexport const SET_INTERVAL_GRAPH_ALWAYS_ON = 'SET_INTERVAL_GRAPH_ALWAYS_ON';\r\nexport const SET_GRAPH_DATES_ALWAYS_ON = 'SET_GRAPH_DATES_ALWAYS_ON';\r\nexport const SET_GRAPH_DATES_SCROLL_ALWAYS_ON = 'SET_GRAPH_DATES_SCROLL_ALWAYS_ON';\r\nexport const SET_ENABLE_SCROLL_DATA_ALWAYS_ON = 'SET_ENABLE_SCROLL_DATA_ALWAYS_ON';\r\nexport const SET_LOADING_ALWAYS_ON_MODULE = 'SET_LOADING_ALWAYS_ON_MODULE';\r\nexport const SET_QUALITY_INDICATORS = 'SET_QUALITY_INDICATORS';\r\nexport const SET_LOADING_QUALITY_INDICATORS = 'SET_LOADING_QUALITY_INDICATORS';\r\nexport const SET_ALWAYS_ON_INDICATORS = 'SET_ALWAYS_ON_INDICATORS';\r\nexport const SET_LOADING_ALWAYS_ON_INDICATORS = 'SET_LOADING_ALWAYS_ON_INDICATORS';\r\n\r\n","export const SET_REPORTS_GENIUS = 'SET_REPORT_GENIUS';\r\nexport const SET_GRAPHS_REPORT_GENIUS = 'SET_GRAPHS_REPORT_GENIUS';\r\nexport const SET_ACTIVE_REPORTS = 'SET_ACTIVE_REPORTS';\r\nexport const SET_REPORT_LOADING = 'SET_REPORT_LOADING';\r\nexport const SET_NEW_REPORT_LOADING = 'SET_NEW_REPORT_LOADING';\r\nexport const SET_REPORT_GENERATED = 'SET_REPORT_GENERATED';\r\nexport const SET_NEW_REPORT = 'SET_NEW_REPORT';\r\nexport const SET_SHOW_CONTENT_HEADER = 'SET_SHOW_CONTENT_HEADER';\r\nexport const SET_SERVICE_TYPE = 'SET_SERVICE_TYPE';\r\nexport const SET_GRAPHS_TYPE = 'SET_GRAPHS_TYPE';\r\nexport const SET_TOTAL_GRAPHS_REPORT_GENIUS = 'SET_TOTAL_GRAPHS_REPORT_GENIUS';\r\n\r\n","export const SET_NOTIFICATIONS = 'SET_NOTIFICATIONS';\r\nexport const SET_TOTAL_NOTIFICATIONS_INFO = 'SET_TOTAL_NOTIFICATIONS_INFO';\r\nexport const SET_NOTIFICATIONS_LOADING = 'SET_NOTIFICATIONS_LOADING';\r\nexport const SET_NOTIFICATIONS_PAGINATION = 'SET_NOTIFICATIONS_PAGINATION';","export const SET_ALERTS = 'SET_ALERTS';\r\nexport const SET_ALERTS_LOADING = 'SET_ALERTS_LOADING';\r\nexport const SET_ALERT_REGISTERS = 'SET_ALERT_REGISTERS';\r\nexport const SET_TOTAL_ALERT_REGISTERS_INFO = 'SET_TOTAL_ALERT_REGISTERS_INFO';\r\nexport const SET_ALERT_REGISTERS_LOADING = 'SET_ALERT_REGISTERS_LOADING';\r\nexport const SET_ALERT_REGISTERS_PAGINATION = 'SET_ALERT_REGISTERS_PAGINATION';\r\nexport const SET_SHOW_DRAWER_ALERTS = 'SET_SHOW_DRAWER_ALERTS';","export const SET_ACTIVE_CHAT = 'SET_ACTIVE_CHAT';\r\nexport const SET_LOADING_CHAT = 'SET_LOADING_CHAT';\r\nexport const SET_CURRENT_CONVERSATION = 'SET_CURRENT_CONVERSATION';\r\nexport const SET_MESSAGES = 'SET_MESSAGES';\r\nexport const SET_SHOW_CHATBOT = 'SET_SHOW_CHATBOT';\r\nexport const SET_ACTIVATE_CHAT_MESSAGES = 'SET_ACTIVATE_CHAT_MESSAGES';\r\nexport const SET_CONVERSATIONS = 'SET_CONVERSATIONS';\r\nexport const SET_SHOW_BANNER_CHATBOT = 'SET_SHOW_BANNER_CHATBOT';","export const SET_THEME = 'SET_THEME';","const current = process.env.REACT_APP_API_URL;\r\n\r\nconst SETData = async (url, method, params, endpoint = current, simple = false) => {\r\n\r\n let token = localStorage.getItem('token');\r\n\r\n const headers_simple = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n const response = await fetch(`${endpoint}${url}`, {\r\n method: method,\r\n headers: simple ? headers_simple :\r\n new Headers({\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n 'Authorization': `Bearer ${token}`\r\n }),\r\n body: JSON.stringify(params)\r\n });\r\n\r\n if (response.ok) {\r\n\r\n const body = await response.text().then(response);\r\n\r\n if (body !== \"\") { return JSON.parse(body); } else { return null; }\r\n\r\n } else {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nconst SETFile = async (url, method, params, endpoint = current) => {\r\n\r\n let token = localStorage.getItem('token');\r\n\r\n const response = await fetch(`${endpoint}${url}`, {\r\n method: method,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: params\r\n });\r\n\r\n if (response.ok) {\r\n\r\n const body = await response.text().then(response);\r\n\r\n if (body !== \"\") { return JSON.parse(body); } else { return null; }\r\n\r\n } else {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nconst SETBlobFile = async (url, method, params, endpoint = current) => {\r\n\r\n let token = localStorage.getItem('token');\r\n\r\n const response = await fetch(`${endpoint}${url}`, {\r\n method: method,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: params\r\n });\r\n\r\n if (response.ok) {\r\n const blob = await response.blob();\r\n return blob;\r\n } else {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nconst GETFile = async (url, method, params, endpoint = current) => {\r\n\r\n let token = localStorage.getItem('token');\r\n\r\n const response = await fetch(`${endpoint}${url}`, {\r\n method: method,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(params)\r\n });\r\n\r\n if (response.ok) {\r\n return response;\r\n } else {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nconst GETData = async (url, method, endpoint = current, simple = false) => {\r\n\r\n let token = localStorage.getItem('token');\r\n\r\n const headers_simple = {\r\n 'Accept': 'application/json'\r\n };\r\n\r\n const response = await fetch(`${endpoint}${url}`, {\r\n method: method,\r\n mode: \"cors\",\r\n headers: simple ? headers_simple :\r\n new Headers({\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n 'Authorization': `Bearer ${token}`\r\n })\r\n });\r\n if (response.ok) {\r\n\r\n const body = await response.text().then(response);\r\n\r\n if (body !== \"\") { return JSON.parse(body); } else { return null; }\r\n\r\n } else { return null; }\r\n\r\n};\r\n\r\nconst GETS3PublicUrl = async (path, bucket = process.env.REACT_APP_S3_BUCKET, region = process.env.REACT_APP_S3_REGION) => {\r\n\r\n const objectDataBody = {\r\n bucket: bucket,\r\n path: path,\r\n region: region,\r\n }\r\n\r\n try {\r\n const response = await SETData(\"bills/url\", \"POST\", objectDataBody)\r\n if (response !== null) {\r\n return response.url\r\n } else {\r\n return null\r\n }\r\n } catch (error) {\r\n console.error(error, \"Error in GETS3PublicUrl\")\r\n }\r\n}\r\n\r\nexport { SETData, SETFile, SETBlobFile, GETData, GETFile, GETS3PublicUrl };","import * as users from '../creators/Users';\r\n\r\nimport { GETData, SETData } from '../../services/WebServices';\r\n\r\nimport { Alert } from 'rsuite';\r\n\r\nconst url_api = 'https://api.neu.com.co/';\r\n\r\nexport const setUser = payload => {\r\n return {\r\n type: users.SET_USER,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUserCapabilities = payload => {\r\n return {\r\n type: users.SET_USER_CAPABILITIES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setProfileProgress = payload => {\r\n return {\r\n type: users.SET_PROFILE_PROGRESS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setSavingInfoUser = payload => {\r\n return {\r\n type: users.SET_SAVING_INFO_USER,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowCreateUserModal = payload => {\r\n return {\r\n type: users.SET_SHOW_CREATE_USER_MODAL,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowUsersListModal = payload => {\r\n return {\r\n type: users.SET_SHOW_USERS_LIST_MODAL,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUserJobs = payload => {\r\n return {\r\n type: users.SET_USER_JOBS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUserChannels = payload => {\r\n return {\r\n type: users.SET_USER_CHANNELS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUserPersonalInterests = payload => {\r\n return {\r\n type: users.SET_USER_PERSONAL_INTERESTS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUsersAccount = payload => {\r\n return {\r\n type: users.SET_USERS_ACCOUNT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUserAccessEdit = payload => {\r\n return {\r\n type: users.SET_USER_ACCESS_EDIT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUsersAccountLoading = payload => {\r\n return {\r\n type: users.SET_USERS_ACCOUNT_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUserPreferenceInfo = payload => {\r\n return {\r\n type: users.SET_USER_PREFERENCE_INFO,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowModalUserPreference = payload => {\r\n return {\r\n type: users.SET_SHOW_MODAL_USER_PREFERENCE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setUserTokenApi = payload => {\r\n return {\r\n type: users.SET_USER_TOKEN_API,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingNewUser = payload => {\r\n return {\r\n type: users.SET_LOADING_NEW_USER,\r\n payload\r\n }\r\n}\r\n\r\nexport const getUserExtraDataAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n let user = getState().users.user;\r\n\r\n GETData(`users/users/extradata/${user.idUser}`, 'GET')\r\n .then((response) => {\r\n if (response!== null) {dispatch(setUser({...user, ...response}))}\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}\r\n\r\nexport const getUserImageAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n let user = getState().users.user;\r\n\r\n GETData(`users/users/${user.idUser}`, 'GET')\r\n .then((response) => {\r\n dispatch(setUser({...user, image: response.image }))\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}\r\n\r\nexport const updateInfoUserAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n const user = getState().users.user;\r\n const userJobs = getState().users.userJobs;\r\n\r\n dispatch(setSavingInfoUser(true));\r\n\r\n SETData(`users/users/${user.idUser}`, \"PATCH\", payload)\r\n .catch((response) => console.error(response))\r\n .finally(() => {\r\n SETData(`users/users/extradata/${user.idUser}`, \"PATCH\", payload)\r\n .then(() => {\r\n dispatch(setUser(\r\n {\r\n ...user, \r\n ...payload, \r\n jobs: payload.roleIds ? userJobs.filter(j => payload.roleIds.includes(j.idJob)) : user.jobs \r\n }\r\n ))\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setSavingInfoUser(false)))\r\n });\r\n\r\n }\r\n}\r\n\r\nexport const loadUserJobsAsync = () => {\r\n return (dispatch) => {\r\n\r\n GETData(`users/jobs`, 'GET')\r\n .then((response) => {\r\n if (response!== null) {dispatch(setUserJobs(response))}\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}\r\n\r\nexport const loadUserChannelsAsync = () => {\r\n return (dispatch) => {\r\n\r\n GETData(`users/users/channels`, 'GET')\r\n .then((response) => {\r\n if (response!== null) {dispatch(setUserChannels(response))}\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}\r\n\r\nexport const loadUserPersonalInterestsAsync = () => {\r\n return (dispatch) => {\r\n\r\n GETData(`users/users/interests`, 'GET')\r\n .then((response) => {\r\n if (response!== null) {dispatch(setUserPersonalInterests(response))}\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}\r\n\r\nexport const createUserAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n const user = getState().users.user;\r\n const language = getState().shared.language; \r\n \r\n dispatch(setLoadingNewUser(true)); \r\n\r\n SETData(`users/users/create/${user.idUser}`, \"POST\", payload)\r\n .then((response) => {\r\n if (response!== null) { \r\n Alert.success(language.alert_new_user_popup_success);\r\n dispatch(setShowCreateUserModal(0));\r\n dispatch(loadUsersByAccountAsync());\r\n dispatch(setShowUsersListModal(true)); \r\n } else\r\n Alert.error(language.alert_new_user_popup_failed);\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setLoadingNewUser(false)))\r\n\r\n }\r\n}\r\n\r\nexport const updateUserAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n const data = {\r\n name: payload.name,\r\n lastname: payload.lastname,\r\n email: payload.email,\r\n phone: payload.phone,\r\n idDocument: payload.idDocument,\r\n idJob: payload.idJob,\r\n roleIds: payload.roleIds,\r\n servicesIds: payload.servicesIds\r\n };\r\n\r\n const language = getState().shared.language;\r\n\r\n SETData(`users/users/update/${payload.idUser}`, \"PUT\", data)\r\n .then((response) => {\r\n if (response!== null) {\r\n Alert.success(language.alert_edit_user_popup_success);\r\n dispatch(setShowCreateUserModal(0));\r\n dispatch(loadUsersByAccountAsync());\r\n dispatch(setShowUsersListModal(true));\r\n } else\r\n Alert.error(language.alert_edit_user_popup_failed);\r\n })\r\n .catch(response => console.error(response))\r\n\r\n }\r\n}\r\n\r\nexport const deleteUserAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n const language = getState().shared.language;\r\n\r\n GETData(`users/users/${payload}`, \"DELETE\")\r\n .then((response) => {\r\n if (response !== null) {\r\n Alert.success(language.alert_delete_user_success);\r\n dispatch(setShowCreateUserModal(0));\r\n dispatch(loadUsersByAccountAsync());\r\n dispatch(setShowUsersListModal(true));\r\n } else\r\n Alert.error(language.alert_delete_user_error);\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}\r\n\r\nexport const loadUsersByAccountAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const accountId = getState().accounts.account?.idAccount;\r\n\r\n dispatch(setUsersAccountLoading(true));\r\n\r\n GETData(`users/users/account/${accountId}`, \"GET\")\r\n .then(response => { \r\n if (response !== null)\r\n dispatch(setUsersAccount(response)); \r\n else\r\n dispatch(setUsersAccount([])); \r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setUsersAccountLoading(false)));\r\n\r\n }\r\n}\r\n\r\nexport const createUserPreferenceInfoAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n \r\n const language = getState().shared.language;\r\n\r\n SETData('users/users/preferencedata', \"POST\", payload)\r\n .then((response) => {\r\n if (response!== null) { \r\n Alert.success(language.alert_create_preference_info_user_success); \r\n dispatch(setShowModalUserPreference(true)); \r\n } else\r\n Alert.error(language.alert_create_preference_info_user_error);\r\n dispatch(setShowModalUserPreference(false));\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}\r\n\r\nexport const getUserPreferenceInfoAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n let user = getState().users.user;\r\n\r\n GETData(`users/users/preferencedata/${user.idUser}`, 'GET')\r\n .then((response) => {\r\n if (response!== null) {dispatch(setUserPreferenceInfo(response))}\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}\r\n\r\nexport const generateUserApiTokenAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const user = getState().users.user; \r\n let language = getState().shared.language; \r\n\r\n const metadata = {\r\n id_user: user.idUser,\r\n email: user.email, \r\n credential: \"JNKDind0348NJF38HSj739hn93h87B37IOJN0hB73B8h3uUJNh8\"\r\n }\r\n\r\n SETData(\"token/create\", \"POST\", metadata, url_api)\r\n .then((response) => { \r\n if (response != null) { dispatch(getUserApiTokenAsync())}\r\n })\r\n .catch(response => {\r\n console.error(response)\r\n Alert.error(language.alert_generate_token_api_error);\r\n });\r\n\r\n }\r\n}\r\n\r\nexport const getUserApiTokenAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n let user = getState().users.user;\r\n\r\n GETData(`users/users/tokenapi/${user.idUser}`, 'GET')\r\n .then((response) => {\r\n if (response!== null) {dispatch(setUserTokenApi(response?.token))}\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}","import * as services from \"../creators/Accounts\";\r\n\r\nimport { GETData } from \"../../services/WebServices\";\r\n\r\nimport { identify, Identify } from \"@amplitude/analytics-browser\"\r\n\r\nexport const setTotalAccounts = payload => {\r\n return {\r\n type: services.SET_TOTAL_ACCOUNTS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setAccount = payload => {\r\n return {\r\n type: services.SET_ACCOUNT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setNeugets = payload => {\r\n return {\r\n type: services.SET_NEUGETS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setCodeReferred = payload => {\r\n return {\r\n type: services.SET_CODE_REFERRED,\r\n payload\r\n }\r\n}\r\n\r\nexport const loadAccountsAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n let accountSavedInLocalStorage = localStorage.getItem(\"account\");\r\n\r\n if (accountSavedInLocalStorage !== null && accountSavedInLocalStorage !== undefined && accountSavedInLocalStorage !== 'undefined')\r\n accountSavedInLocalStorage = JSON.parse(accountSavedInLocalStorage);\r\n\r\n const userId = getState().users.user.idUser\r\n const usersNEU = [730, 1227, 848, 542, 2128]\r\n\r\n GETData(`users/accounts/?user=${userId}`, \"GET\")\r\n .then((response) => {\r\n if (response !== null) {\r\n const identifyObj = new Identify()\r\n identifyObj\r\n .set(\"accounts\", response?.length && response.map(function (account) { return account?.name }));\r\n identify(identifyObj);\r\n response = response.map((item) => {\r\n if (item?.idAccount === 392 && usersNEU.includes(userId)) {\r\n return { ...item, name: \"DEMO ENERGY\" }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n const checkIfLocalStorageHaveAValidAccount = response.some((accounts) => {\r\n return accounts.idAccount === accountSavedInLocalStorage?.idAccount\r\n })\r\n\r\n dispatch(setTotalAccounts(response));\r\n\r\n if (accountSavedInLocalStorage && checkIfLocalStorageHaveAValidAccount) {\r\n dispatch(setAccount(accountSavedInLocalStorage))\r\n } else {\r\n dispatch(setAccount(response[0]))\r\n localStorage.setItem(\"account\", JSON.stringify(response[0]))\r\n }\r\n }\r\n })\r\n .catch((response) => console.error(response))\r\n }\r\n}\r\n\r\nexport const loadNeugetsByAccountAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const accountId = getState().accounts.account?.idAccount;\r\n\r\n GETData(`users/neugets/total/${accountId}`, \"GET\")\r\n .then(response => {\r\n if (response !== null)\r\n dispatch(setNeugets(response.totalNeugets));\r\n else\r\n dispatch(setNeugets(0));\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}\r\n\r\nexport const getCodeReferredByAccountAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const accountId = getState().accounts.account?.idAccount;\r\n\r\n GETData(`users/accounts/refcode/${accountId}`, 'GET')\r\n .then((response) => {\r\n if (response !== null) { dispatch(setCodeReferred(response)) }\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}\r\n\r\n","const lang = {\r\n title_button_go_to_back: \"Atrás\",\r\n support_title_main: \"Crear un ticket\",\r\n support_emergency_button: \"Emergencia\",\r\n support_help_button: \"Centro de ayuda\",\r\n notifications_title: \"Notificaciones\",\r\n notifications_show_all: \"Todas\",\r\n notifications_show_alerts: \"Alertas\",\r\n notifications_back_button: \"Atrás\",\r\n notifications_notification_set_read: \"Marcar como leída\",\r\n notifications_notification_set_unread: \"Marcar como no leída\",\r\n notifications_notification_delete: \"Eliminar notificación\",\r\n notifications_empty_state_title: \"No hay notificaciones disponibles en este momento\",\r\n notifications_empty_state_text: \"No tienes ninguna notificación, revisa en otra ocasión\",\r\n support_main_title_drawer: \"Centro de ayuda\",\r\n support_main_description_drawer: \"¡Deja aquí tus datos! Te contactaremos en breve con una solución.\",\r\n support_title_section_personal_data: \"Datos personales\",\r\n support_input_label_id_document: \"Documento de identidad\",\r\n support_input_label_user_name: \"Nombres\",\r\n support_input_placeholder_user_name_example: \"Ej. Luis Enrique\",\r\n support_input_label_user_lastname: \"Apellidos\",\r\n support_input_placeholder_user_lastname_example: \"Ej. Cortes López\",\r\n support_input_label_user_email: \"Correo electrónico\",\r\n support_input_placeholder_user_email_example: \"Ej. lcortes@neu.com.co\",\r\n support_input_label_user_phone: \"Teléfono\",\r\n support_input_placeholder_user_phone_example: \"Ej. 3013865253\",\r\n support_input_label_user_address: \"Dirección\",\r\n support_input_placeholder_user_address_example: \"Ej. Calle 27 S # 100 - 14\",\r\n support_select_label_service: \"Servicio\",\r\n support_select_label_type_ticket: \"Tipo de ticket\",\r\n support_select_option_customer_requests: \"Peticiones\",\r\n support_select_option_customer_claims: \"Reclamos\",\r\n support_select_option_customer_complaints: \"Quejas\",\r\n support_select_option_customer_suggestions: \"Sugerencias\",\r\n support_select_label_area_ticket: \"Área del ticket\",\r\n support_select_option_billing: \"Facturación\",\r\n support_select_option_operations: \"Operaciones\",\r\n support_select_option_tech: \"Tecnología\",\r\n support_select_option_accounting: \"Contabilidad\",\r\n support_select_option_legal: \"Legal\",\r\n support_select_option_customer_success: \"Customer Success\",\r\n support_title_section_detail_ticket: \"Detalles del ticket\",\r\n support_input_label_request_ticket: \"Describe tu solicitud\",\r\n support_title_section_upload_file: \"Agregar Documento (opcional)\",\r\n support_description_section_upload_file: \"Puedes agregar tu factura o algún documento, que creas necesario, para completar tu solicitud.\",\r\n support_button_label_upload_file: \"Agregar archivo\",\r\n support_button_label_send_form: \"Enviar\",\r\n user_picker_placeholder_account: \"Nombre de la cuenta\",\r\n user_title_section_personal_data: \"Datos personales\",\r\n user_title_section_your_info: \"Tu información\",\r\n user_input_label_id_document: \"Documento de identidad\",\r\n user_input_label_names: \"Nombres\",\r\n user_input_placeholder_names_example: \"Ej. Luis Enrique\",\r\n user_input_label_lastname: \"Apellidos\",\r\n user_input_placeholder_lastname_example: \"Ej. Cortes López\",\r\n user_input_label_email: \"Correo electrónico\",\r\n user_input_placeholder_email_example: \"Ej. lcortes@neu.com.co\",\r\n user_input_label_phone: \"Teléfono\",\r\n user_input_placeholder_phone_example: \"Ej. 3013865253\",\r\n user_input_label_optional_phone: \"Teléfono alternativo\",\r\n user_input_placeholder_optional_phone_example: \"Ej. 3040625\",\r\n user_input_label_address: \"Dirección\",\r\n user_input_placeholder_address_example: \"Ej. Calle 27 S # 100 - 14\",\r\n user_input_label_optional_address: \"Dirección alternativa\",\r\n user_input_placeholder_optional_address_example: \"Ej. Calle 13 S # 120 - 45\",\r\n user_select_label_language: \"Selecciona un lenguaje\",\r\n user_title_section_health: \"Información Salud\",\r\n user_input_label_height: \"Altura (m)\",\r\n user_input_placeholder_height_example: \"Ej. 1.75\",\r\n user_input_label_weight: \"Peso (kg)\",\r\n user_input_placeholder_weight_example: \"Ej. 78\",\r\n user_input_label_eps: \"EPS\",\r\n user_input_placeholder_eps_example: \"Ej. Sura\",\r\n user_select_label_insurance: \"¿Tienes seguro de salud?\",\r\n user_title_section_home: \"Información Hogar\",\r\n user_input_label_type_property: \"Tipo de casa\",\r\n user_input_placeholder_type_property: \"Seleccione un tipo de inmueble\",\r\n user_input_label_house_area: \"Área (m2)\",\r\n user_input_placeholder_house_area_example: \"Ej. 70\",\r\n user_input_label_house_people: \"¿Cuántas personas viven en tu hogar?\",\r\n user_input_label_house_levels: \"¿Cuántos niveles tiene tu hogar?\",\r\n user_input_label_house_floor: \"¿Qué piso es?\",\r\n user_picker_label_own_home: \"¿Tu casa es propia?\",\r\n user_picker_label_solar_system: \"¿Tienes un sistema solar?\",\r\n user_title_section_vehicle: \"Información Automóvil\",\r\n user_picker_label_own_vehicle: \"¿Tienes tu propio vehículo?\",\r\n user_picker_label_electric_vehicle: \"¿Tu vehículo es eléctrico?\",\r\n user_picker_label_armored_vehicle: \"¿Tu vehículo es blindado?\",\r\n user_save_button: \"Guardar\",\r\n user_cancel_button: \"Cancelar\",\r\n user_title_section_create_users: \"Agregar nuevo usuario\",\r\n user_title_section_edit_users: \"Editar usuarios\",\r\n user_title_section_accounts: \"Mis cuentas\",\r\n user_title_section_privacy_info: \"Aviso de privacidad\",\r\n user_title_section_terms_conditions: \"Términos & condiciones\",\r\n user_button_logout: \"Cerrar sesión\",\r\n user_select_option_language_es: \"Español\",\r\n user_select_option_language_en: \"Inglés\",\r\n user_select_option_type_apartment: \"Apartamento\",\r\n user_select_option_type_house: \"Casa\",\r\n user_select_option_type_country_house: \"Casa Campestre\",\r\n user_select_option_type_farm: \"Finca\",\r\n user_title_create_user: \"Agregar Usuario\",\r\n user_title_edit_user: \"Editar Usuario\",\r\n user_select_label_job_area: \"Selecciona el área a la que pertenece\",\r\n user_select_option_financial_area: \"Financiera\",\r\n user_select_option_energy_area: \"Energía\",\r\n user_select_option_support_area: \"Mantenimiento\",\r\n user_select_option_enviromental_area: \"Ambiental y Sostenibilidad\",\r\n user_select_option_other_area: \"Otro\",\r\n user_select_label_services_selected: \"Servicios seleccionados\",\r\n user_select_label_services: \"Seleccione los servicios\",\r\n user_button_add_user: \"Agregar Usuario\",\r\n user_button_edit_user: \"Editar Usuario\",\r\n users_title_main_header: \"Usuarios\",\r\n users_table_header_edit: \"Editar\",\r\n users_table_header_id_document: \"Documento\",\r\n users_table_header_name: \"Nombre\",\r\n users_table_header_lastname: \"Apellido\",\r\n users_table_header_phone: \"Teléfono\",\r\n users_table_header_email: \"Correo electrónico\",\r\n users_table_header_job_area: \"Área\",\r\n users_table_header_services: \"Servicios\",\r\n users_pagination_go_to_page: \"Ir a página:\",\r\n users_pagination_show_page: \"Mostrar\",\r\n login_main_title: \"Reinventamos el futuro de la energía\",\r\n login_title_description: \"Inicia sesión con tu correo o número registrado.\",\r\n login_input_label_data: \"Correo o número de teléfono\",\r\n login_input_label_code: \"Escribe el código de verificación de 6 dígitos que te enviamos a:\",\r\n login_question_code: \"¿No recibiste el código?\",\r\n login_await_resend_code: \"Debes esperar #seg\",\r\n login_unit_await_resend_code: \"segundos\",\r\n login_resend_code: \"Reenviar un nuevo código\",\r\n login_button_validate: \"Validar\",\r\n login_button_continue: \"Continuar\",\r\n login_button_enter: \"Ingresar\",\r\n login_link_cancel: \"Cancelar\",\r\n login_title_step_two: \"Sólo un paso más...\",\r\n plus_title_main_dashboard: \"Streaming\",\r\n plus_label_empty_data: \"Aún no posees datos disponibles\",\r\n plus_title_empty_state: \"Es hora de que tomes el control de tu energía\",\r\n plus_introduction_empty_state: \"Todo el mundo necesita energía, pero sabemos que no hay dos negocios iguales. Haremos las cosas fáciles para que pueda comprender, actuar y comenzar a ahorrar dinero en su factura de energía.\",\r\n plus_phrase_empty_state: \"Te mereces algo mejor, te mereces NEU+\",\r\n plus_button_access: \"Súmale poder a tu energía\",\r\n plus_link_more_info: \"Conoce más\",\r\n plus_graph_picker_option_active_power: \"Potencia activa\",\r\n plus_graph_picker_option_reactive_power: \"Potencia reactiva\",\r\n plus_graph_picker_option_rms_voltage_1: \"Voltaje 1\",\r\n plus_graph_picker_option_rms_voltage_2: \"Voltaje 2\",\r\n plus_graph_picker_option_rms_voltage_3: \"Voltaje 3\",\r\n plus_graph_picker_option_rms_current_1: \"Corriente 1\",\r\n plus_graph_picker_option_rms_current_2: \"Corriente 2\",\r\n plus_graph_picker_option_rms_current_3: \"Corriente 3\",\r\n plus_graph_text_help_tag_step_1: \"Arrastre la línea punteada dentro de la gráfica para obtener el primer punto. Puedes marcar solo este punto o añadir un punto final con seleccionar rango.\",\r\n plus_graph_text_help_tag_step_2: \"Arrastre de nuevo la línea hasta el segundo punto, para marcar un rango de tiempo específico de la etiqueta.\",\r\n plus_graph_text_empty_data_device: \"No hemos podido encontrar respuesta del medidor. Revisa la conexión.\",\r\n plus_graph_text_last_connection: \"Últ. conexión: \",\r\n plus_graph_button_show_last_records_device: \"Mostrar últimos datos registrados\",\r\n plus_title_max_active_power: \"Potencia activa\",\r\n plus_unit_max_active_power: \"Máx.\",\r\n plus_graph_button_tag: \"Etiquetar\",\r\n plus_graph_button_tag_manager: \"Administrar etiquetas\",\r\n plus_graph_button_select_point: \"Marcar punto\",\r\n plus_graph_button_select_range: \"Seleccionar rango\",\r\n plus_graph_button_select_points: \"Marcar y finalizar\",\r\n plus_graph_button_go_back: \"Volver\",\r\n plus_always_on_title: \"Consumo Fantasma\",\r\n plus_trends_title: \"Tendencias\",\r\n plus_trends_label: \"en comparación a la hora anterior\",\r\n plus_radar_title: \"Calidad de Energía\",\r\n plus_rank_title: \"Comparativa\",\r\n plus_graph_title_empty_data: \"No hay datos para mostrar\",\r\n tag_new_device_main_title: \"Crear Nuevo Dispositivo\",\r\n tag_new_device_header_label_save: \"Guardar\",\r\n tag_new_device_header_label_cancel: \"Cancelar\",\r\n tag_new_device_header_label_device: \"Agregar dispositivo\",\r\n tag_new_device_title_name: \"Nombre Dispositivo\",\r\n tag_new_device_input_label_name: \"Nombre\",\r\n tag_new_device_title_type: \"Tipo de Dispositivo\",\r\n tag_new_device_input_label_type: \"Tipo de Dispositivo\",\r\n tag_new_device_title_brand: \"Marca\",\r\n tag_new_device_input_label_brand: \"Marca\",\r\n tag_new_device_title_reference: \"Referencia\",\r\n tag_new_device_input_label_reference: \"Ref.\",\r\n tag_new_device_button_create: \"Crear\",\r\n tag_new_device_button_cancel: \"Cancelar\",\r\n tag_new_tag_header_label_save: \"Guardar\",\r\n tag_new_tag_header_label_tag: \"Crear Etiquetas\",\r\n tag_new_tag_header_label_cancel: \"Cancelar\",\r\n tag_new_tag_input_label_search: \"Buscar dispositivo\",\r\n tag_new_tag_title_devices_list: \"Listado de dispositivos\",\r\n tag_new_tag_text_average_comsuption: \"Consumo promedio\",\r\n tag_new_tag_text_duration: \"Duración\",\r\n tag_new_tag_text_no_tag: \"No posee etiquetas\",\r\n tag_new_tag_text_no_devices: \"No hay dispositivos creados\",\r\n tag_new_tag_text_no_devices_description: \"Empieza a agregar tus dispositivos para vincularlos a tus etiquetas.\",\r\n tag_new_tag_button_link_tag: \"Vincular Etiqueta\",\r\n tag_table_tag_label_processed: \"Instantáneo\",\r\n tag_table_tag_label_procesing: \"Procesando...\",\r\n tag_new_tag_button_new_device: \"Nuevo Dispositivo\",\r\n tag_graph_power_legend_active_power: \"Potencia Activa\",\r\n tag_graph_power_legend_reactive_power: \"Potencia Reactiva\",\r\n tag_graph_power_title_empty_data: \"No hay datos\",\r\n tag_graph_power_phrase_empty_data: \"Empieza a etiquetar tus dispositivos para ver tus datos aquí\",\r\n tag_manager_title_main_dashboard: \"Administrar Etiquetas\",\r\n tag_manager_title_devices: \"Dispositivos\",\r\n tag_manager_table_header_name: \"Nombre\",\r\n tag_manager_table_header_create_at: \"Creación\",\r\n tag_manager_table_header_active_energy: \"Energía Activa\",\r\n tag_manager_table_header_active_power: \"Potencia Activa\",\r\n tag_manager_table_header_reactive_energy: \"Energía Reactiva\",\r\n tag_manager_table_header_reactive_power: \"Potencia Reactiva\",\r\n tag_manager_table_title_empty_data: \"No hay datos\",\r\n tag_manager_table_phrase_empty_data: \"Empieza a etiquetar tus dispositivos para ver tus datos aquí\",\r\n tag_manager_button_tag: \"Etiquetar\",\r\n tag_title_section_new_tags: \"Etiquetas Recientes\",\r\n services_input_label_search: \"Buscar ubicación\",\r\n services_select_all: \"Seleccionar todos los servicios\",\r\n energy_main_title_dashboard: \"Servicios\",\r\n energy_invoice_show_bills: \"Ver facturas\",\r\n energy_invoice_state_paid: \"Pagada\",\r\n energy_invoice_state_to_pay: \"Pagar\",\r\n energy_invoice_no_bills: \"No hay facturas para mostrar\",\r\n energy_invoice_title: \"Mis Facturas\",\r\n energy_invoice_label_consumption: \"Consumo\",\r\n energy_invoice_label_tariff: \"Tarifa\",\r\n energy_invoice_show_detail: \"Ver detalle\",\r\n energy_trends_title: \"Tendencias\",\r\n energy_trends_title_comparative: \"en comparación al mes anterior\",\r\n energy_widgets_empty_data: \"Aún no hay datos para mostrar\",\r\n energy_adress_title: \"Dirección\",\r\n energy_service_type_title: \"Tipo de Servicio\",\r\n energy_users_title: \"Usuarios\",\r\n energy_period_picker_hour_to_hour: \"Hora a Hora\",\r\n energy_period_picker_hour_to_hour_description: \"Verás un (1) día dividido en 24 horas.\",\r\n energy_period_picker_day_to_day: \"Rango semanal\",\r\n energy_period_picker_day_to_day_description: \"Verás una semana dividida en 7 días.\",\r\n energy_period_picker_day_to_day_monthly: \"Rango mensual\",\r\n energy_period_picker_day_to_day_monthly_description: \"Verás un mes dividido en 30 días.\",\r\n energy_period_picker_month_to_month: \"Rango anual\",\r\n energy_period_picker_month_to_month_description: \"Verás un año dividido en 12 meses.\",\r\n energy_graph_calendar_fast_access: \"Accesos rápidos\",\r\n energy_graph_calendar_button: \"Hecho\",\r\n energy_graph_calendar_week_range: \"Últimos 7 días\",\r\n energy_graph_calendar_month_range: \"Último mes\",\r\n energy_graph_title_empty_data: \"Todavía no hay datos disponibles para tu selección, lo estamos solucionando\",\r\n energy_graph_description_empty_data: \"Modifica la variable o el rango de fecha para visualizar los datos disponibles\",\r\n energy_graph_empty_data_button: \"Selecciona un rango de fechas\",\r\n energy_graph_title: \"Gráficas\",\r\n energy_graph_title_consumption: \"Consumo\",\r\n energy_graph_title_generation: \"Generación\",\r\n energy_graph_title_daily_consumption: \"Consumo Diario\",\r\n energy_graph_title_weekly_consumption: \"Consumo Semanal\",\r\n energy_graph_title_monthly_consumption: \"Consumo Mensual\",\r\n energy_graph_title_year_consumption: \"Consumo Anual\",\r\n energy_graph_title_daily_generation: \"Generación Diaria\",\r\n energy_graph_title_weekly_generation: \"Generación Semanal\",\r\n energy_graph_title_monthly_generation: \"Generación Mensual\",\r\n energy_graph_title_year_generation: \"Generación Anual\",\r\n energy_graph_indicator_total: \"Total\",\r\n energy_graph_indicator_max: \"Máximo\",\r\n energy_graph_indicator_average: \"Promedio\",\r\n energy_graph_period_picker_day: \"Día\",\r\n energy_graph_period_picker_week: \"Semana\",\r\n energy_graph_period_picker_month: \"Mes\",\r\n energy_graph_period_picker_year: \"Año\",\r\n energy_graph_type_picker_search: \"Buscar gráfica\",\r\n energy_graph_type_disclaimer: \"Ciertas variables no se pueden comparar entre sí por las diferencias en unidad de medida\",\r\n energy_graph_group_reactive: \"Reactiva\",\r\n energy_graph_type_average_line: \"Promedio (en gráfica)\",\r\n energy_graph_group_ac: \"AC\",\r\n energy_graph_group_irradiance: \"Irradiancia\",\r\n energy_graph_group_transactive_energy: \"Transacciones\",\r\n energy_graph_group_power: \"Potencia\",\r\n energy_graph_group_active_energy_cost: \"Costo de la energía\",\r\n energy_graph_group_dc: \"DC\",\r\n energy_graph_group_generation: \"Generación\",\r\n energy_graph_group_current: \"Corriente\",\r\n energy_graph_group_frequency: \"Frecuencia\",\r\n energy_graph_group_active_energy: \"Consumo\",\r\n energy_graph_group_metereology: \"Meteorología\",\r\n energy_graph_group_injection: \"Inyección\",\r\n energy_graph_group_voltage: \"Voltaje\",\r\n energy_graph_group_temperature: \"Temperatura\",\r\n energy_graph_group_irradiance_gen: \"Irradiancia / Generación.\",\r\n energy_graph_group_operation_state: \"Estado de operación\",\r\n energy_graph_group_prediction_active_energy: \"Predicción de consumo\",\r\n energy_graph_label_active_energy: \"Consumo\",\r\n energy_graph_label_injected_energy: \"Inyección\",\r\n energy_graph_label_transactive_energy: \"Transacciones\",\r\n energy_graph_label_reactive_excess_energy: \"Reactiva en exceso\",\r\n energy_graph_label_reactive_inductive_energy: \"Reactiva inductiva\",\r\n energy_graph_label_reactive_capacitive_energy: \"Reactiva capacitiva\",\r\n energy_graph_label_current: \"Corriente\",\r\n energy_graph_label_voltage: \"Voltaje\",\r\n energy_graph_label_frequency: \"Frecuencia\",\r\n energy_graph_label_generation: \"Generación\",\r\n energy_graph_label_generation_spec: \"Generación especifica\",\r\n energy_graph_label_current_ac: \"Corriente AC\",\r\n energy_graph_label_current_dc: \"Corriente DC\",\r\n energy_graph_label_voltage_ac: \"Tensión AC\",\r\n energy_graph_label_voltage_dc: \"Tensión DC\",\r\n energy_graph_label_active_pwr: \"Potencia activa\",\r\n energy_graph_label_apparent_pwr: \"Potencia aparente\",\r\n energy_graph_label_pwr_factor: \"Factor de potencia\",\r\n energy_graph_label_inverter_temp: \"Temperatura del inversor\",\r\n energy_graph_label_heatsink_temp: \"Temperatura del disipador\",\r\n energy_graph_label_irradiance: \"Irradiancia\",\r\n energy_graph_label_panel_temp: \"Temperatura del panel\",\r\n energy_graph_label_environment_temp: \"Temperatura ambiente\",\r\n energy_graph_label_humidity: \"Humedad\",\r\n energy_graph_label_wind_speed: \"Velocidad del viento\",\r\n energy_graph_label_wind_direction: \"Dirección del viento\",\r\n energy_graph_label_gen_frequency: \"Frecuencia\",\r\n energy_graph_label_active_energy_cost: \"Costo de la energía\",\r\n energy_graph_label_active_power: \"Potencia activa\",\r\n energy_graph_label_reactive_power: \"Potencia reactiva\",\r\n energy_graph_label_prediction_active_energy: \"Predicción de consumo\",\r\n energy_graph_label_reactive_inductive_excess_energy: \"Reactiva inductiva en exceso\",\r\n energy_graph_label_reactive_capacitive_excess_energy: \"Reactiva capacitiva en exceso\",\r\n energy_graph_unit_active_energy: \"kWh\",\r\n energy_graph_unit_injected_energy: \"kWh\",\r\n energy_graph_unit_transactive_energy: \"kWh\",\r\n energy_graph_unit_reactive_excess_energy: \"kVArh\",\r\n energy_graph_unit_reactive_inductive_energy: \"kVArh\",\r\n energy_graph_unit_reactive_capacitive_energy: \"kVArh\",\r\n energy_graph_unit_reactive_inductive_excess_energy: \"kVArh\",\r\n energy_graph_unit_reactive_capacitive_excess_energy: \"kVArh\",\r\n energy_graph_unit_current: \"Amp\",\r\n energy_graph_unit_voltage: \"Vol\",\r\n energy_graph_unit_frequency: \"Hz\",\r\n energy_graph_unit_generation: \"kWh\",\r\n energy_graph_unit_generation_spec: \"kWh/kWp\",\r\n energy_graph_unit_current_ac: \"Amp\",\r\n energy_graph_unit_current_dc: \"Amp\",\r\n energy_graph_unit_voltage_ac: \"Vol\",\r\n energy_graph_unit_voltage_dc: \"Vol\",\r\n energy_graph_unit_active_pwr: \"kW\",\r\n energy_graph_unit_apparent_pwr: \"kVA\",\r\n energy_graph_unit_pwr_factor: \"\",\r\n energy_graph_unit_inverter_temp: \"°C\",\r\n energy_graph_unit_heatsink_temp: \"°C\",\r\n energy_graph_unit_irradiance: \"W/m2\",\r\n energy_graph_unit_panel_temp: \"°C\",\r\n energy_graph_unit_environment_temp: \"°C\",\r\n energy_graph_unit_humidity: \"%\",\r\n energy_graph_unit_wind_speed: \"m/s\",\r\n energy_graph_unit_wind_direction: \"grados\",\r\n energy_graph_unit_gen_frequency: \"Hz\",\r\n energy_graph_unit_active_energy_cost: \"COP\",\r\n energy_graph_unit_active_power: \"W\",\r\n energy_graph_unit_reactive_power: \"W\",\r\n energy_graph_unit_prediction_active_energy: \"kWh\",\r\n invoices_main_title_dashboard: \"Facturas\",\r\n invoices_main_title: \"Mis Facturas\",\r\n invoices_title: \"Detalle facturas\",\r\n invoices_empty_account_selection: \"Todas mis cuentas\",\r\n invoices_account_total_selection_separator: \"de\",\r\n invoices_account_total_selection: \"cuentas\",\r\n invoices_empty_date_selection: \"Todos los meses\",\r\n invoices_empty_filter_selection: \"Todas las facturas\",\r\n invoices_pending_filter_option: \"Por pagar\",\r\n invoices_summary_account_filter_alert_before_bold: 'Recuerda seleccionar el filtro de \"',\r\n invoices_summary_account_filter_alert_bold: 'todas las cuentas',\r\n invoices_summary_account_filter_alert_after_bold: '\" para visualizar otras facturas pendientes.',\r\n invoices_selected_invoices_summary_title: \"Seleccionadas para pago\",\r\n invoices_pending_invoices_summary_title: \"Otras facturas por pagar\",\r\n invoices_empty_summary_pending_invoices: \"!Has seleccionado todas las facturas pendientes! Todo está listo para pago.\",\r\n invoices_state_pending: \"Pendiente\",\r\n invoices_state_overdue: \"Vencida\",\r\n invoices_state_paid: \"Pagada\",\r\n invoices_empty_state: \"No tienes facturas disponibles para el periodo seleccionado. Revisa nuevamente el siguiente periodo de facturación o selecciona una fecha anterior.\",\r\n invoices_state_suspended_service: \"Suspensión\",\r\n invoices_state_due_date: \"Vence\",\r\n invoices_button_download_bills: \"Descargar Facturas\",\r\n invoices_text_selec_all: \"Seleccionar todas\",\r\n invoices_text_total_pay: \"Pago total\",\r\n invoices_select_placeholder_all_services: \"Todos los servicios\",\r\n invoices_button_pay: \"Pagar\",\r\n invoices_text_empty_bills_period: \"No hay facturas disponibles para este periodo\",\r\n invoices_title_section_bills: \"Factura\",\r\n invoices_text_error_show_bills: \"No fue posible mostrar tu factura, por favor intenta más tarde!\",\r\n invoices_text_no_select_bills: \"No hay facturas seleccionadas\",\r\n invoices_pay_title_section_personal_data: \"Datos personales\",\r\n invoices_pay_title_section_bank_data: \"Datos bancarios\",\r\n invoices_pay_text_modal: \"Facturas\",\r\n invoices_pay_input_label_name: \"Nombres\",\r\n invoices_pay_input_placeholder_user_name_example: \"Ej. Luis Enrique\",\r\n invoices_pay_input_label_email: \"Email\",\r\n invoices_pay_input_placeholder_email_example: \"Ej. lcortes@neu.com.co\",\r\n invoices_pay_input_label_phone: \"Teléfono\",\r\n invoices_pay_input_placeholder_phone_example: \"Ej. 3126160897\",\r\n invoices_pay_input_label_address: \"Dirección\",\r\n invoices_pay_input_placeholder_address_example: \"Ej. Calle 27 S # 100 - 14\",\r\n invoices_pay_input_label_type_person: \"Tipo de persona\",\r\n invoices_pay_input_label_type_document: \"Tipo de documento\",\r\n invoices_pay_input_label_idDocument: \"Documento de identidad\",\r\n invoices_pay_input_placeholder_idDocument_example: \"Ej. 1040045234\",\r\n invoices_pay_input_label_bank: \"Entidad bancaria\",\r\n invoices_pay_title_total_payment: \"Pago total\",\r\n invoices_pay_title_subtotal_payment: \"Subtotal\",\r\n invoices_pay_title_use_neugets: \"¿Usar tus NEUGets?\",\r\n invoices_pay_title_get_neugets: \"¡Conoce cómo obtener neugets!\",\r\n invoices_pay_title_quantity_neugets: \"¿Cuántos NEUGets quieres usar?\",\r\n invoices_pay_title_total: \"Total\",\r\n invoices_pay_select_label_user_type: \"Selecciona el tipo de persona\",\r\n invoices_pay_select_label_banks: \"Selecciona el banco\",\r\n invoices_pay_select_label_user_legal_type: \"Selecciona el tipo de documento\",\r\n invoices_pay_text_total_to_pay: \"Total\",\r\n invoices_pay_text_options_to_pay: \"Pago seguro desde cuenta de ahorros o corriente vía\",\r\n invoices_pay_button_pay: \"Continuar con el pago\",\r\n invoices_pay_label_option_cc: \"Cédula de ciudadanía\",\r\n invoices_pay_label_option_ce: \"Cédula de extranjería\",\r\n invoices_pay_label_option_nit: \"NIT\",\r\n invoices_pay_label_option_natural_user: \"Natural\",\r\n invoices_pay_label_option_legal_user: \"Jurídica\",\r\n invoices_card_payment_cardholder_address: 'Dirección',\r\n invoices_paid_title_state_approved: \"Gracias, tu pago ha sido aprobado.\",\r\n invoices_paid_title_state_declined: \"Lo sentimos, tu pago ha sido rechazado.\",\r\n invoices_paid_title_state_pending: \"Tu pago aún esta pendiente.\",\r\n invoices_paid_text_email: \"Correo electrónico\",\r\n invoices_paid_text_date: \"Fecha\",\r\n invoices_paid_text_date_payment: \"Fecha de pago\",\r\n invoices_paid_text_ref: \"Referencia\",\r\n invoices_paid_text_description: \"Descripción\",\r\n invoices_paid_text_total_payment: \"Pago total\",\r\n invoices_paid_title_payment_receipt: \"Comprobante de pago\",\r\n invoices_paid_text_transaction_details: \"Detalles de la transacción\",\r\n invoices_paid_text_total_bill: \"Total Factura\",\r\n invoices_paid_text_neugets_discount: \"Descuento NEUGets\",\r\n invoices_paid_text_neugets_remaining: \"NEUGets restantes\",\r\n invoices_paid_button_print: \"Imprimir\",\r\n invoices_paid_link_finally: \"Finalizar\",\r\n invoices_summary_title_energy: \"Energía\",\r\n invoices_summary_title_plus: \"Plus\",\r\n invoices_summary_title_zero: \"Zero\",\r\n invoices_summary_title_detail_bill: \"Detalle\",\r\n invoices_summary_title_total_bill: \"Total\",\r\n invoices_summary_title_quantity_bill: \"Cantidad\",\r\n invoices_summary_title_unit_price: \"Precio unitario\",\r\n invoices_alert_overdue: \"Recuerda: Las facturas vencidas son objeto de intereses y desconexión.\",\r\n invoices_alert_note: \"¡Evita caer en mora!\",\r\n alert_user_popup_name: \"Debes ingresar un nombre válido.\",\r\n alert_user_popup_lastname: \"Debes ingresar un apellido válido.\",\r\n alert_user_popup_id_document: \"Debes ingresar un documento de identidad válido.\",\r\n alert_user_popup_email: \"Debes ingresar un correo eléctronico válido.\",\r\n alert_create_user_popup_email: \"Debes ingresar un email válido, ten en cuenta que este se usará para el ingreso a la plataforma.\",\r\n alert_user_popup_phone: \"Debes ingresar un teléfono válido.\",\r\n alert_create_user_popup_phone: \"Debes ingresar un celular válido, ten en cuenta que este se usará para el ingreso a la plataforma.\",\r\n alert_create_user_popup_job_area: \"Debes ingresar un área de trabajo válida.\",\r\n alert_create_user_popup_selected_services: \"Debes seleccionar los servicios a los que tendrá acceso.\",\r\n alert_new_user_popup_success: \"¡Genial! Se creó exitosamente el usuario, ahora mas personas tendrán control de la energía.\",\r\n alert_edit_user_popup_success: \"¡Genial! Se actualizó exitosamente el usuario.\",\r\n alert_new_user_popup_failed: \"¡Ups! ocurrió un error creando el usuario, por favor intente mas tarde.\",\r\n alert_edit_user_popup_failed: \"¡Ups! ocurrió un error actualizando el usuario, por favor intente mas tarde.\",\r\n alert_user_popup_address: \"Debes ingresar una dirección válido.\",\r\n alert_support_popup_ticket_service: \"Por favor selecciona un servicio.\",\r\n alert_support_popup_ticket_description: \"Por favor describe tu solicitud.\",\r\n alert_support_popup_success: \"¡Muchas gracias!, nuestro equipo te contactará cuanto antes.\",\r\n alert_submit_form_popup_success: \"¡Muchas gracias!, los datos se han cargado correctamente.\",\r\n alert_submit_form_popup_failed: \"¡Ups! Ha ocurrido un error, por favor intenta de nuevo en unos minutos o comunícate con nosotros.\",\r\n alert_pay_popup_banks: \"Selecciona la entidad bancaria\",\r\n alert_title_error: \"¡Ups! datos inválidos\",\r\n alert_title_success: \"¡Los datos son válidos\",\r\n alert_shared_error: \"¡Ups!, Ha ocurrido un error, porfavor vuelve a intentarlo.\",\r\n alert_login_user_not_found: \"Aún no estas registrado.\",\r\n alert_login_invalid_code: \"El código es inválido.\",\r\n menu_main_dashboard: \"Resumen\",\r\n menu_energy_service: \"Energy\",\r\n menu_zero_service: \"Zero\",\r\n menu_efficiency_service: \"Efficiency\",\r\n menu_plus_service: \"Plus\",\r\n menu_onboarding: \"Instalaciones\",\r\n main_title_mobile_screen: \"Reinventamos el futuro de la energía\",\r\n main_description_mobile_screen: \"Para una mejor experiencia, descarga la aplicación en tu celular. Encuéntrala en la tienda de tu dispositivo.\",\r\n language_locale: \"es\",\r\n account_title_main_dashboard: \"Mis Cuentas\",\r\n account_detail_title_admin: \"Administradores\",\r\n account_detail_title_relations: \"Relacionado con\",\r\n service_detail_title_users: \"Miembros\",\r\n service_detail_title_location: \"Ubicación\",\r\n zero_credit_card_title_show_detail: \"Ver detalle\",\r\n zero_credit_card_title_photovoltaic_system: \"Sistema fotovoltaico\",\r\n zero_credit_card_title_full_loan: \"Préstamo total\",\r\n zero_credit_card_title_next_payment: \"Próximo pago\",\r\n zero_credit_detail_state_not_available: \"No disponible\",\r\n zero_credit_detail_state_pending: \"Pendiente\",\r\n zero_credit_detail_state_paid: \"Pagada\",\r\n zero_credit_detail_state_canceled: \"Cancelada\",\r\n zero_credit_detail_state_overdue: \"Vencida\",\r\n zero_credit_detail_title_detail_credit: \"Detalle de tu crédito\",\r\n zero_credit_detail_title_fee_amount: \"Número de cuotas\",\r\n zero_credit_detail_title_agreed_interest_rate: \"Interés pactado\",\r\n zero_credit_detail_rate_placement: \"E.A\",\r\n zero_credit_detail_title_full_loan: \"Préstamo total\",\r\n zero_credit_detail_title_total_paid: \"Total pagado\",\r\n zero_credit_detail_title_depreciation_table: \"Tabla de amortización\",\r\n zero_marketplace_title_main: \"Adquiere un nuevo crédito para impulsar tu negocio\",\r\n zero_marketplace_description: \"Queremos que tu negocio siga creciendo sin límites, por eso te pre-aprobamos un crédito desde\",\r\n zero_marketplace_title_contact_adviser: \"Contactar un asesor\",\r\n zero_marketplace_title_credit_uses: \"Usa tu crédito para\",\r\n zero_service_title_suggested: \"Recomendado\",\r\n zero_service_detail_empty_content: \"No hay contenido para mostrar...\",\r\n zero_service_detail_button_request_quote: \"Solicitar cotización\",\r\n zero_approve_quote_title_main: \"¡Genial, nos encanta que encontraste lo que estabas buscando! 🥳 🥳\",\r\n zero_approve_quote_title_question: \"¿Ahora qué sigue?\",\r\n zero_approve_quote_info_email: \"Te enviamos la informaciòn para continuar el proceso al correo\",\r\n zero_approve_quote_button_continue: \"Continuar\",\r\n zero_quote_title_version: \"Versión\",\r\n zero_quote_title_show_detail: \"Ver detalle\",\r\n zero_quote_title_valid_until: \"Válido hasta\",\r\n zero_quote_button_approve_quote: \"Aprobar cotización\",\r\n zero_quote_state_in_process: \"En proceso...\",\r\n zero_quote_state_accepted: \"Propuesta aceptada\",\r\n zero_quotes_title_main: \"Cotizaciones\",\r\n zero_quotes_empty_state: \"Aún no tienes cotizaciones\",\r\n zero_quotes_empty_state_description: \"¡No lo pienses más! Contacta a un asesor ahora mismo y resuelve tus dudas sobre cómo invertir más en tu negocio.\",\r\n zero_tab_label_home: \"Inicio\",\r\n zero_tab_label_quotes: \"Cotizaciones\",\r\n zero_tab_label_wallet: \"Billetera\",\r\n zero_neugets_card_title_balance: \"Tu Balance\",\r\n zero_neugets_card_title_help: \"¿Qué son los NEUgets?\",\r\n zero_neugets_card_title_neugets: \"NEUgets\",\r\n zero_neugets_card_title_ranking: \"Ranking\",\r\n zero_neugets_card_title_ranking_card: \"Energy Master\",\r\n zero_wallet_title_history: \"Historial\",\r\n zero_transactions_redeemed_neugets: \"Neugets redimidos.\",\r\n zero_transactions_acquired_neugets: \"Neugets adquiridos.\",\r\n zero_transactions_invoice_paid: \"Pago factura de energía\",\r\n zero_transactions_empty_state: \"No hay historial\",\r\n zero_transactions_empty_state_description: \"Aún no cuentas con un historial de transacciones.\",\r\n loader_text_content: \"Cargando...\",\r\n invoices_text_empty_description_bills_period: \"Espera el periodo de facturación para poder ver tu factura, o selecciona otro mes para ver tus facturas ya pagadas.\",\r\n alert_create_preference_info_user_success: \"Tu respuesta ha sido enviada\",\r\n alert_create_preference_info_user_error: \"Lo sentimos, ha ocurrido un error\",\r\n alert_users_info_reception: \"Debes seleccionar como prefieres recibir la información\",\r\n alert_users_platform_uses: \"Escribe por favor que buscas en la plataforma\",\r\n alert_users_personal_interests: \"Debes seleccionar en que se enfocan tus intereses\",\r\n users_preference_info_user_title: \"¡Queremos brindarte información de valor!\",\r\n users_preference_info_user_description: \"Por eso quisieramos conocer más de ti y de tu empresa para ofrecerte información personalizada según tus requerimientos.\",\r\n users_preference_info_user_job: \"1. ¿En qué área ejerces tu rol en la empresa?\",\r\n users_preference_info_reception: \"2. ¿Como prefieres recibir información?\",\r\n users_preference_info_user_platform_uses: \"3. ¿Para qué quieres utilizar la plataforma? ¿qué información quieres ver en la app?\",\r\n users_preference_info_user_interests: \"4. Tus intereses se enfocan en...\",\r\n users_multipleselect_placeholder: \"Selecciona una o más opciones\",\r\n users_input_label_platform: \"¿Qué buscas encontrar en la plataforma?\",\r\n users_button_personal_preferences: \"Aceptar y Enviar\",\r\n alert_delete_user_success: \"Se ha eliminado correctamente el usuario\",\r\n alert_delete_user_error: \"No fue posible eliminar el usuario\",\r\n users_multipleselect_label_selected: \"Items seleccionados\",\r\n alert_users_preference_info: \"Por favor completa el formulario para continuar\",\r\n users_preference_info_title: \"¡Ayúdanos a completar tu perfil!\",\r\n users_preference_info_description: \"¡Bienvenido a la Plataforma de NEU! Para poder acceder a todos los beneficios, completa tus datos de perfil y lleva tu energía a otro nivel\",\r\n users_preference_info_button_complete: \"Completar perfil \",\r\n neugets_tooltip_copy_code: \"Código copiado\",\r\n neugets_text_share_code_title: \"Comparte y gana con NEU\",\r\n neugets_text_share_code_message: \"Hola\\n¿Te quieres ganar un super descuento en tu próxima factura de energía?\\n\\n¡Te invito a que conozcas a NEU Energy! El único proveedor de energía eléctrica en Colombia que te permite visualizar tu consumo en tiempo real desde tu celular 📊📱 y reducir tu factura de energía con notificaciones de eficiencia energética.⚡\\n\\nRegístrate con mi código de referido: \\n\\n#code#\\n\\nAmbos participaremos para obtener descuentos en futuras facturas de energía eléctrica.🧾⚡\\n\\nRegístrate en: \\n\\nhttps://www.neu.com.co/registro\",\r\n neugets_drawer_main_title: \"Tus NEUGets\",\r\n neugets_drawer_text_neugets_description: \"Los NEUGets (Green energy tokens) son nuestro token virtual en NEU y una unidad equivale a $1.000 COP.\",\r\n neugets_drawer_text_use_neugets: \"Podrás usar los NEUGets dentro de nuestra plataforma para pagar tus recibos e incluso adquirir más productos y servicios.\",\r\n neugets_drawer_text_get_neugets: \"¡Empieza a acumular más NEUGets refiriendo a otras empresas que quieran pasarse a NEU!\",\r\n neugets_drawer_text_share_referral_code: \"¡Comparte este código con tus contactos y una vez se registre, ambos ganarán NEUGets!\",\r\n neugets_drawer_text_legal_terms: \"*Aplican términos y condiciones\",\r\n alert_create_new_tag_success: \"La etiqueta se ha creado con éxito\",\r\n alert_create_new_tag_failed: \"Ha ocurrido un error al crear la etiqueta\",\r\n alert_create_new_device_success: \"El dispositivo se ha creado con éxito\",\r\n alert_create_new_device_failed: \"Ha ocurrido un error al crear el dispositivo\",\r\n alert_users_failed_change_image: \"Ha ocurrido un error cargando la imagen, por favor intente mas tarde.\",\r\n energy_export_graph_title: \"Exportar gráfica\",\r\n energy_export_graph_start_time: \"Fecha de Inicio\",\r\n energy_export_graph_end_time: \"Fecha Final\",\r\n energy_export_graph_filename: \"Nombre del archivo\",\r\n energy_export_graph_button: \"Exportar CSV\",\r\n alert_download_report_error: \"Ha ocurrido un error. Intente más tarde!\",\r\n alert_filename_report_error: \"Nombre de archivo inválido.\",\r\n menu_genius_service: \"Genius\",\r\n daily_active_energy: \"Consumo diario por sede\",\r\n weekly_active_energy: \"Consumo semanal por sede\",\r\n hourly_distribution_active_energy: \"Distribución del consumo horario\",\r\n money_savings_history: \"Histórico de ahorros mensuales por sede\",\r\n reactive_excess_history: \"Histórico de energía reactiva en exceso\",\r\n reactive_excess_weekly: \"Energía reactiva en exceso semanal\",\r\n hourly_active_energy: \"Consumo horario por sede\",\r\n monthly_active_energy: \"Consumo mensual por sede\",\r\n weekly_mean_active_energy: \"Consumo medio semanal\",\r\n reactive_excess_daily: \"Energía reactiva en exceso promedio diaria\",\r\n alert_genius_create_report_filename: \"Define un nombre para el reporte por favor\",\r\n alert_genius_create_report_graphs: \"Selecciona al menos un tipo de gráfica\",\r\n alert_genius_create_report_devices: \"Selecciona al menos un servicio\",\r\n alert_genius_create_report_range: \"Selecciona el rango de fecha para el reporte\",\r\n genius_drawer_title_main: \"Crear Reporte\",\r\n genius_input_label_filename: \"Nombre del reporte\",\r\n genius_input_placeholder_filename_example: \"Ej. Reporte 001\",\r\n genius_multipleselect_label_graphs: \"Gráficas del reporte\",\r\n genius_multipleselect_placeholder_graphs_selected: \"Gráficas seleccionadas\",\r\n genius_multipleselect_placeholder_select: \"Selecciona una o más opciones\",\r\n genius_multipleselect_label_devices: \"Dispositivos\",\r\n genius_multipleselect_placeholder_devices_selected: \"Dispositivos seleccionados\",\r\n genius_calendar_label_date: \"Fecha\",\r\n genius_calendar_placeholder_select: \"Selecciona el rango de fecha\",\r\n genius_button_create_report: \"Generar reporte\",\r\n genius_button_cancel_report: \"Cancelar\",\r\n genius_title_main_reports: \"Reportes\",\r\n genius_button_new_report: \"Crear nuevo reporte\",\r\n genius_header_title_report_premium: \"Smart Report\",\r\n genius_header_title_report_basic: \"Cómo Vamos\",\r\n genius_title_empty_state: \"No hay reportes para mostrar\",\r\n genius_text_description_empty_state: \"Genera un nuevo reporte desde la parte superior de este módulo para visualizarlo aquí.\",\r\n genius_no_reports: \"No hay reportes disponibles\",\r\n genius_new_report: \"Nuevo Reporte\",\r\n genius_delete_report: \"Eliminar\",\r\n genius_download_report: \"Descargar\",\r\n genius_save_report: \"Crear reporte\",\r\n genius_cancel_report: \"Cancelar\",\r\n genius_name_report: \"Nombre\",\r\n genius_date_range_report: \"Rango de fecha\",\r\n genius_creation_date_report: \"Fecha de creación\",\r\n genius_services_report: \"Servicios\",\r\n genius_selected_items: \"seleccionados\",\r\n genius_add_services: \"Agregar servicios\",\r\n genius_done_button: \"Hecho\",\r\n genius_graphs: \"Gráficas\",\r\n genius_add_graphs: \"Agregar las gráficas\",\r\n genius_new_item: \"¡Nueva!\",\r\n genius_search_placeholder: \"Buscar\",\r\n alert_genius_create_report_success: \"El reporte se ha generado con éxito\",\r\n alert_genius_create_report_pending: \"El reporte puede tardar un momento en crearse, por favor espere y recargue la página de nuevo!\",\r\n alert_genius_create_report_failed: \"Algo fallo, por favor intenta de nuevo!\",\r\n alert_create_new_tag_associated_tags: \"Se ha vinculado la etiqueta con éxito a este dispositivo\",\r\n shared_multipleselect_label_select_all: \"Seleccionar todo\",\r\n invoices_text_unselected_all: \"Deseleccionar todas\",\r\n plus_modal_title_empty_state: \"Desbloquea todo el potencial de tu energía con NEU+.\",\r\n plus_modal_description_empty_state: \"NEU+ te brinda herramientas que te permitirán tener reportes y gráficas segundo a segundo, conocer a detalle tus consumos en exceso y tomar acciones justo cuando suceden las cosas.\",\r\n plus_modal_phrase_empty_state: \"¡No esperes más!\",\r\n plus_modal_button_empty_state: \"Contactar a un asesor\",\r\n plus_rank_tooltip_info: \"Proyectos que, a la fecha, han tenido un mayor consumo acumulado mensual.\",\r\n plus_always_on_tooltip_info: \"Consumo de energía que se da por fuera de tu operación a causa de las máquinas o equipos que permanecen conectados.\",\r\n plus_radar_tooltip_info_voltage: \"Voltaje promedio de la última hora en cada fase (se muestra en voltios)\",\r\n plus_radar_tooltip_info_current: \"Corriente promedio de la última hora en cada fase (se muestra en Amperios)\",\r\n plus_radar_tooltip_info_power: \"Potencia activa promedio de la última hora en cada fase (se muestra en Watts)\",\r\n genius_button_default_report: \"Crear mi primer reporte\",\r\n energy_graph_message_scroll_active: \"Para moverte dentro de la gráfica haz clic en el cursor y muévete hacia la dirección deseada.\",\r\n user_table_title_empty_state: \"No hay usuarios vinculados a tus servicios\",\r\n user_table_description_empty_state: \"Agrega usuarios desde el menú de perfil y dale acceso a los servicios vinculados en tu cuenta de NEU\",\r\n alert_support_popup_type_ticket: \"Selecciona por favor el tipo de ticket\",\r\n alert_support_popup_area_ticket: \"Selecciona por favor el área del ticket\",\r\n support_select_placeholder: \"Selecciona una opción\",\r\n plus_export_graph_title: \"Exportar gráfica\",\r\n plus_export_graph_date: \"Fecha\",\r\n plus_export_graph_filename: \"Nombre del archivo\",\r\n plus_export_graph_format: \"Formato\",\r\n plus_export_graph_button: \"Exportar\",\r\n alert_format_filename_report_error: \"Tipo de archivo inválido\",\r\n alert_date_report_error: \"Fecha inválida\",\r\n alert_new_device_name: \"Escribe el nombre del dispositivo\",\r\n alert_new_device_type: \"Escribe el tipo de dispositivo\",\r\n money_savings_table: \"Histórico de ahorros mensuales por sede (tabla)\",\r\n alert_genius_create_report_duplicate_filename: \"El nombre del reporte ya existe\",\r\n shared_survey_nps_title: \"Califica tu experiencia NEU\",\r\n shared_survey_nps_text_question: \"Califica tu experiencia con NEU de 1 a 10. Con 1 entenderemos que tenemos mucho por mejorar pero con 10 que todo está saliendo bien con el trabajo realizado.\",\r\n shared_survey_nps_text_comment: \"Si deseas, puedes dejarnos más comentarios aquí:\",\r\n shared_survey_nps_text_secondary_title: \"¡Gracias por calificarnos!\",\r\n shared_survey_nps_text_description: \"Tu opinión es muy importante para nosotros 😁 y nos llena de buena energía saber que estás feliz con NEU ⚡️\",\r\n shared_survey_nps_text_question_bad: \"¿Qué sería lo que mejorarías del servicio?\",\r\n shared_survey_nps_text_question_good: \"¿Qué sería lo que más resaltarías del servicio?\",\r\n shared_survey_nps_text_specific_question_bad: \"¿Qué otra cosa mejorarías del servicio?\",\r\n shared_survey_nps_text_specific_question_good: \"¿Qué otra cosa resaltarías del servicio?\",\r\n shared_survey_nps_list_option_bill: \"Facturación 🧾\",\r\n shared_survey_nps_list_option_platform: \"Plataforma 🖥️\",\r\n shared_survey_nps_list_option_customer: \"Servicio al cliente 🧑🏻‍💻\",\r\n shared_survey_nps_list_option_pay: \"Proceso de pago 💵\",\r\n shared_survey_nps_list_option_other: \"Otro...\",\r\n shared_survey_nps_button_send_score: \"Enviar calificación\",\r\n shared_survey_nps_button_send: \"Enviar y finalizar\",\r\n alert_nps_survey_create_success: \"Tu respuesta ha sido enviada con éxito\",\r\n alert_nps_survey_create_error: \"Algo salió mal\",\r\n premium_measurement: \"Composición de las submediciones\",\r\n premium_monthly_consumption: \"Registro mensual de submedidores\",\r\n premium_weekly_consumption: \"Registro semanal de submedidores\",\r\n premium_daily_consumption: \"Registro diario de submedidores\",\r\n user_title_section_api_token: \"Token API\",\r\n user_button_generate_token: \"Generar token\",\r\n user_button_cancel_token: \"Cancelar\",\r\n alert_generate_token_api_error: \"Algo salió mal, intenta de nuevo\",\r\n user_channel_option_email: \"Correos\",\r\n user_channel_option_calls: \"Llamadas\",\r\n user_channel_option_text: \"Mensajes de texto\",\r\n user_channel_option_wsp: \"Whatsapp\",\r\n user_channel_option_app: \"Prefiero buscar información autónomamente\",\r\n user_channel_option_myself: \"Notificaciones por la App\",\r\n user_department_option_not_apply: \"N/A\",\r\n user_department_option_manager: \"Gerente / Administrativo\",\r\n user_department_option_operative: \"Operativo / Mantenimiento\",\r\n user_department_option_financial: \"Financiero\",\r\n user_department_option_innovation: \"Innovación / Sostenibilidad\",\r\n user_department_option_tech: \"Tecnología\",\r\n user_department_option_engineer: \"Ingeniería\",\r\n user_department_option_commercial: \"Comercial\",\r\n user_interest_option_innovation: \"Temas de Innovación, creatividad y emprendimiento\",\r\n user_interest_option_environment: \"Sostenibilidad y medio ambiente\",\r\n user_interest_option_finance: \"Finanzas/ números\",\r\n user_interest_option_relationship: \"Emocional/ Relacionamiento\",\r\n energy_indicator_day_highest_consumption: \"Día de Mayor Consumo\",\r\n energy_indicator_average_consumption: \"#VALUE kWh de consumo promedio\",\r\n energy_indicator_consumption: \"Consumo (#VALUE)\",\r\n energy_indicator_compare_last_period: \"#VALUE kWh vs. último periodo\",\r\n energy_indicator_hour_highest_consumption: \"Hora de Mayor Consumo\",\r\n energy_indicator_current_consumption: \"Cons. a la fecha\",\r\n energy_indicator_reactive_energy: \"Energía Reactiva\",\r\n generation_indicator_saving: \"Total ahorrado (#VALUE)\",\r\n generation_indicator_saving_vs: \"vs energía convencional\",\r\n generation_indicator_generated: \"Generación (#VALUE)\",\r\n generation_indicator_compare_last_period: \"#VALUE kWh vs. último periodo\",\r\n generation_indicator_trees_planted: \"Mes anterior #VALUE árboles\",\r\n generation_indicator_trees_accum: \"Árboles sembrados a hoy\",\r\n generation_indicator_trees_last_period: \"#VALUE árboles vs. periodo anterior\",\r\n generation_indicator_co2_reduced: \"Mes anterior #VALUE\",\r\n generation_indicator_co2_last_period: \"#VALUE tons CO2 vs. periodo anterior\",\r\n generation_indicator_co2_reduced_accum: \"Toneladas de CO2 reducidas a hoy\",\r\n generation_indicator_highest_hour: \"Hora de mayor generación\",\r\n generation_indicator_average: \"#VALUE kWh de generación promedio\",\r\n generation_indicator_least_hour: \"Hora de menor generación\",\r\n generation_indicator_highest_day: \"Día de Mayor Generación\",\r\n generation_indicator_highest_month: \"Mes de mayor generación\",\r\n generation_indicator_highest_month_generation: \"Generación: #VALUE\",\r\n generation_indicator_least_day: \"Día de Menor Generación\",\r\n generation_indicator_current_generation: \"Gen. a la fecha\",\r\n api_user_token_tooltip_empty: \"Debes generar un nuevo token\",\r\n generation_indicator_total_generated: \"Generación de energía total\",\r\n generation_indicator_from_beginning: \"Desde el inicio de operación del sistema\",\r\n generation_indicator_count_services: \"De #VALUE servicios seleccionados\",\r\n generation_indicator_total_saving: \"Ahorro de dinero total\",\r\n genelogin_button_validateration_indicator_vs_conventional_energy: \"vs energía convencional\",\r\n generation_indicator_month_generated: \"Generación mes anterior (#VALUE)\",\r\n generation_indicator_theoretical_energy: \"Energía teórica: #VALUE\",\r\n generation_indicator_average_saving: \"Promedio de ahorro mensual\",\r\n generation_indicator_last_x_months: \"En los últimos #VALUE meses\",\r\n generation_indicator_last_month_saving: \"Ahorro mes anterior (#VALUE)\",\r\n generation_indicator_saving_tariff: \"Calculado con tu tarifa de $#VALUE / kWh\",\r\n alerts_label_no_name: \"Alerta \",\r\n alerts_label_main_title_drawer: \"Tus alertas\",\r\n alerts_label_creation_indications: \"Crea una alerta según los parámetros de seguimiento de variables de energía\",\r\n alerts_button_add_new_alert: \"Agregar alerta\",\r\n alerts_label_recently_created: \"Creadas Recientemente\",\r\n alerts_label_title_empty_state: \"No hay alertas creadas para tus servicios en este momento\",\r\n alerts_label_body_empty_state: \"Agrega una nueva alerta haciendo click en el botón.\",\r\n alerts_condition_greater_than: \"Mayor que\",\r\n alerts_condition_same_as: \"Igual que\",\r\n alerts_condition_less_than: \"Menor que\",\r\n alerts_channel_email: \"Correo\",\r\n alerts_channel_text_message: \"Mensaje de texto\",\r\n alerts_channel_notification: \"Notificación\",\r\n alerts_label_title_edit_alert: \"Editar Alerta\",\r\n alerts_label_title_new_alert: \"Nueva Alerta\",\r\n alerts_button_save: \"Guardar\",\r\n alerts_label_body_new_alert: \"Modifica los parámetros de tu alerta y realiza el seguimiento de la energía de tus servicios\",\r\n alerts_messager_alert_create_success: \"La alerta se ha creado exitosamente, accede a todas tus alertas y su configuración desde tu perfil\",\r\n alerts_messager_alert_create_error: \"Ha ocurrido un error al crear la alerta\",\r\n alerts_messager_alert_edit_success: \"La alerta se ha editado exitosamente\",\r\n alerts_messager_alert_edit_error: \"Ha ocurrido un error al editar la alerta\",\r\n alerts_messager_alert_delete_success: \"La alerta se ha eliminado exitosamente\",\r\n alerts_messager_delete_title_confirmation: \"¿Eliminar la alerta?\",\r\n alerts_messager_delete_confirmation: \"Esta acción borrará la alerta de la plataforma completamente y no se podrá recuperar.\",\r\n alerts_messager_keep_option: \"No, mantenerla\",\r\n alerts_messager_delete_option: \"Si, eliminarla\",\r\n alerts_select_days_monday: \"Lunes\",\r\n alerts_select_days_tuesday: \"Martes\",\r\n alerts_select_days_wednesday: \"Miércoles\",\r\n alerts_select_days_thursday: \"Jueves\",\r\n alerts_select_days_friday: \"Viernes\",\r\n alerts_select_days_saturday: \"Sábado\",\r\n alerts_select_days_sunday: \"Domingo\",\r\n alerts_select_interval_hourly: \"Horario\",\r\n alerts_select_interval_daily: \"Diario\",\r\n alerts_select_interval_weekly: \"Semanal\",\r\n alerts_select_interval_monthly: \"Mensual\",\r\n alert_genius_create_report_initially: \"El reporte ha empezado a generarse\",\r\n invoice_content_text_bill: \"Factura\",\r\n invoice_content_text_contract: \"Contrato\",\r\n invoice_content_text_niu: \"NIU\",\r\n invoice_content_text_customer_name: \"Facturado a\",\r\n invoice_content_text_service_name: \"Sede\",\r\n invoice_content_text_billing_address: \"Ubicación de facturación\",\r\n invoice_content_text_total: \"Total a pagar\",\r\n invoice_content_text_bill_date: \"Emisión\",\r\n invoice_content_text_due_date: \"Vencimiento\",\r\n invoice_content_text_suspension_date: \"Suspensión del servicio a partir de\",\r\n invoice_content_text_suspension_date_empty: \"Recuerda que acumular dos facturas vencidas puede dar lugar a la suspensión del servicio\",\r\n invoice_content_text_strong_balance: \"¡Bien hecho!\",\r\n invoice_content_first_text_balance: \"Estas al día con el pago de tus facturas. Hasta hoy, no tienes deudas\",\r\n invoice_content_second_text_balance: \"en tu factura de energía y eso nos llena de felicidad. ¡Gracias por tu compromiso!\",\r\n invoice_content_text_strong_outstanding_balance: \"Tienes un saldo pendiente de pago\",\r\n invoice_content_text_outstanding_balance: \"por\",\r\n invoice_content_text_outstanding_balance_suspension: \"Servicio\",\r\n invoice_content_text_consumption_detail: \"Detalle de tu consumo\",\r\n invoice_content_text_consumption: \"Consumo\",\r\n invoice_content_text_days_billed: \"Días facturados\",\r\n invoice_content_text_billed_since: \"Desde\",\r\n invoice_content_text_billed_until: \"Hasta\",\r\n invoice_content_text_meter_code: \"Código medidor\",\r\n invoice_content_text_previous_consumption: \"Lectura anterior\",\r\n invoice_content_text_current_consumption: \"Lectura actual\",\r\n invoice_content_text_avg_six_months: \"Promedio 6 meses\",\r\n invoice_content_text_label_pay_month: \"Cobro del mes (COP)\",\r\n invoice_content_text_label_consumption: \"Consumo (kWh)\",\r\n invoice_content_text_reactive_detail: \"Detalles reactiva en exceso (kVArh)\",\r\n invoice_content_text_days_billed_reactive: \"Número de días\",\r\n invoice_content_text_amount_billed_reactive_inductive: \"Inductiva\",\r\n invoice_content_text_amount_billed_reactive_capacitive: \"Capacitiva\",\r\n invoice_content_text_amount_billed_reactive: \"Total\",\r\n invoice_content_text_reactive_factor: \"Factor M\",\r\n invoice_content_text_tariff_detail: \"¿Cómo se calcula tu tarifa?\",\r\n invoice_content_first_text_tariff: \"Tu tarifa del\",\r\n invoice_content_first_text_strong_tariff: \"Mercado Regulado se denominada CU (Costo Unitario)\",\r\n invoice_content_second_text_tariff: \"y se calcula sumando cada uno de las componentes de la tárifa presentados a continuación, teniendo en cuenta que perteneces al\",\r\n invoice_content_second_text_strong_tariff: \"Mercado Regulado\",\r\n invoice_content_third_text_tariff: \"conectado a un\",\r\n invoice_content_third_text_strong_tariff: \"Nivel de tensión\",\r\n invoice_content_fourth_text_tariff: \"en\",\r\n invoice_content_fourth_text_strong_tariff: \"Estrato\",\r\n invoice_content_fifth_text_tariff: \"con propiedad de los activos\",\r\n invoice_content_sixth_text_tariff: \"y una tarifa\",\r\n invoice_content_text_tariff_g: \"Generación\",\r\n invoice_content_text_tariff_t: \"Transmisión\",\r\n invoice_content_text_tariff_d: \"Distribución\",\r\n invoice_content_text_tariff_cv: \"Comercialización\",\r\n invoice_content_text_tariff_pr: \"Perdidas\",\r\n invoice_content_text_tariff_r: \"Restricciones\",\r\n invoice_content_text_tariff_cu: \"Tarifa (CU)\",\r\n invoice_content_text_tariff_cu_cot: \"Tarifa (CU + COT)\",\r\n invoice_content_text_technical_info: \"Información técnica\",\r\n invoice_content_text_or: \"Operador de red\",\r\n invoice_content_text_or_phone: \"Teléfono\",\r\n invoice_content_text_distr_circuit: \"Circuito\",\r\n invoice_content_text_transf_number: \"Código transformador\",\r\n invoice_content_text_legal_info: \"Información legal\",\r\n invoice_content_first_text_legal_info: \"La presente factura presenta mérito ejecutivo en virtud del Artículo 130 de la Ley 142 de 1994 modificado por el Artículo 18 de la Ley 689 de 2001.\",\r\n invoice_content_second_text_legal_info: \"De conformidad con el Decreto 2150 de 1995, la firma mecánica que aparece a continuación, tiene plena válidez para todos los efectos legales.\",\r\n invoice_content_third_text_legal_info: \"Para presentar reclamaciones referente a los cobros del presente documento ante nuestra oficina de PQR Art 115 ley 142 de 1994. Art 53 CREG 156 de 2011 lo puede hacer ingresando a la página web\",\r\n invoice_content_fourth_text_legal_info: \"y posteriormente hacer clic en PQR. En cumplimiento a la Ley 1266 del 2008 al no realizar pagos en las fechas establecidas se ve reflejado un reporte negativo en centrales de riesgo.\",\r\n invoice_content_fifth_text_legal_info: \"En caso de aplicar para el beneficio de exención de contribución porfavor ingresa a la página web\",\r\n invoice_content_sixth_text_legal_info: \"en la parte inferior haz clic en 'Beneficio contribución', y sigue las instrucciones.\",\r\n invoice_content_seventh_text_legal_info: \"Con la aceptación, expresa o tacita, del presente documento, autorizo a NEU Energy S.A.S. E.S.P. o cualquier tercero debidamente acreditado por este, a contactarme por cualquier medio en referencia al presente documento en caso de encontrarme en mora, con la finalidad mantener una comunicación efectiva y oportuna. Además, autorizó para recibir información por medio de correo electrónico, mensaje de texto, WhatsApp y correspondencia física.\",\r\n invoice_content_eighth_text_legal_info: \"Autorizo a NEU Energy S.A.S. E.S.P. (NIT 901302727-0) o a quién represente sus derechos u ostente en el futuro calidad de acreedor a consultar, reportar, conservar, suministrar, solicitar o divulgar a DATACREDITO central de información y de riesgo, toda la información referente a mi comportamiento comercial. Lo anterior implica que el cumplimiento o incumplimiento de mis obligaciones se reflejará en las mencionadas bases de datos, en donde se consigan de manera completa todos los datos referentes a mi actual y pasado comportamiento en general frente al cumplimiento de mis obligaciones.\",\r\n invoice_content_text_pay_methods: \"Métodos de pago\",\r\n invoice_content_text_pay_web: \"Paga por nuestra WEB\",\r\n invoice_content_text_pay_app: \"Paga por nuestra APP\",\r\n invoice_content_text_pay_wire_transfer: \"Transferencia Bancaria\",\r\n invoice_content_first_text_pay_wire_transfer_detail: \"Puedes realizar el pago a la cuenta corriente de Bancolombia\",\r\n invoice_content_second_text_pay_wire_transfer_detail: \"a nombre de Neu Energy S.A.S E.S.P y enviar el comprobante al correo\",\r\n invoice_content_text_legal_representative: \"Representante legal\",\r\n invoice_content_text_taxes: \"Aplica impuesto sobre las ventas\",\r\n invoice_content_text_address: \"Dirección\",\r\n invoice_content_text_payment_way: \"Forma de pago\",\r\n invoice_content_text_payment_cash: \"Contado\",\r\n invoice_content_text_payment_method: \"Medio de pago\",\r\n invoice_content_text_debit_card: \"Tarjeta Débito\",\r\n invoice_content_text_support: \"Atención al cliente\",\r\n invoice_content_text_support_wsp: \"Whatsapp\",\r\n invoice_content_text_support_emergency: \"Emergencias\",\r\n invoice_content_text_footer_page: \"Página\",\r\n invoice_content_text_strong_neugets: \"¡Recuerda!\",\r\n invoice_content_first_text_neugets: \"Tienes\",\r\n invoice_content_second_text_neugets: \"que puedes usar para pagar esta factura.\",\r\n invoice_content_text_bill_detail: \"Detalles de tu factura\",\r\n invoice_content_text_bill_detail_info: \"Conoce más detalles aquí\",\r\n invoice_content_text_header_table_item: \"ítem\",\r\n invoice_content_text_header_table_detail: \"Detalle\",\r\n invoice_content_text_header_table_unit_value: \"Valor unit.\",\r\n invoice_content_text_header_table_concept_value: \"Por concepto de\",\r\n invoice_content_text_header_table_month_value: \"Mes de participación\",\r\n invoice_content_text_header_table_quantity: \"Cant.\",\r\n invoice_content_text_header_table_days_quantity: \"Número de días\",\r\n invoice_content_text_header_table_value: \"Valor\",\r\n invoice_content_text_subtotal: \"Subtotal\",\r\n invoice_content_text_iva: \"IVA(19%)*\",\r\n invoice_content_text_capital_record: \"Abonos a capital\",\r\n invoices_tooltip_previous_bill: \"Anterior Factura\",\r\n invoices_tooltip_next_bill: \"Siguiente Factura\",\r\n invoices_tooltip_download_bill: \"Descargar\",\r\n invoices_tooltip_search_bill: \"Buscar\",\r\n invoices_tooltip_close_bill: \"Cerrar\",\r\n invoices_tooltip_zoomin_bill: \"Ampliar\",\r\n always_on_indicator_title_percentage: \"Porcentaje de consumo fantasma\",\r\n always_on_indicator_text_percentage: \" vs. mes anterior\",\r\n always_on_indicator_title_tons_co2: \"Toneladas de CO2\",\r\n always_on_indicator_title_max_day: \"Día de mayor consumo\",\r\n always_on_indicator_title_cost: \"Equivale a\",\r\n power_factor_title: \"Factor de Potencia\",\r\n power_factor_label_phase: \"Línea\",\r\n power_factor_label_optime_range: \"Factor de potencia en rango óptimo\",\r\n power_factor_label_reactive_range: \"Factor de potencia en rango reactivo\",\r\n power_factor_label_deficient_range: \"Factor de potencia en rango deficiente\",\r\n tooltip_premium_monthly_consumption: \"\",\r\n tooltip_tariffs_records: \"Comparación de la tarifa de NEU vs Comercializador incumbente\",\r\n tooltip_hourly_active_energy: \"Promedio de consumo de cada una de las 24 horas del día en el rango de fechas seleccionado\",\r\n tooltip_hourly_distribution_active_energy: \"\",\r\n tooltip_total_payment_history: \"Cobro total de la factura de energía por mes en cada sede\",\r\n tooltip_daily_active_energy: \"\",\r\n tooltip_weekly_mean_active_energy: \"Promedio de consumo de los días de la semana\",\r\n tooltip_reactive_cash_flow: \"Cobro de penalización de energía reactiva en exceso por mes\",\r\n tooltip_weekly_active_energy: \"\",\r\n tooltip_monthly_active_energy: \"Información de consumo y pago de energía activa por mes en cada sede.\",\r\n tooltip_money_savings_history: \"\",\r\n tooltip_penalized_days_history: \"Cantidad de horas por día en las que se presentó energía reactiva en exceso\",\r\n tooltip_premium_daily_consumption: \"\",\r\n tooltip_reactive_excess_history: \"Registro de las horas donde se está presentando exceso de energía reactiva inductiva y/o capacitiva\",\r\n tooltip_money_savings_table: \"\",\r\n tooltip_premium_weekly_consumption: \"\",\r\n tooltip_premium_measurement: \"\",\r\n genius_multipleselect_label_new_graphs: \"Nuevo\",\r\n invoice_content_text_negative_balance: \"Saldos a favor\",\r\n invoice_content_text_new_negative_balance: \"Nuevo saldo a favor\",\r\n tooltip_a_p: \"Este es un cobro municipal y este mismo define el valor a cobrar\",\r\n tooltip_acuerdo: \"\",\r\n tooltip_aj: \"\",\r\n tooltip_aj_ap: \"\",\r\n tooltip_aj_con_cv: \"\",\r\n tooltip_aj_con_d: \"\",\r\n tooltip_aj_con_g: \"\",\r\n tooltip_aj_con_pr: \"\",\r\n tooltip_aj_con_r: \"\",\r\n tooltip_aj_con_t: \"\",\r\n tooltip_aj_cons_cont: \"\",\r\n tooltip_aj_consumo_kwh: \"\",\r\n tooltip_aj_cont: \"\",\r\n tooltip_aj_cu: \"\",\r\n tooltip_aj_cu_cont: \"\",\r\n tooltip_aj_ea: \"\",\r\n tooltip_aj_ec: \"\",\r\n tooltip_aj_ee2: \"\",\r\n tooltip_aj_er: \"\",\r\n tooltip_aj_intmora: \"\",\r\n tooltip_aj_intzero: \"\",\r\n tooltip_aj_prop_terc: \"\",\r\n tooltip_aj_re: \"\",\r\n tooltip_aj_sdl: \"\",\r\n tooltip_aj_seg: \"\",\r\n tooltip_aj_subs: \"\",\r\n tooltip_cont: \"Equivale al 20% del valor total por energía activa y reactiva, y este es un gravamen tributario\",\r\n tooltip_ea: \"\",\r\n tooltip_ea_cv: \"\",\r\n tooltip_ea_d: \"\",\r\n tooltip_ea_g: \"\",\r\n tooltip_ea_pr: \"\",\r\n tooltip_ea_r: \"\",\r\n tooltip_ea_t: \"\",\r\n tooltip_ec: \"\",\r\n tooltip_ee: \"\",\r\n tooltip_ee2: \"\",\r\n tooltip_eem: \"\",\r\n tooltip_er: \"Valor a cobrar por el exceso de energía reactiva inductiva y capacitiva\",\r\n tooltip_ing_ter: \"\",\r\n tooltip_int_med: \"\",\r\n tooltip_int_mora: \"\",\r\n tooltip_int_mora_zero: \"\",\r\n tooltip_int_neupay: \"\",\r\n tooltip_l1955: \"\",\r\n tooltip_mat_saas: \"\",\r\n tooltip_med: \"\",\r\n tooltip_mo_saas: \"\",\r\n tooltip_neu_comision: \"\",\r\n tooltip_neu_datos: \"\",\r\n tooltip_neu_inv114: \"\",\r\n tooltip_neu_inv126: \"\",\r\n tooltip_neu_inv131: \"\",\r\n tooltip_neu_inv132: \"\",\r\n tooltip_neu_inv136: \"\",\r\n tooltip_neu_ops1: \"\",\r\n tooltip_neu_ops2: \"\",\r\n tooltip_neu_ops3: \"\",\r\n tooltip_neu_ops4: \"\",\r\n tooltip_neu_ops5: \"\",\r\n tooltip_neu_pay: \"\",\r\n tooltip_neu_plus: \"\",\r\n tooltip_neu_serv: \"\",\r\n tooltip_neu_serv1: \"\",\r\n tooltip_neu_serv2: \"\",\r\n tooltip_neu_serv3: \"\",\r\n tooltip_neu_serv4: \"\",\r\n tooltip_neu_serv5: \"\",\r\n tooltip_neu_serv6: \"\",\r\n tooltip_neu_serv7: \"\",\r\n tooltip_neu_serv8: \"\",\r\n tooltip_neu_telem: \"\",\r\n //tooltip_neu+:\"\",\r\n tooltip_reint_cyg: \"\",\r\n tooltip_saldo: \"\",\r\n tooltip_seg_conv: \"Este es un cobro departamental y estos mismos definen los parámetros para su cobro. Los únicos departamentos con este cobro son : Sucre, Valle del Cauca y Átlantico.\",\r\n tooltip_sist_solar: \"\",\r\n tooltip_subs: \"\",\r\n tooltip_reactive_inductive: \"Energía generada por equipos industriales como motores, compresores,bombas.\",\r\n tooltip_reactive_capacitive: \"Energía generada por componentes electrónicos,luminarias.\",\r\n tooltip_graph_energy_no_match: \"no puede compararse con\",\r\n tooltip_graph_energy_no_match_reason: \"por diferencias de unidades de medida\",\r\n user_title_section_alerts: \"Mis Alertas\",\r\n energy_graph_no_data: \"Sin datos\",\r\n genius_download_file_report: \"Descargar Reporte\",\r\n genius_download_html_report: \"Descargar HTML\",\r\n genius_download_excel_report: \"Descargar Excel\",\r\n // Onboarding\r\n onboarding_drawer_title: \"Tutoriales\",\r\n onboarding_drawer_faqs: \"Preguntas frecuentes\",\r\n onboarding_drawer_show: \"Mostrar todos\",\r\n onboarding_drawer_hide: \"Ocultar\",\r\n onboarding_payment_title: \"¿Cómo pago mi factura?\",\r\n onboarding_payment_description: \"Realiza el pago de tu factura desde la plataforma.\",\r\n onboarding_invoice_title: \"¿Cómo busco y visualizo una factura?\",\r\n onboarding_invoice_description: \"Filtra tus facturas.\",\r\n onboarding_dashboard_title: \"¿Cómo busco otro servicio vinculado a mi cuenta?\",\r\n onboarding_dashboard_description: \"Visualiza otro de tus servicios.\",\r\n onboarding_new_user_title: \"¿Cómo agrego un usuario?\",\r\n onboarding_new_user_description: \"Envía una invitación a miembro de tu empresa.\",\r\n onboarding_new_alert_title: \"¿Cómo creo una alerta?\",\r\n onboarding_new_alert_description: \"Las alertas permiten hacer seguimiento a tus servicios.\",\r\n onboarding_service_detail_title: \"¿Cómo entro al detalle de mis servicios?\",\r\n onboarding_service_detail_description: \"Busca el detalle de tu servicio.\",\r\n onboarding_service_picker_title: \"¿Cómo puedo seleccionar un servicio específico?\",\r\n onboarding_service_picker_description: \"Busca el servicio que necesitas.\",\r\n onboarding_graph_type_picker_title: \"¿Cómo selecciono una variable en la gráfica?\",\r\n onboarding_graph_type_picker_description: \"Varia la visualización de la gráfica.\",\r\n onboarding_graph_period_picker_title: \"¿Cómo modifico el rango de días en la gráfica?\",\r\n onboarding_graph_period_picker_description: \"Hora, día, semana, mes o año.\",\r\n onboarding_graph_export_data_title: \"¿Cómo puedo descargar los datos de mi servicio?\",\r\n onboarding_graph_export_data_description: \"Un CSV con tus datos.\",\r\n onboarding_graph_calendar_picker_title: \"¿Puedo hacer una selección personalizada de fechas?\",\r\n onboarding_graph_calendar_picker_description: \"Selecciona un rango específico.\",\r\n onboarding_service_title_step1: \"Multiple selección según tus necesidades:\",\r\n onboarding_service_title_step2: \"Descubre el detalle desde un solo lugar:\",\r\n onboarding_service_description_step1: \"Puedes seleccionar uno o máximo 3 servicios vinculados a tu cuenta en este menú.\",\r\n onboarding_service_description_step2: \"También puedes ver los datos más importantes de este servicio al desplegar el detalle.\",\r\n onboarding_service_picker_title_step1: 'Desde aquí haz la selección de tus servicios:',\r\n onboarding_service_picker_title_step2: 'No te afanes si no encuentras lo que buscas:',\r\n onboarding_service_picker_title_step3: 'Selecciona los servicios que quieres comparar:',\r\n onboarding_service_picker_description_step1: 'Puedes seleccionar uno o máximo 3 servicios vinculados a tu cuenta. Para descubrir cómo da click al botón de (+) y navega por tus servicios',\r\n onboarding_service_picker_description_step2: 'Filtra por alguno de nuestros servicios o busca una ubicación en especifico desde este botón',\r\n onboarding_service_picker_description_step3: 'Relaciona los servicios que vas a comparar con los tipos de gráfica (Ej: Comparar consumo de 2 servicios).',\r\n onboarding_graph_calendar_title_step1: 'Personaliza tus rangos de fecha:',\r\n onboarding_graph_calendar_title_step2: 'Te ofrecemos filtros establecidos:',\r\n onboarding_graph_calendar_description_step1: 'En el icono de calendario puedes seleccionar un rango especifico o hacer click en alguna de las opciones predeterminadas.',\r\n onboarding_graph_calendar_description_step2: \"Puedes hacer click en alguno de los accesos rápidos, que te muestran la ultima semana, las ultimas 2 semanas y el ultimo mes.\",\r\n onboarding_graph_export_data_title_step1: \"Completa la información para descargar los datos de tu servicio:\",\r\n onboarding_graph_export_data_title_step2: \"Exporta la gráfica y los datos de tu servicio:\",\r\n onboarding_graph_export_data_description_step1: \"Haz clic en el botón de descarga ubicado junto a la selección de rango de fechas para obtener un archivo con los datos.\",\r\n onboarding_graph_export_data_description_step2: \"Podrás descargar los datoss en un archivo CSV, según la selección de gráfica y rango de fecha.\",\r\n onboarding_graph_period_title_step1: \"Cambia la visualización a tu preferencia:\",\r\n onboarding_graph_period_title_step2: \"Rangos establecidos para navegar:\",\r\n onboarding_graph_period_title_step3: \"Rangos establecidos para navegar:\",\r\n onboarding_graph_period_title_step4: \"Rangos establecidos para navegar:\",\r\n onboarding_graph_period_title_step5: \"Rangos establecidos para navegar:\",\r\n onboarding_graph_period_description_step1: \"Desde aquí puedes escoger el rango de fecha que deseas visualizar en la gráfica.\",\r\n onboarding_graph_period_description_step2: \"Si seleccionas Hora a hora vas a poder visualizar todo 1 día por 24 horas.\",\r\n onboarding_graph_period_description_step3: \"Cuando seleccionas Rango semanal vas visualizar la semana por días (7 días).\",\r\n onboarding_graph_period_description_step4: \"La selección de Rango Mensual te permite ver el mes completo por días (30 días) y hacer selecciones personalizas.\",\r\n onboarding_graph_period_description_step5: \"La selección del Rango Anual te permite ver todo un año por meses (12 meses).\",\r\n onboarding_graph_type_title_step1: \"La selección de servicios se ve reflejada acá:\",\r\n onboarding_graph_type_title_step2: \"Selecciona el tipo de gráfica que desees ver:\",\r\n onboarding_graph_type_title_step3: \"Verifica la unidad de medida:\",\r\n onboarding_graph_type_title_step4: \"Algunas variables están agrupadas:\",\r\n onboarding_graph_type_description_step1: \"Los servicios que se ven aquí son los mismos seleccionaste en el menú de servicios\",\r\n onboarding_graph_type_description_step2: \"Tienes acceso a una gran variedad de tipos de gráfica (Consumo, Corriente, Voltaje, etc.) desde este botón.\",\r\n onboarding_graph_type_description_step3: \"Algunas variables no se pueden comparar entre sí por las diferencias en unidad de medida:Consumo (kWh) vs. Corriente (Amp)\",\r\n onboarding_graph_type_description_step4: \"Revisa el icono que esta al lado de la variable para distinguirlas. Por ejemplo si seleccionas Energía Reactiva, puedes hacer la distinción entre Capacitiva, En Exceso o Inductiva.\",\r\n onboarding_invoice_title_step1: \"Encuentra las facturas que necesitas:\",\r\n onboarding_invoice_title_step2: \"No te pierdas ningún detalle de tu factura:\",\r\n onboarding_invoice_description_step1: \"Busca por el nombre del servicio o filtrar las facturas según el mes a pagar, o el historial de las que ya fueron pagadas.\",\r\n onboarding_invoice_description_step2: \"Visualizar la factura y todo sus componentes en la totalidad de tu pantalla.\",\r\n onboarding_payment_title_step1: \"Realiza el pago desde la plataforma:\",\r\n onboarding_payment_title_step2: \"Selecciona tu forma de pago pago:\",\r\n onboarding_payment_title_step3: \"Cuando pagas con tarjeta de credito:\",\r\n onboarding_payment_title_step4: \"Te ofrecemos otra forma de pago:\",\r\n onboarding_payment_description_step1: \"Selecciona una o más facturas, dale click al botón pagar y sigue los pasos para completar el proceso desde nuestra pasarela de pago.\",\r\n onboarding_payment_description_step2: \"Puedes completar tu pago con tarjeta de crédito o PSE, y todo desde la plataforma.\",\r\n onboarding_payment_description_step3: \"Solo es necesario completar la información de pago y seleccionar la cantidad de cuotas.\",\r\n onboarding_payment_description_step4: \"Incluso puedes usar los NEUgets vinculados a tu cuenta para pagar.\",\r\n onboarding_user_title_step1: \"Puedes invitar a nuevos colaboradores:\",\r\n onboarding_user_title_step2: \"A tener en cuenta:\",\r\n onboarding_user_title_step3: \"Haz los cambios que necesites:\",\r\n onboarding_user_description_step1: \"Invita a otros usuarios a tus proyectos y dales acceso a todo lo que necesiten de tu cuenta.\",\r\n onboarding_user_description_step2: \"Para agregar a un usuario, es importante completar este formulario.\",\r\n onboarding_user_description_step3: \"Puedes modificar el permiso que le diste a otros usuarios o moverlos a otro proyecto.\",\r\n onboarding_profile_title_step1: \"Desde tu perfil puedes:\",\r\n onboarding_profile_title_step2: \"Puedes crear alertas para tus proyectos:\",\r\n onboarding_profile_title_step3: \"Agrega y editar los usuarios que necesites:\",\r\n onboarding_profile_title_step4: \"Accede a los demás tutoriales de la plataforma:\",\r\n onboarding_profile_description_step1: \"Configurar tus datos personales y los usuarios vinculados a cada proyecto de tu cuenta.\",\r\n onboarding_profile_description_step2: \"Para hacerle seguimiento a tus proyectos, verificar la energía reactiva o el consumo.\",\r\n onboarding_profile_description_step3: \"También tienes la sección para agregar usuarios a cada uno de tus proyectos, o editar el acceso a usuarios que ya agregaste.\",\r\n onboarding_profile_description_step4: \"En esta sección tendrás acceso a los tutoriales disponibles dentro de la plataforma.\",\r\n onboarding_dashboard_title_step1: \"¡Hola!\",\r\n onboarding_dashboard_title_step2: \"Tu cuenta, un mundo de posibilidades:\",\r\n onboarding_dashboard_title_step3: \"Aprende a navegar por cada servicio:\",\r\n onboarding_dashboard_title_step4: \"Accede a los servicios de emergencia:\",\r\n onboarding_dashboard_title_step5: \"Envía tus requerimientos desde la plataforma:\",\r\n onboarding_dashboard_title_step6: \"Mantente al tanto de todo lo que sucede:\",\r\n onboarding_dashboard_title_step7: \"Accede a más NEUGets (Green energy tokens):\",\r\n onboarding_dashboard_description_step1: \"Conoce como navegar y sacarle el mejor provecho a la plataforma de ERCO/NEU.\",\r\n onboarding_dashboard_description_step2: \"Accede a los servicios dentro del ecosistema de NEU/ERCO desde esta sección.\",\r\n onboarding_dashboard_description_step3: \"Navega por cada sección dandole click al icono del servicio: Energy, NEU+, Genius y Efficiency.\",\r\n onboarding_dashboard_description_step4: \"En caso que tengas una falla en tu suministro de energía, con respuesta a emergencias 24/7.\",\r\n onboarding_dashboard_description_step5: \"En el centro de ayuda puedes mandar una solicitud cuando tengas una queja o requerimiento\",\r\n onboarding_dashboard_description_step6: \"Accede a las notificaciones de todos tus proyectos y a las alertas creadas para cada uno.\",\r\n onboarding_dashboard_description_step7: \"Con tus NEUgets puedes pagar la factura de energía y ganar más al referir nuevas personas.\",\r\n onboarding_alert_title_step1: \"Programa tus alertas para estar al tanto de todo:\",\r\n onboarding_alert_title_step2: \"Todo esto puedes hacer con una alerta:\",\r\n onboarding_alert_title_step3: \"A tener en cuenta:\",\r\n onboarding_alert_title_step4: \"Selecciona la variable de energía:\",\r\n onboarding_alert_title_step5: \"Determina la regla que mide tu alerta:\",\r\n onboarding_alert_title_step6: \"Establece el valor numérico para tu alerta:\",\r\n onboarding_alert_title_step7: \"Establece a donde debe llegar la notificación:\",\r\n onboarding_alert_title_step8: \"Te notificaremos cuando se cumpla tu alerta:\",\r\n onboarding_alert_description_step1: \"Las alertas son la manera más sencilla y personalizada de hacerle seguimiento a tus servicios.\",\r\n onboarding_alert_description_step2: \"Seguimiento a tus servicios, verifica el consumo o la energía reactiva, establece un límite y mucho más. Da click al botón de agregar alerta para descubrir cómo.\",\r\n onboarding_alert_description_step3: \"Para crear una alerta es necesario definir que servicio y que tipo de variable de energía vas a seleccionar.\",\r\n onboarding_alert_description_step4: \"Puedes seleccionar entre varios tipos de variables como: consumo, energía reactiva, corriente, potencia, voltaje, entre otros.\",\r\n onboarding_alert_description_step5: \"Puedes seleccionar entre 3 tipos de reglas para establecer tu alerta.\",\r\n onboarding_alert_description_step6: \"Para esta sección puedes poner un valor numérico para tu alerta, puede ser un total o un promedio de datos.\",\r\n onboarding_alert_description_step7: \"Puedes seleccionar el canal por donde enviar la notificación de la alerta.\",\r\n onboarding_alert_description_step8: \"Al establecer una alerta te notificaremos cuando alguno de tus proyectos sobrepase la condición que programaste.\",\r\n energy_graph_group_average: \"Promedio (en gráfica)\",\r\n onboarding_walktrough_title: \"Accede a los demás tutoriales de la plataforma:\",\r\n onboarding_walktrough_description: \"Ingresa a tu perfil, encontrarás la sección de todos los tutoriales para continuar este o iniciar uno nuevo.\",\r\n last_monthly_generation: \"Generación del último mes\",\r\n invoices_text_empty_bills_pending: \"Buen trabajo! No tienes facturas pendientes.\",\r\n invoices_text_empty_bills_paid: \"No tienes facturas pagadas, si tienes facturas pendientes recuerda ponerte al dia.\",\r\n invoices_text_empty_bills_due: \"Buen trabajo! No tienes facturas vencidas.\",\r\n generation_per_equipment: \"Generación por equipo\",\r\n generation_vs_irradiance: \"Generación vs Irradiancia\",\r\n generation: \"Generación\",\r\n temperature_plot: \"Temperatura\",\r\n generation_variation: \"Variación de generación\",\r\n invoices_text_empty_bills_overdue: \"Buen trabajo! No tienes facturas vencidas.\",\r\n invoices_state_clear_filters: \"Limpiar filtro\",\r\n tooltip_last_monthly_generation: \"Información de la generación de energía de los últimos meses\",\r\n tooltip_generation_per_equipment: \"Información de la generación de energía desagregada por inversor\",\r\n tooltip_generation_vs_irradiance: \"Comparativo entre la generación de energía del servicio y la irradiancia solar\",\r\n tooltip_generation: \"Distribución diaria de la generación de energía\",\r\n tooltip_temperature_plot: \"Comparativo entre la temperatura ambiental y la temperatura de los paneles solares\",\r\n user_selected_label_job_area: \"Áreas seleccionadas\",\r\n tooltip_generation_variation: \"Variación de la generación del mes comparado con el mes anterio\",\r\n savings: \"Descripción de los ahorros del proyecto\",\r\n alerts_title_interval_time: 'Intervalo horario',\r\n alerts_interval_time_body_frequency: 'Configura el horario de medición de tu alerta',\r\n alerts_interval_time_title_days: 'Selecciona los días',\r\n alerts_interval_time_title_range: 'Rango horario',\r\n alerts_interval_time_title_body: 'Configura unas horas específicas para el envío de tu alerta',\r\n alerts_title_initial_time: 'Inicio:',\r\n alerts_title_final_time: 'Final:',\r\n alert_time_am: 'AM',\r\n alert_time_pm: 'PM',\r\n alerts_new_alert_service_item: 'Servicio',\r\n alerts_new_alert_service_label: 'Selecciona el servicio',\r\n alerts_new_alert_service_example: 'Puedes seleccionar uno o más servicios',\r\n alerts_new_alert_variable_item: 'Variable',\r\n alerts_new_alert_variable_label: 'Selecciona la variable',\r\n alerts_new_alert_variable_example: 'La variable eléctrica de la alerta',\r\n alerts_new_alert_rule_item: 'Regla',\r\n alerts_new_alert_rule_label: 'Selecciona la regla',\r\n alerts_new_alert_rule_example: 'La variable que mide la alerta',\r\n alerts_new_alert_value_item: 'Valor',\r\n alerts_new_alert_value_label: 'Selecciona el valor',\r\n alerts_new_alert_value_example: 'El número o promedio que mide la alerta',\r\n new_alert_type_title: 'Tipo de alerta',\r\n new_alert_select_type: 'Selecciona el tipo de alerta',\r\n alerts_new_alert_channel_example: 'El medio por el que llega la alerta',\r\n new_alert_schedule_description: 'Agregar un horario de envío de alerta',\r\n popover_duplicate_alert: 'Duplicar alerta',\r\n popover_delete_alert: 'Eliminar alerta',\r\n accounts_id_account: 'ID Cuenta',\r\n accounts_location: 'Ubicación',\r\n accounts: 'Cuentas',\r\n graph_operation_state_no_record: 'Sin registro',\r\n graph_operation_state_process: 'En proceso',\r\n graph_operation_state_standby: 'Standby',\r\n graph_operation_state_checking: 'Chequeando',\r\n graph_operation_state_fail: 'Falla',\r\n energy_no_users: 'No hay usuarios para mostrar',\r\n energy_done_button: \"Hecho\",\r\n energy_click_to_change: \"Toca aquí para cambiar\",\r\n reports_select_all: 'Seleccionar todos',\r\n invoces_more_invoces: 'Más facturas del periodo',\r\n alerts_label_title_empty_state_registers: 'No hay alertas cumplidas en este momento',\r\n alerts_label_body_empty_state_registers: 'Agrega una nueva alerta desde tu perfil o haciendo click en el botón.',\r\n nps_beta_survey_usability: 'Facilidad de uso',\r\n nps_beta_survey_information: 'Información',\r\n nps_beta_survey_design: 'Diseño',\r\n nps_beta_survey_other: 'Otro...',\r\n nps_beta_survey_alert_error: '¡Oops! Parece que olvidaste completar algunos campos.',\r\n nps_beta_survey_your_opinion_counts: '¡Tu opinión cuenta!',\r\n nps_beta_survey_improve_experience: 'Ayúdanos a mejorar tu experiencia',\r\n nps_beta_survey_rate_beta_experience: '¿Cómo calificarías tu experiencia en esta plataforma beta?',\r\n nps_beta_survey_dislike: 'No me gustó',\r\n nps_beta_survey_can_improve: 'Puede mejorar',\r\n nps_beta_survey_great: 'Excelente',\r\n nps_beta_survey_send_rating: 'Enviar calificación',\r\n nps_beta_survey_thanks: '¡Gracias por calificarnos!',\r\n nps_beta_survey_highlight : '¿Qué sería lo que más resaltarías de esta nueva plataforma?',\r\n nps_beta_survey_send: 'Enviar y finalizar',\r\n nps_beta_survey_rate_experience: 'Califica tu experiencia',\r\n onboarding_generation_title1: '¡Nos renovamos para tí! Conoce ENERG:',\r\n onboarding_generation_text1: 'ENERG tiene una experiencia más intuitiva, con un diseño renovado y mejoras basadas en sugerencias de clientes como tú.',\r\n onboarding_generation_title2: 'Mide y visualiza tu generación en tiempo real',\r\n onboarding_generation_text2: 'Podrás ver las gráficas de cómo está generando energía tu sistema en diferentes escalas de tiempo (horaria, semanal y mensual), gráficas de corriente, tensión, potencia activa, factor de potencia, entre otros.',\r\n onboarding_generation_title3: 'Descubre tu eficiencia energética con generación',\r\n onboarding_generation_text3: 'Calculamos tu ahorro teniendo como base la tarifa de tu comercializador de energía. Además,podrás hacer un seguimiento del impacto económico y ambiental de tu sistema.',\r\n onboarding_generation_title4: 'Una sola plataforma para todas las soluciones',\r\n onboarding_generation_text4: '¿Quieres aumentar tu eficiencia energética? Aquí podrás encontrar las soluciones que te van a permitir ser más sostenible. Descubre todo lo que ENERG tiene para ti.',\r\n onboarding_preonboarding_title1: '¡Un par de minutos más para poder acceder a los beneficios!',\r\n onboarding_preonboarding_text1: 'Ten en cuenta las etapas del proceso de operaciones por las que va a pasar tu proyecto:',\r\n onboarding_preonboarding_title2: 'Realiza el seguimiento de tu proceso de operaciones',\r\n onboarding_preonboarding_text2: 'Dentro de la plataforma puedes verificar el estado actual de tu proceso, validar datos como el consumo y el nivel de voltaje de tu proyecto',\r\n onboarding_preonboarding_title3: 'Responde cualquier duda importante desde el chat',\r\n onboarding_preonboarding_text3: 'Tienes acceso a un chat individual con tu coordinador de operaciones para hacer seguimiento personalizado a tu proceso de instalación',\r\n onboarding_consumption_title1: '¡Ten a la mano el control de la energía de tu empresa!',\r\n onboarding_consumption_text1: 'Haz más, gasta menos y cuida el planeta, con el ecosistema de energía mejor optimizado para tus necesidades.',\r\n onboarding_consumption_title2: 'Accede a toda la información de tu consumo',\r\n onboarding_consumption_text2: 'Consume energía de una manera eficiente y haz seguimiento con reportes personalizados de energía, detallados y creados con tu data.',\r\n onboarding_consumption_title3: 'Entiende lo que pagas en tu factura de energía',\r\n onboarding_consumption_text3: 'Con nuestra factura interactiva podrás realizar un solo pago, tener a la mano el histórico de todo tu consumo y analizar tu gasto.',\r\n onboarding_consumption_title4: 'Mide y visualiza tu consumo en tiempo real',\r\n onboarding_consumption_text4: 'Crea y modifica alarmas personalizadas, mide diferentes variables de la energía y mantente al tanto de los cambios atípicos de tu consumo.',\r\n onboarding_modal_description: 'Te seleccionamos a tí para ser uno de los primeros en probarla, podrás dejar tus comentarios en la sección que encontrarás en la esquina inferior derecha.',\r\n onboarding_modal_finally: 'Finalizar',\r\n onboarding_modal_continue: 'Continuar',\r\n dashboard_steps_power_outages: 'Cortes inesperados de luz',\r\n dashboard_steps_short_circuit: 'Cortocircuito en la ubicación',\r\n dashboard_steps_support: 'Soporte',\r\n dashboard_steps_billing_problems: 'Problemas de facturación',\r\n dashboard_steps_payment_methods: 'Medios de pago',\r\n quality_graph_lines: 'Líneas',\r\n quality_graph_power: 'Potencia',\r\n quality_graph_electricity: 'Corriente',\r\n quality_graph_voltage: \"Voltaje\",\r\n quality_graph_variables: 'Variables',\r\n chatbot_aids1: '¿Cuánto he consumido este año?',\r\n chatbot_aids2: '¿Cuál fue mi energía reactiva en junio de 2023?',\r\n chatbot_aids3: '¿Qué día se alcanzó el pico máximo de consumo de energía en el último año?',\r\n roles_commercial: 'Comercial',\r\n roles_operations: 'Operaciones',\r\n roles_invoicing: 'Facturación',\r\n roles_environmental: 'Ambiental',\r\n roles_financial: 'Financiero',\r\n roles_marketing: 'Marketing',\r\n roles_legal: 'Legal',\r\n roles_not_apply: 'N/A',\r\n roles_innovation: 'Innovacion',\r\n roles_manager: 'Gerente',\r\n invoices_paid_text_commission: 'Comisión',\r\n tutorial_start_button: 'Empezar',\r\n tutorial_skip_button: 'Omitir',\r\n tutorial_got_it: 'Entendido',\r\n report_type: 'Tipo de reporte',\r\n consumption_report: 'Reporte de Consumo',\r\n generation_report:'Reporte de Generación',\r\n ppa_report: 'Reporte PPA',\r\n genius_report_monthly_consumption: 'Consumo mensual y Facturación',\r\n genius_report_submeasurements: 'Submediciones',\r\n genius_report_detailed_consumption: 'Consumo detallado',\r\n genius_report_reactive_energy: 'Energía reactiva',\r\n genius_report_savings: 'Ahorros',\r\n genius_report_generation: 'Generación',\r\n picker_yes_button: 'Si',\r\n picker_no_button: 'No',\r\n lumi_title: 'Pronto conocerás el poder de Lumi',\r\n lumi_first_text: 'Prepárate para conocer una nueva era de innovación y asistencia personalizada.',\r\n lumi_second_text: '¡No te pierdas esta emocionante novedad que cambiará la forma en la que interactúas con nuestra plataforma!',\r\n lumi_title_card: '¡Nos encanta contar contigo!',\r\n lumi_first_text_card: 'Tan pronto como esté disponible, serás el primero en enterarte. Te mantendremos al tanto de todas las novedades sobre Lumi.',\r\n lumi_second_text_title: '¡Prepárate para vivir una experiencia única!',\r\n lumi_do_click_here: 'Haz click aquí para ser el primero en conocer la experiencia',\r\n lumi_hey: 'Hola',\r\n lumi_question: '¿Cómo te puedo ayudar hoy?',\r\n lumi_you_chat: 'Tú',\r\n lumi_explanation: 'Te lo explico todo paso a paso:',\r\n lumi_go_tutorial: 'Ir a tutorial',\r\n lumi_continue_conversation: 'Continuar esta conversación',\r\n lumi_ask_me: 'Pregúntame lo que quieras...',\r\n lumi_consulting: 'Consultando',\r\n lumi_projects: 'proyectos',\r\n service_type_energy: 'Energía',\r\n service_type_plus: 'Plus',\r\n service_type_zero: 'Financieros',\r\n service_type_generation: 'Generación',\r\n graphs_go_back_button: 'Regresar',\r\n export_graph_example_filename: 'Ej: informe_28_julio',\r\n pagination: 'Pág.',\r\n pagination_of: 'de',\r\n services_picker_select_all: \"Seleccionar todos\",\r\n services_picker_descelect_all: \"Deseleccionar todos\",\r\n energy_graph_plus_button: 'Ir a Plus',\r\n genius_tooltip_button_graphs: 'Seleccione los servicios para visualizar las gráficas',\r\n alerts_select_interval_secondBySecond: 'Segundo a segundo',\r\n alerts_select_check_one_minute: \"Validar cada minuto\",\r\n alerts_select_check_five_minute: \"Validar cada 5 minutos\",\r\n alerts_select_check_ten_minute: \"Validar cada 10 minutos\",\r\n alerts_select_check_fifteen_minute: \"Validar cada 15 minutos\",\r\n alerts_interval_time_title_plus_check: \"Selecciona tiempo de validación\",\r\n //nuevos\r\n user_input_placeholder_name: 'Nombre',\r\n user_input_placeholder_lastname: 'Apellido',\r\n user_input_placeholder_id: '000.000.000',\r\n user_input_placeholder_phone: '000 000 000',\r\n user_input_placeholder_email: 'correo@gmail.com'\r\n};\r\n\r\nexport default lang;","import React from 'react';\r\n\r\nimport * as shared from '../creators/Shared';\r\n\r\nimport { GETData, SETData } from \"../../services/WebServices\";\r\n\r\nimport { Notification, Alert } from 'rsuite';\r\n\r\nimport * as firebase from \"firebase/app\";\r\nimport { getMessaging, onMessage, isSupported } from \"firebase/messaging\";\r\nimport { getRemoteConfig, fetchAndActivate, getAll } from \"firebase/remote-config\";\r\n\r\nimport lang from '../../language/es';\r\n\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyDPSbHg2-QGXjLJsRUZTJ2Gtgum0dpXA1E\",\r\n authDomain: \"neu-app-v4.firebaseapp.com\",\r\n projectId: \"neu-app-v4\",\r\n storageBucket: \"neu-app-v4.appspot.com\",\r\n messagingSenderId: \"401559542772\",\r\n appId: \"1:401559542772:web:443a0d4fc0c44fd7c937a1\",\r\n measurementId: \"G-BL7BT7TJSC\"\r\n};\r\n\r\nconst firebaseApp = firebase.initializeApp(firebaseConfig);\r\n\r\nconst remoteConfig = getRemoteConfig();\r\n\r\nisSupported().then(support => {\r\n if (support) {\r\n const messaging = getMessaging(firebaseApp);\r\n\r\n onMessage(messaging, (payload) => {\r\n Notification.open(\r\n {\r\n className: \"bg-gray-800 rounded-8\",\r\n title: payload.data.title,\r\n duration: 20000,\r\n placement: \"bottomEnd\",\r\n description: (
{payload.data.body}
)\r\n }\r\n )\r\n });\r\n }\r\n})\r\n\r\nremoteConfig.settings.minimumFetchIntervalMillis = 3600000;\r\n\r\nremoteConfig.defaultConfig = lang;\r\n\r\nexport const loadLanguage = async () => {\r\n\r\n return await fetchAndActivate(remoteConfig)\r\n .then(() => {\r\n\r\n let words = {};\r\n\r\n const parameters = getAll(remoteConfig);\r\n\r\n Object.entries(parameters).forEach(value => {\r\n const [key, entry] = value;\r\n words[key] = entry.asString().replace(/\\s+/g, \" \");\r\n });\r\n\r\n return words;\r\n });\r\n\r\n}\r\n\r\nexport const setCurrentModule = payload => {\r\n return {\r\n type: shared.SET_CURRENT_MODULE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setMenu = payload => {\r\n return {\r\n type: shared.SET_MENU,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLanguage = payload => {\r\n return {\r\n type: shared.SET_LANGUAGE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowBlackScreen = payload => {\r\n return {\r\n type: shared.SET_SHOW_BLACK_SCREEN,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowBlackScreenDrawer = payload => {\r\n return {\r\n type: shared.SET_SHOW_BLACK_SCREEN_DRAWER,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowCalendar = payload => {\r\n return {\r\n type: shared.SET_SHOW_CALENDAR,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowNpsSurvey = payload => {\r\n return {\r\n type: shared.SET_SHOW_NPS_SURVEY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setStartOnboarding = payload => {\r\n return {\r\n type: shared.SET_START_ONBOARDING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setControlledOnboarding = payload => {\r\n return {\r\n type: shared.SET_CONTROLLED_ONBOARDING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowDrawerOnboarding = payload => {\r\n return {\r\n type: shared.SET_SHOW_DRAWER_ONBOARDING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowPulseAnimation = payload => {\r\n return {\r\n type: shared.SET_SHOW_PULSE_ANIMATION,\r\n payload\r\n }\r\n}\r\n\r\nexport const setScreenPaddingBottom = payload => {\r\n return {\r\n type: shared.SET_SCREEN_PADDING_BOTTOM,\r\n payload\r\n }\r\n}\r\n\r\nexport const logout = payload => {\r\n localStorage.setItem('user', null);\r\n localStorage.setItem('token', null);\r\n localStorage.setItem('account', null);\r\n return {\r\n type: shared.LOGOUT,\r\n payload\r\n }\r\n}\r\n\r\nexport const loadLanguageAsync = () => {\r\n return (dispatch) => {\r\n\r\n loadLanguage().then(response => {\r\n dispatch(setLanguage(response));\r\n })\r\n }\r\n}\r\n\r\nexport const loadUserNpsAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const userId = getState().users.user.idUser;\r\n const userCapabilities = getState().users.user.capabilities;\r\n\r\n if ( userCapabilities.show_nps_survey ) {\r\n\r\n GETData(`survey/${userId}`, \"GET\")\r\n .then(response => {\r\n if (response !== null) {\r\n if (response.body[0].show_nps_survey === true || response.body[0].show_nps_survey === null) {\r\n\r\n dispatch(setShowNpsSurvey(true))\r\n\r\n }\r\n else {\r\n\r\n dispatch(setShowNpsSurvey(false))\r\n\r\n }\r\n }\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n\r\n }\r\n}\r\n\r\nexport const setNpsSurveyAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n const userId = getState().users.user.idUser;\r\n\r\n const language = getState().shared.language;\r\n\r\n const data = {\r\n id_user: userId,\r\n ...payload\r\n }\r\n\r\n SETData(\"survey/create\", \"POST\", data)\r\n .then(response => {\r\n if (response) Alert.success(language.alert_nps_survey_create_success);\r\n })\r\n .catch(() => Alert.error(language.alert_nps_survey_create_error))\r\n .finally(() => dispatch(setShowNpsSurvey(false)));\r\n }\r\n}\r\n\r\n","import * as login from '../creators/Login';\r\n\r\nimport * as usersActions from './Users';\r\nimport * as accountsActions from './Accounts';\r\nimport * as sharedActions from \"./Shared\";\r\n\r\nimport { GETData, SETData } from '../../services/WebServices';\r\n\r\nimport { init, identify, Identify, setUserId } from \"@amplitude/analytics-browser\"\r\n\r\n\r\nimport { getMessaging, getToken, isSupported } from \"firebase/messaging\";\r\n\r\ninit(process.env.REACT_APP_AMPLITUDE_KEY, {\r\n defaultTracking: false,\r\n});\r\n\r\nconst getFirebaseToken = id_user => {\r\n return () => {\r\n\r\n isSupported().then(support => {\r\n if (support && Notification.permission === \"granted\") {\r\n\r\n let messaging = getMessaging();\r\n getToken(messaging, { vapidKey: process.env.REACT_APP_FIREBASE_MESSAGING_TOKEN })\r\n .then(token => {\r\n\r\n const data = {\r\n \"id_user\": id_user,\r\n \"device_type\": \"web\",\r\n \"token\": token\r\n }\r\n\r\n SETData(`notifications/devices/token`, \"POST\", data);\r\n\r\n });\r\n\r\n }\r\n\r\n })\r\n }\r\n}\r\n\r\nexport const setStep = payload => {\r\n return {\r\n type: login.SET_STEP,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoading = payload => {\r\n return {\r\n type: login.SET_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setResending = payload => {\r\n return {\r\n type: login.SET_RESENDING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setCounter = payload => {\r\n return {\r\n type: login.SET_COUNTER,\r\n payload\r\n }\r\n}\r\n\r\nexport const setCodeTries = payload => {\r\n return {\r\n type: login.SET_CODE_TRIES,\r\n payload\r\n }\r\n}\r\n\r\nexport const loadInitInfoAsync = () => {\r\n return (dispatch) => {\r\n\r\n const token = localStorage.getItem('token');\r\n const user = JSON.parse(localStorage.getItem('user'));\r\n\r\n dispatch(setLoading(true));\r\n\r\n sharedActions\r\n .loadLanguage()\r\n .then(response => {\r\n\r\n dispatch(sharedActions.setLanguage(response));\r\n\r\n if (token !== null && user !== null) {\r\n\r\n GETData(`users/users/${user.idUser}`, \"GET\")\r\n .then((result) => {\r\n if (result !== null) {\r\n\r\n // if (result.redirectInfo)\r\n // window.location.replace(result.redirectInfo.redirectUrl);\r\n\r\n if (localStorage.getItem('modal_activation') === null) {\r\n localStorage.setItem('modal_activation', true);\r\n }\r\n\r\n if (localStorage.getItem('modal_home') === null) {\r\n localStorage.setItem('modal_home', true);\r\n }\r\n\r\n localStorage.setItem('user', JSON.stringify(result));\r\n\r\n dispatch(usersActions.setUser(result));\r\n\r\n dispatch(usersActions.getUserExtraDataAsync());\r\n dispatch(accountsActions.loadAccountsAsync());\r\n dispatch(setStep(3));\r\n\r\n setUserId(`NEUUSER_${user.idUser}`);\r\n\r\n const identifyObj = new Identify()\r\n identifyObj\r\n .set(\"name\", `${result.name} ${result.lastname}`)\r\n .set(\"email\", result.email)\r\n .set(\"job\", result?.jobs?.length ? result.jobs.map(function (job) { return job?.name }) : 'N/A')\r\n .set(\"project_type\", result?.capabilities?.projects_type)\r\n identify(identifyObj);\r\n\r\n dispatch(setLoading(false));\r\n\r\n dispatch(updateConnectionAsync());\r\n\r\n dispatch(getFirebaseToken(user.idUser));\r\n\r\n } else {\r\n dispatch(setStep(1));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(setStep(1));\r\n })\r\n .finally(() => dispatch(setLoading(false)));\r\n\r\n } else {\r\n dispatch(setStep(1));\r\n dispatch(setLoading(false));\r\n }\r\n\r\n });\r\n }\r\n}\r\n\r\nexport const loadInfoUserAsync = (payload, showError) => {\r\n return (dispatch, getState) => {\r\n\r\n let codeTries = getState().login.codeTries;\r\n\r\n const user = getState().users.user;\r\n\r\n const language = getState().shared.language;\r\n\r\n dispatch(setLoading(true));\r\n\r\n GETData(`users/login/${user.idUser}/${payload}`, \"GET\")\r\n .then((result) => {\r\n\r\n if (result !== null) {\r\n\r\n localStorage.setItem('token', result.token);\r\n\r\n GETData(`users/users/${result.user.idUser}`, \"GET\")\r\n .then((resultUser) => {\r\n if (resultUser !== null) {\r\n\r\n // if (result.redirectInfo)\r\n // window.location.replace(result.redirectInfo.redirectUrl);\r\n\r\n\r\n if (localStorage.getItem('modal_activation') === null) {\r\n localStorage.setItem('modal_activation', true);\r\n }\r\n\r\n if (localStorage.getItem('modal_home') === null) {\r\n localStorage.setItem('modal_home', true);\r\n }\r\n\r\n localStorage.setItem('user', JSON.stringify(resultUser));\r\n\r\n dispatch(usersActions.setUser(resultUser));\r\n\r\n dispatch(usersActions.getUserExtraDataAsync());\r\n dispatch(accountsActions.loadAccountsAsync());\r\n dispatch(setStep(3));\r\n\r\n setUserId(`NEUUSER_${resultUser.idUser}`);\r\n\r\n const identifyObj = new Identify()\r\n identifyObj\r\n .set(\"name\", `${resultUser.name} ${resultUser.lastname}`)\r\n .set(\"email\", resultUser.email)\r\n .set(\"job\", resultUser?.jobs?.length ? resultUser.jobs.map(function (job) { return job?.name }) : 'N/A')\r\n .set(\"project_type\", resultUser?.capabilities?.projects_type)\r\n identify(identifyObj);\r\n\r\n dispatch(setLoading(false));\r\n\r\n dispatch(updateConnectionAsync());\r\n\r\n dispatch(getFirebaseToken(resultUser.idUser));\r\n\r\n } else {\r\n dispatch(setStep(1));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(setStep(1));\r\n })\r\n .finally(() => dispatch(setLoading(false)));\r\n } else {\r\n\r\n codeTries += 1;\r\n\r\n if (codeTries === 4) {\r\n\r\n codeTries += 1;\r\n dispatch(setStep(1));\r\n\r\n } else {\r\n showError(language.alert_login_invalid_code);\r\n }\r\n\r\n dispatch(setLoading(false))\r\n dispatch(setCodeTries(codeTries))\r\n\r\n }\r\n\r\n })\r\n .catch(() => {\r\n showError(language.alert_shared_error);\r\n dispatch(setLoading(false))\r\n })\r\n\r\n }\r\n}\r\n\r\nexport const generateCodeAsync = (payload, showError) => {\r\n return (dispatch, getState) => {\r\n\r\n const step = getState().login.step;\r\n const user = getState().login.user;\r\n const language = getState().shared.language;\r\n\r\n let counter = getState().login.counter;\r\n let messageError;\r\n\r\n if (step === 2) {\r\n messageError = language.alert_shared_error;\r\n dispatch(setResending(true));\r\n } else {\r\n messageError = language.alert_login_user_not_found;\r\n dispatch(setLoading(true));\r\n };\r\n\r\n GETData(`users/login/${payload}?lan=${language.language_locale}`, \"GET\")\r\n .then((result) => {\r\n if (result !== null) {\r\n\r\n dispatch(usersActions.setUser({ ...user, idUser: result.idUser }));\r\n\r\n if (step === 2) {\r\n\r\n let interval = setInterval(\r\n () => {\r\n if (counter > 0) {\r\n counter -= 1;\r\n } else {\r\n clearInterval(interval);\r\n counter = 60;\r\n dispatch(setResending(false));\r\n }\r\n dispatch(setCounter(counter));\r\n },\r\n 1000\r\n );\r\n } else {\r\n dispatch(setLoading(false));\r\n dispatch(setStep(2));\r\n }\r\n } else {\r\n showError(messageError);\r\n dispatch(setLoading(false));\r\n dispatch(setResending(false));\r\n }\r\n })\r\n .catch(() => {\r\n showError(messageError);\r\n dispatch(setLoading(false));\r\n dispatch(setResending(false));\r\n });\r\n\r\n }\r\n}\r\n\r\nexport const updateConnectionAsync = () => {\r\n return (_dispatch, getState) => {\r\n\r\n const userId = getState().users.user.idUser;\r\n\r\n SETData(`users/users/connection/${userId}`, 'POST', { type: 'web' })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}","import { GETData } from \"../../services/WebServices\";\r\n\r\nimport * as services from \"../creators/Services\";\r\n\r\nimport _ from \"lodash\";\r\n\r\nexport const setTotalServices = payload => {\r\n return {\r\n type: services.SET_TOTAL_SERVICES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setTotalServicesGrouped = payload => {\r\n return {\r\n type: services.SET_TOTAL_SERVICES_GROUPED,\r\n payload\r\n }\r\n}\r\n\r\nexport const setActiveServicesEnergy = payload => {\r\n return {\r\n type: services.SET_ACTIVE_SERVICES_ENERGY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setActiveServicesPlus = payload => {\r\n return {\r\n type: services.SET_ACTIVE_SERVICES_PLUS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setActiveServicesInvoices = payload => {\r\n return {\r\n type: services.SET_ACTIVE_SERVICES_INVOICES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setActiveServicePreonboarding = payload => {\r\n return {\r\n type: services.SET_ACTIVE_SERVICE_PREONBOARDING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setDefaultActiveService = payload => {\r\n return {\r\n type: services.SET_DEFAULT_ACTIVE_SERVICE,\r\n payload\r\n }\r\n}\r\n\r\nexport const loadServicesAsync = (services = []) => {\r\n return (dispatch, getState) => {\r\n const defaultActiveService = getState().services.defaultActiveService;\r\n const userId = getState().users.user.idUser;\r\n \r\n GETData(`users/services/?user=${userId}`, \"GET\")\r\n .then(response => {\r\n if (response !== null) {\r\n \r\n response = response.map(item => ({...item, idAccount: item.account.idAccount}))\r\n\r\n dispatch(setTotalServices(response)); \r\n\r\n let groupedServices = response.reduce((acc, service) => {\r\n const { account, ...serviceDetails } = service;\r\n const accountId = account.idAccount;\r\n \r\n if (!acc[accountId]) {\r\n acc[accountId] = { account: { ...account }, services: [] };\r\n }\r\n \r\n acc[accountId].services.push(serviceDetails);\r\n \r\n return acc;\r\n }, {});\r\n \r\n groupedServices = Object.values(groupedServices);\r\n\r\n dispatch(setTotalServicesGrouped(groupedServices));\r\n \r\n let defaultServiceIndex = 0;\r\n\r\n if (defaultActiveService){\r\n defaultServiceIndex = response.findIndex(s => s.idService === defaultActiveService)\r\n defaultServiceIndex = defaultServiceIndex !== -1 ? defaultServiceIndex : 0;\r\n dispatch(setDefaultActiveService(null));\r\n }\r\n\r\n dispatch(setActiveServicesEnergy([response[defaultServiceIndex]]));\r\n \r\n dispatch(setActiveServicesInvoices(response));\r\n\r\n const servicesPlus = response.filter(x => x.type.typeService === 2)\r\n if (servicesPlus.length){ \r\n dispatch(setActiveServicesPlus([servicesPlus[0]]));\r\n }\r\n else{\r\n dispatch(setActiveServicesPlus([]));\r\n }\r\n\r\n if (services.length > 0) {\r\n const filteredServices = response\r\n .filter(service => services.includes(service.idService));\r\n \r\n setTimeout(() => dispatch(setActiveServicesEnergy(filteredServices)), 200);\r\n\r\n setTimeout(() => dispatch(setActiveServicesPlus([_.last(filteredServices)])), 200);\r\n }\r\n }\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}\r\n","import * as invoices from '../creators/Invoices';\r\n\r\nimport { SETData, GETData, GETS3PublicUrl } from '../../services/WebServices';\r\n\r\nexport const setInvoices = payload => {\r\n return {\r\n type: invoices.SET_INVOICES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesSummary = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_SUMMARY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesSummaryLoading = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_SUMMARY_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setMoreInvoices = payload => {\r\n return {\r\n type: invoices.SET_MORE_INVOICES,\r\n payload\r\n }\r\n}\r\n\r\nexport const updateInvoices = payload => {\r\n return {\r\n type: invoices.UPDATE_INVOICES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesLoading = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setDelayedInvoicesLoading = payload => {\r\n return {\r\n type: invoices.SET_DELAYED_INVOICES_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setMoreInvoicesLoading = payload => {\r\n return {\r\n type: invoices.SET_MORE_INVOICES_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesContentLoading = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_CONTENT_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesDate = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_DATE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setSelectedInvoices = payload => {\r\n return {\r\n type: invoices.SET_SELECTED_INVOICES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setBanks = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_BANKS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesToPay = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_TO_PAY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesContent = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_CONTENT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowInvoiceDetails = payload => {\r\n return {\r\n type: invoices.SET_SHOW_INVOICE_DETAILS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowInvoiceDetailsContent = payload => {\r\n return {\r\n type: invoices.SET_SHOW_INVOICE_DETAILS_CONTENT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowInvoiceDetailsIndex = payload => {\r\n return {\r\n type: invoices.SET_SHOW_INVOICE_DETAILS_INDEX,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesPeriods = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_PERIODS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setFilterStatus = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_FILTER_STATUS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setTotalInvoicesByPeriod = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_TOTAL_INVOICES_BY_PERIOD,\r\n payload\r\n }\r\n}\r\n\r\nexport const setCurrentPage = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_CURRENT_PAGE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setSortField = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_SORT_FIELD,\r\n payload\r\n }\r\n}\r\n\r\nexport const setSortOrder = payload => {\r\n return {\r\n type: invoices.SET_INVOICES_SORT_ORDER,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowPay = payload => {\r\n return {\r\n type: invoices.SET_SHOW_PAY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setEmptyPaginationResult = payload => {\r\n return {\r\n type: invoices.SET_EMPTY_PAGINATION_RESULT,\r\n payload\r\n }\r\n}\r\n\r\nexport const loadInvoicesAsync = (payload = null) => {\r\n return async (dispatch, getState) => {\r\n let emptyPaginationResult = getState().invoices.emptyPaginationResult;\r\n if (emptyPaginationResult) return;\r\n\r\n dispatch(setInvoices([]))\r\n dispatch(setMoreInvoicesLoading(true))\r\n let invoicesPeriods = getState().invoices.invoicesPeriods;\r\n const userId = getState().users.user.idUser;\r\n\r\n const servicesIds = getState().services.activeServicesInvoices\r\n .map(s => s.idService);\r\n\r\n const loadInvoices = () => {\r\n const metadata = {\r\n id_user: userId,\r\n id_services: servicesIds,\r\n sortField: payload?.sortField ? payload.sortField : 'id_service',\r\n sortOrder: payload?.sortOrder ? payload.sortOrder : 0,\r\n limit: 20,\r\n offset: 0,\r\n searchText: payload?.searchText ? payload?.searchText : '',\r\n pendingInvoices: payload.pendingInvoices,\r\n month: payload?.month ? payload.month : null,\r\n year: payload?.year ? payload.year : null,\r\n };\r\n\r\n SETData('bills/detail', 'POST', metadata)\r\n .then(response => {\r\n if (response !== null) {\r\n if (response.length === 0) {\r\n dispatch(setEmptyPaginationResult(true))\r\n return;\r\n };\r\n let periodId = response[0].id_period;\r\n\r\n let index = invoicesPeriods.findIndex(i => i.id_period === periodId);\r\n invoicesPeriods[index].invoices = response;\r\n setInvoicesPeriods([...invoicesPeriods]);\r\n const invoices = response;\r\n dispatch(setInvoices(JSON.parse(JSON.stringify(invoices)).map(i => ({ ...i, loadingDelay: true }))));\r\n dispatch(setDelayedInvoicesLoading(true))\r\n SETData('bills/detail/delay', 'POST', metadata)\r\n .then(response => {\r\n if (response === null) throw new Error(\"Error getting delay detail invoices\");\r\n if (response.length === 0) {\r\n dispatch(setEmptyPaginationResult(true))\r\n return;\r\n };\r\n if (invoices.length !== response.length) throw new Error(\"Delayed and not delayed detail are not the same.\");\r\n dispatch(updateInvoices(response));\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n })\r\n .finally(() => { dispatch(setDelayedInvoicesLoading(false)) })\r\n };\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => {\r\n dispatch(setInvoicesLoading(false))\r\n dispatch(setMoreInvoicesLoading(false))\r\n });\r\n };\r\n\r\n loadInvoices()\r\n };\r\n};\r\n\r\nexport const loadInvoicesSummaryAsync = (payload = null) => {\r\n return async (dispatch, getState) => {\r\n dispatch(setInvoicesSummaryLoading(true))\r\n\r\n const userId = getState().users.user.idUser;\r\n\r\n const servicesIds = getState()\r\n .services\r\n .activeServicesInvoices\r\n .map(s => s.idService);\r\n\r\n const metadata = {\r\n id_user: userId,\r\n id_services: servicesIds,\r\n month: payload?.month ? payload.month : null,\r\n year: payload?.year ? payload.year : null,\r\n }\r\n SETData('bills/detail/summary', 'POST', metadata)\r\n .then(response => {\r\n if (!response.length) return;\r\n const summary = response[0];\r\n dispatch(setInvoicesSummary({\r\n total_bills: parseInt(summary?.total_bills || 0),\r\n pending_bills: parseInt(summary?.pending_bills || 0),\r\n total_consumption: summary?.total_consumption ? parseFloat(parseFloat(summary.total_consumption).toFixed(2)) : 0,\r\n total_payment: summary?.total_payment ? parseFloat(parseFloat(summary.total_payment).toFixed(2)) : 0,\r\n id_bills_array: summary?.id_bills_array ? summary?.id_bills_array.map(s => ({ value: parseInt(s), selected: payload.selectAll })) : []\r\n }))\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => { dispatch(setInvoicesSummaryLoading(false)) })\r\n }\r\n}\r\n\r\nexport const loadMoreInvoicesAsync = (payload = null) => {\r\n return async (dispatch, getState) => {\r\n\r\n let emptyPaginationResult = getState().invoices.emptyPaginationResult;\r\n if (emptyPaginationResult) return;\r\n const moreInvoicesLoading = getState().invoices.moreInvoicesLoading;\r\n if (moreInvoicesLoading) return;\r\n dispatch(setMoreInvoicesLoading(true))\r\n let invoicesPeriods = getState().invoices.invoicesPeriods;\r\n\r\n const userId = getState().users.user.idUser;\r\n\r\n const servicesIds = getState().services.activeServicesInvoices\r\n .map(s => s.idService);\r\n\r\n const loadInvoices = () => {\r\n const metadata = {\r\n id_user: userId,\r\n id_services: servicesIds,\r\n sortField: payload?.sortField ? payload.sortField : 'id_service',\r\n sortOrder: payload?.sortOrder ? payload.sortOrder : 0,\r\n limit: payload.limit ? payload.limit : 20,\r\n offset: payload.offset,\r\n searchText: payload?.searchText ? payload.searchText : '',\r\n pendingInvoices: payload.pendingInvoices,\r\n month: payload?.month ? payload.month : null,\r\n year: payload?.year ? payload.year : null,\r\n };\r\n SETData('bills/detail', 'POST', metadata)\r\n .then(response => {\r\n if (response !== null) {\r\n\r\n if (response.length === 0) {\r\n dispatch(setEmptyPaginationResult(true))\r\n return;\r\n };\r\n\r\n let periodId = response[0].id_period;\r\n\r\n let index = invoicesPeriods.findIndex(i => i.id_period === periodId);\r\n invoicesPeriods[index].invoices = response;\r\n setInvoicesPeriods([...invoicesPeriods]);\r\n const invoices = response;\r\n const clonededInvoices = JSON.parse(JSON.stringify(invoices));\r\n dispatch(setMoreInvoices(clonededInvoices.map(i => ({ ...i, loadingDelay: true }))));\r\n dispatch(setDelayedInvoicesLoading(true))\r\n SETData('bills/detail/delay', 'POST', metadata)\r\n .then(response => {\r\n if (response === null) throw new Error(\"Error getting delay detail invoices\");\r\n if (response.length === 0) {\r\n dispatch(setEmptyPaginationResult(true));\r\n return;\r\n }\r\n if (invoices.length !== response.length) throw new Error(\"Delayed and not delayed detail are not the same.\");\r\n dispatch(updateInvoices(response));\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n })\r\n .finally(() => { dispatch(setDelayedInvoicesLoading(false)) })\r\n } else {\r\n dispatch(setInvoices([]));\r\n }\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setMoreInvoicesLoading(false)));\r\n };\r\n loadInvoices()\r\n };\r\n};\r\n\r\nexport const loadInvoicesPeriodsAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const userId = getState().users.user.idUser;\r\n\r\n const servicesIds = getState().services.activeServicesInvoices\r\n .map(s => s.idService);\r\n\r\n const metadata = {\r\n id_user: userId,\r\n id_services: servicesIds\r\n };\r\n\r\n SETData('bills/periods/total', 'POST', metadata)\r\n .then(response => {\r\n if (response !== null) {\r\n dispatch(setInvoicesPeriods(response));\r\n }\r\n })\r\n .catch(response => console.error(response))\r\n\r\n };\r\n};\r\n\r\nexport const loadBankDataAsync = () => {\r\n return (dispatch) => {\r\n\r\n GETData(\"payvalida/banks\", \"GET\")\r\n .then(response => {\r\n if (response !== null) {\r\n dispatch(setBanks(response.DATA));\r\n }\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n};\r\n\r\nexport const loadInvoiceDetailsContent = () => {\r\n return (dispatch, getState) => {\r\n\r\n let invoicesPeriods = getState().invoices.invoicesPeriods;\r\n\r\n const date = getState().invoices.invoicesDate;\r\n const invoicesContent = getState().invoices.invoicesContent;\r\n const invoiceDetails = getState().invoices.invoiceDetails;\r\n const activeServicesInvoices = getState().services.activeServicesInvoices.sort((a, b) => a.idService - b.idService);\r\n\r\n let periodInfo = invoicesPeriods.find(i => i.id_period === invoiceDetails.id_period);\r\n let content = periodInfo.invoicesContent?.find(s => s.id_bill === invoiceDetails.id_bill);\r\n\r\n const periodDate = new Date(periodInfo.billing_date);\r\n\r\n if (content !== undefined) {\r\n\r\n dispatch(setShowInvoiceDetailsContent(content));\r\n dispatch(setInvoicesContentLoading(false));\r\n\r\n } else {\r\n\r\n dispatch(setInvoicesContentLoading(true));\r\n\r\n const userId = getState().users.user.idUser;\r\n\r\n const servicesIdsLoaded = periodInfo.invoicesContent?.map(i => i.id_service) || [];\r\n\r\n const servicesIds = activeServicesInvoices\r\n .filter(i => !servicesIdsLoaded.includes(i.idService))\r\n .map(s => s.idService).slice(0, 6);\r\n\r\n servicesIds.push(invoiceDetails.id_service)\r\n\r\n const metadata = {\r\n id_user: userId,\r\n id_services: [...new Set(servicesIds)],\r\n month: periodDate.getMonth() + 1,\r\n year: periodDate.getFullYear()\r\n };\r\n\r\n SETData('bills/content', 'POST', metadata)\r\n .then(response => {\r\n if (response !== null) {\r\n\r\n if (periodDate.getMonth() !== date.getMonth() && periodDate.getFullYear() !== date.getFullYear()) {\r\n dispatch(setInvoicesContent(response));\r\n } else {\r\n dispatch(setInvoicesContent([...invoicesContent, ...response]));\r\n }\r\n\r\n content = response.find(s => s.id_service === invoiceDetails.id_service);\r\n dispatch(setShowInvoiceDetailsContent(content ? content : null));\r\n content && dispatch(setInvoicesContentLoading(false));\r\n\r\n let index = invoicesPeriods.findIndex(i => i.id_period === invoiceDetails.id_period);\r\n invoicesPeriods[index].invoicesContent = [...invoicesPeriods[index].invoicesContent || [], ...response];\r\n setInvoicesPeriods([...invoicesPeriods]);\r\n\r\n }\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n\r\n }\r\n}\r\n\r\nexport const downloadInvoiceAsync = (payload) => {\r\n return async () => {\r\n\r\n const url = await GETS3PublicUrl(payload);\r\n\r\n await fetch(url)\r\n .then(response => response.blob())\r\n .then(blob => {\r\n\r\n const n = payload.lastIndexOf('/');\r\n const filename = payload.substring(n + 1);\r\n\r\n const link = document.createElement(\"a\");\r\n\r\n link.href = URL.createObjectURL(blob);\r\n link.download = filename;\r\n link.click();\r\n })\r\n .catch(console.error);\r\n }\r\n}\r\n\r\n","import * as energy from '../creators/Energy';\r\n\r\nimport * as servicesActions from './Services';\r\nimport * as invoicesActions from './Invoices';\r\nimport * as accountsActions from './Accounts';\r\n\r\nimport { getUnixTime } from 'date-fns';\r\n\r\nimport { SETData, GETS3PublicUrl } from '../../services/WebServices';\r\n\r\nimport { Alert } from 'rsuite';\r\n\r\nexport const setGraphData = payload => {\r\n return {\r\n type: energy.SET_GRAPH_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setGraphloading= payload => {\r\n return {\r\n type: energy.SET_GRAPH_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setIntervalGraph = payload => {\r\n return {\r\n type: energy.SET_INTERVAL_GRAPH,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setGraphDates = payload => {\r\n return {\r\n type: energy.SET_GRAPH_DATES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setGraphDatesScroll = payload => {\r\n return {\r\n type: energy.SET_GRAPH_DATES_SCROLL,\r\n payload\r\n }\r\n}\r\n\r\nexport const setGraphOptions = payload => {\r\n return {\r\n type: energy.SET_GRAPH_OPTIONS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setGraphActive = payload => {\r\n return {\r\n type: energy.SET_GRAPH_ACTIVE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setIndicators = payload => {\r\n return {\r\n type: energy.SET_INDICATORS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoiceInfo = payload => {\r\n return {\r\n type: energy.SET_INVOICE_INFO,\r\n payload\r\n }\r\n}\r\n\r\nexport const setIndicatorsloading= payload => {\r\n return {\r\n type: energy.SET_INDICATORS_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setEnableScrollData= payload => {\r\n return {\r\n type: energy.SET_ENABLE_SCROLL_DATA,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowReportModal= payload => {\r\n return {\r\n type: energy.SET_SHOW_REPORT_MODAL,\r\n payload\r\n }\r\n}\r\n\r\nexport const setReportloading= payload => {\r\n return {\r\n type: energy.SET_REPORT_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setScrollActive= payload => {\r\n return {\r\n type: energy.SET_SCROLL_ACTIVE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setTariff= payload => {\r\n return {\r\n type: energy.SET_TARIFF,\r\n payload\r\n }\r\n}\r\n\r\nexport const setBannersData = payload => {\r\n return {\r\n type: energy.SET_BANNERS_DATA,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowDetailService = payload => {\r\n return {\r\n type: energy.SET_SHOW_DETAIL_SERVICE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setDetailDataGraph = payload => {\r\n return {\r\n type: energy.SET_DETAIL_DATA_GRAPH,\r\n payload\r\n }\r\n}\r\n\r\nexport const setPrevStateBar = payload => {\r\n return {\r\n type: energy.SET_PREV_STATE_BAR,\r\n payload\r\n }\r\n}\r\n\r\nexport const setEnableAverageLine = payload => {\r\n return {\r\n type: energy.SET_ENABLE_AVERAGE_LINE,\r\n payload\r\n }\r\n}\r\n\r\nexport const loadGraphAsync = (loadByScroll = false, requestLeft = true) => {\r\n return async (dispatch, getState) => {\r\n\r\n if(!loadByScroll) dispatch(setGraphloading(true));\r\n\r\n dispatch(setEnableScrollData(false));\r\n\r\n let interval;\r\n let metadata;\r\n let data = []\r\n\r\n const graphs = getState().energy.graphs[0]\r\n let from = getUnixTime(loadByScroll ? getState().energy.graphDateFromScroll : getState().energy.graphDateFrom);\r\n let to = getUnixTime(loadByScroll ? getState().energy.graphDateToScroll : getState().energy.graphDateTo);\r\n const activeServicesEnergy = getState().services.activeServicesEnergy;\r\n const activeGraphs = getState().energy.activeGraphs;\r\n\r\n switch (getState().energy.intervalGraph) {\r\n case 0:\r\n interval = 'HOURS';\r\n if(loadByScroll) {\r\n if (requestLeft) {\r\n to = from;\r\n from -= 86400 * 1;\r\n }\r\n else{\r\n from = to;\r\n to += 86400 * 1;\r\n }\r\n }\r\n else{\r\n from -= 86400 * 1;\r\n }\r\n dispatch(setGraphDatesScroll({graphDateFrom: new Date(from * 1000), graphDateTo: new Date(to * 1000)}));\r\n break;\r\n case 1:\r\n interval = 'DAYS';\r\n if(loadByScroll) {\r\n if (requestLeft) {\r\n to = from;\r\n from -= 604800 * 1;\r\n }\r\n else{\r\n from = to;\r\n to += 604800 * 1;\r\n }\r\n }\r\n else{\r\n from -= 604800 * 1;\r\n }\r\n dispatch(setGraphDatesScroll({graphDateFrom: new Date(from * 1000), graphDateTo: new Date(to * 1000)}));\r\n break;\r\n case 2:\r\n interval = 'DAYS';\r\n if(loadByScroll) {\r\n if (requestLeft) {\r\n to = from;\r\n from -= 2592000 * 1;\r\n }\r\n else{\r\n from = to;\r\n to += 2592000 * 1;\r\n }\r\n }\r\n else{\r\n from -= 2592000 * 1;\r\n }\r\n dispatch(setGraphDatesScroll({graphDateFrom: new Date(from * 1000), graphDateTo: new Date(to * 1000)}));\r\n break;\r\n case 3:\r\n interval = 'MONTH';\r\n if(loadByScroll) {\r\n if (requestLeft) {\r\n to = from;\r\n from -= 31536000 * 1;\r\n }\r\n else{\r\n from = to;\r\n to += 31536000 * 1;\r\n }\r\n }\r\n else{\r\n from -= 31536000 * 1;\r\n }\r\n dispatch(setGraphDatesScroll({graphDateFrom: new Date(from * 1000), graphDateTo: new Date(to * 1000)}));\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const services = activeServicesEnergy \r\n .map(s => {\r\n return {\r\n id_service: s.idService,\r\n name: s.name\r\n }\r\n });\r\n\r\n const language = getState().shared.language;\r\n\r\n let graphsOptions = graphs.options.filter(x => activeGraphs.includes(x.value)).map((graph) => { \r\n return {\r\n 'graph_type': `${graph.value}_${(graph.value === \"PREDICTION_ACTIVE_ENERGY\" && getState().energy.intervalGraph === 2) || graph.value === \"REACTIVE_CAPACITIVE_EXCESS_ENERGY\" ? \"MONTH\" : interval}`,\r\n 'label': language[`energy_graph_label_${graph.value.toLowerCase()}`],\r\n 'unit': language[`energy_graph_unit_${graph.value.toLowerCase()}`],\r\n 'value': graph.value,\r\n 'group': graph.graph_type\r\n }\r\n });\r\n\r\n if (graphsOptions.length){\r\n\r\n metadata = {\r\n services,\r\n graphs_options: graphsOptions,\r\n }; \r\n\r\n const metadataTariff = {\r\n id_services: services.map(s => s.id_service), \r\n startdate: from,\r\n enddate: to\r\n }; \r\n \r\n await SETData('tariffs/services', 'POST', metadataTariff)\r\n .then(response => { \r\n if (response !== null) {\r\n dispatch(setTariff(response));\r\n } else {\r\n dispatch(setTariff([]));\r\n }\r\n })\r\n .catch(response => console.error(response))\r\n\r\n await SETData(`energy/data/${from}/${to}/?version=2`, 'POST', metadata)\r\n .then(energyResponse => {\r\n\r\n if (energyResponse !== null) { \r\n if (loadByScroll) {\r\n const currentGraphData = getState().energy.graphData;\r\n \r\n function mergeAndRemoveDuplicates(arr1, arr2, uniqueKey) { \r\n const uniqueKeysSet = new Set(arr1.map(item => item[uniqueKey])); \r\n \r\n const filteredArr2 = arr2.filter(item => !uniqueKeysSet.has(item[uniqueKey])); \r\n \r\n const result = [...arr1, ...filteredArr2];\r\n \r\n return result;\r\n };\r\n \r\n data = currentGraphData.map(value => {\r\n const newResponseData = energyResponse.find(x => x.id === value.id)?.data || [];\r\n const existingData = value.data; \r\n return {\r\n id: value.id,\r\n data: requestLeft ? mergeAndRemoveDuplicates(newResponseData, existingData, 'x_sec') : mergeAndRemoveDuplicates(existingData, newResponseData, 'x_sec'),\r\n value: value.value\r\n };\r\n }); \r\n } \r\n else { \r\n data = [...data, ...energyResponse]\r\n }\r\n dispatch(setEnableScrollData(true));\r\n }\r\n\r\n })\r\n .catch(response => console.error(response));\r\n\r\n } \r\n dispatch(setGraphData(data));\r\n dispatch(setGraphloading(false));\r\n\r\n };\r\n};\r\n\r\nexport const loadGraphOptionsAsync = (byAlerts = false) => {\r\n return (dispatch, getState) => {\r\n\r\n let groups = [];\r\n\r\n const language = getState().shared.language;\r\n\r\n getState().services.activeServicesEnergy.some(s => s.type.name === \"energy\" || s.type.name === \"plus\") && groups.push(\"CONSUMPTION\");\r\n getState().services.activeServicesEnergy.some(s => s.type.name === \"generation\") && groups.push(...[\"GENERATION\", \"WEATHER\"]);\r\n\r\n if (byAlerts) {\r\n groups = [\"CONSUMPTION\",\"GENERATION\"]\r\n }\r\n\r\n const metadata = {\r\n groups\r\n };\r\n\r\n SETData(`energy/graphs/group/${language.language_locale}`, \"POST\", metadata)\r\n .then((response) => {\r\n if (response !== null) {\r\n dispatch(setGraphActive([response.options[0].value]))\r\n /* To translate the key 'group' for the search input in GraphTypePicker ⬇️ */\r\n const translatedGraphs = response.graphsGroups.map((graph) => {\r\n const translationKey = `energy_graph_group_${graph.group.toLowerCase()}`\r\n const translatedGroup = language[translationKey]\r\n\r\n return {\r\n ...graph,\r\n translatedGroup: translatedGroup,\r\n }\r\n })\r\n /* Adding the new array with the translation */\r\n const graphResponse = response\r\n graphResponse[\"graphsGroups\"] = translatedGraphs\r\n\r\n dispatch(setGraphOptions(graphResponse))\r\n }\r\n })\r\n .catch((response) => console.error(response))\r\n\r\n }\r\n}\r\n\r\nexport const loadBannersAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const user = getState().users.user;\r\n const account = getState().accounts.account;\r\n\r\n const metadata = {\r\n id_account: account.idAccount,\r\n id_user: user.idUser,\r\n service: account.typeservices,\r\n job_area: user.job?.name,\r\n };\r\n\r\n SETData('banners', \"POST\", metadata)\r\n .then(response => {\r\n if (response !== null)\r\n dispatch(setBannersData(response));\r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}\r\n\r\nexport const loadIndicatorsAsync = () => {\r\n return async (dispatch, getState) => {\r\n\r\n dispatch(setIndicatorsloading(true));\r\n\r\n let indicatorsData = [];\r\n\r\n const userId = getState().users.user.idUser;\r\n const language = getState().shared.language.language_locale;\r\n const activeServicesEnergy = getState().services.activeServicesEnergy;\r\n\r\n let servicesIds = activeServicesEnergy\r\n .filter(s => s.type.name !== \"generation\")\r\n .map(s => s.idService);\r\n\r\n const totalServicesIds = getState().services.totalServices\r\n .map(s => s.idService);\r\n\r\n let metadata = {\r\n id_services: servicesIds,\r\n type: \"WEB\"\r\n };\r\n\r\n const metadataInvoice = {\r\n id_user: userId,\r\n id_services: totalServicesIds\r\n };\r\n\r\n let promises = [];\r\n\r\n promises.push(Promise.resolve(SETData(`energy/indicators/${language}`, 'POST', metadata)));\r\n promises.push(Promise.resolve(SETData('bills/latest/summary', 'POST', metadataInvoice)));\r\n\r\n await Promise.all(promises).then(([indicatorsResponse, invoicesResponse]) => {\r\n\r\n if (indicatorsResponse !== null) {\r\n indicatorsData = [...indicatorsData, ...indicatorsResponse]\r\n }\r\n\r\n if (invoicesResponse.length > 0) {\r\n dispatch(setInvoiceInfo(invoicesResponse[0]));\r\n dispatch(invoicesActions.setInvoicesDate(new Date(invoicesResponse[0].year, invoicesResponse[0].month - 1, 1)));\r\n }\r\n\r\n })\r\n .catch(response => console.error(response));\r\n\r\n servicesIds = activeServicesEnergy\r\n .filter(s => s.type.name === \"generation\")\r\n .map(s => s.idService);\r\n\r\n if (servicesIds.length) {\r\n\r\n metadata = {\r\n id_services: servicesIds,\r\n type: \"WEB\"\r\n };\r\n\r\n await SETData(`generation/indicators/${language}`, 'POST', metadata, process.env.REACT_APP_GENERATION_API_URL)\r\n .then(response => {\r\n\r\n if (response !== null) {\r\n indicatorsData = [...indicatorsData, ...response]\r\n }\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n\r\n dispatch(setIndicators(indicatorsData));\r\n dispatch(setIndicatorsloading(false));\r\n\r\n };\r\n};\r\n\r\nexport const createReportAsync = (payload) => {\r\n return async (dispatch, getState) => {\r\n\r\n dispatch(setReportloading(true));\r\n\r\n let interval;\r\n let metadata; \r\n\r\n const graphs = getState().energy.graphs[0];\r\n const userId = getState().users.user.idUser; \r\n const language = getState().shared.language; \r\n const from = getUnixTime(payload.startTime);\r\n const to = getUnixTime(payload.endTime);\r\n\r\n const activeServicesEnergy = getState().services.activeServicesEnergy;\r\n const activeGraphs = getState().energy.activeGraphs;\r\n\r\n switch (getState().energy.intervalGraph) {\r\n case 0:\r\n interval = 'HOURS';\r\n break;\r\n case 1:\r\n interval = 'DAYS';\r\n break;\r\n case 2:\r\n interval = 'DAYS';\r\n break;\r\n case 3:\r\n interval = 'MONTH';\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const services = activeServicesEnergy \r\n .map(s => {\r\n return {\r\n id_service: s.idService,\r\n name: s.name\r\n }\r\n });\r\n\r\n let graphsOptions = graphs.options.filter(x => activeGraphs.includes(x.value)).map((graph) => { \r\n return {\r\n 'graph_type': `${graph.value}_${interval}`,\r\n 'label': graph.label,\r\n 'unit': graph.unit,\r\n 'type': graph.type,\r\n 'group': graph.graph_type,\r\n 'value': graph.value \r\n }\r\n }); \r\n\r\n if (graphsOptions.length){\r\n\r\n metadata = {\r\n id_user: userId,\r\n report_name: payload.report_name,\r\n services,\r\n graphs_options: graphsOptions,\r\n format_type: payload.format_type,\r\n graph_type: interval \r\n }; \r\n\r\n await SETData(`energy/reports/${from}/${to}?version=2`, \"POST\", metadata)\r\n .then(async response => {\r\n if (response !== null) {\r\n if(response.currentstatus === 1) { \r\n\r\n const url = await GETS3PublicUrl(`reports/${userId}/${response.filename}`);\r\n \r\n const anchor = document.createElement(\"a\");\r\n anchor.href= url;\r\n anchor.download= \"name\";\r\n document.body.appendChild(anchor);\r\n anchor.click();\r\n document.body.removeChild(anchor);\r\n \r\n dispatch(setShowReportModal(false)); \r\n } \r\n else {\r\n Alert.error(language.alert_download_report_error)\r\n } \r\n }\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setReportloading(false)));\r\n }\r\n }\r\n}\r\n\r\nexport const loadDetailService = (payload) => {\r\n return (dispatch, getState) => {\r\n \r\n const services = getState().services.totalServices;\r\n const accounts = getState().accounts.totalAccounts\r\n\r\n let service = services.find(s => s.idService === parseInt(payload.idService)); \r\n \r\n if(service) {\r\n dispatch(accountsActions.setAccount(accounts.find(s => s.idAccount === parseInt(service?.idAccount))));\r\n dispatch(servicesActions.setActiveServicesEnergy([service])); \r\n if(service?.type?.typeService === 2) {\r\n dispatch(servicesActions.setActiveServicesPlus([service]));\r\n }else{\r\n dispatch(servicesActions.setActiveServicesPlus([]));\r\n } \r\n }\r\n\r\n }\r\n}","import { useState, useEffect } from \"react\";\r\n\r\nexport const useWindowSize = () => {\r\n\r\n const [windowSize, setWindowSize] = useState({\r\n width: undefined,\r\n height: undefined,\r\n });\r\n\r\n useEffect(() => {\r\n\r\n function handleResize() {\r\n\r\n setWindowSize({\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n });\r\n }\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n handleResize();\r\n\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n\r\n }, []);\r\n\r\n return windowSize;\r\n\r\n}","import React from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\nimport SwiperCore, { Autoplay, Navigation } from \"swiper\";\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { fal } from '@fortawesome/pro-light-svg-icons';\r\n\r\nimport empty_widgets_slider from \"../../../imgs/empty-widgets-slider.svg\";\r\n\r\nimport { useWindowSize } from '../../shared/utilities/useWindowSize';\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nSwiperCore.use([Autoplay, Navigation]);\r\n\r\n/* It organize the banners by placing 1 indicators - 1 banner image */\r\n/* When one of them is finished, it starts repeating the remaining element. */\r\nconst orderData = (arr1, arr2) => {\r\n if (arr1 === undefined || arr1 === null) {\r\n return arr2\r\n }\r\n\r\n if (arr2 === undefined || arr2 === null) {\r\n return arr1\r\n }\r\n\r\n const result = []\r\n let i = 0\r\n let j = 0\r\n\r\n while (i < arr1.length && j < arr2.length) {\r\n result.push(arr1[i++])\r\n result.push(arr2[j++])\r\n }\r\n\r\n while (i < arr1.length) {\r\n result.push(arr1[i++])\r\n }\r\n\r\n while (j < arr2.length) {\r\n result.push(arr2[j++])\r\n } return result\r\n}\r\n\r\nconst Cards = (props) => {\r\n\r\n const { bannersData, theme } = props\r\n\r\n let activeServicesEnergy = props.activeServicesEnergy;\r\n\r\n const size = useWindowSize();\r\n\r\n const RenderWidgets = ({ item }) => {\r\n\r\n let value_color;\r\n let icon_color;\r\n\r\n switch (item.type) {\r\n case 0:\r\n value_color = \"txt-blue-green-gradient\";\r\n icon_color = \"content-color-green\";\r\n break;\r\n case 2:\r\n value_color = \"txt-blue-green-gradient\";\r\n icon_color = \"content-color-green\";\r\n break;\r\n default:\r\n value_color = \"txt-red-orange-gradient\";\r\n icon_color = \"txt-orange-500\";\r\n break;\r\n }\r\n\r\n return (\r\n
\r\n {!item.image_url ?\r\n
\r\n
{`${props.language[item.title]}`.replace('#VALUE', item.value_title ?? '')}
\r\n
\r\n {item.icon !== null && }\r\n
{item.value}
\r\n
\r\n
\r\n {item.icon_text !== null && }\r\n
{`${props.language[item.text]}`.replace('#VALUE', item.value_text ?? '')}
\r\n
\r\n
:\r\n {track('Widget opened', {Widget_ID: `${item.amplitude_event}`})}}>\r\n {'neu-img'}\r\n \r\n }\r\n
\r\n );\r\n };\r\n\r\n const RenderWidgetsEmpty = () => {\r\n return (\r\n
\r\n \"empty_widget_energy\"\r\n
{props.language.energy_widgets_empty_data}
\r\n
\r\n )\r\n };\r\n\r\n return (\r\n
\r\n track('Widget clicked', {Widget_Back: 'activate'})}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n {props.indicators.length ?\r\n = 1400 ? 3 : 2}\r\n navigation={{ nextEl: \"#next-slide\", prevEl: \"#prev-slide\" }}>\r\n {orderData(props.indicators, activeServicesEnergy.some(s => s.type.name === \"energy\") ? bannersData : []).map((card, i) =>\r\n \r\n \r\n )}\r\n :\r\n = 1400 ? 3 : 2}\r\n navigation={{ nextEl: \"#next-slide\", prevEl: \"#prev-slide\" }}>\r\n {[0, 1, 2].map((i) =>\r\n \r\n \r\n )}\r\n \r\n }\r\n
\r\n track('Widget clicked', {Widget_Forward: 'activate'})}>\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n indicators: state.energy.indicators,\r\n language: state.shared.language,\r\n bannersData: state.energy.bannersData,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n theme: state.theme.theme,\r\n});\r\n\r\nexport default connect(mapStateToProps)(Cards);\r\n\r\n","import { themes } from '../../utils/enums';\r\n\r\nimport * as theme from '../creators/Theme';\r\n\r\nexport const setTheme = (payload) => {\r\n if (Object.values(themes).includes(payload)){\r\n localStorage.setItem('theme', payload);\r\n return {\r\n type: theme.SET_THEME,\r\n payload\r\n }\r\n }\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nimport Popover from \"@idui/react-popover\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst SubMenuGraphs = ({\r\n graphData,\r\n setControlRemoteClick,\r\n activeGraphs,\r\n setGraphActive,\r\n selectedGraphs,\r\n showSubmenuGraphs,\r\n setShowSubmenuGraphs,\r\n isDisabled,\r\n language,\r\n theme,\r\n}) => {\r\n const [show, setShow] = useState(showSubmenuGraphs === graphData[0].group);\r\n // These graphs won't be activated until the user press the button\r\n const [graphActiveTemporal, setGraphActiveTemporal] = useState([\r\n ...selectedGraphs,\r\n ]);\r\n\r\n useEffect(() => {\r\n setGraphActiveTemporal(selectedGraphs);\r\n }, [selectedGraphs]);\r\n\r\n const areArrayEquals = (a, b) => {\r\n return (\r\n Array.isArray(a) &&\r\n Array.isArray(b) &&\r\n a.length === b.length &&\r\n a.every((val, index) => val === b[index])\r\n );\r\n };\r\n\r\n return (\r\n {\r\n if (!isDisabled) {\r\n setShow(state);\r\n setControlRemoteClick(state);\r\n setShowSubmenuGraphs(\"\");\r\n }\r\n }}\r\n animation={{\r\n animate: { opacity: 1 },\r\n exit: { opacity: 0, transition: { duration: 0.1 } },\r\n initial: { opacity: 0 },\r\n }}\r\n content={\r\n
\r\n
\r\n
\r\n {graphData.map((_graph) => {\r\n const isSelected =\r\n graphActiveTemporal.findIndex((i) => i === _graph.value) >= 0;\r\n\r\n return (\r\n {\r\n if (isSelected && graphActiveTemporal.length > 0) {\r\n setGraphActiveTemporal([\r\n ...graphActiveTemporal.filter(\r\n (g) => g !== _graph.value,\r\n ),\r\n ]);\r\n } else {\r\n setGraphActiveTemporal([\r\n ...graphActiveTemporal,\r\n _graph.value,\r\n ]);\r\n track(\"Variable selected\", {\r\n Variable_ID: _graph.value,\r\n });\r\n }\r\n }}\r\n >\r\n \r\n {\r\n language[\r\n `energy_graph_label_${_graph.value.toLowerCase()}`\r\n ]\r\n }{\" \"}\r\n {_graph.unit && `(${_graph.unit})`}\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n \r\n \r\n {\r\n if (!areArrayEquals(activeGraphs, graphActiveTemporal)) {\r\n setGraphActive(graphActiveTemporal);\r\n }\r\n setShow(false);\r\n setControlRemoteClick(false);\r\n setShowSubmenuGraphs(\"\");\r\n }}\r\n >\r\n Hecho\r\n \r\n \r\n \r\n }\r\n >\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SubMenuGraphs;\r\n","export const setDisbaledGraphsValues = (values, graphs, graphsRelations) => {\r\n\r\n let graphsDisabled = [];\r\n let _graphsRelations = [];\r\n\r\n let _graphs = graphs\r\n .sort((a, b) => a?.id_graph - b?.id_graph);\r\n\r\n values.forEach(value => {\r\n\r\n let graph = _graphs\r\n .filter(graph => graph.value === value);\r\n\r\n let array = graphsRelations\r\n .filter(relation => relation?.id_graph === graph[0]?.id_graph)\r\n .sort((a, b) => a?.id_graph_relation - b?.id_graph_relation)\r\n .map(relation => relation.available);\r\n\r\n _graphsRelations.push(array);\r\n\r\n });\r\n\r\n _graphs.forEach((graph, i) => { if (!_graphsRelations.every((_value, j, array) => array[j][i])) { graphsDisabled.push(graph.value) } });\r\n\r\n return (graphsDisabled);\r\n\r\n}\r\n\r\nexport const limitWordLenght = (string, limit) => {\r\n\r\n if (string.length > limit) {\r\n return string.slice(0, limit) + \"...\";\r\n } else {\r\n return string;\r\n }\r\n}\r\n\r\nexport const setGraphLabel = (name, withLimit = false) => {\r\n\r\n const lastDashIndex = name.lastIndexOf(\" - \");\r\n\r\n if (lastDashIndex !== -1) {\r\n let graphLabel = name.slice(lastDashIndex + 3);\r\n let serviceName = name.slice(0, lastDashIndex);\r\n\r\n return withLimit ? `${limitWordLenght(graphLabel, 20)} - ${limitWordLenght(serviceName, 40)}` : `${graphLabel} - ${serviceName}`\r\n }\r\n else\r\n return name\r\n\r\n}\r\n","import React from \"react\";\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nconst TextTooltip = ({ text, content, bgColor = \"gray-800\" }) => {\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default TextTooltip;\r\n","import React, { Fragment } from \"react\";\r\n\r\nimport TextTooltip from \"../../genius/TextTooltip\";\r\n\r\nimport { connect } from \"react-redux\"\r\n\r\n\r\nconst ButtonCircle = ({\r\n focus,\r\n icon,\r\n onClick,\r\n background = \"surface-bg-on-surface\",\r\n borderColor = \"gray-800\",\r\n color = \"gray-700\",\r\n borderWidth = 1,\r\n size = 32,\r\n sizeIcon = 12,\r\n additionalStyle = \"\",\r\n showPulse = false,\r\n disabled = false,\r\n language,\r\n theme,\r\n}) => {\r\n\r\n return (\r\n \r\n {disabled ? (\r\n \r\n \r\n {language.genius_tooltip_button_graphs}\r\n

\r\n \r\n }\r\n text={\r\n \r\n \r\n \r\n }\r\n />\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n theme: state.theme.theme,\r\n})\r\n\r\nexport default connect(mapStateToProps)(ButtonCircle);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as energyActions from \"../../../store/actions/Energy\";\r\nimport * as sharedActions from \"../../../store/actions/Shared\";\r\nimport * as themeActions from \"../../../store/actions/Theme\";\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nimport SubMenuGraphs from \"./SubMenuGraphs\";\r\nimport { setDisbaledGraphsValues } from \"../../../services/GraphsHandler\";\r\nimport ButtonCircle from \"../../shared/utilities/ButtonCircle\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nimport { Whisper, Tooltip } from \"rsuite\";\r\n\r\nconst GraphTypePicker = (props) => {\r\n let _graphs = props.graphs;\r\n let graphsRelations = props.graphsRelations;\r\n let activeGraphs = props.activeGraphs;\r\n let language = props.language;\r\n let graphTypePicker = props.graphTypePicker;\r\n let activeServicesEnergy = props.activeServicesEnergy;\r\n const { theme } = props;\r\n\r\n const setControlledOnboarding = props.setControlledOnboarding;\r\n\r\n const [search, setSearch] = useState(\"\");\r\n const [graphGroups, setGraphGroups] = useState(_graphs.graphsGroups);\r\n const [focus, setFocus] = useState(false);\r\n const [show, setShow] = useState(false);\r\n /* To control de submenu from outside, so we can open the submenu from a click on the label and not just in the (fa-circle-chevron-right) icon */\r\n const [showSubmenuGraphs, setShowSubmenuGraphs] = useState(\"\");\r\n const [controlRemoteClick, setControlRemoteClick] = useState(false);\r\n\r\n const [disbaledGraphs, setDisbaledGraphs] = useState([]);\r\n // These are the graphs that are selected but not necessarily activated\r\n // Graphs are activated when props.setGraphActive()\r\n const [selectedGraphs, setSelectedGraphs] = useState([]);\r\n\r\n useEffect(() => {\r\n setDisbaledGraphs(\r\n setDisbaledGraphsValues(activeGraphs, _graphs.options, graphsRelations),\r\n );\r\n }, [_graphs, graphsRelations, activeGraphs, setDisbaledGraphs]);\r\n\r\n useEffect(() => {\r\n setGraphGroups([\r\n ..._graphs.graphsGroups.filter((s) =>\r\n s.translatedGroup?.toLowerCase()?.includes(search.toLowerCase()),\r\n ),\r\n ]);\r\n }, [search, _graphs]);\r\n\r\n useEffect(() => {\r\n setSelectedGraphs([\r\n ..._graphs.options\r\n .filter((s) => activeGraphs.includes(s.value))\r\n .map((v) => v.value),\r\n ]);\r\n }, [_graphs, activeGraphs]);\r\n\r\n useEffect(() => {\r\n if (show && graphTypePicker) {\r\n setControlledOnboarding({ key: \"graph_type_picker\", value: true });\r\n } else {\r\n setControlledOnboarding({ key: \"graph_type_picker\", value: false });\r\n }\r\n }, [show, setControlledOnboarding, graphTypePicker]);\r\n\r\n useEffect(() => {\r\n setGraphGroups([\r\n ..._graphs.graphsGroups,\r\n {\r\n translatedGroup: language.energy_graph_type_average_line,\r\n group: \"AVERAGE\",\r\n graphData: [],\r\n },\r\n ]);\r\n }, [_graphs, language]);\r\n\r\n return (\r\n {\r\n props.setShowBlackScreen(state);\r\n setShow(state);\r\n setFocus(state);\r\n }}\r\n animation={{\r\n animate: { opacity: 1 },\r\n exit: { opacity: 0, transition: { duration: 0.1 } },\r\n initial: { opacity: 0 },\r\n }}\r\n content={\r\n
\r\n
\r\n
\r\n \r\n setSearch(target.value)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n {language.energy_graph_type_disclaimer}\r\n
\r\n {graphGroups.map((graphGroup, index) => {\r\n let isSelected;\r\n let isDisabled;\r\n let graphSelectedCount = 0;\r\n\r\n for (const _graphData of graphGroup.graphData) {\r\n if (activeGraphs.includes(_graphData.value)) {\r\n isSelected = true;\r\n graphSelectedCount++;\r\n } else if (\r\n disbaledGraphs.includes(_graphData.value) &&\r\n graphSelectedCount === 0\r\n ) {\r\n isDisabled = true;\r\n }\r\n }\r\n\r\n if (graphGroup?.group === \"AVERAGE\" && props.enableAverageLine) {\r\n isSelected = true;\r\n }\r\n\r\n if (\r\n graphGroup?.group === \"PREDICTION_ACTIVE_ENERGY\" &&\r\n (activeGraphs.length > 1 || activeServicesEnergy.length > 1)\r\n ) {\r\n isDisabled = true;\r\n }\r\n\r\n return (\r\n {\r\n if (graphGroup?.group === \"AVERAGE\") {\r\n props.setEnableAverageLine(!props.enableAverageLine);\r\n props.setShowBlackScreen(false);\r\n setShow(false);\r\n setFocus(false);\r\n }\r\n if (isDisabled) return;\r\n /* Single Graph */\r\n if (graphGroup.graphData.length === 1) {\r\n if (isSelected) {\r\n props.setGraphActive([\r\n ...activeGraphs.filter(\r\n (g) => g !== graphGroup.graphData[0].value,\r\n ),\r\n ]);\r\n } else {\r\n props.setGraphActive([\r\n ...activeGraphs,\r\n graphGroup.graphData[0].value,\r\n ]);\r\n track(\"Variable selected\", {\r\n Variable_ID: graphGroup.graphData[0].value,\r\n });\r\n }\r\n }\r\n }}\r\n >\r\n {isDisabled ? (\r\n {`${\r\n language[\r\n `energy_graph_group_${graphGroup.group?.toLowerCase()}`\r\n ]\r\n } ${language.tooltip_graph_energy_no_match} ${\r\n language[\r\n `energy_graph_label_${selectedGraphs[0]?.toLowerCase()}`\r\n ]\r\n } ${\r\n language.tooltip_graph_energy_no_match_reason\r\n }`}\r\n }\r\n >\r\n \r\n {\r\n language[\r\n `energy_graph_group_${graphGroup.group?.toLowerCase()}`\r\n ]\r\n }{\" \"}\r\n {graphGroup.graphData[0]?.unit !== \"\" &&\r\n ` (${graphGroup.graphData[0].unit})`}\r\n
\r\n \r\n ) : (\r\n {\r\n /* To open the submenu from here */\r\n setControlRemoteClick(true);\r\n setShowSubmenuGraphs(graphGroup.group);\r\n }}\r\n >\r\n {\r\n language[\r\n `energy_graph_group_${graphGroup.group.toLowerCase()}`\r\n ]\r\n }{\" \"}\r\n {graphGroup.graphData.length === 1 &&\r\n `(${graphGroup.graphData[0].unit})`}\r\n \r\n )}\r\n
\r\n {graphSelectedCount !== 0 &&\r\n graphGroup.graphData.length > 1 && (\r\n \r\n

{graphSelectedCount}

\r\n
\r\n )}\r\n {graphGroup.graphData.length > 1 ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n graphs: state.energy.graphs[0],\r\n graphsRelations: state.energy.graphsRelations,\r\n activeGraphs: state.energy.activeGraphs,\r\n language: state.shared.language,\r\n controlledTypePicker: state.shared.controlledOnboarding.graph_type_picker,\r\n graphTypePicker: state.shared.startOnboarding.graph_type_picker,\r\n enableAverageLine: state.energy.enableAverageLine,\r\n showPulseAnimation: state.shared.showPulseAnimation,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setGraphActive: (payload) => dispatch(energyActions.setGraphActive(payload)),\r\n setShowBlackScreen: (payload) =>\r\n dispatch(sharedActions.setShowBlackScreen(payload)),\r\n setControlledOnboarding: (payload) =>\r\n dispatch(sharedActions.setControlledOnboarding(payload)),\r\n setEnableAverageLine: (payload) =>\r\n dispatch(energyActions.setEnableAverageLine(payload)),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GraphTypePicker);\r\n","import React from \"react\";\r\nimport Popover from \"@idui/react-popover\";\r\n\r\nconst ExtraItemsPopover = ({\r\n theme,\r\n content,\r\n button,\r\n placement = \"bottomLeft\",\r\n withArrow = true,\r\n}) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n};\r\n\r\nexport default ExtraItemsPopover;\r\n","import React, { useState, useEffect } from \"react\"\r\nimport { connect } from \"react-redux\"\r\n\r\nimport * as energyActions from \"../../../store/actions/Energy\"\r\nimport * as sharedActions from \"../../../store/actions/Shared\"\r\n\r\nimport { track } from \"@amplitude/analytics-browser\"\r\n\r\nimport { Popover } from \"@idui/react-popover\"\r\nimport ExtraItemsPopover from \"../../genius/ExtraItemsPopover\"\r\n\r\nconst graphIntervalData = [\r\n {\r\n interval: 0,\r\n labelName: \"energy_period_picker_hour_to_hour\",\r\n eventProperty: \"Rank_Hourly\",\r\n labelDescription: \"energy_period_picker_hour_to_hour_description\",\r\n },\r\n {\r\n interval: 1,\r\n labelName: \"energy_period_picker_day_to_day\",\r\n eventProperty: \"Rank_Weekly\",\r\n labelDescription: \"energy_period_picker_day_to_day_description\",\r\n },\r\n {\r\n interval: 2,\r\n labelName: \"energy_period_picker_day_to_day_monthly\",\r\n eventProperty: \"Rank_Monthly\",\r\n labelDescription: \"energy_period_picker_day_to_day_monthly_description\",\r\n },\r\n {\r\n interval: 3,\r\n labelName: \"energy_period_picker_month_to_month\",\r\n eventProperty: \"Rank_Yearly\",\r\n labelDescription: \"energy_period_picker_month_to_month_description\",\r\n },\r\n]\r\n\r\nconst GraphPeriodPicker = (props) => {\r\n const language = props.language\r\n const setControlledOnboarding = props.setControlledOnboarding\r\n const setIntervalGraph = props.setIntervalGraph\r\n let graphPeriodPicker = props.graphPeriodPicker\r\n let activeGraphs = props.activeGraphs\r\n let theme = props.theme\r\n\r\n const changePeriod = (interval) => { \r\n if (props.intervalGraph !== interval) {\r\n setIntervalGraph(interval)\r\n }\r\n }\r\n\r\n const [focus, setFocus] = useState(false)\r\n const [show, setShow] = useState(false)\r\n\r\n const getIntervalLabel = graphIntervalData.filter((data) => data.interval === props.intervalGraph)[0]?.labelName\r\n\r\n useEffect(() => {\r\n if(show && graphPeriodPicker){\r\n setControlledOnboarding({key: 'graph_period_picker', value: true})\r\n }else{\r\n setControlledOnboarding({key: 'graph_period_picker', value: false})\r\n } \r\n }, [show, setControlledOnboarding, graphPeriodPicker]) \r\n\r\n return (\r\n {\r\n props.setShowBlackScreen(state)\r\n setShow(state)\r\n setFocus(state)\r\n props.onChange(state) \r\n }}\r\n animation={{\r\n animate: { opacity: 1 },\r\n exit: { opacity: 0, transition: { duration: 0.1 } },\r\n initial: { opacity: 0 },\r\n }}\r\n content={\r\n
\r\n {graphIntervalData.length ? (\r\n
\r\n {graphIntervalData.map((item) => {\r\n let isSelected\r\n isSelected = props.intervalGraph === item[\"interval\"]\r\n\r\n return (\r\n
{\r\n if(!activeGraphs.includes('REACTIVE_CAPACITIVE_EXCESS_ENERGY')){\r\n changePeriod(item[\"interval\"]) \r\n track('Rank selected', {Rank_ID: item['eventProperty'], Project_Type: props.activeServicesEnergy.map(function (service) { return service?.type?.name })})\r\n } \r\n }}>\r\n
\r\n \r\n
\r\n
\r\n

{language[item.labelDescription]}

\r\n
\r\n
\r\n
\r\n }\r\n button={\r\n
\r\n
{language[item.labelName]}
\r\n \r\n
\r\n }\r\n theme={theme}\r\n />\r\n
\r\n
\r\n )\r\n })}\r\n
\r\n ) : null}\r\n \r\n }>\r\n \r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n intervalGraph: state.energy.intervalGraph,\r\n language: state.shared.language,\r\n graphPeriodPicker: state.shared.startOnboarding.graph_period_picker,\r\n showPulseAnimation: state.shared.showPulseAnimation,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n activeGraphs: state.energy.activeGraphs,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setIntervalGraph: (payload) => dispatch(energyActions.setIntervalGraph(payload)),\r\n setShowBlackScreen: (payload) => dispatch(sharedActions.setShowBlackScreen(payload)),\r\n setControlledOnboarding: (payload) => dispatch(sharedActions.setControlledOnboarding(payload)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GraphPeriodPicker)\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport moment from \"moment-timezone\";\r\n\r\nimport CurrencyFormat from 'react-currency-format';\r\n\r\nconst formatDateLabel = (intervalGraph, domain, lang) => {\r\n let dateFormated;\r\n let intervalLeft;\r\n let intervalRight;\r\n moment.locale(lang);\r\n switch (intervalGraph) {\r\n case 0:\r\n dateFormated = moment\r\n .utc(domain?.x[1] * 1000)\r\n .tz(\"America/Bogota\")\r\n .format(\"DD MMMM YYYY\");\r\n break;\r\n case 1:\r\n case 2:\r\n intervalLeft = moment.utc((domain?.x[0] + 86400) * 1000).format(\"MMM DD\");\r\n intervalRight = moment.utc(domain?.x[1] * 1000).format(\"MMM DD\");\r\n dateFormated = `${intervalLeft} ${lang === 'es' ? 'a' : '-'} ${intervalRight}`;\r\n break;\r\n case 3:\r\n intervalLeft = moment.utc((domain?.x[0] + 2592000) * 1000).format(\"MMM YYYY\");\r\n intervalRight = moment.utc(domain?.x[1] * 1000).format(\"MMM YYYY\");\r\n dateFormated = `${intervalLeft} ${lang === 'es' ? 'a' : '-'} ${intervalRight}`;\r\n break;\r\n default:\r\n dateFormated = \"\";\r\n break;\r\n }\r\n return dateFormated;\r\n};\r\n\r\nconst GraphIndicators = (props) => {\r\n\r\n let data = props.data;\r\n let domain = props.domain;\r\n let activeGraphs = props.activeGraphs;\r\n let language = props.language;\r\n let theme = props.theme;\r\n\r\n const [indexes, setIndexes] = useState({ tot: 0, max: 0, avg: 0, min: 0, unit: \"\" });\r\n const [showIndexes, setShowIndexes] = useState(true);\r\n\r\n useEffect(() => {\r\n const handlerIndexes = () => {\r\n let tot;\r\n let min;\r\n let max;\r\n let avg;\r\n let unit;\r\n let array = [];\r\n\r\n if (data.length === 1 && data[0]?.data.length) {\r\n\r\n const keys = [];\r\n const uniqueArray = [];\r\n const dataFiltered = data.map((value) => value.data.filter((value) => value.y > 0 && value?.x_sec > domain?.x[0] && value?.x_sec <= domain?.x[1]));\r\n dataFiltered[0].forEach(item => {\r\n if (!keys.includes(item?.x_sec)) {\r\n uniqueArray.push(item);\r\n keys.push(item?.x_sec);\r\n }\r\n })\r\n\r\n array = uniqueArray.map((value) => value.y).reduce((a, b) => a.concat(b), []);\r\n\r\n unit = data[0].data[0].unit;\r\n\r\n if (array.length) {\r\n tot = array.reduce((prev, curr) => (curr += prev)).toFixed(2);\r\n min = Math.min(...array).toFixed(2);\r\n max = Math.max(...array).toFixed(2);\r\n avg = (tot / array.length).toFixed(2);\r\n\r\n setIndexes({ tot, max, avg, min, unit });\r\n\r\n setShowIndexes(true);\r\n\r\n return;\r\n }\r\n } else {\r\n setShowIndexes(false);\r\n }\r\n };\r\n\r\n handlerIndexes();\r\n }, [data, domain]);\r\n\r\n const capitalizedText = (text) => {\r\n let label = \"\";\r\n var phrase = text.toLowerCase().split(\" \");\r\n\r\n for (var i = 0; i < phrase.length; i++) {\r\n if (i !== 2) {\r\n phrase[i] = phrase[i].charAt(0).toUpperCase() + phrase[i].substring(1);\r\n }\r\n }\r\n\r\n label = phrase.join(\" \");\r\n\r\n return label;\r\n };\r\n\r\n return (\r\n showIndexes && (\r\n
\r\n
\r\n
\r\n \r\n
{capitalizedText(formatDateLabel(props.intervalGraph, props.domain, language.language_locale))}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{props.language.energy_graph_indicator_total} {language[`energy_graph_label_${activeGraphs[0]?.toLowerCase()}`]}

\r\n

\r\n {value} {indexes.unit}\r\n

} \r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{props.language.energy_graph_indicator_max} {language[`energy_graph_label_${activeGraphs[0]?.toLowerCase()}`]}

\r\n

\r\n {value} {indexes.unit}\r\n

} \r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{props.language.energy_graph_indicator_average} {language[`energy_graph_label_${activeGraphs[0]?.toLowerCase()}`]}

\r\n

\r\n {value} {indexes.unit}\r\n

} \r\n />\r\n
\r\n
\r\n
\r\n )\r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n graphData: state.energy.graphData,\r\n language: state.shared.language,\r\n activeGraphs: state.energy.activeGraphs,\r\n theme: state.theme.theme,\r\n});\r\n\r\nexport default connect(mapStateToProps)(GraphIndicators);\r\n","import React, { useState } from \"react\"\r\nimport { DateRange } from \"react-date-range\"\r\nimport { es, enUS, pt } from \"react-date-range/dist/locale\"\r\nimport \"react-date-range/dist/styles.css\" // main css file\r\nimport \"react-date-range/dist/theme/default.css\" // theme css file\r\n\r\nimport { Transition } from \"react-transition-group\"\r\n\r\nimport { startOfToday, startOfWeek, endOfWeek, isDate, isSameWeek } from \"date-fns\"\r\n\r\nimport { calendarIntervals, setCalendarDates, setCalendarDatesEnergy } from \"../../../services/CalendarHandler\"\r\nimport { Calendar } from \"react-calendar\"\r\n\r\nconst defaultRangeDate = [\r\n {\r\n id: 1,\r\n interval: 1,\r\n labelName: \"energy_graph_calendar_week_range\",\r\n },\r\n {\r\n id: 2,\r\n interval: 2,\r\n labelName: \"energy_graph_calendar_month_range\",\r\n },\r\n]\r\n\r\nconst CalendarRangePicker = (props) => {\r\n const [previewDates, setPreviewDates] = useState({ startDate: null, endDate: null })\r\n\r\n let show = props.show\r\n let setShow = props.setShow\r\n let interval = props.interval\r\n let setDates = props.setDates\r\n let setIntervalGraph = props.setIntervalGraph\r\n let dateRangeEnergy = props.dateRangeEnergy\r\n let language = props.language\r\n let theme = props.theme\r\n\r\n return (\r\n \r\n {(state) => (\r\n <>\r\n {interval < 2 ? (\r\n
\r\n {\r\n setDates(setCalendarDatesEnergy(date.selection, interval))\r\n }}\r\n showSelectionPreview={false}\r\n ranges={dateRangeEnergy}\r\n minDate={new Date(\"2019-07-01T19:21:00.000Z\")}\r\n maxDate={startOfToday()}\r\n showDateDisplay={false}\r\n showPreview={isDate(previewDates.startDate)}\r\n preview={{ startDate: previewDates.startDate, endDate: previewDates.endDate, color: theme === 'dark' ? \"#9ecc14\" : \"#7da60c\" }}\r\n onPreviewChange={(previewDate) => {\r\n if (previewDate === null) return\r\n if (interval === 0) {\r\n setPreviewDates({ startDate: previewDate, endDate: previewDate })\r\n }\r\n if (interval === 1) {\r\n const startDate = startOfWeek(previewDate, { weekStartsOn: 1 })\r\n const endDate = endOfWeek(previewDate, { weekStartsOn: 1 })\r\n const previewDateObject = { startDate, endDate }\r\n setPreviewDates(previewDateObject)\r\n }\r\n }}\r\n />\r\n {interval === 1 && (\r\n
\r\n

{language.energy_graph_calendar_fast_access}

\r\n
\r\n {defaultRangeDate.map((range) => {\r\n const isSelected = range.interval === 1 && isSameWeek(startOfToday(), dateRangeEnergy[0].startDate, { weekStartsOn: 1 })\r\n const lastDates = { startDate: startOfToday(), endDate: startOfToday() }\r\n\r\n return (\r\n {\r\n setIntervalGraph(range.interval)\r\n setDates(setCalendarDatesEnergy(lastDates, range.interval))\r\n }}>\r\n

{language[range.labelName]}

\r\n \r\n )\r\n })}\r\n
\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n
}\r\n prevLabel={
}\r\n onChange={(value) => {\r\n setDates(setCalendarDates(value, interval))\r\n }}\r\n />\r\n \r\n )}\r\n \r\n )}\r\n
\r\n )\r\n}\r\n\r\nexport default CalendarRangePicker\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as themeActions from \"../../../store/actions/Theme\";\r\n\r\n\r\nconst Input = ({ label, value = \"\", type, required, help = null, disabled = false, onChange, onPressEnter, focus = false, error, theme, placeholder = '' }) => {\r\n return (\r\n
\r\n {\r\n label && (\r\n
\r\n \r\n {\r\n help ? (\r\n

{ help }

\r\n ) : <>\r\n }\r\n
\r\n )\r\n }\r\n
\r\n onChange(e)} onClick={(e) => e.stopPropagation()} onKeyDown={({ keyCode }) => keyCode === 13 && onPressEnter && onPressEnter()} />\r\n
\r\n {error ?

{error}

: null}\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Input);\r\n","import React, { useState, Fragment, useEffect} from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as energyActions from \"../../../store/actions/Energy\";\r\n\r\nimport moment from \"moment\";\r\n\r\nimport { Transition } from 'react-transition-group';\r\n\r\nimport { Loader, Modal } from \"rsuite\";\r\n\r\nimport { Calendar as Datepicker } from 'react-calendar';\r\n\r\nimport Input from '../../shared/utilities/Input';\r\n\r\nimport { track } from \"@amplitude/analytics-browser\"\r\n\r\nconst showError = (payloadExport, setFocus, setError, language) => {\r\n\r\n if (payloadExport.report_name === null || payloadExport.report_name === \"\") { \r\n setFocus(1);\r\n setError(language.alert_filename_report_error);\r\n return;\r\n }\r\n\r\n return setFocus(0);\r\n}\r\n\r\nconst validate = (payloadExport) => {\r\n\r\n if (payloadExport.report_name === null || payloadExport.report_name === \"\") {\r\n return false;\r\n } \r\n\r\n return true\r\n}\r\n\r\nconst ExportGraph = (props) => {\r\n\r\n const payloadToExportInit = {\r\n report_name: null,\r\n startTime: props.dateFrom,\r\n endTime: props.dateTo,\r\n \"format_type\": \"CSV\" \r\n }\r\n\r\n let language = props.language;\r\n let theme = props.theme;\r\n\r\n const [payloadToExport, setPayloadToExport] = useState(payloadToExportInit); \r\n const [showCalendarDateFrom, setShowCalendarDateFrom] = useState(false);\r\n const [showCalendarDateTo, setShowCalendarDateTo] = useState(false); \r\n const [focus, setFocus] = useState(0); \r\n const [error, setError] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if(focus !== 0) {showError(payloadToExport, setFocus, setError, language)} \r\n }, [payloadToExport, language, focus]);\r\n \r\n return(\r\n props.setShowReportModal(false)}>\r\n \r\n
\r\n
{props.language.energy_export_graph_title}
\r\n
\r\n
\r\n
\r\n
{props.language.energy_export_graph_start_time}
\r\n
\r\n
setShowCalendarDateFrom(!showCalendarDateFrom) }>\r\n
\r\n {payloadToExport.startTime ? moment(payloadToExport.startTime).format(\"YYYY-MM-DD\") : \"Selecciona la fecha\"}\r\n \r\n
\r\n
\r\n \r\n {state => (\r\n
\r\n }\r\n prevLabel={}\r\n onChange={value => { \r\n setPayloadToExport({ ...payloadToExport, startTime: value });\r\n setShowCalendarDateFrom(false); \r\n }}\r\n />\r\n
\r\n )} \r\n \r\n
\r\n
\r\n
\r\n
{props.language.energy_export_graph_end_time}
\r\n
\r\n
setShowCalendarDateTo(!showCalendarDateTo) }>\r\n
\r\n {payloadToExport.endTime ? moment(payloadToExport.endTime).format(\"YYYY-MM-DD\") : \"Selecciona la fecha\"}\r\n \r\n
\r\n
\r\n \r\n {state => (\r\n
\r\n }\r\n prevLabel={}\r\n onChange={value => { \r\n setPayloadToExport({ ...payloadToExport, endTime: value });\r\n setShowCalendarDateTo(false); \r\n }}/>\r\n
\r\n )} \r\n \r\n
\r\n
\r\n
\r\n
{props.language.energy_export_graph_filename}
\r\n
\r\n setPayloadToExport({ ...payloadToExport, report_name: target?.value })}\r\n error={focus === 1 ? error : \"\"}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({ \r\n dateFrom: state.energy.graphDateFrom,\r\n dateTo: state.energy.graphDateTo, \r\n showReportModal: state.energy.showReportModal,\r\n reportLoading: state.energy.reportLoading,\r\n user: state.users.user, \r\n language: state.shared.language,\r\n rankGraphId: state.energy.rankGraphId,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({ \r\n createReportAsync: (payload) => dispatch(energyActions.createReportAsync(payload)),\r\n setShowReportModal: (payload) => dispatch(energyActions.setShowReportModal(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExportGraph);","import React from \"react\";\r\n\r\nexport const colors = (theme) => {\r\n return [\r\n {\r\n name: \"Green\",\r\n hex: theme === \"dark\" ? \"#9ecc14\" : \"#7da60c\",\r\n },\r\n {\r\n name: \"Blue\",\r\n hex: theme === \"dark\" ? \"#00b7d3\" : \"#0396b7\",\r\n },\r\n {\r\n name: \"Orange\",\r\n hex: theme === \"dark\" ? \"#f97316\" : \"#ea580c\",\r\n },\r\n {\r\n name: \"Red\",\r\n hex: theme === \"dark\" ? \"#EF444C\" : \"#DC262F\",\r\n },\r\n {\r\n name: \"Purple\",\r\n hex: theme === \"dark\" ? \"#a855f7\" : \"#9333ea\",\r\n },\r\n {\r\n name: \"Pink\",\r\n hex: theme === \"dark\" ? \"#ec4899\" : \"#db2777\",\r\n },\r\n {\r\n name: \"PurpleLight\",\r\n hex: \"var(--purple-600)\",\r\n },\r\n {\r\n name: \"PurpleDark\",\r\n hex: \"var(--purple-700)\",\r\n },\r\n {\r\n name: \"BlueLight\",\r\n hex: \"var(--blue-600)\",\r\n },\r\n {\r\n name: \"BlueDark\",\r\n hex: \"var(--blue-700)\",\r\n },\r\n {\r\n name: \"GreenLight\",\r\n hex: \"var(--brand-primary-600)\",\r\n },\r\n {\r\n name: \"GreenDark\",\r\n hex: \"var(--brand-primary-700)\",\r\n },\r\n {\r\n name: \"Neutral\",\r\n hex: \"#F5FED6\",\r\n },\r\n {\r\n name: \"BrandPrimary\",\r\n hex: \"var(--brand-primary-500)\",\r\n },\r\n ];\r\n};\r\n\r\nconst gradients25 = (theme) => {\r\n return colors(theme).map((color, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n};\r\n\r\nconst gradients25Light = (theme) => {\r\n return colors(theme).map((color, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n};\r\n\r\nconst gradients50 = (theme) => {\r\n return colors(theme).map((color, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n};\r\n\r\nconst gradient75 = (theme) => {\r\n return colors(theme).map((color, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n};\r\n\r\nexport const gradients = (theme) => [\r\n ...gradients25(theme),\r\n ...gradients25Light(theme),\r\n ...gradients50(theme),\r\n ...gradient75(theme),\r\n];\r\n\r\n// export const barStyles = colors.map(color => {\r\n// return {\r\n// data: { fill: `url(#linear${color.name}Transparent75)` }\r\n// }\r\n// });\r\n\r\nexport const barStyles = (theme) => {\r\n return colors(theme).map((color) => {\r\n return {\r\n data: { fill: `${color.hex}` },\r\n };\r\n });\r\n};\r\n\r\nexport const linearStyles = (theme) => {\r\n return colors(theme).map((color) => {\r\n return {\r\n data: {\r\n fill: `url(#linear${color.name}Transparent25)`,\r\n fillOpacity: 0.3,\r\n stroke: color.hex,\r\n strokeWidth: 2,\r\n },\r\n };\r\n });\r\n};\r\n\r\nexport const scaltterStyles = (theme) => {\r\n return colors(theme).map((color) => {\r\n return {\r\n data: {\r\n fill: \"#00\",\r\n stroke: color.hex,\r\n strokeWidth: 2,\r\n },\r\n };\r\n });\r\n};\r\n\r\nexport const grid = (theme) => {\r\n return {\r\n fill: theme === \"dark\" ? \"#ffffffa3\" : \"#141414a3\",\r\n stroke: theme === \"dark\" ? \"#ffffffa3\" : \"#141414a3\",\r\n pointerEvents: \"painted\",\r\n strokeWidth: 1,\r\n opacity: 0.2,\r\n };\r\n};\r\n\r\nexport const tickLabelsX = (theme) => {\r\n return {\r\n fill: theme === \"dark\" ? \"#ffffffa3\" : \"#141414a3\",\r\n fontSize: 10,\r\n angle: 45,\r\n padding: 60,\r\n fontFamily: \"Inter\",\r\n };\r\n};\r\n\r\nexport const tickLabelsY = (theme) => {\r\n return {\r\n fill: theme === \"dark\" ? \"#ffffffa3\" : \"#141414a3\",\r\n fontSize: 10,\r\n fontFamily: \"Inter\",\r\n };\r\n};\r\n\r\nexport const tickStyle = (theme) => {\r\n return {\r\n fill: theme === \"dark\" ? \"#262626\" : \"#fafafa\",\r\n opacity: 0.8,\r\n };\r\n};\r\n","import React from 'react';\r\n\r\nconst StepProgressBar = ({ status, steps }) => {\r\n const step = (status % steps) + 1; \r\n const maxSpaceWidth = 10;\r\n const spaceWidth = Math.min(maxSpaceWidth, (100 / steps) * 0.2);\r\n const totalSpaceWidth = (steps - 1) * spaceWidth;\r\n const barWidth = (100 - totalSpaceWidth) / steps;\r\n\r\n const progressBars = Array(steps).fill(null).map((_, index) => {\r\n const isFilled = index < step;\r\n const barColor = isFilled ? 'green-550' : 'gray-800';\r\n return (\r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n {progressBars}\r\n
\r\n );\r\n};\r\n\r\nexport default StepProgressBar;\r\n","import React from \"react\";\r\n\r\nimport StepProgressBar from \"./StepProgressBar\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst Tooltip = ({\r\n continuous,\r\n index,\r\n step,\r\n backProps,\r\n closeProps,\r\n primaryProps,\r\n tooltipProps,\r\n isLastStep,\r\n skipProps,\r\n language,\r\n}) => {\r\n const { onClick: backClickHandler, ...otherBackProps } = backProps;\r\n const { onClick: nextClickHandler, ...otherNextProps } = primaryProps;\r\n\r\n const handleBackClick = (event) => {\r\n track('Onboarding back clicked');\r\n\r\n if (backClickHandler) {\r\n backClickHandler(event);\r\n }\r\n };\r\n\r\n const handleNextClick = (event) => {\r\n\r\n if (index === 0) track('Onboarding begin clicked')\r\n else track('Onboarding next clicked')\r\n\r\n if (nextClickHandler) {\r\n nextClickHandler(event);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {!step.walktrough && }\r\n
\r\n
\r\n

{step.title}

\r\n

{step.description}

\r\n
\r\n
\r\n
{step.content}
\r\n
\r\n
\r\n {!isLastStep &&
{language.tutorial_skip_button}
}\r\n {!step?.hideFooter ?\r\n
\r\n {index > 0 && !step?.hideBackButton && (\r\n
handleBackClick(event)} className=\"row-center align-items-center button-tour rounded-pill me-2\" {...otherBackProps}>\r\n \r\n
\r\n )}\r\n {continuous && !isLastStep && (\r\n
handleNextClick(event)} className={`row-center align-items-center button-tour rounded-pill py-${index === 0 ? 3 : 2} px-${index === 0 ? 4 : 3}`} {...otherNextProps}>\r\n {index === 0 &&

{language.tutorial_start_button}

}\r\n \r\n
\r\n )}\r\n {isLastStep && (\r\n
handleNextClick(event)} className=\"row-center align-items-center button-tour rounded-pill py-2 px-3\" {...otherNextProps}>\r\n {step.walktrough ?

{language.tutorial_got_it}

: }\r\n
\r\n )}\r\n
:\r\n null}\r\n
\r\n
\r\n )\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n});\r\n\r\nexport default connect(mapStateToProps)(Tooltip);","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\r\n\r\nimport Joyride, { ACTIONS, EVENTS, STATUS } from \"react-joyride\";\r\n\r\nimport Tooltip from \"../utils/TooltipCustom\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst joyrideStyles = {\r\n options: {\r\n arrowColor: '#1f1f20',\r\n overlayColor: 'rgba(0, 0, 0, 0.8)',\r\n zIndex: 10000\r\n },\r\n};\r\n\r\nexport default function useTour(props) {\r\n // const {\r\n // steps,\r\n // localStorageKey,\r\n // isOpenDrawer,\r\n // controlledOnboarding = null,\r\n // setShowPulseAnimation = null,\r\n // //setControlledOnboarding, \r\n // runTour,\r\n // setRunTour,\r\n // key,\r\n // onTourFinish,\r\n // } = props;\r\n // const [run, setRun] = useState(false);\r\n // const [stepIndex, setStepIndex] = useState(0);\r\n // const [stepIndexControlled, setStepIndexControlled] = useState(0);\r\n\r\n // useEffect(\r\n // function () {\r\n // const tourViewed = window.localStorage.getItem(localStorageKey);\r\n // if (tourViewed) {\r\n // return;\r\n // }\r\n // window.localStorage.setItem(localStorageKey, \"show\");\r\n // if (isOpenDrawer === null) { setRun(true); }\r\n // },\r\n // [localStorageKey, isOpenDrawer]\r\n // );\r\n\r\n // useEffect(\r\n // function () {\r\n // const tourViewed = window.localStorage.getItem(localStorageKey);\r\n\r\n // if (isOpenDrawer && tourViewed === 'show') {\r\n // if (setRunTour && key) {\r\n // if (key === 'new_user' || key === 'new_alert') {\r\n // setTimeout(() => {\r\n // setRunTour({ key: key, value: true });\r\n // }, 500);\r\n // } else {\r\n // setRunTour({ key: key, value: true });\r\n // }\r\n // }\r\n // return;\r\n // };\r\n // },\r\n // [localStorageKey, isOpenDrawer, setRunTour, key]\r\n // );\r\n\r\n // useEffect(\r\n // function () {\r\n // if (controlledOnboarding) {\r\n // setRun(false);\r\n // setStepIndex(stepIndex + 1);\r\n // setStepIndexControlled(stepIndex + 1);\r\n // }\r\n // },\r\n // // eslint-disable-next-line react-hooks/exhaustive-deps\r\n // [controlledOnboarding]\r\n // );\r\n\r\n // useEffect(() => {\r\n // if (runTour) {\r\n // setRun(true);\r\n // }\r\n // }, [runTour]);\r\n\r\n // const handleJoyrideCallback = useCallback(function (data) { \r\n // const { action, index, type, status } = data;\r\n // const finishedStatuses = [STATUS.FINISHED, STATUS.SKIPPED]; \r\n\r\n // if (data.step?.pulseEffect) {\r\n // if (setShowPulseAnimation) {\r\n // setShowPulseAnimation(true);\r\n // }\r\n // } else {\r\n // if (setShowPulseAnimation) {\r\n // setShowPulseAnimation(false);\r\n // }\r\n // }\r\n\r\n // if (finishedStatuses.includes(status)) {\r\n\r\n // setRun(false);\r\n // setStepIndex(0);\r\n\r\n // if (onTourFinish) {\r\n // const tourViewed = window.localStorage.getItem(localStorageKey);\r\n // if (tourViewed !== 'delivered') { onTourFinish() }\r\n // };\r\n\r\n // if (setRunTour && key) setRunTour({ key: key, value: false });\r\n\r\n // window.localStorage.setItem(localStorageKey, 'delivered');\r\n\r\n // if (status === 'skipped') {\r\n // setRunTour({ key: 'walktrough', value: true });\r\n // track('Onboarding skip clicked');\r\n // }\r\n\r\n // } else if ([EVENTS.STEP_AFTER, EVENTS.TARGET_NOT_FOUND].includes(type)) {\r\n\r\n // const nextStepIndex = index + (action === ACTIONS.PREV ? -1 : 1);\r\n\r\n // if (controlledOnboarding && index === (stepIndexControlled - 1)) {\r\n // setTimeout(() => {\r\n // setRun(true);\r\n // }, 400);\r\n // }\r\n // else {\r\n // setStepIndex(nextStepIndex);\r\n // }\r\n // }\r\n // }, [controlledOnboarding, localStorageKey, setStepIndex, stepIndexControlled, setRunTour, key, onTourFinish, setShowPulseAnimation]);\r\n\r\n // const tour = useMemo(\r\n // () => (\r\n // \r\n // ),\r\n // [steps, handleJoyrideCallback, run, stepIndex]\r\n // );\r\n\r\n // return tour;\r\n return <>;\r\n}","import React from \"react\"\r\nimport step1 from \"../../../imgs/onboarding/step1-graph-period.png\"\r\nimport step1En from \"../../../imgs/onboarding/english/step1-graph-period-en.png\"\r\nimport step2 from \"../../../imgs/onboarding/step2-graph-period.png\"\r\nimport step2En from \"../../../imgs/onboarding/english/step2-graph-period-en.png\"\r\nimport step3 from \"../../../imgs/onboarding/step3-graph-period.png\"\r\nimport step3En from \"../../../imgs/onboarding/english/step3-graph-period-en.png\"\r\nimport step4 from \"../../../imgs/onboarding/step4-graph-period.png\"\r\nimport step4En from \"../../../imgs/onboarding/english/step4-graph-period-en.png\"\r\nimport step5 from \"../../../imgs/onboarding/step5-graph-period.png\"\r\nimport step5En from \"../../../imgs/onboarding/english/step5-graph-period-en.png\"\r\n\r\nexport const stepsGraphPeriod = (language) => {\r\n return ([\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_graph_period_title_step1,\r\n description: language.onboarding_graph_period_description_step1,\r\n placement: \"left-start\", \r\n target: \"#date_range_picker\",\r\n disableBeacon: true,\r\n steps: 5,\r\n disableOverlayClose: true,\r\n spotlightClicks: true,\r\n hideFooter: true,\r\n hideFooterTitle: \"Haz click en el botón!\",\r\n pulseEffect: true\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_graph_period_title_step2,\r\n description: language.onboarding_graph_period_description_step2,\r\n placement: \"left\",\r\n target: \"#date_interval\",\r\n disableBeacon: true,\r\n steps: 5,\r\n disableOverlayClose: true,\r\n hideBackButton: true,\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_graph_period_title_step3,\r\n description: language.onboarding_graph_period_description_step3,\r\n placement: \"left\",\r\n target: \"#date_interval\",\r\n disableBeacon: true,\r\n steps: 5,\r\n disableOverlayClose: true,\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_graph_period_title_step4,\r\n description: language.onboarding_graph_period_description_step4,\r\n placement: \"left\", \r\n target: \"#date_interval\",\r\n disableBeacon: true,\r\n steps: 5,\r\n disableOverlayClose: true,\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_graph_period_title_step5,\r\n description: language.onboarding_graph_period_description_step5,\r\n placement: \"left\",\r\n target: \"#date_interval\",\r\n disableBeacon: true,\r\n steps: 5,\r\n disableOverlayClose: true,\r\n },\r\n ])\r\n}\r\n","import React from 'react';\r\nimport step1 from '../../../imgs/onboarding/step1-graph-calendar.png';\r\nimport step1En from '../../../imgs/onboarding/english/step1-graph-calendar-en.png';\r\nimport step2 from '../../../imgs/onboarding/step2-graph-calendar.png';\r\nimport step2En from '../../../imgs/onboarding/english/step2-graph-calendar-en.png';\r\n\r\nexport const stepsGraphCalendar = (language) => {\r\n return ([\r\n {\r\n content:\r\n
\r\n \"step1-graph-calendar\"\r\n
,\r\n title: language.onboarding_graph_calendar_title_step1,\r\n description: language.onboarding_graph_calendar_description_step1,\r\n placement: \"left-start\",\r\n target: \"#date_calendar_picker\",\r\n disableBeacon: true,\r\n steps: 2,\r\n disableOverlayClose: true,\r\n spotlightClicks: true,\r\n hideFooter: true,\r\n hideFooterTitle: '¡Da click para descubrir cómo!',\r\n pulseEffect: true\r\n },\r\n {\r\n content:\r\n
\r\n \"step2-graph-calendar\"\r\n
,\r\n title: language.onboarding_graph_calendar_title_step2,\r\n description: language.onboarding_graph_calendar_description_step2,\r\n placement: \"left-end\",\r\n target: \"#calendar_fast_access\",\r\n disableBeacon: true,\r\n steps: 2,\r\n disableOverlayClose: true,\r\n hideBackButton: true\r\n },\r\n ])\r\n};","import React from \"react\"\r\nimport step1 from \"../../../imgs/onboarding/step1-graph-export.png\"\r\nimport step1En from \"../../../imgs/onboarding/english/step1-graph-export-en.png\"\r\nimport step2 from \"../../../imgs/onboarding/step2-graph-export.png\"\r\nimport step2En from \"../../../imgs/onboarding/english/step2-graph-export-en.png\"\r\n\r\nexport const stepsGraphExportData = (language) => {\r\n return ([\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_graph_export_data_title_step1,\r\n description: language.onboarding_graph_export_data_description_step1,\r\n placement: \"left-start\", \r\n target: \"#export_data_picker\",\r\n disableBeacon: true,\r\n steps: 2,\r\n disableOverlayClose: true,\r\n spotlightClicks: true,\r\n hideFooter: true,\r\n hideFooterTitle: \"Haz click en el botón!\",\r\n pulseEffect: true\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_graph_export_data_title_step2,\r\n description: language.onboarding_graph_export_data_description_step2,\r\n placement: \"left\",\r\n width: 340, \r\n target: \"#export_csv\",\r\n disableBeacon: true,\r\n steps: 2,\r\n disableOverlayClose: true,\r\n hideBackButton: true,\r\n },\r\n ])\r\n}\r\n","import React, { Fragment, useEffect, useRef, useState } from \"react\"\r\nimport { connect } from \"react-redux\"\r\n\r\nimport * as energyActions from \"../../../store/actions/Energy\"\r\nimport * as sharedActions from \"../../../store/actions/Shared\"\r\n\r\nimport _ from \"lodash\"\r\n// import { Animation } from \"rsuite\"\r\nimport { track } from \"@amplitude/analytics-browser\"\r\n\r\nimport { Transition } from \"react-transition-group\"\r\n\r\nimport { Loader } from \"rsuite\"\r\n\r\nimport { VictoryChart, VictoryGroup, VictoryAxis, createContainer, VictoryBar, VictoryLabel, VictoryTooltip, VictoryArea, Rect } from \"victory\"\r\n\r\nimport moment from \"moment-timezone\"\r\nimport { addDays, parse, startOfWeek, startOfMonth, addMonths, startOfYear, addYears } from \"date-fns\"\r\n\r\nimport CurrencyFormat from 'react-currency-format';\r\n\r\nimport GraphTypePicker from \"./GraphTypePicker\"\r\nimport GraphPeriodPicker from \"./GraphPeriodPicker\"\r\nimport GraphIndicators from \"./GraphIndicators\"\r\nimport ExtraItemsPopover from \"../../genius/ExtraItemsPopover\"\r\nimport CalendarGraphEnergy from \"../../shared/utilities/CalendarGraphEnergy\"\r\nimport ButtonCircle from \"../../shared/utilities/ButtonCircle\"\r\nimport ExportGraph from \"./ExportGraph\"\r\n\r\nimport empty_graph_energy from \"../../../imgs/empty-graph-energy.svg\"\r\nimport empty_graph_energy_light from \"../../../imgs/empty-graph-energy-light.svg\"\r\n\r\nimport { setGraphLabel } from \"../../../services/GraphsHandler\"\r\n\r\nimport { useWindowSize } from \"../../shared/utilities/useWindowSize\"\r\nimport { colors, gradients, barStyles, linearStyles, grid, tickLabelsX, tickLabelsY, tickStyle } from \"../../shared/svgs/GraphStyles\"\r\n\r\nimport useTour from '../../onboarding/hook/useTour';\r\nimport { stepsGraphType } from '../../onboarding/steps/GraphTypeSteps';\r\nimport { stepsGraphPeriod } from \"../../onboarding/steps/GraphPeriodSteps\";\r\nimport { stepsGraphCalendar } from \"../../onboarding/steps/GraphCalendarSteps\";\r\nimport { stepsGraphExportData } from \"../../onboarding/steps/GraphExportDataSteps\"\r\n\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst VictoryZoomVoronoiContainer = createContainer(\"zoom\", \"voronoi\")\r\n\r\n\r\nconst graphLoadingContainer = (loading, language) => (\r\n
\r\n \r\n {(state) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n)\r\n\r\n\r\nconst formatDateLabel = (intervalGraph, domain, lang) => {\r\n let dateFormated\r\n let intervalLeft\r\n let intervalRight\r\n moment.locale(lang)\r\n switch (intervalGraph) {\r\n case 0:\r\n dateFormated = moment\r\n .utc(domain?.x[1] * 1000)\r\n .tz(\"America/Bogota\")\r\n .format(\"DD MMMM YYYY\")\r\n break\r\n case 1:\r\n case 2:\r\n intervalLeft = moment.utc((domain?.x[0] + 86400) * 1000).format(\"MMM DD\")\r\n intervalRight = moment.utc(domain?.x[1] * 1000).format(\"MMM DD\")\r\n dateFormated = `${intervalLeft} ${lang === 'es' ? 'a' : '-'} ${intervalRight}`\r\n break\r\n case 3:\r\n intervalLeft = moment.utc((domain?.x[0] + 2592000) * 1000).format(\"MMM YYYY\")\r\n intervalRight = moment.utc(domain?.x[1] * 1000).format(\"MMM YYYY\")\r\n dateFormated = `${intervalLeft} ${lang === 'es' ? 'a' : '-'} ${intervalRight}`\r\n break\r\n default:\r\n dateFormated = \"\"\r\n break\r\n }\r\n return dateFormated\r\n}\r\n\r\nconst handlerFormatAxis = (date, type, lang, zoomContainer = false, title = false) => {\r\n let stringFormats\r\n\r\n switch (type) {\r\n case 0:\r\n stringFormats = [\"hh:mm DD/MM/YY\", \"HH\", \"dddd, DD MMMM YYYY\"]\r\n break\r\n case 1:\r\n case 2:\r\n stringFormats = [\"DD/MM/YY\", \"ddd, DD\", \"MMMM YYYY\"]\r\n break\r\n case 3:\r\n stringFormats = [\"MMM, YY\", \"MMM\", \"YYYY\"]\r\n break\r\n default:\r\n break\r\n }\r\n if (zoomContainer) {\r\n moment.locale(lang)\r\n return parseInt(moment(date, stringFormats[0]).unix())\r\n } else {\r\n moment.locale(lang)\r\n return moment.utc(date * 1000).format(stringFormats[title ? 2 : 1])\r\n }\r\n}\r\n\r\n\r\nconst getNextMonth = (date, left, interval, lang) => {\r\n moment.locale(lang);\r\n let dateObject = moment.utc(date);\r\n switch (interval) {\r\n case 0:\r\n const day = left ? dateObject.subtract(1, 'days') : dateObject.add(1, 'days');\r\n const firstHour = day.startOf('day').unix() - 1800;\r\n const lastHour = day.endOf('day').unix() - 1800;\r\n return { x: [firstHour, lastHour] };\r\n case 1:\r\n const week = left ? dateObject.subtract(1, 'weeks') : dateObject.add(1, 'weeks');\r\n const firstDay = week.startOf('isoWeek').unix() - 43200;\r\n const lastDay = week.endOf('isoWeek').unix() - 86400 * 0.5;\r\n return { x: [firstDay, lastDay] };\r\n case 2:\r\n const month = left ? dateObject.subtract(1, 'months') : dateObject.add(1, 'months');\r\n const firstDayMonth = month.startOf('month').unix() - 43200;\r\n const lastDayMonth = month.endOf('month').unix() - 43200;\r\n return { x: [firstDayMonth, lastDayMonth] };\r\n default:\r\n break;\r\n }\r\n}\r\n\r\nconst getBarWidth = (intervalGraph, numOfGraphsSelected) => {\r\n switch (intervalGraph) {\r\n case 1:\r\n if (numOfGraphsSelected === 1) {\r\n return 60\r\n } else if (numOfGraphsSelected < 4) {\r\n return 40\r\n } else if (numOfGraphsSelected === 4) {\r\n return 25\r\n } else {\r\n return 15\r\n }\r\n case 2:\r\n if (numOfGraphsSelected === 1) {\r\n return 20\r\n } else if (numOfGraphsSelected === 2) {\r\n return 12\r\n } else {\r\n return 10\r\n }\r\n case 3:\r\n if (numOfGraphsSelected <= 2) {\r\n return 35\r\n } else if (numOfGraphsSelected > 2 || numOfGraphsSelected <= 4) {\r\n return 20\r\n } else {\r\n return 15\r\n }\r\n default:\r\n break\r\n }\r\n}\r\n\r\nconst Graph = (props) => {\r\n\r\n const history = useHistory();\r\n\r\n let graphData = props.graphData\r\n let intervalGraph = props.intervalGraph\r\n let graphDateFrom = props.graphDateFrom\r\n let graphDateTo = props.graphDateTo\r\n let showCalendar = props.showCalendar\r\n let scrollActive = props.scrollActive\r\n let setIntervalGraph = props.setIntervalGraph\r\n //let tariff = props.tariff; \r\n let showReportModal = props.showReportModal\r\n let graphCalendarPicker = props.graphCalendarPicker\r\n let graphExportData = props.graphExportData\r\n let activeServicesPlus = props.activeServicesPlus\r\n let theme = props.theme\r\n\r\n const setShowBlackScreen = props.setShowBlackScreen\r\n const setShowCalendar = props.setShowCalendar\r\n const setScrollActive = props.setScrollActive\r\n const setControlledOnboarding = props.setControlledOnboarding\r\n const setStartOnboarding = props.setStartOnboarding\r\n const loadDetailService = props.loadDetailService\r\n\r\n const size = useWindowSize()\r\n\r\n const numLegendsToShow = size.width > 1400 ? 3 : 2\r\n\r\n const graphContainer = useRef(null)\r\n const graphContainerLoader = useRef(null)\r\n\r\n const maxNormalizeInit = {\r\n GENERATION: 1,\r\n IRRADIANCE: 1,\r\n PR: 100,\r\n }\r\n let avgText = props.language.language_locale === \"es\" ? 'Prom' : 'Avg'\r\n\r\n const [emptyData, setEmptyData] = useState(false)\r\n const [graphContainerWidth, setGraphContainerWidth] = useState(0)\r\n const [domain, setDomain] = useState(null)\r\n const [entireDomain, setEntireDomain] = useState(null)\r\n const [data, setData] = useState([])\r\n const [grabbing, setGrabbing] = useState(false)\r\n const [dateRangeEnergy] = useState([\r\n {\r\n startDate: graphDateFrom,\r\n endDate: graphDateTo,\r\n key: \"selection\",\r\n },\r\n ])\r\n const numOfGraphsSelected = data.length\r\n const [openGraphPeriodPicker, setOpenPeriodPicker] = useState(false);\r\n const [maxNormalize, setMaxNormalize] = useState(maxNormalizeInit);\r\n const [loader, setLoader] = useState(true);\r\n\r\n useEffect(() => { \r\n const sortGraphData = graphData.sort((a, b) => b.data.length - a.data.length);\r\n if (sortGraphData.length) setData(sortGraphData)\r\n // eslint-disable-next-line\r\n }, [graphData])\r\n\r\n useEffect(() => {\r\n if (data.length) {\r\n const dataValues = data[0]?.data\r\n let intervalX = [dataValues[0]?.x_sec, intervalGraph === 3 ? _.last(dataValues)?.x_sec + (new Date().getDate() + 1) * 86400 : _.last(dataValues)?.x_sec]\r\n setEntireDomain({ x: intervalX })\r\n if (domain === null || isNaN(domain.x[0])) {\r\n setDomain({\r\n x: [\r\n intervalX[1] -\r\n (intervalGraph === 0\r\n ? 86400\r\n : intervalGraph === 1\r\n ? 604800 - (numOfGraphsSelected > 9 ? 86400 * (numOfGraphsSelected - 9) : 0)\r\n : intervalGraph === 2\r\n ? 86400 * moment(graphDateFrom)?.daysInMonth() - (numOfGraphsSelected < 3 ? 0 : numOfGraphsSelected === 3 || numOfGraphsSelected === 4 ? 86400 * (numOfGraphsSelected + 1) : numOfGraphsSelected === 5 ? 86400 * (numOfGraphsSelected * 2) : numOfGraphsSelected <= 7 ? 86400 * Math.floor(numOfGraphsSelected * 2.5) : 86400 * 22)\r\n : intervalGraph === 3\r\n ? 31536000 - (numOfGraphsSelected > 3 ? 86400 * moment(graphDateFrom)?.daysInMonth() * (numOfGraphsSelected - 3) : 0)\r\n : 0),\r\n intervalX[1],\r\n ],\r\n })\r\n }\r\n }\r\n // eslint-disable-next-line\r\n }, [graphContainerWidth, data, intervalGraph])\r\n\r\n useEffect(() => {\r\n if (graphContainer.current) {\r\n setGraphContainerWidth(graphContainer.current.getBoundingClientRect().width)\r\n }\r\n else {\r\n setGraphContainerWidth(graphContainerLoader.current.getBoundingClientRect().width)\r\n };\r\n }, [size, loader]);\r\n\r\n useEffect(() => {\r\n const emptyDataGraph = data.filter((d) => d.data.length === 0)\r\n setEmptyData(emptyDataGraph.length === data.length)\r\n // eslint-disable-next-line\r\n }, [data])\r\n\r\n useEffect(() => {\r\n if (domain) {\r\n const intervalLeft = (domain.x[0] - entireDomain.x[0]) / (intervalGraph === 1 ? 604800 : intervalGraph === 0 ? 86400 : intervalGraph === 2 ? 86400 * 30 : 31536000)\r\n const intervalRight = (entireDomain.x[1] - domain.x[1]) / (intervalGraph === 1 ? 604800 : intervalGraph === 0 ? 86400 : intervalGraph === 2 ? 86400 * 30 : 31536000)\r\n if (intervalLeft < 0.6 && props.enableScrollData) { \r\n props.loadGraphAsync(true, true)\r\n }\r\n if (intervalRight < 0.6 && props.enableScrollData && \r\n entireDomain.x[1] - (handlerFormatAxis(new Date(), intervalGraph, props.language.language_locale, true) + \r\n (props.activeGraphs?.includes('PREDICTION_ACTIVE_ENERGY') && intervalGraph === 0 ? 3600 * 1000 * 24 * 0 : 0)) <= 0) {\r\n props.loadGraphAsync(true, false)\r\n }\r\n }\r\n if (props.activeGraphs?.includes('IRRADIANCE_GEN')) getMaxNormalize();\r\n // eslint-disable-next-line\r\n }, [domain, props.enableScrollData])\r\n\r\n useEffect(() => {\r\n setShowBlackScreen(showCalendar)\r\n }, [setShowBlackScreen, showCalendar])\r\n\r\n useEffect(() => { setTimeout(() => setLoader(props.graphLoading), 500) }, [props.graphLoading])\r\n\r\n const getMax = (arr) => {\r\n arr = arr.map((value) => value.data.filter((value) => value.y > 0 && value?.x_sec >= domain?.x[0] && value?.x_sec <= domain?.x[1]).map((value) => value.y)).reduce((a, b) => a.concat(b), [])\r\n return Math.max(...arr)\r\n }\r\n\r\n const getMaxNormalize = () => {\r\n let generation = data?.filter(item => item?.value === 'GENERATION');\r\n let irradiance = data?.filter(item => item?.value === 'IRRADIANCE');\r\n generation = generation.map((value) => value.data.filter((value) => value?.x_sec >= domain?.x[0] && value?.x_sec <= domain?.x[1]).map((value) => value.y)).reduce((a, b) => a.concat(b), [])\r\n irradiance = irradiance.map((value) => value.data.filter((value) => value?.x_sec >= domain?.x[0] && value?.x_sec <= domain?.x[1]).map((value) => value.y)).reduce((a, b) => a.concat(b), [])\r\n setMaxNormalize({ ...maxNormalize, GENERATION: generation.length ? Math.max(...generation) : 1, IRRADIANCE: irradiance.length ? Math.max(...irradiance) : 1 });\r\n }\r\n\r\n const handleCalendar = (value) => {\r\n props.setGraphDates(value)\r\n props.loadGraphAsync(false, true)\r\n setShowBlackScreen(false)\r\n setShowCalendar(false)\r\n }\r\n\r\n const RenderEmptyData = () => {\r\n return (\r\n
\r\n \"empty_graph_energy\"\r\n
{props.language.energy_graph_title_empty_data}
\r\n
{props.language.energy_graph_description_empty_data}
\r\n {\r\n setShowCalendar(true)\r\n }}>\r\n

{props.language.energy_graph_empty_data_button}

\r\n \r\n
\r\n )\r\n }\r\n\r\n const capitalizedText = (text) => {\r\n let label = \"\"\r\n var phrase = text.toLowerCase().split(\" \")\r\n\r\n for (var i = 0; i < phrase.length; i++) {\r\n if (i !== 2) {\r\n phrase[i] = phrase[i].charAt(0).toUpperCase() + phrase[i].substring(1)\r\n }\r\n }\r\n\r\n label = phrase.join(\" \")\r\n\r\n return label\r\n }\r\n\r\n useEffect(() => {\r\n if (showCalendar && graphCalendarPicker) {\r\n setControlledOnboarding({ key: 'graph_calendar_picker', value: true })\r\n } else {\r\n setControlledOnboarding({ key: 'graph_calendar_picker', value: false })\r\n }\r\n }, [showCalendar, setControlledOnboarding, graphCalendarPicker])\r\n\r\n useEffect(() => {\r\n if (showReportModal && graphExportData) {\r\n setControlledOnboarding({ key: 'graph_export_data', value: true })\r\n } else {\r\n setControlledOnboarding({ key: 'graph_export_data', value: false })\r\n }\r\n }, [showReportModal, setControlledOnboarding, graphExportData])\r\n\r\n const tourGraphType = useTour({ steps: stepsGraphType(props.language), localStorageKey: \"graph-type-tour\", isOpenDrawer: !scrollActive, controlledOnboarding: props.controlledTypePicker, setControlledOnboarding: setControlledOnboarding, runTour: props.graphTypePicker, setRunTour: setStartOnboarding, key: 'graph_type_picker', setShowPulseAnimation: props.setShowPulseAnimation });\r\n const tourGraphPeriod = useTour({ steps: stepsGraphPeriod(props.language), localStorageKey: \"graph-period-tour\", isOpenDrawer: openGraphPeriodPicker, controlledOnboarding: props.controlledPeriodPicker, setControlledOnboarding: setControlledOnboarding, runTour: props.graphPeriodPicker, setRunTour: setStartOnboarding, key: 'graph_period_picker', setShowPulseAnimation: props.setShowPulseAnimation });\r\n const tourGraphCalendar = useTour({ steps: stepsGraphCalendar(props.language), localStorageKey: \"graph-calendar-tour\", isOpenDrawer: showCalendar, controlledOnboarding: props.controlledCalendarPicker, setControlledOnboarding: setControlledOnboarding, runTour: props.graphCalendarPicker, setRunTour: setStartOnboarding, key: 'graph_calendar_picker', setShowPulseAnimation: props.setShowPulseAnimation });\r\n const tourGraphExportData = useTour({ steps: stepsGraphExportData(props.language), localStorageKey: \"graph-export-data-tour\", isOpenDrawer: showReportModal, controlledOnboarding: props.controlledExportPicker, setControlledOnboarding: setControlledOnboarding, runTour: props.graphExportData, setRunTour: setStartOnboarding, key: 'graph_export_data', setShowPulseAnimation: props.setShowPulseAnimation });\r\n\r\n const DotSliderLine = ({ scale }) => {\r\n const currentDate = new Date(domain?.x[1] * 1000);\r\n const firstDateMonth = new Date(Date.UTC(currentDate.getUTCFullYear(), currentDate.getUTCMonth(), 1));\r\n const firstDateTimestamp = firstDateMonth?.getTime();\r\n const x = scale.x((firstDateTimestamp / 1000) - (86400 / 2))\r\n return (\r\n \r\n \r\n \r\n \r\n {capitalizedText(moment.utc(firstDateTimestamp).format('MMMM, YYYY'))}\r\n \r\n )\r\n }\r\n\r\n const FinalDot = ({ scale, data, style, valueData }) => {\r\n const value = _.last(data);\r\n const x = scale.x(value?.x_sec);\r\n const y = data.length && valueData !== \"PREDICTION_ACTIVE_ENERGY\" ? scale.y(value?.y) : -1000;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const AverageLine = ({ scale }) => {\r\n let unit = null;\r\n let avg = 0;\r\n let array = [];\r\n let y = -1000;\r\n const keys = [];\r\n const uniqueArray = [];\r\n const dataFiltered = data.map((value) => value.data.filter((value) => value.y > 0 && value?.x_sec > domain?.x[0] && value?.x_sec <= domain?.x[1]));\r\n dataFiltered[0].forEach(item => {\r\n if (!keys.includes(item?.x_sec)) {\r\n uniqueArray.push(item);\r\n keys.push(item?.x_sec);\r\n }\r\n })\r\n array = uniqueArray.map((value) => value.y).reduce((a, b) => a.concat(b), []);\r\n if (array.length) {\r\n unit = data[0].data[0].unit;\r\n const tot = array.reduce((prev, curr) => (curr += prev)).toFixed(2);\r\n avg = (tot / array.length).toFixed(2);\r\n y = scale.y(avg);\r\n }\r\n return (\r\n \r\n \r\n \r\n {`${avgText}: ${avg}${unit}`}\r\n \r\n )\r\n }\r\n\r\n const handleBarClick = (_event, data) => {\r\n track('Graphicbar clicked', { Rank_ID: props.rankGraphId, Project_Type: props.activeServicesEnergy.map(function (service) { return service?.type?.name }) })\r\n\r\n if (numOfGraphsSelected >= 5) return\r\n\r\n const targetDate = parse(data?.datum?.x, 'dd/MM/yy', new Date())\r\n const targetDateYear = parse(data?.datum?.x, 'MMM, d', new Date())\r\n\r\n const graphDateFromWeek = addDays(startOfWeek(targetDate, 0), 1)\r\n const graphDateToWeek = addDays(startOfWeek(targetDate, 0), 7)\r\n\r\n const graphDateFromMonth = startOfMonth(targetDateYear)\r\n const graphDateToMonth = addDays(addMonths(startOfMonth(targetDateYear), 1), -1)\r\n\r\n if (targetDate) {\r\n switch (intervalGraph) {\r\n case 1:\r\n props.setDetailDataGraph({ graphDateFrom: targetDate, graphDateTo: targetDate, intervalGraph: 0 })\r\n props.setPrevStateBar(targetDate)\r\n break\r\n case 2:\r\n props.setDetailDataGraph({ graphDateFrom: graphDateFromWeek, graphDateTo: graphDateToWeek, intervalGraph: 1 })\r\n props.setPrevStateBar(targetDate)\r\n break\r\n case 3:\r\n props.setDetailDataGraph({ graphDateFrom: graphDateFromMonth, graphDateTo: graphDateToMonth, intervalGraph: 2 })\r\n props.setPrevStateBar(targetDateYear)\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n }\r\n\r\n const formatOperationStateValue = value => {\r\n switch (value) {\r\n case 0:\r\n return props.language.graph_operation_state_no_record;\r\n case 1:\r\n return props.language.graph_operation_state_deteriorating;\r\n case 2:\r\n return props.language.graph_operation_state_process;\r\n case 3:\r\n return props.language.graph_operation_state_standby;\r\n case 4:\r\n return props.language.graph_operation_state_checking;\r\n case 5:\r\n return props.language.graph_operation_state_fail;\r\n default:\r\n return null\r\n }\r\n }\r\n\r\n const handlePrevStateBar = (targetDate) => {\r\n\r\n const graphDateFromWeek = addDays(startOfWeek(targetDate, 0), 1)\r\n const graphDateToWeek = addDays(startOfWeek(targetDate, 0), 7)\r\n\r\n const graphDateFromMonth = startOfMonth(targetDate)\r\n const graphDateToMonth = addDays(addMonths(startOfMonth(targetDate), 1), -1)\r\n\r\n const graphDateFromYear = startOfYear(targetDate)\r\n const graphDateToYear = addYears(startOfYear(targetDate), 1)\r\n\r\n if (targetDate) {\r\n switch (intervalGraph) {\r\n case 0:\r\n props.setDetailDataGraph({ graphDateFrom: graphDateFromWeek, graphDateTo: graphDateToWeek, intervalGraph: 1 })\r\n props.setPrevStateBar(null)\r\n break\r\n case 1:\r\n props.setDetailDataGraph({ graphDateFrom: graphDateFromMonth, graphDateTo: graphDateToMonth, intervalGraph: 2 })\r\n props.setPrevStateBar(null)\r\n break\r\n case 2:\r\n props.setDetailDataGraph({ graphDateFrom: graphDateFromYear, graphDateTo: graphDateToYear, intervalGraph: 3 })\r\n props.setPrevStateBar(null)\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n }\r\n\r\n const CustomFlyout = ({ x, y, datum, data }) => {\r\n\r\n const detailData = data.map(item => { return { id: item.id, data: item.data.filter(d => d.x_sec === datum.x_sec), value: item?.value } });\r\n\r\n const Content = ({ item, i }) => {\r\n return (\r\n <>\r\n 1 ? 46 : 50))} width=\"30\" height=\"30\">\r\n \r\n \r\n 1 ? 40 : 44))} width=\"130\" height=\"30\">\r\n

{`${item?.id.split(\"-\").length === 2 ? item?.id.split(\"-\")[0] : item?.id.split(\"-\").slice(0, item?.id.split(\"-\").length - 1).reverse().join(' - ')}`}

\r\n
\r\n \r\n 1 ? 13 : 17))}\r\n fontSize=\"12\"\r\n fontFamily={'Inter'}\r\n fill={theme === 'dark' ? '#ffffffa3' : '#141414a3'}>\r\n {intervalGraph === 0 ? `${handlerFormatAxis(item?.data[0]?.x_sec, intervalGraph, props.language.language_locale)}:00 : ` : `${handlerFormatAxis(item?.data[0]?.x_sec, intervalGraph, props.language.language_locale)} : `} {`${props.activeGraphs.includes('OPERATION_STATE') ? formatOperationStateValue(parseInt(value)) : value} ${item?.data[0]?.unit}`}\r\n }\r\n />\r\n\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n d.data.length !== 0).length * 43}\r\n rx=\"20\"\r\n fill={theme === 'dark' ? '#262626' : '#ffffff'}\r\n stroke={theme === 'dark' ? '#ffffff' : '#000000'}\r\n />\r\n {detailData.length ? detailData.filter(d => d.data.length !== 0).map((d, index) => ()) : null}\r\n \r\n );\r\n };\r\n\r\n useEffect(() => { if(props.activeGraphs.includes('REACTIVE_CAPACITIVE_EXCESS_ENERGY')){setIntervalGraph(3)} }, [props.activeGraphs, setIntervalGraph])\r\n \r\n return (\r\n \r\n {loader ?
{graphLoadingContainer(loader, props.language)}
:\r\n \r\n {tourGraphType}\r\n {tourGraphPeriod}\r\n {tourGraphCalendar}\r\n {tourGraphExportData}\r\n
\r\n {gradients(theme)}\r\n
\r\n
\r\n
\r\n
\r\n {data.slice(0, numLegendsToShow).map((d, i) => (\r\n \r\n
\r\n
\r\n
{setGraphLabel(d?.id)}
\r\n
\r\n
\r\n
\r\n }\r\n button={\r\n
\r\n \r\n
{d.data.length ? setGraphLabel(d.id, true) : `${props.language.energy_graph_no_data} - ${setGraphLabel(d?.id, true)}`}
\r\n {props.activeGraphs.length > 1 && props.setGraphActive([...props.activeGraphs.filter((g) => g !== d.value)])}>}\r\n
\r\n }\r\n theme={theme}\r\n />\r\n ))}\r\n {data.length > numLegendsToShow && (\r\n \r\n
\r\n {data.slice(numLegendsToShow).map((d, i) => {\r\n return (\r\n
\r\n \r\n
{d.data.length ? setGraphLabel(d.id) : `${props.language.energy_graph_no_data} - ${setGraphLabel(d?.id, true)}`}
\r\n props.setGraphActive([...props.activeGraphs.filter((g) => g !== d.value)])}>\r\n
\r\n )\r\n })}\r\n
\r\n
\r\n }\r\n button={\r\n
\r\n \r\n
{data.length - numLegendsToShow}
\r\n
\r\n }\r\n theme={theme}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {activeServicesPlus.length ? \r\n : null}\r\n setOpenPeriodPicker(value)} />\r\n
{capitalizedText(formatDateLabel(intervalGraph, domain, props.language.language_locale))}
\r\n
\r\n {\r\n setShowCalendar(!showCalendar)\r\n }}\r\n />\r\n \r\n
\r\n
\r\n {\r\n props.setShowReportModal(true)\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {props.prevStateBar ? : null}\r\n {emptyData === false && data.length ? (\r\n
setGrabbing(true)} onMouseUp={() => setGrabbing(false)}>\r\n
\r\n {intervalGraph === 3 || (intervalGraph === 2 && numOfGraphsSelected >= 3) || (intervalGraph === 1 && numOfGraphsSelected >= 8) ? null :\r\n
{\r\n setScrollActive(false);\r\n setDomain(getNextMonth(domain?.x[1] * 1000, true, intervalGraph, props.language.language_locale));\r\n track('Graphic clicked', { Graphic_Back: 'activate', Rank_ID: props.rankGraphId, Project_Type: props.activeServicesEnergy.map(function (service) { return service?.type?.name }) })\r\n }}>\r\n \r\n
}\r\n {intervalGraph === 3 || (intervalGraph === 2 && numOfGraphsSelected >= 3) || (intervalGraph === 1 && numOfGraphsSelected >= 8) ? null :\r\n
{\r\n setScrollActive(false);\r\n const nextValue = getNextMonth(domain?.x[1] * 1000, false, intervalGraph, props.language.language_locale);\r\n if (nextValue && nextValue?.x[1] - 86400 <= entireDomain.x[1]) {\r\n setDomain(nextValue);\r\n }\r\n track('Graphic clicked', { Graphic_Forward: 'activate', Rank_ID: props.rankGraphId, Project_Type: props.activeServicesEnergy.map(function (service) { return service?.type?.name }) })\r\n }}>\r\n \r\n
}\r\n {props.activeGraphs.includes('IRRADIANCE_GEN') ?\r\n \r\n
Generación (kWh)
\r\n
Irradiancia (W/m2)
\r\n
: null\r\n }\r\n {intervalGraph ? (\r\n {\r\n setScrollActive(false);\r\n setDomain({ x: domainZoom.x });\r\n }}\r\n voronoiDimension=\"x\"\r\n labels={() => ` `}\r\n labelComponent={} />}\r\n />\r\n }>\r\n = 5 ? 20 : intervalGraph === 1 && numOfGraphsSelected === 4 ? 30 : intervalGraph === 3 && numOfGraphsSelected <= 2 ? 45 : intervalGraph === 3 && numOfGraphsSelected > 2 ? 20 : (props.activeGraphs.includes('PREDICTION_ACTIVE_ENERGY') ? 0 : 10)}>\r\n {!(props.activeGraphs.length && props.activeGraphs.includes('IRRADIANCE_GEN')) ?\r\n data.map((d, i) => (\r\n valueY?.y}\r\n data={d.data.filter((item) => item?.x_sec >= domain.x[0] && item?.x_sec <= domain.x[1])}\r\n barRatio={d?.value !== 'PREDICTION_ACTIVE_ENERGY' ? 10 : 50}\r\n barWidth={d?.value !== 'PREDICTION_ACTIVE_ENERGY' ? getBarWidth(intervalGraph, numOfGraphsSelected) : getBarWidth(intervalGraph, numOfGraphsSelected) + (intervalGraph === 1 ? 20 : 4)}\r\n /* barWidth={(intervalGraph === 1 && numOfGraphsSelected === 1) ? 60 : intervalGraph === 3 || (intervalGraph === 1 && numOfGraphsSelected > 1) ? 40 : (intervalGraph === 2 && numOfGraphsSelected > 1) ? 12 : 20} */\r\n cornerRadius={{ topRight: 4, topLeft: 4 }}\r\n style={{ data: { \r\n fill: ({ datum }) => (data.length === 1 && datum.y >= getMax(data) ? barStyles(theme)[2].data.fill : d?.value !== 'PREDICTION_ACTIVE_ENERGY' ? barStyles(theme)[i - Math.floor(i / barStyles(theme).length) * barStyles(theme).length].data.fill : '#F5FED6'), \r\n fillOpacity: d?.value !== 'PREDICTION_ACTIVE_ENERGY' ? 1 : 0.2,\r\n stroke: '#cefc34',\r\n strokeWidth: d?.value !== 'PREDICTION_ACTIVE_ENERGY' ? 0 : 1,\r\n strokeDasharray: 4\r\n } }}\r\n events={[\r\n {\r\n target: \"data\",\r\n eventHandlers: {\r\n onMouseOver: () => {\r\n track('Graphicbar hover', { Rank_ID: props.rankGraphId, Project_Type: props.activeServicesEnergy.map(function (service) { return service?.type?.name }) })\r\n return [\r\n {\r\n target: \"data\",\r\n mutation: () => ({ style: barStyles(theme)[barStyles(theme).length - 1].data })\r\n }\r\n ]\r\n },\r\n onMouseOut: () => {\r\n return [\r\n {\r\n target: \"data\",\r\n mutation: () => { },\r\n }\r\n ]\r\n },\r\n onClick: handleBarClick\r\n },\r\n },\r\n ]}\r\n />\r\n )) :\r\n data?.filter(item => item?.value !== 'IRRADIANCE').map((d, i) => (\r\n valueY?.y / maxNormalize[d?.value]}\r\n data={d.data.filter((item) => item?.x_sec >= domain.x[0] && item?.x_sec <= domain.x[1])}\r\n barRatio={10}\r\n barWidth={getBarWidth(intervalGraph, numOfGraphsSelected)}\r\n cornerRadius={{ topRight: 4, topLeft: 4 }}\r\n style={{ data: { fill: ({ datum }) => (data.length === 1 && datum.y >= getMax(data) ? barStyles(theme)[2].data.fill : barStyles(theme)[i - Math.floor(i / barStyles(theme).length) * barStyles(theme).length].data.fill) } }}\r\n events={[\r\n {\r\n target: \"data\",\r\n eventHandlers: {\r\n onMouseOver: () => {\r\n return [\r\n {\r\n target: \"data\",\r\n mutation: () => ({ style: barStyles(theme)[barStyles(theme).length - 1].data }),\r\n }\r\n ]\r\n },\r\n onMouseOut: () => {\r\n return [\r\n {\r\n target: \"data\",\r\n mutation: () => { },\r\n }\r\n ]\r\n },\r\n onClick: handleBarClick\r\n },\r\n },\r\n ]}\r\n />))\r\n }\r\n \r\n {props.activeGraphs.length && props.activeGraphs.includes('IRRADIANCE_GEN') ?\r\n {\r\n if (maxNormalize?.IRRADIANCE !== 0) {\r\n return d?.y / maxNormalize?.IRRADIANCE;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }}\r\n key={data?.filter(item => item?.value === 'IRRADIANCE')[0]?.id}\r\n interpolation={\"monotoneX\"}\r\n data={data?.filter(item => item?.value === 'IRRADIANCE')[0]?.data?.filter((item) => item?.x_sec >= domain.x[0] - 86400 && item?.x_sec <= domain.x[1] + 86400)}\r\n style={linearStyles(theme)[2]}\r\n dependentAxis\r\n />\r\n : null}\r\n {props.activeGraphs.length && props.activeGraphs.includes('IRRADIANCE_GEN') ?\r\n Math.round(x * 100 * maxNormalize?.IRRADIANCE / 100)}\r\n tickLabelComponent={}>}\r\n style={{ axis: { stroke: \"transparent\" }, grid: grid(theme), tickLabels: tickLabelsY(theme), axisLabel: { fontSize: 12, dx: graphContainerWidth - 40 } }}\r\n />\r\n : null}\r\n {\r\n if (props.activeGraphs?.includes('IRRADIANCE_GEN')) {\r\n return Math.round(x * 100 * maxNormalize?.GENERATION / 100)\r\n } else {\r\n return Math.round(x * 100) / 100;\r\n }\r\n }}\r\n tickLabelComponent={}>}\r\n style={{ axis: { stroke: \"transparent\" }, grid: grid(theme), tickLabels: tickLabelsY(theme), axisLabel: { fill: \"red\" } }}\r\n />\r\n item?.x_sec >= domain.x[0] && item?.x_sec <= domain.x[1]).map((item) => item.x_sec)} tickFormat={(x) => `${handlerFormatAxis(x, intervalGraph, props.language.language_locale)}`} style={{ tickLabels: tickLabelsX(theme), axis: { stroke: theme === 'dark' ? \"#ffffffa3\" : \"#141414a3\", opacity: 0.2 } }} />\r\n {domain && (intervalGraph === 1 || intervalGraph === 2) ? : null}\r\n {data.length === 1 && data[0]?.data.length && props.enableAverageLine ? : null}\r\n \r\n ) : (\r\n {\r\n setScrollActive(false)\r\n setDomain({ x: domainZoom.x })\r\n }}\r\n voronoiDimension=\"x\"\r\n labels={() => ` `}\r\n labelComponent={} />}\r\n />\r\n }>\r\n \r\n {!(props.activeGraphs.length && props.activeGraphs.includes('IRRADIANCE_GEN')) ?\r\n data.map((d, i) => (\r\n (item?.x_sec >= domain.x[0] - 7200 && item?.x_sec <= domain.x[1] + 7200) && !(item?.y === 0 && item?.x_sec >= (moment().startOf('day').valueOf() / 1000)))}\r\n style={d?.value !== 'PREDICTION_ACTIVE_ENERGY' ? linearStyles(theme)[i - Math.floor(i / linearStyles(theme).length) * linearStyles(theme).length] : \r\n {data: {stroke: '#f9fafb', strokeWidth: 1, fill: `url(#linearNeutralTransparent25)`, fillOpacity: 0.2, strokeDasharray: 3}}}\r\n />\r\n )) :\r\n data?.filter(item => item?.value !== 'IRRADIANCE').map((d, i) => (\r\n valueY?.y / maxNormalize?.GENERATION}\r\n data={d.data.filter((item) => item?.x_sec >= domain.x[0] && item?.x_sec <= domain.x[1])}\r\n barRatio={10}\r\n barWidth={getBarWidth(intervalGraph, numOfGraphsSelected)}\r\n cornerRadius={{ topRight: 4, topLeft: 4 }}\r\n style={{ data: { fill: ({ datum }) => (data.length === 1 && datum.y >= getMax(data) ? barStyles(theme)[2].data.fill : barStyles(theme)[i - Math.floor(i / barStyles(theme).length) * barStyles(theme).length].data.fill) } }}\r\n />))\r\n }\r\n \r\n {props.activeGraphs.length && props.activeGraphs.includes('IRRADIANCE_GEN') ?\r\n {\r\n if (maxNormalize?.IRRADIANCE !== 0) {\r\n return d?.y / maxNormalize?.IRRADIANCE;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }}\r\n key={data?.filter(item => item?.value === 'IRRADIANCE')[0]?.id}\r\n interpolation={\"monotoneX\"}\r\n data={data?.filter(item => item?.value === 'IRRADIANCE')[0]?.data?.filter((item) => item?.x_sec >= domain.x[0] && item?.x_sec <= domain.x[1])}\r\n style={linearStyles(theme)[1]}\r\n dependentAxis\r\n />\r\n : null}\r\n {props.activeGraphs.length && props.activeGraphs.includes('IRRADIANCE_GEN') ?\r\n Math.round(x * 100 * maxNormalize?.IRRADIANCE / 100)}\r\n tickLabelComponent={}>}\r\n style={{ axis: { stroke: \"transparent\" }, grid: grid(theme), tickLabels: tickLabelsY(theme), axisLabel: { fontSize: 12, dx: graphContainerWidth - 40 } }}\r\n />\r\n : null}\r\n {\r\n if (props.activeGraphs?.includes('IRRADIANCE_GEN')) {\r\n return Math.round(x * 100 * maxNormalize?.GENERATION / 100)\r\n } else if (props.activeGraphs?.includes('OPERATION_STATE')) {\r\n return formatOperationStateValue(x)\r\n } else {\r\n return Math.round(x * 100) / 100;\r\n }\r\n }}\r\n tickLabelComponent={}>}\r\n style={{ axis: { stroke: \"transparent\" }, grid: grid(theme), tickLabels: tickLabelsY(theme) }}\r\n />\r\n item?.x_sec >= domain.x[0] && item?.x_sec <= domain.x[1]).map((item) => item.x_sec)} tickFormat={(x) => `${handlerFormatAxis(x, intervalGraph, props.language.language_locale)}:00`} style={{ tickLabels: tickLabelsX(theme), axis: { stroke: theme === 'dark' ? \"#ffffffa3\" : \"#141414a3\", opacity: 0.2 } }} />\r\n {data.length === 1 && data[0]?.data.length && props.enableAverageLine ? : null}\r\n {!props.activeGraphs.includes('IRRADIANCE_GEN') && data.length && domain && data.map((d, i) => (\r\n !(item?.y === 0 && item?.x_sec >= (moment().startOf('day').valueOf() / 1000)))}\r\n style={linearStyles(theme)[i - Math.floor(i / linearStyles(theme).length) * linearStyles(theme).length]}\r\n valueData={d?.value}\r\n />\r\n ))}\r\n \r\n )}\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n intervalGraph: state.energy.intervalGraph,\r\n graphDateFrom: state.energy.graphDateFrom,\r\n graphDateTo: state.energy.graphDateTo,\r\n graphData: state.energy.graphData,\r\n showCalendar: state.shared.showCalendar,\r\n language: state.shared.language,\r\n enableScrollData: state.energy.enableScrollData,\r\n activeGraphs: state.energy.activeGraphs,\r\n scrollActive: state.energy.scrollActive,\r\n tariff: state.energy.tariff,\r\n showReportModal: state.energy.showReportModal,\r\n graphTypePicker: state.shared.startOnboarding.graph_type_picker,\r\n graphPeriodPicker: state.shared.startOnboarding.graph_period_picker,\r\n graphCalendarPicker: state.shared.startOnboarding.graph_calendar_picker,\r\n graphExportData: state.shared.startOnboarding.graph_export_data,\r\n controlledTypePicker: state.shared.controlledOnboarding.graph_type_picker,\r\n controlledPeriodPicker: state.shared.controlledOnboarding.graph_period_picker,\r\n controlledCalendarPicker: state.shared.controlledOnboarding.graph_calendar_picker,\r\n controlledExportPicker: state.shared.controlledOnboarding.graph_export_data,\r\n prevStateBar: state.energy.prevStateBar,\r\n enableAverageLine: state.energy.enableAverageLine,\r\n rankGraphId: state.energy.rankGraphId,\r\n showPulseAnimation: state.shared.showPulseAnimation,\r\n graphLoading: state.energy.graphLoading,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loadGraphAsync: (payload, type) => dispatch(energyActions.loadGraphAsync(payload, type)),\r\n setGraphDates: (payload) => dispatch(energyActions.setGraphDates(payload)),\r\n setShowBlackScreen: (payload) => dispatch(sharedActions.setShowBlackScreen(payload)),\r\n setShowCalendar: (payload) => dispatch(sharedActions.setShowCalendar(payload)),\r\n setShowReportModal: (payload) => dispatch(energyActions.setShowReportModal(payload)),\r\n setGraphActive: (payload) => dispatch(energyActions.setGraphActive(payload)),\r\n setScrollActive: (payload) => dispatch(energyActions.setScrollActive(payload)),\r\n setIntervalGraph: (payload) => dispatch(energyActions.setIntervalGraph(payload)),\r\n setControlledOnboarding: (payload) => dispatch(sharedActions.setControlledOnboarding(payload)),\r\n setStartOnboarding: (payload) => dispatch(sharedActions.setStartOnboarding(payload)),\r\n setDetailDataGraph: (payload) => dispatch(energyActions.setDetailDataGraph(payload)),\r\n setPrevStateBar: (payload) => dispatch(energyActions.setPrevStateBar(payload)),\r\n setShowPulseAnimation: (payload) => dispatch(sharedActions.setShowPulseAnimation(payload)),\r\n loadDetailService: (payload) => dispatch(energyActions.loadDetailService(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Graph)\r\n","import React from 'react';\r\nimport step1 from '../../../imgs/onboarding/step1-graph-type.png';\r\nimport step1En from '../../../imgs/onboarding/english/step1-graph-type-en.png';\r\nimport step2 from '../../../imgs/onboarding/step2-graph-type.png';\r\nimport step2En from '../../../imgs/onboarding/english/step2-graph-type-en.png';\r\nimport step3 from '../../../imgs/onboarding/step3-graph-type.png';\r\nimport step3En from '../../../imgs/onboarding/english/step3-graph-type-en.png';\r\nimport step4 from '../../../imgs/onboarding/step4-graph-type.png';\r\nimport step4En from '../../../imgs/onboarding/english/step4-graph-type-en.png';\r\n\r\nexport const stepsGraphType = (language) => {\r\n return ([\r\n {\r\n content:\r\n
\r\n \"step1-service-picker\"\r\n
,\r\n title: language.onboarding_graph_type_title_step1,\r\n description: language.onboarding_graph_type_description_step1,\r\n placement: \"right-start\",\r\n target: \"#graph_picker\",\r\n disableBeacon: true,\r\n steps: 4,\r\n },\r\n {\r\n content:\r\n
\r\n \"step2-service-picker\"\r\n
,\r\n title: language.onboarding_graph_type_title_step2,\r\n description: language.onboarding_graph_type_description_step2,\r\n placement: \"right-start\", \r\n target: \"#graph_picker\",\r\n disableBeacon: true,\r\n steps: 4,\r\n disableOverlayClose: true,\r\n spotlightClicks: true,\r\n hideFooter: true,\r\n hideFooterTitle: '¡Da click para descubrir cómo!',\r\n pulseEffect: true\r\n },\r\n {\r\n content:\r\n
\r\n \"step3-service-picker\"\r\n
,\r\n title: language.onboarding_graph_type_title_step3,\r\n description: language.onboarding_graph_type_description_step3,\r\n placement: \"right\", \r\n target: \"#graph_type_picker\",\r\n disableBeacon: true,\r\n steps: 4,\r\n disableOverlayClose: true,\r\n hideBackButton: true\r\n },\r\n {\r\n content:\r\n
\r\n \"step4-service-picker\"\r\n
,\r\n title: language.onboarding_graph_type_title_step4,\r\n description: language.onboarding_graph_type_description_step4,\r\n placement: \"right\", \r\n target: \"#graph_type_picker\",\r\n disableBeacon: true,\r\n steps: 4,\r\n disableOverlayClose: true,\r\n hideBackButton: true\r\n }\r\n ])\r\n};","import React from 'react'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { format } from 'date-fns';\r\nimport esLocale from 'date-fns/locale/es';\r\nimport enLocale from \"date-fns/locale/en-US\"\r\n\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport empty_card_bill from \"../../../imgs/empty-card-bill.svg\";\r\n\r\nconst Invoice = (props) => {\r\n\r\n let locale = props.language.language_locale === \"es\" ? esLocale : enLocale\r\n\r\n const { theme } = props;\r\n\r\n return (\r\n
\r\n {\r\n props.invoiceInfo ?\r\n \r\n
\r\n
\r\n \r\n

{props.language.energy_invoice_show_bills}

\r\n
\r\n

{format(new Date(props.invoiceInfo.year, props.invoiceInfo.month - 1, 1), \"MMMM yyyy\", { locale: locale })}

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

{props.invoiceInfo.total_payment}

\r\n {\r\n props.invoiceInfo.state ?\r\n
\r\n \r\n

{props.language.energy_invoice_state_paid}

\r\n
:\r\n
\r\n \r\n

{props.language.energy_invoice_state_to_pay}

\r\n
\r\n }\r\n
\r\n :\r\n
\r\n \"empty_card_bill\"\r\n
{props.language.energy_invoice_no_bills}
\r\n
\r\n }\r\n
)\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n invoiceInfo: state.energy.invoiceInfo,\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nexport default connect(mapStateToProps)(Invoice);","import * as notifications from \"../creators/Notifications\";\r\n\r\nimport { GETData, SETData } from \"../../services/WebServices\";\r\n\r\nexport const setNotifications = payload => {\r\n return {\r\n type: notifications.SET_NOTIFICATIONS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setNotificationsLoading = payload => {\r\n return {\r\n type: notifications.SET_NOTIFICATIONS_LOADING,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setNotificationsPagination = payload => {\r\n return {\r\n type: notifications.SET_NOTIFICATIONS_PAGINATION,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setTotalNotificationsInfo = payload => {\r\n return {\r\n type: notifications.SET_TOTAL_NOTIFICATIONS_INFO,\r\n payload,\r\n };\r\n};\r\n\r\nexport const loadNotificationsAsync = (type) => {\r\n return (dispatch, getState) => {\r\n\r\n dispatch(setNotificationsLoading(true));\r\n const notifications = getState().notifications.notifications; \r\n const page = getState().notifications.notificationsPagination || 1; \r\n\r\n const userId = getState().users.user.idUser; \r\n\r\n GETData(`notifications/${userId}?page=${page}&page_limit=10&all_registers=${true}`, \"GET\")\r\n .then(response => { \r\n if (response !== null){\r\n dispatch(setNotificationsPagination(response.pagination_info.next_page));\r\n dispatch(setNotifications([...notifications, ...response.data]));\r\n }\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setNotificationsLoading(false)));\r\n };\r\n\r\n};\r\n\r\nexport const loadTotalNotificationsAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const userId = getState().users.user.idUser; \r\n\r\n GETData(`notifications/count/${userId}`, \"GET\")\r\n .then(response => { \r\n if (response !== null){\r\n dispatch(setTotalNotificationsInfo(response));\r\n }\r\n })\r\n .catch(response => console.error(response));\r\n };\r\n\r\n};\r\n\r\nexport const deleteNotificationAsync = (id) => {\r\n return (dispatch, getState) => { \r\n\r\n const notifications = getState().notifications.notifications; \r\n\r\n GETData(`notifications/${id}`, \"DELETE\")\r\n .then(() => { \r\n\r\n let newNotifications = notifications.filter(item => item.id_register !== id);\r\n\r\n dispatch(setNotifications(newNotifications));\r\n\r\n })\r\n .catch(response => console.error(response));\r\n };\r\n \r\n};\r\n\r\nexport const updateNotificationAsync = (payload) => {\r\n return (dispatch, getState) => { \r\n\r\n let notifications = getState().notifications.notifications; \r\n\r\n SETData(`notifications/${payload.id}`, \"PUT\", payload)\r\n .then((response) => { \r\n\r\n notifications.forEach((notification) => {\r\n if (notification.id_register === response.id_register) {\r\n notification.read = response.read\r\n }\r\n });\r\n\r\n dispatch(setNotifications([...notifications])); \r\n\r\n })\r\n .catch(response => console.error(response));\r\n };\r\n \r\n};","import React from 'react'\r\n\r\nconst BackButton = ({ onClick, theme }) => {\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default BackButton","import React, { useState, useEffect } from \"react\";\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as themeActions from \"../../../store/actions/Theme\";\r\n\r\nconst MultipleSelect = ({ options, selectedData, label, keyName = 'value', labelName = 'label', onChange, width = 280, height = 120, language, disabledData, newData, allowAllOptions = false, labelAllServices, error, value, theme, singleSelect = false, }) => {\r\n\r\n const [active, setActive] = useState(false);\r\n const [selectedAllOptions, setSelectedAllOptions] = useState(false);\r\n\r\n let totalOptions = options.map((item) => { return item[keyName] });\r\n\r\n useEffect(() => {\r\n setSelectedAllOptions(totalOptions.length === selectedData.length);\r\n }, [selectedData, totalOptions]);\r\n\r\n return (\r\n \r\n {options.length ?\r\n
\r\n {allowAllOptions && !singleSelect && options.length > 1 ?\r\n
{ if (!selectedAllOptions) { onChange(totalOptions) } else { onChange([]) } }}>\r\n
{labelAllServices}
\r\n \r\n
: null\r\n }\r\n {options.map((item) => {\r\n\r\n let isSelected = selectedData.includes(item[keyName]);\r\n let isDisabled = false;\r\n let isNew = false;\r\n\r\n if (disabledData) isDisabled = disabledData.findIndex(i => i === item[keyName]) >= 0;\r\n\r\n if (newData) isNew = newData.findIndex(i => i === item[keyName]) >= 0;\r\n\r\n return
{\r\n if (singleSelect) {\r\n // Selección única\r\n onChange(isSelected ? [] : [item[keyName]]);\r\n } else {\r\n // Selección múltiple\r\n if (isSelected) {\r\n onChange(selectedData.filter(value => value !== item[keyName]));\r\n } else {\r\n !isDisabled && onChange([...selectedData, item[keyName]]);\r\n }\r\n }\r\n }}>\r\n
\r\n
\r\n
{language ? language[item[labelName]] : item[labelName]}
\r\n {isNew ?

{`[${language['genius_multipleselect_label_new_graphs']}]`}

: null}\r\n
\r\n {isSelected && }\r\n
\r\n
\r\n })}\r\n
: null\r\n }\r\n \r\n }>\r\n
\r\n
\r\n {label &&

{label}

}\r\n \r\n
\r\n {error ?

{error}

: null}\r\n
\r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => ({\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MultipleSelect)","import React, { useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Animation, Drawer, Alert, Loader } from \"rsuite\";\r\n\r\nimport Input from \"./utilities/Input\";\r\n\r\nimport { SETData } from \"../../services/WebServices\";\r\nimport BackButton from \"./utilities/BackButton\";\r\nimport MultipleSelect from \"./utilities/MultipleSelect\";\r\n\r\nconst isValidateEmail = (email) => {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\r\n};\r\n\r\nconst isValidUser = (user) => {\r\n if (user.name === null || user.name === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.lastname === null || user.lastname === \"\") {\r\n return false;\r\n }\r\n\r\n if (!isValidateEmail(user.email)) {\r\n return false;\r\n }\r\n\r\n if (user.phone === null || user.phone === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.address === null || user.address === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.idService === null || user.idService === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.ticketDescription === null || user.ticketDescription === \"\") {\r\n return false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst showError = (user, setFocus, setError, setShowPersonalData, language) => {\r\n if (user.name === null || user.name === \"\") {\r\n setFocus(1);\r\n setError(language.alert_user_popup_name);\r\n setShowPersonalData(true);\r\n return;\r\n }\r\n\r\n if (user.lastname === null || user.lastname === \"\") {\r\n setFocus(2);\r\n setError(language.alert_user_popup_lastname);\r\n setShowPersonalData(true);\r\n return;\r\n }\r\n\r\n if (!isValidateEmail(user.email)) {\r\n setFocus(3);\r\n setError(language.alert_user_popup_email);\r\n setShowPersonalData(true);\r\n return;\r\n }\r\n\r\n if (user.phone === null || user.phone === \"\") {\r\n setFocus(4);\r\n setError(language.alert_user_popup_phone);\r\n setShowPersonalData(true);\r\n return;\r\n }\r\n\r\n if (user.address === null || user.address === \"\") {\r\n setFocus(5);\r\n setError(language.alert_user_popup_address);\r\n setShowPersonalData(true);\r\n return;\r\n }\r\n\r\n if (user.idService === null || user.idService === \"\") {\r\n setFocus(9);\r\n setError(language.alert_support_popup_ticket_service);\r\n return;\r\n }\r\n\r\n if (user.ticketDescription === null || user.ticketDescription === \"\") {\r\n setFocus(8);\r\n setError(language.alert_support_popup_ticket_description);\r\n return;\r\n }\r\n\r\n return setFocus(0);\r\n};\r\n\r\nconst Support = (props) => {\r\n\r\n const initTicket = {\r\n idUser: props.user.idUser,\r\n idService: \"\",\r\n idDocument: props.user.idDocument,\r\n name: props.user.name,\r\n lastname: props.user.lastname,\r\n email: props.user.email,\r\n phone: props.user.phone,\r\n address: props.user.address,\r\n ticketDescription: \"\",\r\n file: \"\",\r\n };\r\n\r\n const [user, setUser] = useState(initTicket);\r\n const [isEnable, setEnable] = useState(false);\r\n const [personalData, setShowPersonalData] = useState(false);\r\n const [file, setFile] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [focus, setFocus] = useState(0);\r\n const [error, setError] = useState(\"\");\r\n\r\n let language = props.language;\r\n\r\n const { theme } = props;\r\n\r\n const handleDragOver = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n const files = e.dataTransfer.files;\r\n if (files.length) {\r\n setFile(files[0]);\r\n }\r\n };\r\n\r\n const handleSubmit = async e => {\r\n e.preventDefault()\r\n if (isEnable) {\r\n setLoading(true)\r\n\r\n const selectedService = props.totalServices.find(service => service.idService === parseInt(user.idService))\r\n const serviceType = selectedService.type.name\r\n let fileData = {}\r\n let errorFlag = false\r\n\r\n if (file !== null) {\r\n fileData = {\r\n fileName: `pqrs-files/Support-${Date.now()}-${file.name}`,\r\n bucket: \"neu-public\",\r\n contentType: file.type,\r\n }\r\n\r\n SETData(`web/support/upload`, \"POST\", fileData).then(response => {\r\n if (response.body) {\r\n const responseBody = JSON.parse(response.body)\r\n const signedUrl = responseBody.url\r\n\r\n fetch(signedUrl, {\r\n method: \"PUT\",\r\n headers: {\r\n \"Content-Type\": fileData.contentType,\r\n },\r\n body: file,\r\n }).then(response => {\r\n if (!response.ok) {\r\n console.error(\"Error en la carga de la imagen\", response)\r\n Alert.error(props.language.alert_submit_form_popup_failed, 6000)\r\n errorFlag = true\r\n }\r\n })\r\n } else {\r\n Alert.error(props.language.alert_submit_form_popup_failed, 6000)\r\n console.error(error)\r\n setLoading(false)\r\n errorFlag = true\r\n }\r\n })\r\n }\r\n\r\n if(errorFlag) return\r\n\r\n const dataZoho = {\r\n company: selectedService.name,\r\n clientType: \"Industrial o comercial\",\r\n name: user.name,\r\n lastname: user.lastname,\r\n phone: user.phone,\r\n email: user.email,\r\n ticketDescription: user.ticketDescription,\r\n channel: \"Platforms\",\r\n presignedUrl: file ? `https://neu-public.s3.sa-east-1.amazonaws.com/${fileData.fileName}` : null,\r\n type: serviceType === \"generation\" ? \"erco\" : \"neu\",\r\n }\r\n\r\n SETData(\"web/support/create\", \"POST\", dataZoho).then(response => {\r\n if (!response) {\r\n Alert.error(props.language.alert_submit_form_popup_failed, 6000)\r\n } else {\r\n const responseBody = JSON.parse(response.body)\r\n \r\n if (responseBody.message === \"Ticket created\") {\r\n props.setShowSupport(false)\r\n Alert.success(props.language.alert_support_popup_success, 7000)\r\n }\r\n }\r\n setLoading(false)\r\n setFile(null)\r\n setUser({ ...user, ticketDescription: \"\" })\r\n })\r\n } else {\r\n showError(user, setFocus, setError, setShowPersonalData, language)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setEnable(isValidUser(user));\r\n }, [setEnable, user]);\r\n\r\n useEffect(() => {\r\n if (props.totalServices.length === 1) {\r\n setUser((prevUser) => ({ ...prevUser, idService: props.totalServices[0].idService }));\r\n } else {\r\n setUser((prevUser) => ({ ...prevUser, idService: \"\" }));\r\n }\r\n }, [props.totalServices]);\r\n\r\n useEffect(() => {\r\n if (focus !== 0) { showError(user, setFocus, setError, setShowPersonalData, language) }\r\n }, [user, language, focus]);\r\n\r\n const optionsData = [{ name: props.language.support_select_placeholder, idService: \"\" }, ...props.totalServices]\r\n\r\n return (\r\n props.setShowSupport(false)}\r\n >\r\n
\r\n
\r\n props.setShowSupport(false)}>\r\n

{props.language.support_main_title_drawer}

\r\n
\r\n
\r\n
\r\n {props.language.support_main_description_drawer}\r\n
\r\n
\r\n
\r\n
\r\n { setShowPersonalData(!personalData); }}\r\n >\r\n
\r\n \r\n
{props.language.support_title_section_personal_data}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setUser({ ...user, name: target.value });\r\n }}\r\n error={focus === 1 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUser({ ...user, lastname: target.value });\r\n }}\r\n error={focus === 2 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUser({ ...user, email: target.value });\r\n }}\r\n error={focus === 3 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUser({ ...user, phone: target.value });\r\n }}\r\n error={focus === 4 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUser({ ...user, address: target.value });\r\n }}\r\n error={focus === 5 ? error : \"\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {console.log(data); setUser({ ...user, idService: data[0] })}} \r\n width={325}\r\n keyName='idService'\r\n labelName='name'\r\n label={'Servicio'}\r\n value={props.totalServices.length === 1 ? props.totalServices[0].name : optionsData.filter((option) => option.idService === user.idService)[0].name}\r\n />\r\n
\r\n
\r\n
\r\n setUser({ ...user, ticketDescription: target.value })}\r\n error={focus === 8 ? error : \"\"}\r\n placeholder={props.language.support_input_label_request_ticket}\r\n />\r\n
\r\n
{props.language.support_title_section_upload_file}
\r\n
\r\n {props.language.support_description_section_upload_file}\r\n
\r\n \r\n \r\n
\r\n

Arrastra aquí o selecciona el archivo.

\r\n {file ? (\r\n
\r\n

{file.name}

\r\n {\r\n setFile(null);\r\n }}>
\r\n
\r\n ) : (\r\n

Carga los documentos relacionados con este requerimiento

\r\n )}\r\n
\r\n document.getElementById('pqrFile').click()}>\r\n

Seleccionar documento

\r\n \r\n {\r\n const selectedFile = e.target.files[0];\r\n\r\n if (selectedFile) {\r\n setFile(selectedFile);\r\n e.target.value = null;\r\n }\r\n }} \r\n style={{ display: 'none' }} />\r\n \r\n \r\n {loading ? : props.language.support_button_label_send_form}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.users.user,\r\n language: state.shared.language,\r\n totalServices: state.services.totalServices,\r\n theme: state.theme.theme,\r\n});\r\n\r\nexport default connect(mapStateToProps)(Support);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport CurrencyFormat from 'react-currency-format';\r\n\r\nconst WalletCard = ({size = 'medium', ...props}) => {\r\n\r\n return (\r\n
\r\n
\r\n

Tu balance

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

\r\n \r\n

\r\n

NEUgets

\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n neugets: state.accounts.neugets\r\n});\r\n\r\nexport default connect(mapStateToProps)(WalletCard);","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as accountsActions from '../../store/actions/Accounts';\r\n\r\nimport { Drawer, Whisper, Tooltip } from 'rsuite';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faWhatsapp, faLinkedin, faFacebook } from '@fortawesome/free-brands-svg-icons';\r\nimport { faEnvelope } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport filePDF from '../../files/TyC+PLAN+DE+REFERIDOS+.pdf';\r\n\r\nimport {\r\n LinkedinShareButton,\r\n WhatsappShareButton,\r\n EmailShareButton,\r\n FacebookShareButton\r\n} from \"react-share\";\r\n\r\nimport WalletCard from './WalletCard';\r\nimport BackButton from './utilities/BackButton';\r\n\r\nconst Neugets = (props) => {\r\n\r\n let codeReferred = props.codeReferred;\r\n let account = props.account;\r\n const getCodeReferredByAccountAsync = props.getCodeReferredByAccountAsync;\r\n\r\n useEffect(() => {\r\n if (account !== null)\r\n getCodeReferredByAccountAsync();\r\n }, [account, getCodeReferredByAccountAsync]);\r\n\r\n const codeMessage = props.language.neugets_text_share_code_message !== undefined && codeReferred ?\r\n props.language.neugets_text_share_code_message.replace(\"#code#\", codeReferred.codeReferred).split('\\\\n').join(' ') : null;\r\n\r\n return (\r\n props.setShowNeugets(false)}>\r\n
\r\n
\r\n
\r\n
\r\n props.setShowNeugets(false)}>\r\n

{props.language.neugets_drawer_main_title}

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

{props.language.neugets_drawer_text_neugets_description}

\r\n
\r\n

{props.language.neugets_drawer_text_use_neugets}

\r\n

{props.language.neugets_drawer_text_get_neugets}

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

{props.language.neugets_drawer_text_share_referral_code}

\r\n {codeReferred &&\r\n
\r\n
{codeReferred.codeReferral}
\r\n {props.language.neugets_tooltip_copy_code}}>\r\n navigator.clipboard.writeText(codeReferred.codeReferral)}>\r\n \r\n
}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n codeReferred: state.accounts.codeReferred,\r\n account: state.accounts.account\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCodeReferredByAccountAsync: () => dispatch(accountsActions.getCodeReferredByAccountAsync())\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Neugets);","import * as alerts from \"../creators/Alerts\";\r\nimport * as notifications from \"./Notifications\";\r\n\r\nimport { GETData, SETData } from \"../../services/WebServices\";\r\n\r\nimport { Alert } from 'rsuite';\r\n\r\nexport const setAlerts = payload => {\r\n return {\r\n type: alerts.SET_ALERTS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setAlertsLoading = payload => {\r\n return {\r\n type: alerts.SET_ALERTS_LOADING,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setAlertRegisters = payload => {\r\n return {\r\n type: alerts.SET_ALERT_REGISTERS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setAlertRegistersPagination = payload => {\r\n return {\r\n type: alerts.SET_ALERT_REGISTERS_PAGINATION,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setShowDrawerAlerts = payload => {\r\n return {\r\n type: alerts.SET_SHOW_DRAWER_ALERTS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const loadAlertsAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n dispatch(setAlertsLoading(true));\r\n\r\n const userId = getState().users.user.idUser;\r\n\r\n GETData(`alerts/${userId}?page_limit=20`, \"GET\")\r\n .then(response => {\r\n if (response !== null) {\r\n dispatch(setAlerts(response.data));\r\n } else {\r\n dispatch(setAlerts([]));\r\n }\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setAlertsLoading(false)));\r\n };\r\n\r\n};\r\n\r\n\r\nexport const createAlertAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n const userId = getState().users.user.idUser;\r\n const language = getState().shared.language;\r\n let fromHour = payload?.intervalTime?.fromHour;\r\n let toHour = payload?.intervalTime?.toHour;\r\n fromHour = payload?.intervalTime?.fromPartOfDay === 'pm' ? String(parseInt(fromHour) + 12) : fromHour;\r\n toHour = payload?.intervalTime?.toPartOfDay === 'pm' ? String(parseInt(toHour) + 12) : toHour;\r\n\r\n const parameters = {\r\n id_graph: payload?.graphIds[0],\r\n id_alert_type: payload?.condition[0],\r\n value: payload?.value,\r\n id_user: userId,\r\n alert_name: payload?.name,\r\n id_frequency: payload?.intervalTime?.intervalIds[0],\r\n start_hour: fromHour + \":\" + payload?.intervalTime?.fromMinutes + \":00\",\r\n end_hour: toHour + \":\" + payload?.intervalTime?.toMinutes + \":00\",\r\n active_week_days: payload?.intervalTime?.dayIds,\r\n id_channels: payload?.channelIds,\r\n id_services: payload?.serviceIds,\r\n timing_plus: payload?.intervalTime?.timingPlus,\r\n }\r\n\r\n SETData(`alerts`, \"POST\", parameters)\r\n .then((response) => {\r\n if (response !== null) {\r\n Alert.success(language.alerts_messager_alert_create_success, 8000);\r\n } else\r\n Alert.error(language.alerts_messager_alert_create_error, 8000);\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(loadAlertsAsync()));\r\n\r\n }\r\n}\r\n\r\n\r\nexport const editAlertAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n const language = getState().shared.language;\r\n let fromHour = payload?.intervalTime?.fromHour;\r\n let toHour = payload?.intervalTime?.toHour;\r\n fromHour = payload?.intervalTime?.fromPartOfDay === 'pm' ? String(parseInt(fromHour) + 12) : fromHour;\r\n toHour = payload?.intervalTime?.toPartOfDay === 'pm' ? String(parseInt(toHour) + 12) : toHour;\r\n\r\n const parameters = {\r\n id_graph: payload?.graphIds[0],\r\n id_alert_type: payload?.condition[0],\r\n value: payload?.value,\r\n alert_name: payload?.name,\r\n id_frequency: payload?.intervalTime?.intervalIds[0],\r\n start_hour: fromHour + \":\" + payload?.intervalTime?.fromMinutes + \":00\",\r\n end_hour: toHour + \":\" + payload?.intervalTime?.toMinutes + \":00\",\r\n active_week_days: payload?.intervalTime?.dayIds,\r\n id_channels: payload?.channelIds,\r\n id_services: payload?.serviceIds\r\n }\r\n\r\n SETData(`alerts/${payload?.idAlert}`, \"PATCH\", parameters)\r\n .then((response) => {\r\n if (response !== null) {\r\n Alert.success(language.alerts_messager_alert_edit_success, 6000);\r\n } else\r\n Alert.error(language.alerts_messager_alert_edit_error, 8000);\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(loadAlertsAsync()));\r\n\r\n }\r\n}\r\n\r\nexport const deleteAlertAsync = (id) => {\r\n return (dispatch, getState) => {\r\n const language = getState().shared.language;\r\n GETData(`alerts/${id}`, \"DELETE\")\r\n .then((_response) => {\r\n Alert.success(language.alerts_messager_alert_delete_success, 6000);\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(loadAlertsAsync()));;\r\n };\r\n\r\n};\r\n\r\nexport const loadAlertRegistersAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n dispatch(notifications.setNotificationsLoading(true));\r\n\r\n const alerts = getState().alerts.alertRegisters;\r\n const page = getState().alerts.alertRegistersPagination || 1;\r\n\r\n const userId = getState().users.user.idUser;\r\n\r\n GETData(`notifications/${userId}?page=${page}&page_limit=10&all_registers=${false}`, \"GET\")\r\n .then(response => {\r\n if (response !== null) {\r\n dispatch(setAlertRegistersPagination(response.pagination_info.next_page));\r\n dispatch(setAlertRegisters([...alerts, ...response.data]));\r\n }\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(notifications.setNotificationsLoading(false)));\r\n };\r\n\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as sharedActions from '../../store/actions/Shared';\r\nimport * as notificationsActions from '../../store/actions/Notifications';\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst PopoverNotifications = (props) => { \r\n\r\n let notification = props.notification;\r\n let theme = props.theme\r\n\r\n const [focus, setFocus] = useState(false); \r\n const [show, setShow] = useState(false); \r\n\r\n const handlerClose = (state) => {\r\n setShow(state);\r\n props.setShowBlackScreenDrawer(state);\r\n setFocus(state); \r\n show && track('Notification opened', {Notification_ID: notification?.category})\r\n }\r\n\r\n return (\r\n {handlerClose(state)}}\r\n withArrow={false} \r\n content={\r\n
\r\n
{\r\n handlerClose(false);\r\n props.updateNotificationAsync({\r\n id: notification.id,\r\n read: !notification.read\r\n })\r\n }}>\r\n
\r\n \r\n
\r\n

{notification.read ? props.language.notifications_notification_set_unread : props.language.notifications_notification_set_read}

\r\n
\r\n
{\r\n handlerClose(false);\r\n props.setVisualization(false);\r\n props.deleteNotificationAsync(notification.id)\r\n }}>\r\n
\r\n \r\n
\r\n

{props.language.notifications_notification_delete}

\r\n
\r\n
\r\n }>\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({ \r\n language: state.shared.language,\r\n notification: ownProps.notification,\r\n setVisualization: ownProps.setVisualization,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({ \r\n setShowBlackScreenDrawer: (payload) => dispatch(sharedActions.setShowBlackScreenDrawer(payload)),\r\n deleteNotificationAsync: (payload) => dispatch(notificationsActions.deleteNotificationAsync(payload)),\r\n updateNotificationAsync: (payload) => dispatch(notificationsActions.updateNotificationAsync(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PopoverNotifications);","import React, { useState, useRef } from \"react\";\r\n\r\nimport { replaceTextValues } from \"../../services/NotificationsHandler\";\r\n\r\nimport moment from \"moment\";\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { fal } from '@fortawesome/pro-light-svg-icons';\r\n\r\nimport { slideOutRight } from 'react-animations';\r\n\r\nimport Radium, { StyleRoot } from 'radium';\r\n\r\nimport PopoverNotifications from \"./PopoverNotifications\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst styles = {\r\n slideOutRight: {\r\n animation: 'x 0.25s',\r\n animationName: Radium.keyframes(slideOutRight, 'slideOutRight')\r\n }\r\n}\r\n\r\nconst NotificationBox = (props) => {\r\n\r\n const { id_register, title, body, values, icon, color, timestamp, read, deeplink } = props.notification;\r\n const { theme } = props;\r\n\r\n const [isShown, setVisualization] = useState(true);\r\n const [category, setCategory] = useState('');\r\n \r\n const hasHovered = useRef(false);\r\n\r\n const colorThemeMap = {\r\n \"#cefc34\": { dark: \"#9ecc14\", light: \"#7da60c\" },\r\n \"#ffaa00\": { dark: \"#f97316\", light: \"#ea580c\" },\r\n \"#00b7d3\": { dark: \"#00b7d3\", light: \"#0396b7\" },\r\n };\r\n\r\n const getThemeColor = (color, theme) => {\r\n return colorThemeMap[color]?.[theme] || color;\r\n };\r\n\r\n const handleHover = () => {\r\n if (!hasHovered.current) { \r\n hasHovered.current = true; \r\n\r\n switch (icon) {\r\n case 'faCircleInfo':\r\n setCategory('information')\r\n break\r\n case 'faTriangleExclamation':\r\n setCategory('warning')\r\n break\r\n case 'faSquareExclamation':\r\n setCategory('alert')\r\n break\r\n case 'faShieldCheck':\r\n setCategory('success')\r\n break\r\n default:\r\n break\r\n }\r\n\r\n track('Notification hover', { Notification_ID: category });\r\n }\r\n };\r\n\r\n const handleLeave = () => { \r\n hasHovered.current = false;\r\n };\r\n\r\n return (\r\n \r\n\r\n );\r\n};\r\n\r\nexport default NotificationBox;\r\n","import React, {Fragment} from \"react\";\r\n\r\nexport const replaceTextValues = (text, values) => {\r\n \r\n for (let key in values) {\r\n let value = values[key.toLowerCase()];\r\n text = text.replace(\"{{\" + key.toLowerCase() + \"}}\", value);\r\n }\r\n text = text.split('\\n');\r\n\r\n return {text.map(value => {value}
)}
;\r\n\r\n}\r\n\r\n","import React from 'react';\r\n\r\nconst CheckPicker = ({options, labelName, selectedData, keyName, onChange, plusSelected = false, theme, backgroundColor = 'surface-bg-surface', border = false, padding = 'p-3'}) => {\r\n return
\r\n {options?.length && options.map((item, index) => { \r\n let isSelected = selectedData.includes(item[keyName]); \r\n return
{ \r\n if(isSelected){\r\n onChange(selectedData.filter(value => value !== item[keyName])); \r\n }else{ \r\n if (plusSelected || (!plusSelected && !('plus' in item || 'id_device' in item))) onChange([...selectedData, item[keyName]]); \r\n }\r\n }}\r\n >\r\n
\r\n {'plus' in item || 'id_device' in item ? \r\n
\r\n {item[labelName]}\r\n
\r\n

Plus

\r\n
\r\n
:\r\n
{item[labelName]}
} \r\n \r\n
\r\n
\r\n })} \r\n
\r\n \r\n};\r\n\r\nexport default CheckPicker;","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Drawer } from 'rsuite';\r\n\r\nimport _ from 'lodash';\r\n\r\nimport CheckPicker from '../shared/utilities/CheckPicker';\r\nimport BackButton from '../shared/utilities/BackButton';\r\n\r\nconst days = language => [\r\n {\r\n id_day: 1,\r\n label: language.alerts_select_days_monday\r\n },\r\n {\r\n id_day: 2,\r\n label: language.alerts_select_days_tuesday\r\n },\r\n {\r\n id_day: 3,\r\n label: language.alerts_select_days_wednesday\r\n },\r\n {\r\n id_day: 4,\r\n label: language.alerts_select_days_thursday\r\n },\r\n {\r\n id_day: 5,\r\n label: language.alerts_select_days_friday\r\n },\r\n {\r\n id_day: 6,\r\n label: language.alerts_select_days_saturday\r\n },\r\n {\r\n id_day: 7,\r\n label: language.alerts_select_days_sunday\r\n },\r\n];\r\n\r\nconst checkTimePlus = language => [\r\n {\r\n minutes: 1,\r\n label: language.alerts_select_check_one_minute\r\n },\r\n {\r\n minutes: 5,\r\n label: language.alerts_select_check_five_minute\r\n },\r\n {\r\n minutes: 10,\r\n label: language.alerts_select_check_ten_minute\r\n },\r\n {\r\n minutes: 15,\r\n label: language.alerts_select_check_fifteen_minute\r\n },\r\n];\r\n\r\nconst intervals = language => [\r\n {\r\n id_interval: 4,\r\n label: language.alerts_select_interval_secondBySecond,\r\n plus: true\r\n },\r\n {\r\n id_interval: 0,\r\n label: language.alerts_select_interval_hourly\r\n },\r\n {\r\n id_interval: 1,\r\n label: language.alerts_select_interval_daily\r\n },\r\n {\r\n id_interval: 2,\r\n label: language.alerts_select_interval_weekly\r\n },\r\n {\r\n id_interval: 3,\r\n label: language.alerts_select_interval_monthly\r\n }\r\n];\r\n\r\nconst IntervalTime = (props) => {\r\n\r\n const initAlertTime = {\r\n dayIds: [],\r\n fromHour: \"00\",\r\n fromMinutes: \"00\",\r\n fromPartOfDay: 'am',\r\n toHour: \"11\",\r\n toMinutes: \"59\",\r\n toPartOfDay: 'pm',\r\n intervalIds: [],\r\n dates: [],\r\n timingPlus: -1,\r\n }\r\n\r\n const [alertTime, setAlertTime] = useState(initAlertTime);\r\n const [showTimePlus, setShowTimePlus] = useState(false);\r\n\r\n const theme = props.theme\r\n\r\n useEffect(() => {\r\n if (props.intervalTime) setAlertTime(props.intervalTime);\r\n }, [props.intervalTime])\r\n\r\n useEffect(() => {\r\n if (alertTime.intervalIds.length) {\r\n if (alertTime.intervalIds[0] === 4) {\r\n setShowTimePlus(true)\r\n }\r\n else {\r\n setShowTimePlus(false)\r\n };\r\n }\r\n }, [alertTime])\r\n\r\n const format = (value, hour) => {\r\n value = parseInt(value, 10);\r\n value = value < 0 && hour ? 0 : value > 12 && hour ? 12 : value;\r\n value = value < 0 && !hour ? 0 : value > 59 && !hour ? 59 : value;\r\n value = value < 10 ? '0' + String(value) : String(value);\r\n return value;\r\n }\r\n\r\n const RenderDays = ({ options, labelName, selectedData, keyName, onChange }) => {\r\n return (\r\n
\r\n {options.length && options.map((item, index) => {\r\n let isSelected = selectedData.includes(item[keyName]);\r\n return \r\n })}\r\n
\r\n )\r\n }\r\n\r\n const RenderTiming = ({ options, labelName, selectedData, keyName, onChange }) => {\r\n return (\r\n
\r\n {options.length && options.map((item, index) => {\r\n let isSelected = selectedData === item[keyName];\r\n return \r\n })}\r\n
\r\n )\r\n }\r\n\r\n return (\r\n { props.setShowPeriodAlert(false) }}>\r\n
\r\n
\r\n
\r\n props.setShowPeriodAlert(false)}>\r\n
\r\n

{props.language.alerts_title_interval_time}

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

{props.language.alerts_interval_time_body_frequency}

\r\n
\r\n { setAlertTime({ ...alertTime, intervalIds: [_.last(value)] }) }}\r\n plusSelected={props.plusSelected}\r\n theme={theme}\r\n backgroundColor='surface-bg-on-surface-alpha'\r\n border={true}\r\n />\r\n
\r\n {showTimePlus ?\r\n
\r\n

{props.language.alerts_interval_time_title_plus_check}

\r\n { setAlertTime({ ...alertTime, timingPlus: value }) }}\r\n />\r\n
: null}\r\n
\r\n

{props.language.alerts_interval_time_title_days}

\r\n { setAlertTime({ ...alertTime, dayIds: value }) }}\r\n />\r\n
\r\n

{props.language.alerts_interval_time_title_range}

\r\n

{props.language.alerts_interval_time_title_body}

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

{props.language.alerts_title_initial_time}

\r\n
\r\n \r\n { setAlertTime({ ...alertTime, fromHour: format(target.value, true) }) }} />\r\n

:

\r\n { setAlertTime({ ...alertTime, fromMinutes: format(target.value, false) }) }} />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{props.language.alerts_title_final_time}

\r\n
\r\n \r\n { setAlertTime({ ...alertTime, toHour: format(target.value, true) }) }} />\r\n

:

\r\n { setAlertTime({ ...alertTime, toMinutes: format(target.value, false) }) }} />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n { props.onChange(alertTime); props.setShowPeriodAlert(false) }}>\r\n Guardar intervalo\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(IntervalTime);","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Drawer, Animation } from 'rsuite';\r\n\r\nimport IntervalTime from './IntervalTime';\r\nimport Input from '../shared/utilities/Input';\r\nimport CheckPicker from '../shared/utilities/CheckPicker';\r\n\r\nimport * as alertsActions from '../../store/actions/Alerts';\r\nimport * as sharedActions from '../../store/actions/Shared';\r\n\r\nimport _ from 'lodash';\r\nimport { track } from \"@amplitude/analytics-browser\";\r\nimport BackButton from '../shared/utilities/BackButton';\r\n\r\nconst conditions = language => [\r\n {\r\n id_condition: 0,\r\n label: language.alerts_condition_greater_than\r\n },\r\n {\r\n id_condition: 2,\r\n label: language.alerts_condition_same_as\r\n },\r\n {\r\n id_condition: 1,\r\n label: language.alerts_condition_less_than\r\n },\r\n];\r\n\r\nconst channels = language => [\r\n {\r\n id_channel: 1,\r\n label: language.alerts_channel_email,\r\n eventProperty: 'Mail_Alert'\r\n },\r\n {\r\n id_channel: 3,\r\n label: language.alerts_channel_text_message,\r\n eventProperty: 'Msm_Alert'\r\n },\r\n {\r\n id_channel: 2,\r\n label: language.alerts_channel_notification,\r\n eventProperty: 'Notification_Alert'\r\n },\r\n];\r\n\r\nconst days = language => [\r\n {\r\n id_day: 1,\r\n label: language.alerts_select_days_monday,\r\n eventProperty: 'Monday_Interval'\r\n },\r\n {\r\n id_day: 2,\r\n label: language.alerts_select_days_tuesday,\r\n eventProperty: 'Tuesday_Interval'\r\n },\r\n {\r\n id_day: 3,\r\n label: language.alerts_select_days_wednesday,\r\n eventProperty: 'Wednesday_Interval'\r\n },\r\n {\r\n id_day: 4,\r\n label: language.alerts_select_days_thursday,\r\n eventProperty: 'Thursday_Interval'\r\n },\r\n {\r\n id_day: 5,\r\n label: language.alerts_select_days_friday,\r\n eventProperty: 'Friday_Interval'\r\n },\r\n {\r\n id_day: 6,\r\n label: language.alerts_select_days_saturday,\r\n eventProperty: 'Saturday_Interval'\r\n },\r\n {\r\n id_day: 7,\r\n label: language.alerts_select_days_sunday,\r\n eventProperty: 'Sunday_Interval'\r\n },\r\n];\r\n\r\nconst intervals = language => [\r\n {\r\n id_interval: 4,\r\n label: language.alerts_select_interval_secondBySecond,\r\n eventProperty: 'SecondBySecond_Interval'\r\n },\r\n {\r\n id_interval: 0,\r\n label: language.alerts_select_interval_hourly,\r\n eventProperty: 'Hourly_Interval'\r\n },\r\n {\r\n id_interval: 1,\r\n label: language.alerts_select_interval_daily,\r\n eventProperty: 'Daily_Interval'\r\n },\r\n {\r\n id_interval: 2,\r\n label: language.alerts_select_interval_weekly,\r\n eventProperty: 'Weekly_Interval'\r\n },\r\n {\r\n id_interval: 3,\r\n label: language.alerts_select_interval_monthly,\r\n eventProperty: 'Monthly_Interval'\r\n }\r\n];\r\n\r\nconst combinedArray = (array1, array2) => {\r\n const newArray = array1.map(item1 => {\r\n const match = array2.find(item2 => \r\n item2.id_service === item1?.idService && item2?.id_infrastructure === 2\r\n );\r\n if (match) {\r\n return {\r\n ...item1,\r\n id_device: match?.id_device\r\n };\r\n }\r\n return item1;\r\n });\r\n return newArray;\r\n};\r\n\r\nconst Alerts = (props) => {\r\n\r\n const initAlert = {\r\n idAlert: null,\r\n name: null,\r\n serviceIds: [],\r\n graphIds: [],\r\n condition: [],\r\n value: null,\r\n channelIds: [],\r\n intervalTime: null,\r\n }\r\n\r\n const [alert, setAlert] = useState(initAlert);\r\n const [activeService, setActiveService] = useState(false);\r\n const [activeVariable, setActiveVariable] = useState(false);\r\n const [activeRule, setActiveRule] = useState(false);\r\n const [activeValue, setActiveValue] = useState(false);\r\n const [activeChannel, setActiveChannel] = useState(false);\r\n const [showAlertPeriod, setShowPeriodAlert] = useState(false);\r\n const [alertProperty, setAlertProperty] = useState({ Variable_ID: '', Alert_Type: '', Project_Quantity: 0, Interval_ID: '', Interval_Day: '' })\r\n const [searchTerm, setSearchTerm] = useState('');\r\n\r\n let showNewAlert = props.showNewAlert;\r\n let newAlert = props.newAlert;\r\n let graphs = props.graphs;\r\n let language = props.language;\r\n let theme = props.theme;\r\n\r\n const setControlledOnboarding = props.setControlledOnboarding;\r\n\r\n useEffect(() => {\r\n if (showNewAlert && newAlert) {\r\n setControlledOnboarding({ key: 'new_alert', value: true })\r\n } else {\r\n setControlledOnboarding({ key: 'new_alert', value: false })\r\n }\r\n }, [showNewAlert, setControlledOnboarding, newAlert])\r\n\r\n useEffect(() => {\r\n if (props.alertSelected) {\r\n\r\n const fromHour = parseInt(props.alertSelected?.start_hour?.split(':')[0]);\r\n const fromHourFormated = fromHour > 12 ? fromHour - 12 : fromHour;\r\n const toHour = parseInt(props.alertSelected?.end_hour?.split(':')[0]);\r\n const toHourFormated = toHour > 12 ? toHour - 12 : toHour;\r\n\r\n const alertTime = {\r\n dayIds: props.alertSelected?.active_week_days,\r\n fromHour: fromHourFormated < 10 ? '0' + String(fromHourFormated) : String(fromHourFormated),\r\n fromMinutes: props.alertSelected?.start_hour?.split(':')[1],\r\n fromPartOfDay: fromHour > 12 ? 'pm' : 'am',\r\n toHour: toHourFormated < 10 ? '0' + String(toHourFormated) : String(toHourFormated),\r\n toMinutes: props.alertSelected?.end_hour?.split(':')[1],\r\n toPartOfDay: toHour > 12 ? 'pm' : 'am',\r\n intervalIds: [props.alertSelected?.id_frequency],\r\n dates: []\r\n }\r\n\r\n setAlert({\r\n ...alert, idAlert: props.alertSelected?.id_alert,\r\n name: props.alertSelected?.alert_name,\r\n serviceIds: props.alertSelected?.services?.map(item => item?.id),\r\n graphIds: [props.alertSelected?.id_graph],\r\n condition: [props.alertSelected?.id_alert_type],\r\n value: props.alertSelected?.value,\r\n channelIds: props.alertSelected?.channels.map(item => item?.id),\r\n intervalTime: alertTime\r\n })\r\n }\r\n // eslint-disable-next-line\r\n }, [props.alertSelected]);\r\n\r\n\r\n const formatLabel = (array1, array2, keyName, labelName) => {\r\n\r\n let array3 = array1.map(x => array2.filter(y => y[keyName] === x))\r\n .flat()\r\n\r\n return array3.map((s, index) => {\r\n if (index === array3.length - 1) {\r\n return `${s[labelName]}. `;\r\n } else {\r\n return `${s[labelName]}, `;\r\n }\r\n\r\n }).join(\"\");\r\n }\r\n\r\n const formatAmplitudeEvent = (array1, array2, keyName, labelName) => {\r\n\r\n let array3 = array1.map(x => array2.filter(y => y[keyName] === x))\r\n .flat()\r\n\r\n return array3.map((s, index) => {\r\n return s[labelName]\r\n });\r\n }\r\n\r\n const validateSecondBySecond = () => {\r\n const servicesPlus = combinedArray(props.totalServices, props.devices)?.filter(item => 'id_device' in item);\r\n const servicesSelectedPlus = servicesPlus?.filter(item => alert?.serviceIds?.includes(item?.idService));\r\n const idsGraphsPlus = [29,30,7,8];\r\n return servicesSelectedPlus.length && idsGraphsPlus?.filter(item => alert?.graphIds?.includes(item))?.length\r\n }\r\n\r\n const validatePlus = graphs => {\r\n const servicesPlus = combinedArray(props.totalServices, props.devices)?.filter(item => 'id_device' in item);\r\n const servicesSelectedPlus = servicesPlus?.filter(item => alert?.serviceIds?.includes(item?.idService))\r\n const idsGraphsPlus = [29,30,7,8];\r\n if (servicesSelectedPlus.length){\r\n let plusGraphs = graphs?.filter(item => idsGraphsPlus?.includes(item?.id_graph));\r\n plusGraphs = plusGraphs?.map(item => { return {...item, plus: true}});\r\n const energyGraphs = graphs?.filter(item => item?.id_graph <= 8);\r\n return [...plusGraphs, ...energyGraphs]\r\n }\r\n else{\r\n return graphs\r\n }\r\n }\r\n\r\n const translatedGraphs = props.graphs && props.graphs.options.map((_graph) => {\r\n const labelTranslation = props.language[`energy_graph_label_${_graph.value.toLowerCase()}`]\r\n\r\n return {\r\n ..._graph,\r\n labelTranslation: labelTranslation,\r\n }\r\n })\r\n\r\n const formatGraphLabel = () => {\r\n if (!translatedGraphs) return\r\n\r\n const graphSelected = translatedGraphs.filter((graph) => graph.id_graph === alert.graphIds[0])\r\n return graphSelected[0]?.labelTranslation\r\n }\r\n\r\n useEffect(() => {\r\n if (alert.serviceIds.length) { setAlertProperty(prevState => ({ ...prevState, Project_Quantity: alert.serviceIds.length })) }\r\n if (alert.graphIds.length) { setAlertProperty(prevState => ({ ...prevState, Variable_ID: graphs.options.filter(g => g.id_graph === alert.graphIds[0])[0]?.value })) }\r\n if (alert.channelIds.length) { setAlertProperty(prevState => ({ ...prevState, Alert_Type: formatAmplitudeEvent(alert.channelIds, channels(language), 'id_channel', 'eventProperty') })) }\r\n if (alert.intervalTime?.intervalIds.length) { setAlertProperty(prevState => ({ ...prevState, Interval_ID: formatAmplitudeEvent(alert.intervalTime.intervalIds, intervals(language), 'id_interval', 'eventProperty') })) }\r\n if (alert.intervalTime?.dayIds.length) { setAlertProperty(prevState => ({ ...prevState, Interval_Day: formatAmplitudeEvent(alert.intervalTime.dayIds, days(language), 'id_day', 'eventProperty') })) }\r\n }, [alert, setAlertProperty, graphs, language])\r\n\r\n\r\n const handleClose = () => {\r\n props.setShowNewAlert(false)\r\n props.setAlertSelected(null)\r\n props.setEditAlert(false)\r\n setAlert(initAlert)\r\n }\r\n\r\n const filteredServices = combinedArray(\r\n props.totalServices.filter(service =>\r\n service.name.toLowerCase().includes(searchTerm.toLowerCase())\r\n ),\r\n props.devices\r\n );\r\n\r\n const groupedServices = _.groupBy(filteredServices, (service) => service.account?.idAccount || 'Sin cuenta');\r\n\r\n const toggleSelectAllServicesByAccount = (services) => {\r\n const accountServiceIds = services.map(service => service.idService);\r\n const areAllSelected = accountServiceIds.every(id => alert.serviceIds.includes(id));\r\n\r\n setAlert({\r\n ...alert,\r\n serviceIds: areAllSelected\r\n ? alert.serviceIds.filter(id => !accountServiceIds.includes(id)) \r\n : [...alert.serviceIds, ...accountServiceIds], \r\n });\r\n };\r\n\r\n return (\r\n handleClose()}>\r\n
\r\n
\r\n
\r\n handleClose()}>\r\n
\r\n

{props.alertSelected && props.editAlert ? props.language.alerts_label_title_edit_alert : props.language.alerts_label_title_new_alert}

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

{props.language.alerts_label_body_new_alert}

\r\n
\r\n
\r\n {\r\n setAlert({ ...alert, name: target.value })\r\n }}\r\n />\r\n
\r\n
\r\n
setActiveService(!activeService)}>\r\n
\r\n
\r\n \r\n
\r\n

{alert.serviceIds.length ? language.alerts_new_alert_service_item : language.alerts_new_alert_service_label}

\r\n

{alert.serviceIds.length ? formatLabel(alert.serviceIds, props.totalServices, 'idService', 'name') : language.alerts_new_alert_service_example}

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {Object.entries(groupedServices).map(([accountId, services]) => (\r\n
\r\n {/* Encabezado de la cuenta */}\r\n
\r\n

\r\n {services[0]?.account?.name || 'Sin cuenta'}\r\n

\r\n toggleSelectAllServicesByAccount(services)}\r\n >\r\n {services.every(service => alert.serviceIds.includes(service.idService))\r\n ? 'Deseleccionar todos'\r\n : 'Seleccionar todos'}\r\n

\r\n
\r\n {/* Listado de servicios */}\r\n setAlert({ ...alert, serviceIds: value })}\r\n theme={theme}\r\n padding='py-3 ps-3 pe-1'\r\n />\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
setActiveVariable(!activeVariable)}>\r\n
\r\n
\r\n \r\n
\r\n

{alert.graphIds.length ? language.alerts_new_alert_variable_item : language.alerts_new_alert_variable_label}

\r\n

{alert.graphIds.length ? formatGraphLabel() : language.alerts_new_alert_variable_example}

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n { setAlert({ ...alert, graphIds: [_.last(value)] }) }}\r\n theme={theme}\r\n />\r\n
\r\n
\r\n
\r\n
setActiveRule(!activeRule)}>\r\n
\r\n
\r\n \r\n
\r\n

{alert.condition.length ? language.alerts_new_alert_rule_item : language.alerts_new_alert_rule_label}

\r\n

{alert.condition.length ? formatLabel(alert.condition, conditions(props.language), 'id_condition', 'label') : language.alerts_new_alert_rule_example}

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n { setAlert({ ...alert, condition: [_.last(value)] }) }}\r\n theme={theme}\r\n />\r\n
\r\n
\r\n
\r\n
setActiveValue(!activeValue)}>\r\n
\r\n
\r\n \r\n
\r\n

{alert.value ? language.alerts_new_alert_value_item : language.alerts_new_alert_value_label}

\r\n

{alert.value ? `${alert.value} ${alert?.graphIds?.length && props.graphs?.length ? props.graphs.options.filter(x => x?.id_graph === alert?.graphIds[0])[0]?.unit : \"\"}` : language.alerts_new_alert_value_example}

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {\r\n setAlert({ ...alert, value: target.value })\r\n }}\r\n placeholder='000'\r\n />\r\n
\r\n
\r\n
\r\n
setActiveChannel(!activeChannel)}>\r\n
\r\n
\r\n \r\n
\r\n

{alert.channelIds.length ? language.new_alert_type_title : language.new_alert_select_type}

\r\n

{alert.channelIds.length ? formatLabel(alert.channelIds, channels(props.language), 'id_channel', 'label') : language.alerts_new_alert_channel_example}

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n { setAlert({ ...alert, channelIds: value }) }}\r\n theme={theme}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
setShowPeriodAlert(true)}>\r\n
\r\n
\r\n

{alert.intervalTime?.intervalIds.length ? `Intervalo ${formatLabel(alert.intervalTime.intervalIds, intervals(props.language), 'id_interval', 'label')}` : language.alerts_title_interval_time}

\r\n

{alert.intervalTime?.dayIds.length ? `${formatLabel(alert.intervalTime.dayIds, days(props.language), 'id_day', 'label')} ${alert.intervalTime?.fromHour ? alert.intervalTime.fromHour : ''}:${alert.intervalTime?.fromMinutes ? alert.intervalTime.fromMinutes : ''}${alert.intervalTime?.fromPartOfDay ? alert.intervalTime.fromPartOfDay : ''}-${alert.intervalTime?.toHour ? alert.intervalTime.toHour : ''}:${alert.intervalTime?.toMinutes ? alert.intervalTime.toMinutes : ''}${alert.intervalTime?.toPartOfDay ? alert.intervalTime.toPartOfDay : ''}` : language.new_alert_schedule_description}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n setAlert({ ...alert, intervalTime: value })}\r\n showAlertPeriod={showAlertPeriod}\r\n setShowPeriodAlert={setShowPeriodAlert}\r\n intervalTime={alert?.intervalTime}\r\n />\r\n
\r\n {\r\n if (props.editAlert) {\r\n await props.editAlertAsync(alert);\r\n }\r\n else {\r\n await props.createAlertAsync(alert);\r\n }\r\n props.setShowNewAlert(false);\r\n props.setAlertSelected(null);\r\n props.setEditAlert(false);\r\n setAlert(initAlert);\r\n track('Alert created', { ...alertProperty, Project_Type: props.totalServices.filter(t => t.idService === alert.serviceIds[0])[0]?.type?.name })\r\n }}>\r\n {props.language.alerts_button_save}\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n totalServices: state.services.totalServices,\r\n graphs: state.energy.graphs[0],\r\n newAlert: state.shared.startOnboarding.new_alert,\r\n devices: state.plus.devices,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n createAlertAsync: (payload) => dispatch(alertsActions.createAlertAsync(payload)),\r\n editAlertAsync: (payload) => dispatch(alertsActions.editAlertAsync(payload)),\r\n setControlledOnboarding: (payload) => dispatch(sharedActions.setControlledOnboarding(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Alerts);","import React, { useEffect, useState, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as notificationsActions from \"../../store/actions/Notifications\";\r\nimport * as alertsActions from \"../../store/actions/Alerts\";\r\n\r\nimport emptyData from '../../imgs/empty-data-notifications.svg';\r\nimport emptyDataLight from '../../imgs/empty-data-notifications-light.svg';\r\n\r\nimport emptyDataAlerts from '../../imgs/empty_state_alerts.svg';\r\n\r\nimport { Drawer } from \"rsuite\";\r\n\r\nimport ContentLoader from \"react-content-loader\";\r\n\r\nimport NotificationBox from \"./NotificationBox\";\r\n\r\nimport NewAlert from '../alerts/NewAlert';\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\nimport BackButton from \"../shared/utilities/BackButton\";\r\n\r\nconst NotificationsLoading = ({theme}) => {\r\n\r\n const height = 85;\r\n\r\n return (\r\n
\r\n \r\n {Array.from({ length: 10 }, (_x, i) => i).map((i) => )}\r\n \r\n
\r\n )\r\n};\r\n\r\nconst Notifications = (props) => {\r\n const currentUrl = new URL(window.location.href);\r\n const isDashboard = currentUrl.pathname === '/home'\r\n\r\n let notifications = props.notifications;\r\n let alertRegisters = props.alertRegisters;\r\n let notificationsLoading = props.notificationsLoading;\r\n let notificationsPagination = props.notificationsPagination;\r\n let alertRegistersPagination = props.alertRegistersPagination;\r\n let showBlackScreenDrawer = props.showBlackScreenDrawer;\r\n\r\n const loadNotificationsAsync = props.loadNotificationsAsync;\r\n const loadAlertRegistersAsync = props.loadAlertRegistersAsync;\r\n const loadTotalNotificationsAsync = props.loadTotalNotificationsAsync;\r\n\r\n const { theme } = props;\r\n\r\n const [type, setType] = useState(0);\r\n const [showNewAlert, setShowNewAlert] = useState(false);\r\n\r\n const handleScroll = (target) => {\r\n if (type === 0) {\r\n if (target.scrollTop + target.clientHeight >= (target.scrollHeight - 120) && notificationsPagination != null) {\r\n loadNotificationsAsync();\r\n }\r\n }\r\n if (type === 1) {\r\n if (target.scrollTop + target.clientHeight >= (target.scrollHeight - 120) && alertRegistersPagination != null) {\r\n loadAlertRegistersAsync();\r\n }\r\n }\r\n }\r\n\r\n const handleClose = () => {\r\n props.setShowNotifications(false)\r\n loadTotalNotificationsAsync()\r\n }\r\n\r\n useEffect(() => {\r\n if (!notifications.length && type === 0) {\r\n loadNotificationsAsync();\r\n }\r\n if (!alertRegisters.length && type === 1) {\r\n loadAlertRegistersAsync();\r\n }\r\n }, [notifications, loadNotificationsAsync, type, loadAlertRegistersAsync, alertRegisters]);\r\n\r\n return (\r\n track('Notification viewed')}\r\n backdropClassName={`pe-pointer ${theme}`}>\r\n
handleScroll(target)}>\r\n {showBlackScreenDrawer &&\r\n
\r\n
\r\n
}\r\n
\r\n handleClose()}>\r\n

{props.language.notifications_title}

\r\n
\r\n
\r\n
\r\n
setType(0)}>\r\n
{props.language.notifications_show_all}
\r\n
\r\n
{ setType(1) }}>\r\n
{props.language.notifications_show_alerts}
\r\n
\r\n
\r\n
\r\n
\r\n {type === 0 ?\r\n \r\n {\r\n notifications.length ?\r\n notifications.map((notification) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }) : null\r\n }\r\n {\r\n !notifications.length && !notificationsLoading &&\r\n
\r\n \"logo-empty-data-notifications\"\r\n
{props.language.notifications_empty_state_title}
\r\n
{props.language.notifications_empty_state_text}
\r\n
\r\n }\r\n {\r\n (notificationsLoading || notificationsPagination != null) ?\r\n
\r\n \r\n
:
\r\n }\r\n :\r\n \r\n {!isDashboard &&\r\n <>\r\n
\r\n \r\n
\r\n { }}\r\n setEditAlert={() => { }} />\r\n \r\n }\r\n {\r\n alertRegisters.length ?\r\n alertRegisters.map((notification) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }) : null\r\n }\r\n {\r\n !alertRegisters.length && !notificationsLoading &&\r\n
\r\n \"logo-empty-data-alerts\"\r\n
{props.language.alerts_label_title_empty_state_registers}
\r\n
{props.language.alerts_label_body_empty_state_registers}
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n notifications: state.notifications.notifications,\r\n notificationsPagination: state.notifications.notificationsPagination,\r\n notificationsLoading: state.notifications.notificationsLoading,\r\n showBlackScreenDrawer: state.shared.showBlackScreenDrawer,\r\n alertRegisters: state.alerts.alertRegisters,\r\n alertRegistersPagination: state.alerts.alertRegistersPagination,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loadNotificationsAsync: () => dispatch(notificationsActions.loadNotificationsAsync()),\r\n loadTotalNotificationsAsync: () => dispatch(notificationsActions.loadTotalNotificationsAsync()),\r\n loadAlertRegistersAsync: () => dispatch(alertsActions.loadAlertRegistersAsync())\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Notifications);\r\n\r\n\r\n","import * as creators from \"../creators/Chatbot\";\r\n\r\nimport { SETData, GETData } from \"../../services/WebServices\";\r\n\r\nimport moment from \"moment\";\r\n\r\nexport const setActiveChat = (payload) => {\r\n return {\r\n type: creators.SET_ACTIVE_CHAT,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setLoadingChat = (payload) => {\r\n return {\r\n type: creators.SET_LOADING_CHAT,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setMessages = (payload) => {\r\n return {\r\n type: creators.SET_MESSAGES,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setCurrentConversation = (payload) => {\r\n return {\r\n type: creators.SET_CURRENT_CONVERSATION,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setShowChatBot = (payload) => {\r\n return {\r\n type: creators.SET_SHOW_CHATBOT,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setActiveChatMessages = (payload) => {\r\n return {\r\n type: creators.SET_ACTIVATE_CHAT_MESSAGES,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setConversations = (payload) => {\r\n return {\r\n type: creators.SET_CONVERSATIONS,\r\n payload,\r\n };\r\n};\r\n\r\nexport const setShowBannerChatbot = (payload) => {\r\n return {\r\n type: creators.SET_SHOW_BANNER_CHATBOT,\r\n payload\r\n };\r\n};\r\n\r\nexport const loadConversations = () => {\r\n return async (dispatch) => {\r\n const user = JSON.parse(localStorage.getItem(\"user\"));\r\n\r\n GETData(`history?user=${user.idUser}`, \"GET\", process.env.REACT_APP_CHATBOT_API_URL)\r\n .then((response) => dispatch(setConversations(response)))\r\n .catch((err) => console.error(err));\r\n };\r\n};\r\n\r\nexport const loadActiveChat = (payload) => {\r\n return async (dispatch) => {\r\n const user = JSON.parse(localStorage.getItem(\"user\"));\r\n\r\n dispatch(setLoadingChat(true));\r\n\r\n await GETData(`plus/chatbot/${user.idUser}`, \"GET\")\r\n .then((result) => {\r\n if (result?.body?.length) {\r\n const entity = {\r\n id_user: user.idUser,\r\n id_conversation: payload,\r\n };\r\n\r\n SETData(\"messages\", \"POST\", entity, process.env.REACT_APP_CHATBOT_API_URL)\r\n .then((response) => {\r\n const conversationMessages = [];\r\n\r\n response.forEach((message) => {\r\n const userMessage = {\r\n id_content: message.id_content,\r\n message: message.request,\r\n sender: \"user\",\r\n date: moment(message.created_at).format(\"h:mm A\"),\r\n full_date: moment(message.created_at).format(\"ddd DD MMMM YYYY\"),\r\n onBoarding: null,\r\n };\r\n\r\n const botMessage = {\r\n id_content: message.id_content,\r\n message: message.response_summary ?? message.response,\r\n sender: \"chatbot\",\r\n date: moment(message.created_at).format(\"h:mm A\"),\r\n full_date: moment(message.created_at).format(\"ddd DD MMMM YYYY\"),\r\n onBoarding: null,\r\n score: message.score,\r\n };\r\n\r\n conversationMessages.push(userMessage);\r\n\r\n conversationMessages.push(botMessage);\r\n });\r\n\r\n if (!conversationMessages.length) {\r\n dispatch(setActiveChatMessages(true));\r\n }\r\n\r\n dispatch(setLoadingChat(false));\r\n\r\n dispatch(setMessages(conversationMessages));\r\n\r\n dispatch(setCurrentConversation(payload));\r\n })\r\n .catch((response) => console.error(response));\r\n\r\n dispatch(setActiveChat(true));\r\n } else {\r\n dispatch(setActiveChat(false));\r\n }\r\n })\r\n .catch((err) => console.error(err));\r\n };\r\n};\r\n\r\nexport const setActiveChatAsync = () => {\r\n return async (dispatch) => {\r\n const user = JSON.parse(localStorage.getItem(\"user\"));\r\n\r\n await SETData(`plus/chatbot/set/${user.idUser}`, \"POST\")\r\n .then((result) => {\r\n if (result?.body) {\r\n dispatch(setActiveChat(true));\r\n }\r\n })\r\n .catch((err) => console.error(err));\r\n };\r\n};\r\n\r\nexport const setConversation = (payload) => {\r\n return (dispatch, getState) => {\r\n const user = JSON.parse(localStorage.getItem(\"user\"));\r\n const activeServicesEnergy = getState().services.activeServicesEnergy;\r\n const currentConversationId = getState().chatbot.currentConversationId;\r\n const messages = getState().chatbot.messages;\r\n\r\n const services = activeServicesEnergy.map((x) => x?.idService);\r\n\r\n const entity = {\r\n id_user: user.idUser,\r\n id_conversation: currentConversationId,\r\n services: services,\r\n message: payload,\r\n };\r\n\r\n const newMessages = [\r\n ...messages,\r\n {\r\n message: payload,\r\n sender: \"user\",\r\n date: moment().format(\"h:mm A\"),\r\n full_date: moment().format(\"ddd DD MMMM YYYY\"),\r\n onBoarding: null,\r\n },\r\n {\r\n message: \"pending\",\r\n sender: \"chatbot\",\r\n date: moment().format(\"h:mm A\"),\r\n full_date: moment().format(\"ddd DD MMMM YYYY\"),\r\n onBoarding: null,\r\n },\r\n ];\r\n\r\n dispatch(setMessages(newMessages));\r\n\r\n SETData(\"send\", \"POST\", entity, process.env.REACT_APP_CHATBOT_IA_API_URL)\r\n .then((response) => {\r\n\r\n let chatbotResponse = \"\"\r\n let idContent = 0\r\n\r\n if (response === null) {\r\n\r\n chatbotResponse = \"Lo siento, parece que hubo un error al intentar procesar tu pregunta. Por favor, podrías reformularla para poder brindarte la información que necesitas.\";\r\n\r\n } else {\r\n\r\n chatbotResponse = response.response\r\n idContent = response.id_content\r\n\r\n if (response.status_code === 2) {\r\n chatbotResponse = \"Lo siento, parece que hubo un error al intentar procesar tu pregunta. Por favor, podrías reformularla para poder brindarte la información que necesitas.\";\r\n } else if (response.status_code === 3) {\r\n chatbotResponse = \"Lo siento, Por favor selecciona al menos un servicio al cual quieras relacionar esta pregunta.\";\r\n }\r\n\r\n }\r\n\r\n const updatedMessages = newMessages.map((item) => {\r\n if (item.sender === \"chatbot\" && item.message === \"pending\") {\r\n return { ...item, id_content: idContent, message: chatbotResponse };\r\n }\r\n\r\n return item;\r\n\r\n });\r\n\r\n if (response.id_conversation) {\r\n dispatch(setCurrentConversation(response.id_conversation));\r\n }\r\n\r\n dispatch(setMessages(updatedMessages));\r\n })\r\n .catch((response) => console.error(response));\r\n };\r\n};\r\n\r\nexport const setScore = (payload) => {\r\n return (dispatch, getState) => {\r\n const id_content = payload.id_content;\r\n const score = payload.score;\r\n\r\n const messages = getState().chatbot.messages;\r\n\r\n const updatedMessages = messages.map((item) => {\r\n if (item.id_content === id_content) {\r\n return { ...item, score: score };\r\n }\r\n return item;\r\n });\r\n\r\n dispatch(setMessages(updatedMessages));\r\n\r\n const entity = {\r\n id_content,\r\n score,\r\n };\r\n\r\n SETData(\"score\", \"PUT\", entity, process.env.REACT_APP_CHATBOT_API_URL).catch((response) => console.error(response));\r\n };\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as servicesActions from \"../../../store/actions/Services\";\r\nimport * as sharedActions from \"../../../store/actions/Shared\";\r\nimport * as themeActions from \"../../../store/actions/Theme\";\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nimport ButtonCircle from \"../../shared/utilities/ButtonCircle\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\nconst ServicesPopover = (props) => {\r\n let totalServicesGrouped = props.totalServicesGrouped;\r\n let activeServices = props.activeServices;\r\n let servicePicker = props.servicePicker;\r\n let selectFunction = props.selectFunction;\r\n let popoverPosition = props.popoverPosition;\r\n let allowAllServices = props.limitSelectServices == null;\r\n let limitSelectServices = props.limitSelectServices || 1000;\r\n let availableTypeServices = props.availableTypeServices;\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const setControlledOnboarding = props.setControlledOnboarding;\r\n const setShowBlackScreen = props.setShowBlackScreen;\r\n const setShowBlackScreenDrawer = props.setShowBlackScreenDrawer;\r\n\r\n const [focus, setFocus] = useState(false);\r\n const [services, setServices] = useState(totalServicesGrouped);\r\n const [search, setSearch] = useState(\"\");\r\n const [show, setShow] = useState(false);\r\n const [servicesSelected, setServicesSelected] = useState(activeServices);\r\n const { theme } = props;\r\n\r\n useEffect(() => {\r\n const filterServices = totalServicesGrouped\r\n .map((account) => {\r\n const filteredServices = account.services.filter(\r\n (service) =>\r\n service.name.toLowerCase().includes(search.toLowerCase()) &&\r\n availableTypeServices.includes(service.type?.name),\r\n );\r\n return { ...account, services: filteredServices };\r\n })\r\n .filter((account) => account.services.length > 0);\r\n\r\n setServices([...filterServices]);\r\n }, [search, totalServicesGrouped, availableTypeServices]);\r\n\r\n useEffect(() => {\r\n if (show && servicePicker) {\r\n setControlledOnboarding({ key: \"service_picker\", value: true });\r\n } else {\r\n setControlledOnboarding({ key: \"service_picker\", value: false });\r\n }\r\n }, [show, setControlledOnboarding, servicePicker]);\r\n\r\n useEffect(() => {\r\n if (activeServices?.length > 1) {\r\n track(\"Project selected\", {\r\n Project_ID: activeServices.map(function (service) {\r\n return service?.name;\r\n }),\r\n Project_Quantity: activeServices?.length,\r\n Project_Type: activeServices.map(function (service) {\r\n return service?.type?.name;\r\n }),\r\n });\r\n }\r\n }, [activeServices]);\r\n\r\n return (\r\n {\r\n setShow(state);\r\n props.setShowBlackScreen(state);\r\n props.setShowBlackScreenDrawer(state);\r\n setFocus(state);\r\n show &&\r\n track(\"Project selected\", {\r\n Project_ID: activeServices.map(function (service) {\r\n return service?.name;\r\n }),\r\n Project_Quantity: activeServices?.length,\r\n Project_Type: activeServices.map(function (service) {\r\n return service?.type?.name;\r\n }),\r\n });\r\n }}\r\n content={\r\n
\r\n \r\n \r\n
\r\n \r\n setSearch(target.value)}\r\n />\r\n
\r\n
\r\n
\r\n \r\n {services.map((account) => {\r\n let allServicesSelected = account.services.every((item) =>\r\n servicesSelected\r\n .map((i) => i.idService)\r\n .includes(item.idService),\r\n );\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n {account.account.name}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {allowAllServices && (\r\n {\r\n let services = servicesSelected;\r\n\r\n if (allServicesSelected) {\r\n if (services.length > 1) {\r\n services = services.filter(\r\n (item) =>\r\n !account.services\r\n .map((i) => i.idService)\r\n .includes(item.idService),\r\n );\r\n\r\n setServicesSelected(services);\r\n }\r\n } else {\r\n services = [...services, ...account.services];\r\n\r\n if (services.length <= limitSelectServices)\r\n setServicesSelected(services);\r\n }\r\n }}\r\n >\r\n \r\n {!allServicesSelected\r\n ? props.language.services_picker_select_all\r\n : props.language.services_picker_descelect_all}\r\n

\r\n
\r\n )}\r\n
\r\n {account.services.map((item) => {\r\n const isSelected =\r\n servicesSelected.findIndex(\r\n (i) => i.idService === item.idService,\r\n ) >= 0;\r\n\r\n return (\r\n {\r\n let services = servicesSelected;\r\n\r\n if (isSelected) {\r\n if (services.length > 1) {\r\n services = services.filter(\r\n (i) => i.idService !== item.idService,\r\n );\r\n\r\n setServicesSelected(services);\r\n }\r\n } else {\r\n services = [...services, item];\r\n\r\n if (services.length <= limitSelectServices)\r\n setServicesSelected(services);\r\n }\r\n }}\r\n >\r\n
\r\n \r\n {item.name}\r\n
\r\n \r\n {item.address}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n {\r\n if (servicesSelected.length) selectFunction(servicesSelected);\r\n\r\n setShowBlackScreen(false);\r\n setShowBlackScreenDrawer(false);\r\n\r\n setShow(false);\r\n setFocus(false);\r\n\r\n if (\r\n props.typeComponent === \"chatbot\" &&\r\n location.pathname === \"/home\"\r\n )\r\n history.push(\"home/detail\");\r\n }}\r\n >\r\n {props.language.energy_done_button}\r\n \r\n \r\n \r\n }\r\n >\r\n {props.typeComponent === \"energy\" ? (\r\n \r\n ) : (\r\n \r\n
\r\n

{`${props.language.lumi_consulting} ${activeServices?.length} ${props.language.lumi_projects}`}

\r\n

\r\n {props.language.energy_click_to_change}\r\n

\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n account: state.accounts.account,\r\n servicesTypes: state.services.servicesTypes,\r\n totalServices: state.services.totalServices,\r\n totalServicesGrouped: state.services.totalServicesGrouped,\r\n language: state.shared.language,\r\n showPulseAnimation: state.shared.showPulseAnimation,\r\n servicePicker: state.shared.startOnboarding.service_picker,\r\n selectFunction: ownProps.selectFunction,\r\n activeServices: ownProps.activeServices,\r\n limitSelectServices: ownProps.limitSelectServices,\r\n availableTypeServices: ownProps.availableTypeServices,\r\n typeComponent: ownProps.typeComponent,\r\n popoverPosition: ownProps.popoverPosition,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loadServicesAsync: (payload) =>\r\n dispatch(servicesActions.loadServicesAsync(payload)),\r\n setShowBlackScreen: (payload) =>\r\n dispatch(sharedActions.setShowBlackScreen(payload)),\r\n setControlledOnboarding: (payload) =>\r\n dispatch(sharedActions.setControlledOnboarding(payload)),\r\n setShowBlackScreenDrawer: (payload) =>\r\n dispatch(sharedActions.setShowBlackScreenDrawer(payload)),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ServicesPopover);\r\n","import { Popover } from \"@idui/react-popover\";\r\n\r\nimport * as sharedActions from \"../../store/actions/Shared\";\r\nimport * as chatbotActions from \"../../store/actions/Chatbot\";\r\nimport * as servicesActions from \"../../store/actions/Services\";\r\nimport * as accountsActions from \"../../store/actions/Accounts\";\r\n\r\nimport React, { useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport moment from \"moment\";\r\n\r\nimport _ from \"lodash\";\r\n\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\nconst ChatPopover = (props) => {\r\n const [focus, setFocus] = useState(false);\r\n const [show, setShow] = useState(false);\r\n\r\n let conversations = props.conversations;\r\n\r\n const loadActiveChat = props.loadActiveChat;\r\n const setMessages = props.setMessages;\r\n const setShowBlackScreen = props.setShowBlackScreen;\r\n const setShowBlackScreenDrawer = props.setShowBlackScreenDrawer;\r\n const setActiveServicesEnergy = props.setActiveServicesEnergy;\r\n const setActiveServicesPlus = props.setActiveServicesPlus;\r\n const setAccount = props.setAccount;\r\n const loadServicesAsync = props.loadServicesAsync;\r\n const theme = props.theme;\r\n\r\n let currentAccount = props.account;\r\n let totalAccounts = props.totalAccounts;\r\n let totalServices = props.totalServices;\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const loadConversations = async (id, services) => {\r\n await loadActiveChat(id);\r\n if (services.length) {\r\n await handleActiveMessage(services);\r\n }\r\n\r\n setShow(false);\r\n\r\n setShowBlackScreen(false);\r\n setShowBlackScreenDrawer(false);\r\n\r\n setFocus(false);\r\n };\r\n\r\n const chatHandler = () => {\r\n setMessages([]);\r\n setShow(false);\r\n setShowBlackScreen(false);\r\n setShowBlackScreenDrawer(false);\r\n setFocus(false);\r\n };\r\n\r\n const handleActiveMessage = async (services) => {\r\n const account = totalAccounts.filter((account) => account?.services?.map((x) => x?.idService).includes(services[0]));\r\n\r\n if (account.length && account[0]?.idAccount !== currentAccount?.idAccount) {\r\n setAccount(account[0]);\r\n await loadServicesAsync(services);\r\n } else {\r\n const filteredServices = totalServices.filter((service) => services.includes(service.idService));\r\n\r\n setActiveServicesEnergy(filteredServices);\r\n\r\n setActiveServicesPlus([_.last(filteredServices)]);\r\n }\r\n\r\n if (location.pathname === \"/home\") history.push(\"home/detail\");\r\n };\r\n\r\n const ConversationComponent = ({ item, id, theme }) => {\r\n return (\r\n loadConversations(item?.id_conversation, item?.services)}>\r\n {item?.services?.length ? (\r\n \r\n
Servicios consultados
\r\n
Estos son los servicios que consultaste en tu pregunta
\r\n {item?.services?.length &&\r\n totalAccounts\r\n .filter((account) => account?.services?.map((x) => x?.idService).includes(item?.services[0]))[0]\r\n ?.services?.filter((service) => item?.services?.includes(service?.idService))\r\n ?.map((service, i) => (\r\n \r\n {service?.name}\r\n \r\n ))}\r\n \r\n }>\r\n \r\n {item?.services?.length}\r\n \r\n \r\n ) : (\r\n \r\n {item?.services?.length}\r\n \r\n )}\r\n
{item?.message}
\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n chatHandler()}>\r\n \r\n

Nuevo chat

\r\n \r\n
Tus chats
\r\n {conversations?.filter((item) => !moment(item?.date)?.isBefore(moment().subtract(7, \"days\"), \"day\")).length &&
Últimos 7 días
}\r\n {conversations\r\n ?.filter((item) => !moment(item?.date)?.isBefore(moment().subtract(7, \"days\"), \"day\"))\r\n .map((item, id) => (\r\n \r\n ))}\r\n {conversations?.filter((item) => moment(item?.date)?.isBefore(moment().subtract(30, \"days\"), \"day\")).length &&
Últimos 30 días
}\r\n {conversations\r\n ?.filter((item) => moment(item?.date)?.isBefore(moment().subtract(30, \"days\"), \"day\"))\r\n .map((item, id) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n language: state.shared.language,\r\n conversations: state.chatbot.conversations,\r\n totalAccounts: state.accounts.totalAccounts,\r\n totalServices: state.services.totalServices,\r\n account: state.accounts.account,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loadActiveChat: (payload) => dispatch(chatbotActions.loadActiveChat(payload)),\r\n setShowBlackScreen: (payload) => dispatch(sharedActions.setShowBlackScreen(payload)),\r\n setShowBlackScreenDrawer: (payload) => dispatch(sharedActions.setShowBlackScreenDrawer(payload)),\r\n setMessages: (payload) => dispatch(chatbotActions.setMessages(payload)),\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n setAccount: (payload) => dispatch(accountsActions.setAccount(payload)),\r\n loadServicesAsync: (payload) => dispatch(servicesActions.loadServicesAsync(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChatPopover);\r\n","import React, { useState, useEffect, useRef, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as servicesActions from \"../../store/actions/Services\";\r\nimport * as chatbotActions from \"../../store/actions/Chatbot\";\r\nimport * as accountsActions from \"../../store/actions/Accounts\";\r\n\r\nimport { Drawer, Loader } from \"rsuite\";\r\n\r\nimport ServicesPopover from \"../energy/services/ServicesPopover\";\r\n\r\nimport _ from \"lodash\";\r\n\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n\r\nimport { useRive, Layout, Fit, Alignment } from \"@rive-app/react-canvas\";\r\n\r\n// import { tutorialListInfoGlobal } from '../onboarding/OnboardingSections';\r\n\r\nimport lumi from \"../../imgs/LUMI.png\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nimport ChatPopover from \"./ChatPopover\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faThumbsUp, faThumbsDown } from \"@fortawesome/pro-light-svg-icons\";\r\nimport { faThumbsUp as faThumbsUpSolid, faThumbsDown as faThumbsDownSolid } from \"@fortawesome/pro-solid-svg-icons\";\r\n\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\nimport SwiperCore, { Autoplay, Navigation } from \"swiper\";\r\n\r\nSwiperCore.use([Autoplay, Navigation]);\r\n\r\nconst ChatBot = (props) => {\r\n const { RiveComponent } = useRive({\r\n src: \"lumiAssets/lumi.riv\",\r\n stateMachines: \"State Machine 1\",\r\n layout: new Layout({\r\n fit: Fit.FitWidth,\r\n alignment: Alignment.Center,\r\n }),\r\n autoplay: true,\r\n });\r\n\r\n const { RiveComponent: RiveComponentBeta } = useRive({\r\n src: \"lumiAssets/lumi.riv\",\r\n stateMachines: \"State Machine 1\",\r\n layout: new Layout({\r\n fit: Fit.FitWidth,\r\n alignment: Alignment.Center,\r\n }),\r\n autoplay: true,\r\n });\r\n\r\n let user = props.user;\r\n let activeChat = props.activeChat;\r\n let loadingChat = props.loadingChat;\r\n let messages = props.messages;\r\n let totalServices = props.totalServices;\r\n let activeServicesEnergy = props.activeServicesEnergy;\r\n let showBlackScreenDrawer = props.showBlackScreenDrawer;\r\n let currentConversationId = props.currentConversationId;\r\n let totalAccounts = props.totalAccounts;\r\n let currentAccount = props.account;\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const language = props.language;\r\n const enableChatBot = props.enableChatBot;\r\n const setActiveChatAsync = props.setActiveChatAsync;\r\n const setConversation = props.setConversation;\r\n const setActiveServicesEnergy = props.setActiveServicesEnergy;\r\n const setActiveServicesPlus = props.setActiveServicesPlus;\r\n const setAccount = props.setAccount;\r\n const setScore = props.setScore;\r\n const loadServicesAsync = props.loadServicesAsync;\r\n const theme = props.theme;\r\n\r\n let showChatBot = props.showChatBot;\r\n let setShowChatBot = props.setShowChatBot;\r\n let activeChatMessages = props.activeChatMessages;\r\n let setActiveChatMessages = props.setActiveChatMessages;\r\n let loadConversations = props.loadConversations;\r\n let showBannerChatbot = props.showBannerChatbot;\r\n\r\n // const history = useHistory();\r\n\r\n const aids = [language.chatbot_aids1, language.chatbot_aids2, language.chatbot_aids3];\r\n\r\n const messagesContainerRef = useRef(null);\r\n\r\n const [request, setRequest] = useState(null);\r\n const [mount, setMount] = useState(false);\r\n const [showChatsResume, setShowChatsResume] = useState(false);\r\n \r\n const containerRef = useRef(null);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [startX, setStartX] = useState(0);\r\n const [scrollLeft, setScrollLeft] = useState(0);\r\n\r\n const handleMouseDown = (e) => {\r\n setIsDragging(true);\r\n setStartX(e.pageX - containerRef.current.offsetLeft);\r\n setScrollLeft(containerRef.current.scrollLeft);\r\n };\r\n\r\n const handleMouseLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleMouseUp = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleMouseMove = (e) => {\r\n if (!isDragging) return;\r\n e.preventDefault();\r\n const x = e.pageX - containerRef.current.offsetLeft;\r\n const walk = (x - startX) * 1.5; // Velocidad del desplazamiento\r\n containerRef.current.scrollLeft = scrollLeft - walk;\r\n };\r\n\r\n const replaceMessageLink = (message) => {\r\n\r\n const url = \"https://api.whatsapp.com/send?phone=5716659652\";\r\n\r\n const linkText = \"¡Contactar ahora!\";\r\n\r\n if (message.includes(url)) {\r\n\r\n const parts = message.split(url);\r\n\r\n return (\r\n \r\n {parts[0]}\r\n \r\n {linkText}\r\n \r\n {parts[1]}\r\n \r\n );\r\n }\r\n\r\n return message;\r\n };\r\n\r\n const scrollToBottom = () => {\r\n if (messagesContainerRef.current) {\r\n messagesContainerRef.current.scrollTop = messagesContainerRef.current.scrollHeight;\r\n }\r\n };\r\n\r\n const handleSendMessage = async () => {\r\n setRequest(null);\r\n\r\n setActiveChatMessages(true);\r\n\r\n setConversation(request);\r\n };\r\n\r\n const handleActiveMessage = async () => {\r\n let conversationSavedInLocalStorage = localStorage.getItem(\"chatbot_conversation\");\r\n\r\n conversationSavedInLocalStorage = JSON.parse(conversationSavedInLocalStorage);\r\n\r\n let services = conversationSavedInLocalStorage.services;\r\n\r\n const account = totalAccounts.filter((account) => account?.services?.map((x) => x?.idService).includes(services[0]));\r\n\r\n setActiveChatMessages(true);\r\n\r\n if (services.length && account.length && account[0]?.idAccount !== currentAccount?.idAccount) {\r\n setAccount(account[0]);\r\n await loadServicesAsync(services);\r\n const filteredServices = totalServices.filter((service) => services.includes(service.idService));\r\n\r\n setActiveServicesEnergy(filteredServices);\r\n\r\n setActiveServicesPlus([_.last(filteredServices)]);\r\n } else {\r\n const filteredServices = totalServices.filter((service) => services.includes(service.idService));\r\n\r\n setActiveServicesEnergy(filteredServices);\r\n\r\n setActiveServicesPlus([_.last(filteredServices)]);\r\n }\r\n\r\n if (location.pathname === \"/home\") history.push(\"home/detail\");\r\n };\r\n\r\n const groupMessageDate = (messages) =>\r\n messages.reduce((group, message) => {\r\n const { full_date } = message;\r\n\r\n let dateGroup = group.find((item) => item.full_date === full_date);\r\n\r\n if (!dateGroup) {\r\n dateGroup = { full_date, messages: [] };\r\n group.push(dateGroup);\r\n }\r\n\r\n dateGroup.messages.push(message);\r\n\r\n return group;\r\n }, []);\r\n\r\n const handleOnBoarding = (id) => {\r\n // const tutorialListInfo = tutorialListInfoGlobal(props, history, true);\r\n // const functionOnBoarding = tutorialListInfo?.some(x => x?.id === id) ? tutorialListInfo?.find(x => x?.id === id)?.tutorialFunction : null;\r\n // if (functionOnBoarding) functionOnBoarding();\r\n };\r\n\r\n // useEffect(() => {\r\n\r\n // scrollToBottom();\r\n\r\n // if (messages.length && currentResponse) {\r\n\r\n // const newMessages = messages\r\n // .filter(item => item?.message !== 'pending');\r\n\r\n // setMessages([...newMessages, currentResponse]);\r\n\r\n // setCurrentResponse(null);\r\n\r\n // }\r\n\r\n // }, [currentResponse, messages]);\r\n\r\n useEffect(() => {\r\n scrollToBottom();\r\n }, [messages]);\r\n\r\n useEffect(() => {\r\n loadConversations();\r\n }, [loadConversations]);\r\n\r\n useEffect(() => {\r\n const indexSelected = aids.indexOf(request);\r\n\r\n if (indexSelected !== -1) {\r\n switch (indexSelected) {\r\n case 0:\r\n track(\"Ai consumption default chat selected\");\r\n break;\r\n case 1:\r\n track(\"Ai reactive default chat selected\");\r\n break;\r\n case 2:\r\n track(\"Ai maximum default chat selected\");\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }, [request, aids]);\r\n\r\n useEffect(() => {\r\n if (mount) {\r\n if (showChatBot)\r\n track(\"Ai Chat opened\");\r\n else\r\n track(\"Ai Chat ended\");\r\n }\r\n else\r\n setMount(true)\r\n // eslint-disable-next-line\r\n }, [showChatBot]);\r\n{/*
*/}\r\n return (\r\n \r\n !showBannerChatbot && setShowChatBot(true)}\r\n className={`zindex-3 pe-pointer`}\r\n style={{ width: 72, height: 72, transform: showBannerChatbot ? 'scale(0)' : 'scale(1)', transition: 'transform 0.3s ease-in-out' }}>\r\n \r\n \r\n setShowChatBot(false)}>\r\n
\r\n\r\n {\r\n showChatsResume && \r\n }\r\n
\r\n {showBlackScreenDrawer && (\r\n \r\n
\r\n
\r\n )}\r\n {!enableChatBot ? (\r\n
\r\n
{language.lumi_title}
\r\n
{language.lumi_first_text}
\r\n \r\n \r\n
\r\n
{language.lumi_second_text}
\r\n {!activeChat ? (\r\n setActiveChatAsync()}\r\n className=\"bg-green-500 rounded-8 m-3 py-2 pe-pointer text-wrap text-center txt-phrase txt-semibold txt-green-800 txt-8\">\r\n {language.lumi_do_click_here}\r\n
\r\n ) : (\r\n
\r\n
{language.lumi_title_card}
\r\n
{language.lumi_first_text_card}
\r\n
{language.lumi_second_text_title}
\r\n
\r\n )}\r\n
\r\n ) : loadingChat ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n
\r\n \r\n
\r\n {\r\n setActiveServicesEnergy(value);\r\n setActiveServicesPlus([_.last(value)]);\r\n }}\r\n availableTypeServices={[\"energy\", \"plus\", \"generation\"]}\r\n limitSelectServices={3}\r\n typeComponent={\"chatbot\"}\r\n />\r\n
\r\n
\r\n scrollToBottom()}>\r\n
\r\n {!messages.length && (\r\n
\r\n ¡{language.lumi_hey}, {user.name}!
\r\n

{language.lumi_question}

\r\n
\r\n )}\r\n {messages.length &&\r\n groupMessageDate(messages).map((group, index) => {\r\n return (\r\n {group.full_date !== null && group.full_date !== undefined && (\r\n
\r\n
{group.full_date}
\r\n
\r\n )}\r\n {group.messages.map((item, index) => (\r\n \r\n
\r\n
{item?.sender === \"user\" ? language.lumi_you_chat : \"Lumi\"}
\r\n
\r\n {item?.sender !== \"user\" && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {item?.message !== \"pending\" ? (\r\n
\r\n
\r\n {item?.onBoarding !== null ? (\r\n
\r\n {language.lumi_explanation}\r\n handleOnBoarding(item?.onBoarding)}\r\n className=\"pe-pointer\">\r\n {language.lumi_go_tutorial}\r\n \r\n
\r\n ) : (\r\n
{replaceMessageLink(item?.message)}
\r\n )}\r\n
\r\n
{item?.date}
\r\n
\r\n ) : (\r\n
. . .
\r\n )}\r\n
\r\n
\r\n {item?.sender !== \"user\" && item?.message !== \"pending\" && item?.id_content !== 0 && (\r\n
\r\n
Califica esta respuesta
\r\n {\r\n if (item?.score !== 1) setScore({ id_content: item?.id_content, score: 1 });\r\n }}\r\n />\r\n {\r\n if (item?.score !== 2) setScore({ id_content: item?.id_content, score: 2 });\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n ))}\r\n
)\r\n })}\r\n \r\n \r\n
\r\n

Preguntas sugeridas

\r\n
\r\n
\r\n
\r\n \r\n {aids.map((value, index) => (\r\n \r\n setRequest(value)}\r\n >\r\n

\r\n {value}\r\n

\r\n
\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
setShowChatsResume(!showChatsResume)}>\r\n
\r\n \r\n
\r\n
\r\n {activeChatMessages || currentConversationId === null ? (\r\n
\r\n
BETA
\r\n setRequest(target?.value)}\r\n onKeyDown={(event) => {\r\n if (event.key === \"Enter\" && request) {\r\n handleSendMessage();\r\n }\r\n }}\r\n />\r\n {\r\n if (request) {\r\n handleSendMessage();\r\n track(\"Ai message sent\");\r\n }\r\n }}>\r\n \r\n
\r\n
\r\n ) : (\r\n handleActiveMessage()}>\r\n

{language.lumi_continue_conversation}

\r\n
\r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n user: state.users.user,\r\n messages: state.chatbot.messages,\r\n activeChat: state.chatbot.activeChat,\r\n loadingChat: state.chatbot.loadingChat,\r\n totalServices: state.services.totalServices,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n showBlackScreenDrawer: state.shared.showBlackScreenDrawer,\r\n currentConversationId: state.chatbot.currentConversationId,\r\n totalAccounts: state.accounts.totalAccounts,\r\n account: state.accounts.account,\r\n showChatBot: state.chatbot.showChatBot,\r\n activeChatMessages: state.chatbot.activeChatMessages,\r\n showBannerChatbot: state.chatbot.showBannerChatbot,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveChatAsync: () => dispatch(chatbotActions.setActiveChatAsync()),\r\n setConversation: (payload) => dispatch(chatbotActions.setConversation(payload)),\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n setAccount: (payload) => dispatch(accountsActions.setAccount(payload)),\r\n setShowChatBot: (payload) => dispatch(chatbotActions.setShowChatBot(payload)),\r\n setActiveChatMessages: (payload) => dispatch(chatbotActions.setActiveChatMessages(payload)),\r\n setScore: (payload) => dispatch(chatbotActions.setScore(payload)),\r\n loadServicesAsync: (payload) => dispatch(servicesActions.loadServicesAsync(payload)),\r\n loadConversations: () => dispatch(chatbotActions.loadConversations())\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChatBot);\r\n","import React, { Fragment, useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport * as accountsActions from \"../../store/actions/Accounts\";\r\nimport * as notificationsActions from \"../../store/actions/Notifications\";\r\nimport * as themeActions from \"../../store/actions/Theme\";\r\n\r\nimport Support from \"./Support\";\r\nimport Neugets from \"./Neugets\";\r\nimport Notifications from \"../notifications/Notifications\";\r\n\r\nimport BackButton from \"./utilities/BackButton\";\r\n\r\nimport Chatbot from \"./Chatbot\";\r\nimport { themes } from \"../../utils/enums\";\r\n\r\nconst Header = (props) => {\r\n let history = useHistory();\r\n\r\n let account = props.account;\r\n let user = props.user;\r\n let totalNotificationsInfo = props.totalNotificationsInfo;\r\n\r\n const loadNeugetsByAccountAsync = props.loadNeugetsByAccountAsync;\r\n const loadTotalNotificationsAsync = props.loadTotalNotificationsAsync;\r\n\r\n const [showSupport, setShowSupport] = useState(false);\r\n const [showNeugets, setShowNeugets] = useState(false);\r\n const [showNotifications, setShowNotifications] = useState(false);\r\n const [showChatBot, setShowChatBot] = useState(false);\r\n const { theme, setTheme } = props;\r\n\r\n const toggleTheme = () => {\r\n const newTheme = theme === themes.LIGHT ? themes.DARK : themes.LIGHT;\r\n setTheme(newTheme);\r\n };\r\n\r\n useEffect(() => {\r\n if (account !== null) loadNeugetsByAccountAsync();\r\n }, [account, loadNeugetsByAccountAsync]);\r\n\r\n useEffect(() => loadTotalNotificationsAsync(), [loadTotalNotificationsAsync]);\r\n\r\n return (\r\n \r\n \r\n
\r\n {props.backToButton && (\r\n history.goBack()} theme={theme} />\r\n )}\r\n \r\n {props.moduleName}\r\n \r\n
\r\n
\r\n {\r\n \r\n }\r\n {user.capabilities?.show_header_emergency_button && (\r\n {\r\n window.open(\r\n user.userType.idUserType === 11\r\n ? \"https://api.whatsapp.com/send?phone=50765229500&text=%C2%A1Estamos%20felices%20de%20poder%20ayudarte!\"\r\n : user.capabilities?.emergency_line,\r\n );\r\n }}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n {props.language.support_emergency_button}\r\n \r\n
\r\n
\r\n )}\r\n {user.capabilities?.show_header_support_button && (\r\n {\r\n setShowSupport(true);\r\n }}\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n {props.language.support_help_button}\r\n \r\n
\r\n \r\n )}\r\n {user.capabilities?.show_header_notifications_button && (\r\n {\r\n setShowNotifications(true);\r\n }}\r\n >\r\n
\r\n
\r\n \r\n 0 ? \"100\" : \"0\"\r\n }`}\r\n />\r\n
\r\n \r\n {props.language.notifications_title}\r\n \r\n
\r\n \r\n )}\r\n {user.capabilities?.show_header_notifications_button && (\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* \r\n {theme === \"dark\"\r\n ? props.language.dark\r\n : props.language.light}\r\n */}\r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n moduleName: ownProps.moduleName,\r\n backToButton: ownProps.backToButton,\r\n language: state.shared.language,\r\n neugets: state.accounts.neugets,\r\n account: state.accounts.account,\r\n totalNotificationsInfo: state.notifications.totalNotificationsInfo,\r\n user: state.users.user,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loadNeugetsByAccountAsync: () =>\r\n dispatch(accountsActions.loadNeugetsByAccountAsync()),\r\n loadTotalNotificationsAsync: () =>\r\n dispatch(notificationsActions.loadTotalNotificationsAsync()),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","import React from \"react\"\r\nimport { connect } from \"react-redux\"\r\n\r\nimport * as energyActions from \"../../../store/actions/Energy\"\r\n\r\nimport { Popover } from \"@idui/react-popover\"\r\n\r\nimport ContentLoader from \"react-content-loader\"\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { far } from \"@fortawesome/pro-regular-svg-icons\"\r\nimport { fas } from \"@fortawesome/pro-solid-svg-icons\"\r\n\r\nconst servicesLoading = (theme) => { return (\r\n
\r\n \r\n \r\n \r\n
\r\n)}\r\n\r\nconst ActiveServicesEnergy = (props) => {\r\n\r\n let activeServices = props.activeServices\r\n let setActiveServices = props.setActiveServices\r\n let showActiveServices = props.showActiveServices\r\n let showDetailService = props.showDetailService\r\n let activeServiceDetail = props.activeServiceDetail\r\n let setActiveServiceDetail = props.setActiveServiceDetail\r\n\r\n const setShowDetailService = props.setShowDetailService\r\n\r\n const { theme } = props;\r\n\r\n return (\r\n activeServices.length ?\r\n
\r\n {activeServices.slice(0, showActiveServices).map((service) => (\r\n \r\n
\r\n
\r\n
{service.name}
\r\n
\r\n
\r\n
\r\n }>\r\n {\r\n if (!showDetailService) {\r\n setShowDetailService(true)\r\n setActiveServiceDetail(service)\r\n } else if (showDetailService && activeServiceDetail?.idService !== service.idService) {\r\n setActiveServiceDetail(service)\r\n } else if (showDetailService && activeServiceDetail?.idService === service.idService) {\r\n setShowDetailService(false)\r\n }\r\n }}>\r\n \r\n

{service.name}

\r\n {activeServices.length > 1 && (\r\n { \r\n e.stopPropagation()\r\n setActiveServices(activeServices.filter((i) => i.idService !== service.idService))\r\n if (showDetailService && activeServiceDetail?.idService === service.idService) {\r\n setShowDetailService(false)\r\n }\r\n }}>
\r\n )}\r\n \r\n \r\n ))}\r\n {activeServices.length > showActiveServices && (\r\n \r\n
\r\n {activeServices.slice(showActiveServices).map((item) => (\r\n
\r\n \r\n
\r\n {item.name}\r\n
\r\n {\r\n props.setActiveServices(activeServices.filter((i) => i.idService !== item.idService))\r\n }}\r\n />\r\n
\r\n ))}\r\n
\r\n \r\n }>\r\n
\r\n \r\n
{activeServices.length - showActiveServices}
\r\n
\r\n \r\n )}\r\n :\r\n
{servicesLoading(theme)}
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n showDetailService: state.energy.showDetailService,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setShowDetailService: (payload) => dispatch(energyActions.setShowDetailService(payload)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ActiveServicesEnergy)\r\n","import React, { Fragment, useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as usersActions from \"../../../store/actions/Users\";\r\n\r\nimport { useTable, useSortBy, usePagination } from \"react-table\";\r\n\r\nimport amplitude from \"amplitude-js\";\r\nimport empty_users from \"../../../imgs/empty-users.svg\";\r\nimport empty_users_light from \"../../../imgs/empty-user-light.svg\";\r\n\r\nconst Table = ({ columns, data, actions, page, deleteAction, ...props }) => {\r\n const { theme } = props;\r\n\r\n const {\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow\r\n } = useTable({ columns, data }, useSortBy, usePagination);\r\n\r\n const [userSelected, setUserSelected] = useState(null);\r\n\r\n useEffect(() => {\r\n if (userSelected) { actions(userSelected); }\r\n }, [actions, userSelected]);\r\n\r\n return (\r\n \r\n {\r\n data.length ?\r\n
\r\n \r\n \r\n {headerGroups\r\n .map((headerGroup) => (\r\n \r\n {headerGroup.headers\r\n .map((column, index) => (\r\n column.id !== \"id\" &&\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {page\r\n .map((row) => { \r\n prepareRow(row)\r\n return (\r\n \r\n {row.cells\r\n .map((cell) => {\r\n \r\n return (\r\n cell.column.id !== \"id\" &&\r\n \r\n )\r\n })}\r\n \r\n )\r\n })}\r\n \r\n
\r\n
\r\n

{column.render(\"Header\")}

\r\n \r\n {column.isSorted ?\r\n column.isSortedDesc\r\n ? \r\n : :\r\n \"\"}\r\n \r\n
\r\n
\r\n {\r\n // cell.column.id === \"services\" ?\r\n //
\r\n // \r\n // {cell.render(\"Cell\")}\r\n //
:\r\n // cell.column.id === \"department\" && cell.value ?\r\n //
\r\n // {cell.value?.length > 1 ?\r\n //
\r\n //
\r\n // {props.language[cell?.value[0]?.valueText]}\r\n //
\r\n //
{`+${cell.value.length - 1}`}
\r\n //
:\r\n //
\r\n // {props.language[cell?.value[0]?.valueText] ?? 'N/A'}\r\n //
}\r\n // {/*
\r\n // {cell.value.length > 1 ? `${cell.value[0]?.name} ...+${cell.value.length - 1}` : cell.value[0]?.name ?? 'N/A'}\r\n //
*/}\r\n //
:\r\n cell.column.id === \"edit\" ?\r\n
\r\n
{ setUserSelected(cell.row.values); props.setShowCreateUserModal(2); amplitude.getInstance().logEvent(\"Edit User\"); }}>\r\n \r\n
\r\n
{ deleteAction(cell.row.values); amplitude.getInstance().logEvent(\"Delete User\"); }}>\r\n \r\n
\r\n
:\r\n cell.render(\"Cell\")}\r\n
\r\n
:\r\n
\r\n \"empty_users\"\r\n
{props.language.user_table_title_empty_state}
\r\n
{props.language.user_table_description_empty_state}
\r\n {/* */}\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setShowCreateUserModal: (payload) => dispatch(usersActions.setShowCreateUserModal(payload)),\r\n setUserAccessEdit: (payload) => dispatch(usersActions.setUserAccessEdit(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Table);","import React, { Fragment, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as usersActions from '../../../store/actions/Users';\r\n\r\nimport { useTable, useSortBy, usePagination } from \"react-table\";\r\n\r\nimport { Modal, Loader } from 'rsuite';\r\n\r\nimport Table from \"../utilities/Table\";\r\nimport MultipleSelect from '../utilities/MultipleSelect';\r\n\r\nconst columns = [\r\n {\r\n Header: \"\",\r\n id: 'id',\r\n accessor: \"idUser\"\r\n },\r\n {\r\n Header: `Nombres`,\r\n id: 'name',\r\n accessor: \"name\"\r\n },\r\n {\r\n Header: 'Apellido',\r\n id: 'lastname',\r\n accessor: \"lastname\"\r\n },\r\n {\r\n Header: 'Teléfono',\r\n id: 'phone',\r\n accessor: \"phone\"\r\n },\r\n {\r\n Header: 'Correo electrónico',\r\n id: 'email',\r\n accessor: \"email\"\r\n },\r\n {\r\n Header: 'Área',\r\n id: 'department',\r\n accessor: \"jobs\"\r\n },\r\n {\r\n Header: 'Servicios',\r\n id: 'services',\r\n accessor: \"services?.length\"\r\n },\r\n {\r\n Header: 'Edición',\r\n id: 'edit'\r\n },\r\n]\r\n\r\nconst Users = (props) => {\r\n\r\n let users = props.usersAccount;\r\n let account = props.account;\r\n let usersAccountLoading = props.usersAccountLoading;\r\n\r\n const { theme } = props;\r\n\r\n const {\r\n page,\r\n canPreviousPage,\r\n canNextPage,\r\n pageOptions,\r\n gotoPage,\r\n nextPage,\r\n previousPage,\r\n setPageSize,\r\n state: { pageIndex, pageSize }\r\n } = useTable({ columns, data: users }, useSortBy, usePagination);\r\n\r\n const loadUsersByAccountAsync = props.loadUsersByAccountAsync;\r\n\r\n useEffect(() => {\r\n if (account !== null)\r\n loadUsersByAccountAsync();\r\n }, [account, loadUsersByAccountAsync]);\r\n\r\n return (\r\n \r\n props.setShowUsersListModal(false)}\r\n className={`rounded-24 surface-bg-surface border-fill-medium ${theme}`}\r\n backdropClassName={`${theme}`}\r\n >\r\n \r\n
\r\n
\r\n

{props.language.users_title_main_header}

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {usersAccountLoading ?\r\n
\r\n \r\n
:\r\n props.deleteUserAsync(value.id)}\r\n actions={value => {\r\n\r\n let user = users.find(u => u.idUser === value.id);\r\n\r\n user.roleIds = user.jobs.map(s => s.idJob);\r\n user.servicesIds = user.services.map(s => s.idService);\r\n\r\n props.setUserAccessEdit(user);\r\n\r\n }} />\r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n

{`${props.language.pagination} ${pageIndex + 1} ${props.language.pagination_of} ${pageOptions.length}`}

\r\n \r\n {/*

{props.language.users_pagination_go_to_page}

*/}\r\n {/* {\r\n const page = e.target.value ? Number(e.target.value) - 1 : 0;\r\n gotoPage(page);\r\n }}\r\n /> */}\r\n {/* {\r\n setPageSize(Number(e.target.value));\r\n }}>\r\n {[5, 10, 15, 20].map((pageSize) => (\r\n \r\n ))}\r\n */}\r\n
\r\n ({ value: size, label: `${props.language.users_pagination_show_page} ${size}` }))}\r\n selectedData={[pageSize]} \r\n singleSelect={true} \r\n value={`${props.language.users_pagination_show_page} ${pageSize}`}\r\n onChange={(data) => setPageSize(data[0])} \r\n width={'8rem'}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n account: state.accounts.account,\r\n usersAccount: state.users.usersAccount,\r\n usersAccountLoading: state.users.usersAccountLoading,\r\n showUsersListModal: state.users.showUsersListModal,\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setShowCreateUserModal: (payload) => dispatch(usersActions.setShowCreateUserModal(payload)),\r\n setShowUsersListModal: (payload) => dispatch(usersActions.setShowUsersListModal(payload)),\r\n setUserAccessEdit: (payload) => dispatch(usersActions.setUserAccessEdit(payload)),\r\n loadUsersByAccountAsync: () => dispatch(usersActions.loadUsersByAccountAsync()),\r\n deleteUserAsync: (payload) => dispatch(usersActions.deleteUserAsync(payload)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Users)","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as usersActions from '../../../store/actions/Users';\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nimport { Modal, Loader } from 'rsuite';\r\n\r\nimport Input from '../utilities/Input';\r\nimport MultipleSelect from '../utilities/MultipleSelect';\r\n\r\nimport { Transition } from \"react-transition-group\";\r\n\r\nconst initUserForm = {\r\n name: null,\r\n lastname: null,\r\n email: null,\r\n phone: null,\r\n idDocument: null,\r\n roleIds: [],\r\n servicesIds: []\r\n}\r\n\r\nconst isValidateEmail = email => {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\r\n}\r\n\r\nconst isValidateString = val => {\r\n return /^[ñíóáéú a-zA-Z ]+$/.test(val);\r\n}\r\n\r\nconst isValidUser = user => {\r\n\r\n if (user.name === null || user.name === \"\" || !isValidateString(user.name)) {\r\n return false;\r\n }\r\n\r\n if (user.lastname === null || user.lastname === \"\" || !isValidateString(user.lastname)) {\r\n return false;\r\n }\r\n\r\n if (!isValidateEmail(user.email)) {\r\n return false;\r\n }\r\n\r\n if (user.phone === null || user.phone === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.roleIds === null || !user.roleIds.length) {\r\n return false;\r\n }\r\n\r\n if (user.servicesIds === null || !user.servicesIds.length) {\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n}\r\n\r\nconst showError = (user, setFocus, setError, language) => {\r\n\r\n if (user.name === null || user.name === \"\" || !isValidateString(user.name)) {\r\n setFocus(1);\r\n setError(language.alert_user_popup_name);\r\n return;\r\n }\r\n\r\n if (user.lastname === null || user.lastname === \"\" || !isValidateString(user.lastname)) {\r\n setFocus(2);\r\n setError(language.alert_user_popup_lastname);\r\n return;\r\n }\r\n\r\n if (user.idDocument === null || user.idDocument === \"\") {\r\n setFocus(3);\r\n setError(language.alert_user_popup_id_document);\r\n return;\r\n }\r\n\r\n if (user.phone === null || user.phone === \"\") {\r\n setFocus(4);\r\n setError(language.alert_create_user_popup_phone);\r\n return;\r\n }\r\n\r\n if (!isValidateEmail(user.email)) {\r\n setFocus(5);\r\n setError(language.alert_create_user_popup_email);\r\n return;\r\n }\r\n\r\n if (user.roleIds === null || !user.roleIds.length) {\r\n setFocus(6);\r\n setError(language.alert_create_user_popup_job_area);\r\n return;\r\n }\r\n\r\n if (user.servicesIds === null || !user.servicesIds.length) {\r\n setFocus(7);\r\n setError(language.alert_create_user_popup_selected_services);\r\n return;\r\n }\r\n\r\n return setFocus(0);\r\n}\r\n\r\nconst userLoadingContainer = (loading, language) => (\r\n
\r\n \r\n {(state) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n)\r\n\r\nconst UserCreate = (props) => {\r\n\r\n let userJobs = props.userJobs;\r\n let userAccessEdit = props.userAccessEdit;\r\n let language = props.language;\r\n\r\n const { theme } = props;\r\n\r\n const [userForm, setUserForm] = useState(initUserForm);\r\n const [isEnable, setEnable] = useState(false);\r\n const [focus, setFocus] = useState(0);\r\n const [error, setError] = useState(\"\");\r\n\r\n const loadUserJobsAsync = props.loadUserJobsAsync;\r\n const createUserAsync = props.createUserAsync;\r\n const updateUserAsync = props.updateUserAsync;\r\n\r\n useEffect(() => {\r\n if (!userJobs.length)\r\n loadUserJobsAsync();\r\n }, [userJobs, loadUserJobsAsync]);\r\n\r\n useEffect(() => {\r\n userAccessEdit !== null ? setUserForm(userAccessEdit) : setUserForm(initUserForm)\r\n }, [userAccessEdit]);\r\n\r\n useEffect(() => {\r\n setEnable(isValidUser(userForm));\r\n }, [userForm]);\r\n\r\n useEffect(() => {\r\n if (focus !== 0) { showError(userForm, setFocus, setError, language) }\r\n }, [userForm, language, focus]);\r\n\r\n const handleClose = () => {\r\n props.setShowCreateUserModal(false);\r\n props.setUserAccessEdit(null);\r\n }\r\n\r\n const formatLabel = (array1, array2, keyName, labelName) => {\r\n\r\n let array3 = array1.map(x => array2.filter(y => y[keyName] === x))\r\n .flat()\r\n\r\n return array3.map((s, index) => {\r\n if (index === array3.length - 1) {\r\n return `${s[labelName]}. `;\r\n } else {\r\n return `${s[labelName]}, `;\r\n }\r\n\r\n }).join(\"\");\r\n }\r\n\r\n return (\r\n handleClose()}>\r\n \r\n
\r\n

{props.showCreateUserModal === 2 ? props.language.user_title_edit_user : props.language.user_title_create_user}

\r\n \r\n
\r\n
\r\n \r\n {props.usersLoading ?
{userLoadingContainer(props.usersLoading, props.language)}
:\r\n
\r\n
\r\n
\r\n {\r\n setUserForm({ ...userForm, name: target.value })\r\n }}\r\n error={focus === 1 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserForm({ ...userForm, lastname: target.value })\r\n }}\r\n error={focus === 2 ? error : \"\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserForm({ ...userForm, idDocument: target.value })\r\n }}\r\n error={focus === 3 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserForm({ ...userForm, phone: target.value })\r\n }}\r\n error={focus === 4 ? error : \"\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserForm({ ...userForm, email: target.value })\r\n }}\r\n error={focus === 5 ? error : \"\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n setUserForm({ ...userForm, roleIds: value })}\r\n error={focus === 6 ? error : \"\"}\r\n value={userForm?.roleIds.length && `${props.language.user_selected_label_job_area}: ${userForm?.roleIds.length}`}\r\n />\r\n
\r\n
\r\n setUserForm({ ...userForm, servicesIds: value })}\r\n error={focus === 7 ? error : \"\"}\r\n value={userForm?.servicesIds.length && `${props.language.user_select_label_services_selected}: ${userForm?.servicesIds.length}`}\r\n />\r\n
\r\n
\r\n {userForm ?\r\n
\r\n \r\n \r\n
:\r\n
\r\n \r\n \r\n
\r\n }\r\n
}\r\n
\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userAccessEdit: state.users.userAccessEdit,\r\n userJobs: state.users.userJobs,\r\n totalServices: state.services.totalServices,\r\n showCreateUserModal: state.users.showCreateUserModal,\r\n language: state.shared.language,\r\n usersLoading: state.users.usersLoading,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setShowCreateUserModal: (payload) => dispatch(usersActions.setShowCreateUserModal(payload)),\r\n loadUserJobsAsync: () => dispatch(usersActions.loadUserJobsAsync()),\r\n setUserAccessEdit: (payload) => dispatch(usersActions.setUserAccessEdit(payload)),\r\n createUserAsync: (payload) => dispatch(usersActions.createUserAsync(payload)),\r\n updateUserAsync: (payload) => dispatch(usersActions.updateUserAsync(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserCreate)","import React, { useState } from \"react\"\r\nimport { connect } from \"react-redux\"\r\n\r\nimport * as servicesActions from \"../../../store/actions/Services\"\r\nimport * as usersActions from \"../../../store/actions/Users\"\r\n\r\nimport { Animation } from \"rsuite\"\r\nimport { Popover } from \"@idui/react-popover\"\r\n\r\nimport ServicesPopover from \"./ServicesPopover\"\r\nimport ActiveServices from \"./ActiveServices\"\r\nimport UserList from '../../shared/users/Users';\r\nimport UserCreate from \"../../shared/users/UserCreate\"\r\nimport ButtonCircle from \"../../shared/utilities/ButtonCircle\"\r\n\r\nimport _ from \"lodash\"\r\n\r\nconst ServicesEnergy = (props) => {\r\n\r\n let activeServicesEnergy = props.activeServicesEnergy\r\n\r\n const { theme } = props;\r\n\r\n const setShowUsersListModal = props.setShowUsersListModal\r\n const setUsersAccount = props.setUsersAccount\r\n\r\n const [activeServiceDetail, setActiveServiceDetail] = useState(activeServicesEnergy[0])\r\n \r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n

{props.language.energy_main_title_dashboard}

\r\n \r\n
\r\n
\r\n {\r\n const filteredPlusServices = value.filter(service => service.type.typeService === 2)\r\n props.setActiveServicesEnergy(value) \r\n if(filteredPlusServices.length) props.setActiveServicesPlus([_.last(filteredPlusServices)])\r\n }}\r\n availableTypeServices={[\"energy\", \"plus\", \"generation\"]}\r\n limitSelectServices={3}\r\n typeComponent={'energy'}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{props.language.energy_adress_title}

\r\n {activeServiceDetail?.address ?\r\n \r\n
\r\n
\r\n
{activeServiceDetail?.address}
\r\n
\r\n
\r\n
\r\n }>\r\n
\r\n

{activeServiceDetail?.address}

\r\n
\r\n :\r\n
\r\n

{props.language.energy_graph_no_data}

\r\n
}\r\n
\r\n
\r\n

{props.language.energy_service_type_title}

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

{activeServiceDetail?.type.name ?? props.language.energy_graph_no_data}

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

props.setShowUsersListModal(true)} className={`label-small-regular content-default-tertiary ${theme}`}>\r\n {props.language.energy_users_title}\r\n

\r\n
\r\n
\r\n {activeServiceDetail?.users?.length ? activeServiceDetail?.users.map((serviceDetail) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {!serviceDetail.image ? : \"Foto}\r\n
\r\n
\r\n
\r\n

\r\n {serviceDetail.name} {serviceDetail.lastname}\r\n

\r\n
\r\n )\r\n }) :\r\n
\r\n

{props.language.energy_no_users}

\r\n
}\r\n {\r\n setUsersAccount(activeServiceDetail?.users);\r\n setShowUsersListModal(true);\r\n }} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n language: state.shared.language,\r\n user: state.users.user,\r\n showDetailService: state.energy.showDetailService,\r\n showBlackScreen: state.shared.showBlackScreen,\r\n showMenu: state.shared.showMenu,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n setShowUsersListModal: (payload) => dispatch(usersActions.setShowUsersListModal(payload)),\r\n setUsersAccount: (payload) => dispatch(usersActions.setUsersAccount(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ServicesEnergy)\r\n","import React from 'react';\r\nimport step1 from '../../../imgs/onboarding/step1-service-picker.png';\r\nimport step1En from '../../../imgs/onboarding/english/step1-service-picker-en.png';\r\nimport step2 from '../../../imgs/onboarding/step2-service-picker.png';\r\nimport step2En from '../../../imgs/onboarding/english/step2-service-picker-en.png';\r\nimport step3 from '../../../imgs/onboarding/step3-service-picker.png';\r\nimport step3En from '../../../imgs/onboarding/english/step3-service-picker-en.png';\r\n\r\nexport const stepsServicePicker = (language) => {\r\n return ([\r\n {\r\n content:\r\n
\r\n \"step1-service-picker\"\r\n
,\r\n title: language.onboarding_service_picker_title_step1,\r\n description: language.onboarding_service_picker_description_step1,\r\n placement: \"left-start\", \r\n target: \"#service_picker\",\r\n disableBeacon: true,\r\n steps: 3,\r\n disableOverlayClose: true,\r\n spotlightClicks: true,\r\n hideFooter: true,\r\n hideFooterTitle: '¡Da click para descubrir cómo!',\r\n pulseEffect: true\r\n },\r\n {\r\n content:\r\n
\r\n \"step2-service-picker\"\r\n
,\r\n title: language.onboarding_service_picker_title_step2,\r\n description: language.onboarding_service_picker_description_step2,\r\n placement: \"left\",\r\n target: \"#type_services\",\r\n disableBeacon: true,\r\n steps: 3,\r\n hideBackButton: true\r\n },\r\n {\r\n content:\r\n
\r\n \"step3-service-picker\"\r\n
,\r\n title: language.onboarding_service_picker_title_step3,\r\n description: language.onboarding_service_picker_description_step3,\r\n placement: \"left\",\r\n target: \"#services_list\",\r\n disableBeacon: true,\r\n steps: 3\r\n },\r\n\r\n ])\r\n};","import React, { Fragment, useEffect, useState } from \"react\"\r\nimport { connect } from \"react-redux\"\r\n\r\nimport * as servicesActions from \"../../store/actions/Services\"\r\nimport * as sharedActions from \"../../store/actions/Shared\"\r\nimport * as energyActions from \"../../store/actions/Energy\"\r\nimport * as usersActions from \"../../store/actions/Users\"\r\n\r\nimport { getAnalytics, logEvent } from \"firebase/analytics\"\r\n\r\nimport ContentLoader from \"react-content-loader\"\r\n\r\nimport { Transition } from \"react-transition-group\"\r\n\r\nimport { Loader } from \"rsuite\"\r\n\r\nimport Cards from \"./cards/Cards\"\r\nimport Graph from \"./graphs/Graph\"\r\nimport Invoice from \"./invoice/Invoice\"\r\nimport Header from \"../shared/Header\"\r\nimport ServicesContainer from \"./services/ServicesContainer\"\r\n// import PreferenceInfo from \"../shared/users/PreferenceInfo\"\r\n\r\nimport useTour from '../onboarding/hook/useTour';\r\nimport { stepsService } from '../onboarding/steps/ServiceSteps';\r\nimport { stepsServicePicker } from \"../onboarding/steps/ServicePickerSteps\"\r\n\r\nconst analytics = getAnalytics()\r\n\r\nconst graphLoadingContainer = (loading, language) => (\r\n
\r\n \r\n {(state) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n)\r\n\r\nconst indicatorsLoading = (theme) => { return(\r\n
\r\n \r\n \r\n \r\n
\r\n)}\r\n\r\nconst CardsContent = ({ activeServices }) => {\r\n\r\n let mainCard;\r\n let widthCard = 0;\r\n\r\n if (activeServices.some(s => s.type.name === \"energy\")) {\r\n\r\n mainCard = \r\n widthCard = 350\r\n\r\n }\r\n\r\n return (\r\n \r\n {mainCard}\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n}\r\n\r\nconst Energy = (props) => {\r\n\r\n let user = props.user\r\n let account = props.account\r\n let graphs = props.graphs\r\n let activeGraphs = props.activeGraphs\r\n let intervalGraph = props.intervalGraph\r\n let activeServicesEnergy = props.activeServicesEnergy\r\n let setShowDetailService = props.setShowDetailService\r\n let setCurrentModule = props.setCurrentModule\r\n let screenPaddingBottom = props.screenPaddingBottom;\r\n let theme = props.theme\r\n\r\n const loadGraphAsync = props.loadGraphAsync\r\n const setShowBlackScreen = props.setShowBlackScreen\r\n const loadIndicatorsAsync = props.loadIndicatorsAsync\r\n const loadGraphOptionsAsync = props.loadGraphOptionsAsync\r\n const getUserPreferenceInfoAsync = props.getUserPreferenceInfoAsync\r\n const loadServicesAsync = props.loadServicesAsync\r\n const loadBannersAsync = props.loadBannersAsync\r\n const setStartOnboarding = props.setStartOnboarding\r\n\r\n const [historyData, setHistoryData] = useState(props.history.location.state?.data)\r\n\r\n \r\n useEffect(() => {\r\n if (historyData) {\r\n setHistoryData(null)\r\n } else {\r\n if (!activeServicesEnergy?.filter((item) => item?.idAccount === account?.idAccount).length) {\r\n account && loadServicesAsync()\r\n }\r\n setShowDetailService(false)\r\n }\r\n // eslint-disable-next-line\r\n }, [account, loadServicesAsync])\r\n\r\n useEffect(() => {\r\n if (activeServicesEnergy.length && graphs.length) {\r\n loadGraphAsync()\r\n }\r\n }, [loadGraphAsync, graphs, activeServicesEnergy, intervalGraph, activeGraphs])\r\n\r\n useEffect(() => {\r\n if (activeGraphs.length){\r\n setShowBlackScreen(false)\r\n }\r\n }, [setShowBlackScreen, activeGraphs])\r\n\r\n useEffect(() => {\r\n if (activeServicesEnergy.length) {\r\n loadIndicatorsAsync()\r\n loadGraphOptionsAsync()\r\n loadBannersAsync()\r\n }\r\n }, [loadIndicatorsAsync, loadGraphOptionsAsync, activeServicesEnergy, loadBannersAsync])\r\n\r\n useEffect(() => {\r\n logEvent(analytics, \"dashboard\", {\r\n id_user: user.idUser,\r\n user_name: `${user.name} ${user.lastname}`,\r\n })\r\n\r\n setCurrentModule(4)\r\n\r\n }, [user, setCurrentModule])\r\n\r\n useEffect(() => {\r\n getUserPreferenceInfoAsync()\r\n }, [getUserPreferenceInfoAsync, account, intervalGraph]) \r\n\r\n const handleFirstTourFinish = () => { \r\n setStartOnboarding({key: 'service_picker', value: true}) \r\n };\r\n\r\n const tourServiceDetail = useTour({ steps: stepsService(props.language), localStorageKey: \"service-tutorial\", isOpenDrawer: null, onTourFinish: handleFirstTourFinish, runTour: props.serviceDetail, setRunTour: setStartOnboarding, key: 'service_detail' });\r\n const tourServicePicker = useTour({ steps: stepsServicePicker(props.language), localStorageKey: \"service-picker-tutorial\", runTour: props.servicePicker, setRunTour: setStartOnboarding, key: 'service_picker', controlledOnboarding: props.controlledServicePicker, setShowPulseAnimation: props.setShowPulseAnimation });\r\n\r\n\r\n\r\n return (\r\n
\r\n {tourServiceDetail}\r\n {tourServicePicker}\r\n
\r\n
\r\n \r\n
\r\n {props.indicatorsLoading ?\r\n
{indicatorsLoading(theme)}
:\r\n \r\n }\r\n
\r\n
\r\n
{!props.graphLoading ? :
{graphLoadingContainer(props.graphLoading, props.language)}
}
\r\n
\r\n
\r\n {/* {!props.userPreferenceInfo && !props.graphLoading && !props.indicatorsLoading ? : null} */}\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n graphData: state.energy.graphData,\r\n intervalGraph: state.energy.intervalGraph,\r\n graphLoading: state.energy.graphLoading,\r\n indicatorsLoading: state.energy.indicatorsLoading,\r\n activeGraphs: state.energy.activeGraphs,\r\n graphs: state.energy.graphs,\r\n language: state.shared.language,\r\n user: state.users.user,\r\n userPreferenceInfo: state.users.userPreferenceInfo,\r\n account: state.accounts.account,\r\n showDetailService: state.energy.showDetailService,\r\n showBlackScreen: state.shared.showBlackScreen,\r\n showMenu: state.shared.showMenu,\r\n serviceDetail: state.shared.startOnboarding.service_detail,\r\n servicePicker: state.shared.startOnboarding.service_picker,\r\n controlledServicePicker: state.shared.controlledOnboarding.service_picker,\r\n screenPaddingBottom: state.shared.screenPaddingBottom,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n loadGraphAsync: () => dispatch(energyActions.loadGraphAsync()),\r\n loadIndicatorsAsync: () => dispatch(energyActions.loadIndicatorsAsync()),\r\n setShowBlackScreen: (payload) => dispatch(sharedActions.setShowBlackScreen(payload)),\r\n setCurrentModule: (payload) => dispatch(sharedActions.setCurrentModule(payload)),\r\n loadGraphOptionsAsync: () => dispatch(energyActions.loadGraphOptionsAsync()),\r\n getUserPreferenceInfoAsync: () => dispatch(usersActions.getUserPreferenceInfoAsync()),\r\n loadServicesAsync: (payload) => dispatch(servicesActions.loadServicesAsync(payload)),\r\n loadBannersAsync: () => dispatch(energyActions.loadBannersAsync()),\r\n setShowDetailService: (payload) => dispatch(energyActions.setShowDetailService(payload)),\r\n setStartOnboarding: (payload) => dispatch(sharedActions.setStartOnboarding(payload)),\r\n setShowPulseAnimation: (payload) => dispatch(sharedActions.setShowPulseAnimation(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Energy)\r\n","import React from \"react\"\r\n\r\nimport step1 from \"../../../imgs/onboarding/step1-service-detail.png\"\r\nimport step1En from \"../../../imgs/onboarding/english/step1-service-detail-en.png\"\r\nimport step2 from \"../../../imgs/onboarding/step2-service-detail.png\"\r\nimport step2En from \"../../../imgs/onboarding/english/step2-service-detail-en.png\"\r\n\r\nexport const stepsService = (language) => {\r\n return (\r\n [\r\n {\r\n content: (\r\n
\r\n \"setp\r\n
\r\n ),\r\n title: language.onboarding_service_title_step1,\r\n description: language.onboarding_service_description_step1,\r\n placement: \"bottom\",\r\n target: \"#menu_services\",\r\n disableBeacon: true,\r\n steps: 2,\r\n },\r\n {\r\n content: (\r\n
\r\n \"setp\r\n
\r\n ),\r\n title: language.onboarding_service_title_step2,\r\n description: language.onboarding_service_description_step2,\r\n placement: \"bottom-start\", \r\n target: \"#active_service\",\r\n disableBeacon: true,\r\n steps: 2,\r\n },\r\n ]\r\n )\r\n} \r\n","import React from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport { CircularProgressbarWithChildren } from 'react-circular-progressbar';\r\n\r\nconst User = (props) => {\r\n\r\n let user = props.user;\r\n\r\n const { theme } = props;\r\n\r\n const getProgressStyle = () => {\r\n \r\n return {\r\n path: { stroke: theme === 'dark' ? '#9ecc14' : '#7da60c' },\r\n trail: { stroke: theme === 'dark' ? '#262626' : '#fafafa' }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
props.setShowAccount(true)}>\r\n
\r\n \r\n
\r\n
\r\n {!user.image ?\r\n :\r\n \"user-profile\"\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{user.name} {user.lastname}
\r\n
\r\n
\r\n
\r\n
);\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.users.user,\r\n progress: state.users.profileProgress,\r\n account: state.accounts.account,\r\n theme: state.theme.theme,\r\n})\r\n\r\nexport default connect(mapStateToProps)(User)","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Link, useLocation } from \"react-router-dom\";\r\n\r\nimport * as sharedActions from \"../../store/actions/Shared\";\r\nimport * as themeActions from \"../../store/actions/Theme\";\r\n\r\nimport { Transition } from \"react-transition-group\";\r\n\r\nimport User from \"./User\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nimport LogoLight from '../../imgs/logo-enrg-light.svg'\r\nimport LogoDark from '../../imgs/logo-enrg-dark.svg'\r\n\r\nimport { themes } from \"../../utils/enums\";\r\n\r\nconst getActivePath = (location) => {\r\n const parts = location.pathname.split(\"/\");\r\n return parts[1];\r\n};\r\n\r\nconst Menu = (props) => {\r\n let user = props.user;\r\n const { theme } = props;\r\n const location = useLocation();\r\n\r\n const [active, setActive] = useState(getActivePath(location));\r\n\r\n useEffect(() => setActive(getActivePath(location)), [location]);\r\n\r\n return (\r\n \r\n \r\n {(state) => (\r\n props.setMenu(false)}\r\n >\r\n
\r\n \r\n )}\r\n
\r\n \r\n {(state) => (\r\n props.setMenu(true)}\r\n onMouseLeave={() => props.setMenu(false)}\r\n >\r\n \r\n \"logo-neu-energy\"\r\n \r\n
\r\n \r\n {\r\n props.setCurrentModule(0);\r\n }}\r\n >\r\n \r\n \r\n \r\n {props.language.menu_main_dashboard}\r\n
\r\n \r\n \r\n \r\n {user.capabilities?.show_section_genius && (\r\n \r\n {\r\n props.setCurrentModule(3);\r\n track(\"Genius viewed\");\r\n }}\r\n >\r\n \r\n
\r\n \r\n {props.language.menu_genius_service}\r\n \r\n \r\n \r\n \r\n )}\r\n {user.capabilities?.show_section_efficiency && (\r\n \r\n {\r\n props.setCurrentModule(1);\r\n }}\r\n >\r\n \r\n
\r\n \r\n {props.language.menu_efficiency_service}\r\n \r\n \r\n \r\n \r\n )}\r\n {user.capabilities?.show_section_plus && false && (\r\n \r\n {\r\n props.setCurrentModule(2);\r\n }}\r\n >\r\n \r\n
\r\n \r\n {props.language.menu_plus_service}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n showMenu: state.shared.showMenu,\r\n language: state.shared.language,\r\n user: state.users.user,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setMenu: (payload) => dispatch(sharedActions.setMenu(payload)),\r\n setCurrentModule: (payload) =>\r\n dispatch(sharedActions.setCurrentModule(payload)),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Menu);\r\n","import React, { useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst Tooltip = ({\r\n text,\r\n changeFocus = () => {},\r\n fontIcon = 12,\r\n fontSize = 8,\r\n typeIcon = \"solid\",\r\n colorIcon = \"white\",\r\n bgColor = \"gray-800\",\r\n amplitudeEvent = false,\r\n theme,\r\n}) => {\r\n const [focus, setFocus] = useState(false);\r\n\r\n return (\r\n {\r\n setFocus(state);\r\n changeFocus(state);\r\n focus && amplitudeEvent && track(\"Standby information hover\");\r\n }}\r\n animation={{\r\n animate: { opacity: 1 },\r\n exit: { opacity: 0, transition: { duration: 0.1 } },\r\n initial: { opacity: 0 },\r\n }}\r\n content={\r\n
\r\n \r\n {text}\r\n

\r\n
\r\n }\r\n >\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n text: ownProps.text,\r\n});\r\n\r\nexport default connect(mapStateToProps)(Tooltip);\r\n","import React, { Fragment, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as invoicesActions from '../../store/actions/Invoices';\r\n\r\nimport { sortByDate } from '../../services/CalendarHandler';\r\n\r\nimport { CircularProgressbarWithChildren } from 'react-circular-progressbar';\r\n\r\nimport QRCode from \"react-qr-code\";\r\n\r\nimport signature from '../../imgs/jeh-signature.png';\r\n\r\nimport { Whisper, Tooltip } from 'rsuite';\r\n\r\nimport TooltipInfo from '../shared/utilities/Tooltip';\r\n\r\nconst progressStyle = {\r\n path: { stroke: \"#a1c52a\" },\r\n trail: { stroke: \"#f2f2f3\" }\r\n}\r\n\r\nconst InvoiceDetails = (props) => {\r\n\r\n let invoiceDetailsContent = props.invoiceDetailsContent;\r\n let invoiceDetails = props.invoiceDetails;\r\n let invoiceShow = props.invoiceShow;\r\n\r\n const loadInvoiceDetailsContent = props.loadInvoiceDetailsContent;\r\n\r\n const groupConceptsByServiceType = (concepts) => {\r\n return concepts.reduce((result, concept) => {\r\n const serviceType = concept.service_type;\r\n if (!result[serviceType]) {\r\n result[serviceType] = [];\r\n }\r\n result[serviceType].push(concept);\r\n return result;\r\n }, {});\r\n };\r\n\r\n useEffect(() => { \r\n if (invoiceDetails !== null && invoiceShow?.type_content !== 'pdf') { loadInvoiceDetailsContent() }\r\n }, [loadInvoiceDetailsContent, invoiceDetails, invoiceShow]);\r\n\r\n return (\r\n \r\n {invoiceDetailsContent !== null ?\r\n
\r\n
\r\n
\r\n {invoiceDetailsContent.content.map((c, index) => (\r\n
{parseInt(c.bill.match(/e(\\d+)/i)[1], 10) < 40000 ? 'Impreso por CENET SA NIT 830057860 - MISFACTURAS | Resolución 18764066719668 aprobado en 20240304 prefijo NFE desde número 33416 al 40000 vigencia 12 meses' : 'Impreso por CENET SA NIT 830057860 - MISFACTURAS | Resolución 18764073131869 aprobado en 20240617 prefijo NFE desde número 40001 al 100000 vigencia 24 meses'}
\r\n
\r\n
\r\n \"logo-neu-energy\"\r\n neu.com.co\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_bill}
\r\n
{c.bill}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_contract}
\r\n
{c.contract}
\r\n
\r\n
\r\n
{props.language.invoice_content_text_niu}
\r\n
{c.niu}
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_customer_name}
\r\n
{c.customer_name}
\r\n
\r\n
\r\n
{c.type_id}
\r\n
{c.id}
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_service_name}
\r\n
{c.service_name}
\r\n
\r\n
\r\n
{props.language.invoice_content_text_billing_address}
\r\n
{c.billing_address}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{`${props.language.invoice_content_text_total} ${c.bill}`}
\r\n
${c.total}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_bill_date}
\r\n
\r\n {c.bill_date}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_due_date}
\r\n
\r\n {c.due_date}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {!invoiceDetailsContent.pending.length ?\r\n
\r\n \r\n
{props.language.invoice_content_text_strong_balance}{props.language.invoice_content_first_text_balance}
\r\n {props.language.invoice_content_second_text_balance}
\r\n
:\r\n
\r\n
\r\n \r\n
{props.language.invoice_content_text_strong_outstanding_balance} {props.language.invoice_content_text_outstanding_balance} ${c.outstanding_balance}
\r\n
\r\n
\r\n {invoiceDetailsContent.pending.length >= 4 ? invoiceDetailsContent.pending.slice(4).map((p, index) => (
{p.bill}
)) : invoiceDetailsContent.pending.map((p, index) => (
{p.bill}
))}\r\n {invoiceDetailsContent.pending.length >= 4 ?
{`+${invoiceDetailsContent.pending.length - 4}`}
: null}\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {c.suspension_date === 'Suspendido' ? \r\n
\r\n
\r\n {props.language.invoice_content_text_outstanding_balance_suspension}
\r\n
{c.suspension_date}
\r\n
:\r\n c.suspension_date === null && c.outstanding_balance === \"0\" ?\r\n
\r\n
\r\n {props.language.invoice_content_text_suspension_date_empty}
\r\n
:\r\n
\r\n
\r\n {props.language.invoice_content_text_suspension_date}
\r\n
{c.suspension_date}
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_consumption_detail}
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_consumption}
\r\n
{c.consumption} kWh
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_days_billed}
\r\n
{c.days_billed}
\r\n
\r\n
\r\n
{props.language.invoice_content_text_billed_since}
\r\n
{c.billed_since}
\r\n
\r\n
\r\n
{props.language.invoice_content_text_billed_until}
\r\n
{c.billed_until}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_meter_code}
\r\n
{c.meter_code}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_previous_consumption}
\r\n
{c.previous_consumption} kWh\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_current_consumption}
\r\n
{c.consumption} kWh\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {props.language.invoice_content_text_avg_six_months}
\r\n
{c.avg_6_months} kWh\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {invoiceDetailsContent.graph.sort(sortByDate).map((g, index) => (
\r\n
${g.total}
\r\n
{g.quantity}
\r\n
\r\n
\r\n
{g.month}
\r\n
))}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{props.language.invoice_content_text_label_pay_month}
\r\n
\r\n
\r\n \r\n
{props.language.invoice_content_text_label_consumption}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_reactive_detail}
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_days_billed_reactive}
\r\n
{c.days_billed_reactive}
\r\n
\r\n
\r\n
\r\n
\r\n {props.language.tooltip_reactive_inductive}}>\r\n
\r\n
{props.language.invoice_content_text_amount_billed_reactive_inductive}
\r\n
{c.amount_billed_reactive_inductive}
\r\n
\r\n \r\n {props.language.tooltip_reactive_capacitive}}>\r\n
\r\n
{props.language.invoice_content_text_amount_billed_reactive_capacitive}
\r\n
{c.amount_billed_reactive_capacitive}
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_amount_billed_reactive}
\r\n
{c.amount_billed_reactive}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_reactive_factor}
\r\n
{c.reactive_factor}
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_tariff_detail}
\r\n
\r\n {props.language.invoice_content_first_text_tariff} {props.language.invoice_content_first_text_strong_tariff} {props.language.invoice_content_second_text_tariff} {props.language.invoice_content_second_text_strong_tariff}, {props.language.invoice_content_third_text_tariff} {props.language.invoice_content_third_text_strong_tariff} {c.voltage_level}, {props.language.invoice_content_fourth_text_tariff} {props.language.invoice_content_fourth_text_strong_tariff} {c.social_stratum}, {props.language.invoice_content_fifth_text_tariff}\r\n {c.asset_ownership} {props.language.invoice_content_sixth_text_tariff} {c.location_type} {c.tariff_type}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
G
\r\n
{props.language.invoice_content_text_tariff_g}
\r\n
${c.g}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
T
\r\n
{props.language.invoice_content_text_tariff_t}
\r\n
${c.t}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
D
\r\n
{props.language.invoice_content_text_tariff_d}
\r\n
${c.d}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {c.cot ? \r\n
Cv + COT
: \r\n
Cv
}\r\n
{props.language.invoice_content_text_tariff_cv}
\r\n
${c.cv}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
P
\r\n
{props.language.invoice_content_text_tariff_pr}
\r\n
${c.pr}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
R
\r\n
{props.language.invoice_content_text_tariff_r}
\r\n
${c.r}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CU

=\r\n

G

+\r\n

T

+\r\n

D

+\r\n {c.cot ?

CV + COT

:

CV

}+\r\n

P

+\r\n

R

\r\n
\r\n
{c.cot ? props.language.invoice_content_text_tariff_cu_cot : props.language.invoice_content_text_tariff_cu} = ${c.cu}
\r\n
\r\n
\r\n
{props.language.invoice_content_text_technical_info}
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_or}\r\n
\r\n
{c.or}
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_or_phone}
\r\n
{c.or_phone}
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_distr_circuit}
\r\n
{c.distr_circuit}
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_transf_number}
\r\n
{c.transf_number}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_legal_info}
\r\n
\r\n {props.language.invoice_content_first_text_legal_info}
\r\n {props.language.invoice_content_second_text_legal_info}
\r\n {props.language.invoice_content_third_text_legal_info} www.neu.com.co, {props.language.invoice_content_fourth_text_legal_info}
\r\n {props.language.invoice_content_fifth_text_legal_info} www.neu.com.co {props.language.invoice_content_sixth_text_legal_info}
\r\n {props.language.invoice_content_seventh_text_legal_info}
\r\n {props.language.invoice_content_eighth_text_legal_info}\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_pay_methods}
\r\n \r\n \r\n
\r\n \r\n
{props.language.invoice_content_text_pay_wire_transfer}
\r\n
\r\n
{props.language.invoice_content_first_text_pay_wire_transfer_detail} 37700011858 {props.language.invoice_content_second_text_pay_wire_transfer_detail} cartera-clientes@neu.com.co
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"jeh-signature\"\r\n
Juan Esteban Hincapie
\r\n
{props.language.invoice_content_text_legal_representative}
\r\n
NEU Energy S.A.S E.S.P
\r\n
\r\n
\r\n
\r\n
\r\n
NEU ENERGY S.A.S E.S.P - 901302727-0
\r\n
{props.language.invoice_content_text_taxes}\r\n
\r\n
{props.language.invoice_content_text_address}: Carrera 49 #61SUR - 540
\r\n
{props.language.invoice_content_text_payment_way}: {props.language.invoice_content_text_payment_cash}\r\n
\r\n
{props.language.invoice_content_text_payment_method}: {props.language.invoice_content_text_debit_card}
\r\n
\r\n
\r\n
CUFE: {c.cufe}\r\n
))}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_support}
\r\n
soporte@erco.energy\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_support_wsp}
\r\n
(+57) 601 6659652
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_support_emergency}
\r\n
(+57) 601 6659652
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_footer_page} 1/2
\r\n
\r\n
\r\n
\r\n
\r\n
Impreso por CENET SA NIT 830057860 - MISFACTURAS | Resolución 18764045415051 aprobado en 20230303 prefijo NFE desde número 15001 al 40000 vigencia 12 meses
\r\n
\r\n {invoiceDetailsContent.content.map((c, index) => (\r\n
\r\n
\r\n
\r\n \"logo-neu-card\"\r\n
\r\n {props.language.invoice_content_text_strong_neugets} {props.language.invoice_content_first_text_neugets} {c.neugets} NEUGets
{props.language.invoice_content_second_text_neugets}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_bill}
\r\n
{c.bill}
\r\n
\r\n \r\n
\r\n
))}\r\n
\r\n
{props.language.invoice_content_text_bill_detail}
\r\n \r\n
\r\n
\r\n {Object.entries(groupConceptsByServiceType(invoiceDetailsContent.concepts)).map(([serviceType, items], index) => (\r\n
\r\n \r\n
{serviceType}
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_header_table_item}
\r\n
\r\n
\r\n
{props.language.invoice_content_text_header_table_detail}
\r\n
\r\n
\r\n
{serviceType === 'SALDOS A FAVOR DDV' ? props.language.invoice_content_text_header_table_month_value : serviceType.split(\" (\")[0] === 'INTERESES DE MORA' ? props.language.invoice_content_text_header_table_concept_value : props.language.invoice_content_text_header_table_unit_value}
\r\n
\r\n
\r\n
{serviceType.split(\" (\")[0] === 'INTERESES DE MORA' ? props.language.invoice_content_text_header_table_days_quantity : props.language.invoice_content_text_header_table_quantity}
\r\n
\r\n
\r\n
{props.language.invoice_content_text_header_table_value}
\r\n
\r\n
\r\n {items.map((cp, conceptIndex) => (\r\n
\r\n
\r\n
{cp.number}
\r\n
\r\n
\r\n
\r\n {props.language[`tooltip_${cp.code.replace(/\\./g, '_').toLocaleLowerCase()}`] !== \"\" ?\r\n { }}\r\n fontSize={6}\r\n fontIcon={6}\r\n typeIcon={'solid'}\r\n colorIcon={'black'}\r\n bgColor={'gray-550'}\r\n /> : null}\r\n
{serviceType === 'SALDOS A FAVOR DDV' ? cp?.item.replace(/\\s*\\(.*?\\)\\s*/g, '').trim() : cp.item}\r\n
\r\n
\r\n
\r\n
\r\n
{serviceType === 'SALDOS A FAVOR DDV' ? cp?.item.match(/\\(([^)]+)\\)/)[1] : `$${cp.unit_value}`}
\r\n
\r\n
\r\n
{cp.quantity}
\r\n
\r\n
\r\n
${cp.total}\r\n
\r\n
\r\n
))}
))}\r\n {invoiceDetailsContent.content.map((c, index) => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_subtotal}
\r\n
\r\n
\r\n
${c.subtotal}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoice_content_text_iva}
\r\n
\r\n
\r\n
${c.iva}\r\n
\r\n
\r\n
\r\n {c.negative_balance !== '0' ?
\r\n
\r\n
{props.language.invoice_content_text_negative_balance}
\r\n
\r\n
\r\n
${c.negative_balance}\r\n
\r\n
\r\n
: null}\r\n {c.capital &&\r\n
\r\n
\r\n
{props.language.invoice_content_text_capital_record}\r\n
\r\n
\r\n
\r\n
${c.payments_capital}\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
{`${props.language.invoice_content_text_total} ${c.bill}`}\r\n
\r\n
\r\n
\r\n
${c.total}\r\n
\r\n
\r\n
\r\n
\r\n {c.new_negative_balance !== '0' ?
\r\n
\r\n
\r\n
{props.language.invoice_content_text_new_negative_balance}
\r\n
\r\n
\r\n
${c.new_negative_balance}\r\n
\r\n
\r\n
\r\n
: null}\r\n
\r\n\r\n
))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_support}
\r\n
soporte@erco.energy\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_support_wsp}
\r\n
(+57) 601 6659652
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_support_emergency}
\r\n
(+57) 601 6659652
\r\n
\r\n
\r\n \r\n
\r\n
{props.language.invoice_content_text_footer_page} 2/2
\r\n
\r\n
\r\n
: null\r\n }\r\n
\r\n )\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n invoiceDetails: state.invoices.invoiceDetails,\r\n invoiceDetailsContent: state.invoices.invoiceDetailsContent,\r\n invoiceShow: state.invoices.invoiceDetails\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadInvoiceDetailsContent: () => dispatch(invoicesActions.loadInvoiceDetailsContent())\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(InvoiceDetails);","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as invoicesActions from '../../store/actions/Invoices';\r\n\r\nimport { Modal, Whisper, Tooltip } from \"rsuite\";\r\n\r\nimport InvoiceDetails from './InvoiceDetails';\r\n\r\nconst InvoiceModal = (props) => {\r\n\r\n let invoiceShow = props.invoiceShow;\r\n let invoiceModalIndexes = props.invoiceModalIndexes;\r\n let groupedData = props.groupedData;\r\n let theme = props.theme;\r\n\r\n const setPreviousInvoiceModal = props.setPreviousInvoiceModal;\r\n const setFollowingInvoiceModal = props.setFollowingInvoiceModal;\r\n\r\n const currentAccount = invoiceModalIndexes && groupedData[invoiceModalIndexes.accountIndex];\r\n const currentDate = invoiceModalIndexes && currentAccount.dates[invoiceModalIndexes.dateGroupIndex];\r\n\r\n return (\r\n {\r\n props.setShowInvoice(false)\r\n props.setInvoicesModalIndexes(null)\r\n }}>\r\n
\r\n {invoiceShow ?\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/* */}\r\n
{invoiceShow.service_name}
\r\n \r\n
{props.language.invoices_title_section_bills} {invoiceShow.reference}
\r\n
\r\n
\r\n \r\n {!props.invoiceUrl ?\r\n : null}\r\n \r\n
\r\n
: null}\r\n {!props.invoiceUrl ?
\r\n \r\n
:\r\n
\r\n \r\n

{props.language.invoices_text_error_show_bills}

\r\n
\r\n
}\r\n
\r\n \r\n )\r\n\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n language: state.shared.language,\r\n invoiceShow: state.invoices.invoiceDetails,\r\n theme: state.theme.theme,\r\n ...ownProps\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n downloadInvoiceAsync: (payload) => dispatch(invoicesActions.downloadInvoiceAsync(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(InvoiceModal);","import React from 'react';\r\n\r\nimport { addHours, format } from 'date-fns';\r\nimport { es } from 'date-fns/locale';\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport ContentLoader from 'react-content-loader';\r\n\r\nimport * as invoicesActions from \"../../store/actions/Invoices\";\r\n\r\nimport { themes } from '../../utils/enums';\r\n\r\nfunction InvoiceTable(props) {\r\n\r\n const language = props.language\r\n const moreInvoicesLoading = props.moreInvoicesLoading\r\n const invoicesSummary = props.invoicesSummary\r\n const sortField = props.sortField\r\n const sortOrder = props.sortOrder;\r\n const groupedData = props.groupedData;\r\n const cleanDate = props.cleanDate;\r\n const theme = props.theme;\r\n\r\n const setInvoices = props.setInvoices;\r\n const setInvoicesSummary = props.setInvoicesSummary;\r\n const setCurrentPage = props.setCurrentPage\r\n const setSortField = props.setSortField\r\n const setSortOrder = props.setSortOrder;\r\n const setEmptyPaginationResult = props.setEmptyPaginationResult;\r\n const handleOpenModal = props.handleOpenModal;\r\n\r\n const formatNumber = (value) => {\r\n if (value === 0 || value === undefined || value === null) return \"0\";\r\n const string_value = value?.toString();\r\n if (!string_value.includes(\".\")) {\r\n return string_value.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n const values_part = string_value.split(\".\");\r\n const integerValue = values_part[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n const decimalValue = values_part[1].slice(0, 2);\r\n return `${integerValue}.${decimalValue}`;\r\n };\r\n\r\n const getMonthName = (date) => {\r\n const currentDate = new Date(date);\r\n const stringMonth = format(currentDate, 'MMMM', { locale: es });\r\n return stringMonth[0].toUpperCase() + stringMonth.slice(1, stringMonth.length);\r\n }\r\n\r\n const toggleInvoiceSelection = (invoice) => {\r\n if (invoice.state === 1) return;\r\n if (moreInvoicesLoading || invoice.loadingDelay) return;\r\n setInvoices(prevState => (\r\n prevState.map(currentInvoice => {\r\n if (currentInvoice.id_bill !== invoice.id_bill || currentInvoice.loadingDelay) return currentInvoice;\r\n if (currentInvoice.id_bill === invoice.id_bill) {\r\n const newIsSelected = !currentInvoice.isSelected;\r\n const newTotalConsumption = newIsSelected ? invoicesSummary.total_consumption + parseFloat(currentInvoice.consumption) : invoicesSummary.total_consumption - parseFloat(currentInvoice.consumption)\r\n const newTotalPayment = newIsSelected ? invoicesSummary.total_payment + parseFloat(currentInvoice.total_payment) : invoicesSummary.total_payment - parseFloat(currentInvoice.total_payment)\r\n setInvoicesSummary({\r\n ...invoicesSummary,\r\n total_consumption: parseFloat(parseFloat(newTotalConsumption).toFixed(2)),\r\n total_payment: parseFloat(parseFloat(newTotalPayment).toFixed(2)),\r\n id_bills_array: invoicesSummary.id_bills_array.map(bill => ({...bill, selected: bill.value === currentInvoice.id_bill ? newIsSelected : bill.selected}))\r\n })\r\n return { ...currentInvoice, isSelected: !currentInvoice.isSelected }\r\n };\r\n return currentInvoice;\r\n })\r\n ))\r\n }\r\n\r\n const accountHeaderTemplate = (account) => (\r\n \r\n \r\n
\r\n
{account}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n\r\n const dateHeaderTemplate = (date) => (\r\n \r\n \r\n
\r\n

{getMonthName(date)}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n\r\n const sortByServiceName = () => {\r\n const serviceNameSortField = 'service_name'\r\n let newSortOrder;\r\n if (sortField === serviceNameSortField) {\r\n newSortOrder = sortOrder > 0 ? -1 : 1;\r\n setSortOrder(newSortOrder);\r\n } else {\r\n newSortOrder = 1;\r\n setSortField(serviceNameSortField);\r\n setSortOrder(newSortOrder);\r\n }\r\n setCurrentPage(0)\r\n setEmptyPaginationResult(false)\r\n }\r\n\r\n const invoiceServiceNameTemplate = (rowData) => {\r\n const backgroundColor = rowData.isSelected ? 'surface-bg-on-surface' : 'surface-bg-on-surface-alpha'\r\n return (\r\n
\r\n {\r\n !rowData.loadingDelay ? (\r\n rowData.state !== 1 ? (\r\n { toggleInvoiceSelection(rowData) }}\r\n >\r\n \r\n ) : (\r\n \r\n )\r\n ) : <>\r\n }\r\n

{rowData.service_name}

\r\n
\r\n )\r\n };\r\n\r\n const invoiceReferenceTemplate = (rowData) => {\r\n const backgroundColor = rowData.isSelected ? 'surface-bg-on-surface' : 'surface-bg-on-surface-alpha'\r\n return (\r\n
\r\n

{rowData.reference}

\r\n
\r\n )\r\n };\r\n\r\n const invoiceTariffTemplate = (rowData) => {\r\n const surfaceBgOnSurface = theme === 'dark' ? '#262626' : '#fafafa';\r\n const surfaceBgOnSurfaceAlpha = theme === 'dark' ? '#ffffff0a' : '#1414140a';\r\n const backgroundColor = rowData.isSelected ? 'surface-bg-on-surface' : 'surface-bg-on-surface-alpha'\r\n\r\n return (\r\n
\r\n {\r\n rowData.loadingDelay ? (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ) : (\r\n

${formatNumber(rowData.tariff)}

\r\n )\r\n }\r\n
\r\n )\r\n };\r\n\r\n const invoiceConsumptionTemplate = (rowData) => {\r\n const surfaceBgOnSurface = theme === 'dark' ? '#262626' : '#fafafa';\r\n const surfaceBgOnSurfaceAlpha = theme === 'dark' ? '#ffffff0a' : '#1414140a';\r\n const backgroundColor = rowData.isSelected ? 'surface-bg-on-surface' : 'surface-bg-on-surface-alpha'\r\n return (\r\n
\r\n {\r\n rowData.loadingDelay ? (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ) : (\r\n

{formatNumber(rowData.consumption)} kWh/mes

\r\n )\r\n }\r\n
\r\n )\r\n };\r\n\r\n const statusTemplate = (rowData) => {\r\n const surfaceBgOnSurface = theme === 'dark' ? '#262626' : '#fafafa';\r\n const surfaceBgOnSurfaceAlpha = theme === 'dark' ? '#ffffff0a' : '#1414140a';\r\n const backgroundColor = rowData.isSelected ? 'surface-bg-on-surface' : 'surface-bg-on-surface-alpha'\r\n let value = rowData.state;\r\n let expiration = new Date(rowData.date_expiration);\r\n let state_string;\r\n let color;\r\n let bg_color;\r\n let border;\r\n\r\n switch (value) {\r\n case 0:\r\n if (expiration < new Date()) {\r\n state_string = language.invoices_state_overdue;\r\n color = 'content-color-red';\r\n bg_color = 'bg-alpha-red-32';\r\n border = 'border-color-red'\r\n } else {\r\n state_string = language.invoices_state_pending;\r\n color = 'content-color-orange';\r\n bg_color = 'bg-alpha-orange-32';\r\n border = 'border-color-orange'\r\n }\r\n break;\r\n case 1:\r\n state_string = language.invoices_state_paid;\r\n color = 'content-color-green';\r\n bg_color = 'bg-alpha-primary-brand-32';\r\n border = 'border-color-green'\r\n break;\r\n default:\r\n break;\r\n }\r\n return (\r\n
\r\n {\r\n rowData.loadingDelay ? (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ) : (\r\n
{state_string}
\r\n )\r\n }\r\n
\r\n )\r\n };\r\n\r\n const invoicePayTemplate = (rowData) => {\r\n const surfaceBgOnSurface = theme === 'dark' ? '#262626' : '#fafafa';\r\n const surfaceBgOnSurfaceAlpha = theme === 'dark' ? '#ffffff0a' : '#1414140a';\r\n const backgroundColor = rowData.isSelected ? 'surface-bg-on-surface' : 'surface-bg-on-surface-alpha'\r\n const value = rowData.total_payment\r\n let formattedTotalPayment;\r\n if (value === 0 || value === undefined || value === null) {\r\n formattedTotalPayment = \"0\"\r\n } else {\r\n const string_value = value?.toString();\r\n if (!string_value.includes(\".\")) {\r\n formattedTotalPayment = string_value.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n } else {\r\n const values_part = string_value.split(\".\");\r\n const integerValue = values_part[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n const decimalValue = values_part[1].slice(0, 2);\r\n formattedTotalPayment = `${integerValue}.${decimalValue}`;\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n rowData.loadingDelay ? (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ) : (\r\n

${formattedTotalPayment}

\r\n )\r\n }\r\n
\r\n )\r\n };\r\n\r\n const invoiceDetailTemplate = (rowData, accountIndex, dateGroupIndex, invoiceIndex) => {\r\n const backgroundColor = rowData.isSelected ? 'surface-bg-on-surface' : 'surface-bg-on-surface-alpha'\r\n const expiratioDnate = addHours(new Date(rowData.date_expiration), 5);\r\n const stringDate = format(expiratioDnate, 'dd MMMM', { locale: es })\r\n const separatedDate = stringDate.split(' ')\r\n\r\n return (\r\n
\r\n
\r\n

{separatedDate[0]} de {separatedDate[1]}

\r\n
\r\n
\r\n {\r\n e.stopPropagation();\r\n handleOpenModal(rowData, accountIndex, dateGroupIndex, invoiceIndex)\r\n }}>\r\n \r\n
\r\n
\r\n )\r\n };\r\n\r\n return (\r\n
\r\n {/*
*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n groupedData.map((accountGroup, accountIndex) => (\r\n \r\n {accountHeaderTemplate(accountGroup.account)}\r\n {accountGroup.dates.map((dateGroup, dateGroupIndex) => (\r\n \r\n {cleanDate ? dateHeaderTemplate(dateGroup.date) : <>}\r\n {dateGroup.invoices.map((invoice, index) => (\r\n toggleInvoiceSelection(invoice)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ))}\r\n \r\n ))\r\n }\r\n {\r\n moreInvoicesLoading && (\r\n <>\r\n \r\n \r\n \r\n {\r\n groupedData.length === 0 && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n <>\r\n \r\n \r\n )\r\n }\r\n \r\n
\r\n sortByServiceName()}\r\n >\r\n

Nombre proyecto

\r\n {sortField !== 'service_name' && }\r\n {(sortField === 'service_name' && sortOrder > 0) && }\r\n {(sortField === 'service_name' && sortOrder < 0) && }\r\n \r\n
\r\n \r\n

No. factura

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

Tarifa(mes)

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

Consumo

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

Estado factura

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

Total a pagar

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

Pagar antes de

\r\n
\r\n \r\n
{invoiceServiceNameTemplate(invoice)}{invoiceReferenceTemplate(invoice)}{invoiceTariffTemplate(invoice)}{invoiceConsumptionTemplate(invoice)}{statusTemplate(invoice)}{invoicePayTemplate(invoice)}{invoiceDetailTemplate(invoice, accountIndex, dateGroupIndex, index)}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n (!moreInvoicesLoading && groupedData.length === 0) ? (\r\n
\r\n
\r\n {\r\n theme === themes.DARK ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
\r\n

\r\n { language.invoices_empty_state }\r\n

\r\n
\r\n ) : <>\r\n }\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n language: state.shared.language,\r\n invoicesSummary: state.invoices.invoicesSummary,\r\n moreInvoicesLoading: state.invoices.moreInvoicesLoading,\r\n sortField: state.invoices.sortField,\r\n sortOrder: state.invoices.sortOrder,\r\n theme: state.theme.theme,\r\n ...props\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setInvoicesSummary: (payload) =>\r\n dispatch(invoicesActions.setInvoicesSummary(payload)),\r\n setCurrentPage: (payload) =>\r\n dispatch(invoicesActions.setCurrentPage(payload)),\r\n setSortField: (payload) =>\r\n dispatch(invoicesActions.setSortField(payload)),\r\n setSortOrder: (payload) =>\r\n dispatch(invoicesActions.setSortOrder(payload)),\r\n setEmptyPaginationResult: (payload) =>\r\n dispatch(invoicesActions.setEmptyPaginationResult(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(InvoiceTable)","import React from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport ContentLoader from \"react-content-loader\";\r\n\r\nimport PseIconDark from '../../imgs/pse-logo-dark.svg'\r\nimport PseIconLight from '../../imgs/pse-logo-light.svg'\r\nimport VisaIconDark from '../../imgs/visa-logo-dark.svg'\r\nimport VisaIconLight from '../../imgs/visa-logo-light.svg'\r\n\r\nimport * as invoicesActions from \"../../store/actions/Invoices\";\r\nimport { themes } from \"../../utils/enums\";\r\n\r\nconst InvoiceSummary = (props) => {\r\n\r\n let theme = props.theme;\r\n let _invoices = props.invoices;\r\n let invoicesSummary = props.invoicesSummary;\r\n let invoicesSummaryLoading = props.invoicesSummaryLoading;\r\n let invoicesLoading = props.invoicesLoading;\r\n let selectAll = props.selectAll;\r\n let allAccountsSelected = props.allAccountsSelected;\r\n let filterPendingInvoices = props.filterPendingInvoices;\r\n let notSelectedPedingInvoices = _invoices.filter(currentInvoice => !currentInvoice.loadingDelay && currentInvoice.state === 0 && !currentInvoice.isSelected).length\r\n let selectedPedingInvoicesArray = _invoices.filter(currentInvoice => !currentInvoice.loadingDelay && currentInvoice.state === 0 && currentInvoice.isSelected)\r\n let selectedPedingInvoices = selectedPedingInvoicesArray.length\r\n let totalConsumption = selectAll ? invoicesSummary.total_consumption : selectedPedingInvoicesArray.reduce((accum, i) => accum + parseFloat(i.consumption), 0);\r\n let totalPayment = selectAll ? invoicesSummary.total_payment : selectedPedingInvoicesArray.reduce((accum, i) => accum + parseFloat(i.total_payment), 0);\r\n let dynamicPedingInvoices = selectAll ? notSelectedPedingInvoices : invoicesSummary.total_bills - selectedPedingInvoices\r\n let dynamicSelectedPedingInvoices = selectAll ? (invoicesSummary.total_bills - notSelectedPedingInvoices) : (selectedPedingInvoices);\r\n\r\n const toggleSelectAll = props.toggleSelectAll;\r\n const setShowPay = props.setShowPay;\r\n const handleFilterPendingInvoices = props.handleFilterPendingInvoices;\r\n\r\n const formatNumber = (value) => {\r\n if (value === 0 || value === undefined || value === null) return \"0\";\r\n const string_value = value?.toString();\r\n if (!string_value.includes(\".\")) {\r\n return string_value.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n const values_part = string_value.split(\".\");\r\n const integerValue = values_part[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n const decimalValue = values_part[1].slice(0, 2);\r\n return `${integerValue}.${decimalValue}`;\r\n };\r\n\r\n return (\r\n
\r\n {\r\n !invoicesLoading ? (\r\n
\r\n {\r\n !invoicesSummaryLoading ? (\r\n <>\r\n
\r\n

Resumen

\r\n

toggleSelectAll()}>{dynamicSelectedPedingInvoices > 0 ? 'Deseleccionar todos los proyectos' : 'Seleccionar todos los proyectos'}

\r\n
\r\n {\r\n !allAccountsSelected ? (\r\n

{props.language.invoices_summary_account_filter_alert_before_bold}{props.language.invoices_summary_account_filter_alert_bold}{props.language.invoices_summary_account_filter_alert_after_bold}

\r\n ) : <>\r\n }\r\n \r\n )\r\n : <>\r\n }\r\n
\r\n {\r\n invoicesSummaryLoading ? (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n ) : (\r\n <>\r\n
\r\n
\r\n \r\n

{props.language.invoices_selected_invoices_summary_title}

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

{dynamicSelectedPedingInvoices}

\r\n

facturas

\r\n
\r\n
\r\n
handleFilterPendingInvoices(!filterPendingInvoices)}>\r\n
\r\n \r\n

{props.language.invoices_pending_invoices_summary_title}

\r\n
\r\n {\r\n invoicesSummary.total_bills !== 0 && dynamicSelectedPedingInvoices === 0 ? (\r\n
\r\n
\r\n
\r\n {props.language.invoices_state_pending}\r\n
\r\n
\r\n

{invoicesSummary.pending_bills}

\r\n

facturas

\r\n
\r\n
\r\n
\r\n
\r\n {props.language.invoices_state_overdue}\r\n
\r\n
\r\n

{invoicesSummary.total_bills - invoicesSummary.pending_bills}

\r\n

facturas

\r\n
\r\n
\r\n
\r\n ) : invoicesSummary.total_bills !== 0 && dynamicPedingInvoices === 0 ? (\r\n
\r\n

{props.language.invoices_empty_summary_pending_invoices}

\r\n
\r\n ) : (\r\n
\r\n

{dynamicPedingInvoices}

\r\n

facturas

\r\n
\r\n )\r\n }\r\n
\r\n
\r\n
\r\n \r\n

Consumo total seleccionado

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

{totalConsumption < 0 ? 0 : formatNumber(totalConsumption)}

\r\n

kWh

\r\n
\r\n
\r\n \r\n )\r\n }\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n {\r\n invoicesLoading || invoicesSummaryLoading ? (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ) : <>\r\n }\r\n {\r\n !invoicesLoading && !invoicesSummaryLoading && invoicesSummary.total_bills === 0 ? (\r\n
\r\n
\r\n \r\n
\r\n

\r\n !Bien hecho! Estas al día con el pago de tus facturas. Hasta hoy, no tienes deudas en tu factura de energía y eso nos llena de felicidad. !Gracias por tu compromiso!\r\n

\r\n
\r\n ) : <>\r\n }\r\n {\r\n !invoicesLoading && !invoicesSummaryLoading && invoicesSummary.total_bills !== 0 ? (\r\n
\r\n
\r\n
\r\n \r\n

Pago total

\r\n
\r\n
\r\n {totalPayment <= 0 &&

$0

}\r\n {totalPayment !== 0 &&

${formatNumber(totalPayment)}

}\r\n

COP

\r\n
\r\n
\r\n
\r\n {\r\n if (dynamicSelectedPedingInvoices === 0) return;\r\n setShowPay(true);\r\n }}\r\n >\r\n \r\n

{dynamicSelectedPedingInvoices !== 0 ? 'Pagar facturas' : 'Selecciona tus facturas'}

\r\n \r\n
\r\n \"pse-logo\"\r\n
\r\n \"visa-logo\"\r\n
\r\n
\r\n
\r\n ) : <>\r\n }\r\n
\r\n )\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n ...ownProps,\r\n invoicesLoading: state.invoices.invoicesLoading,\r\n invoicesSummary: state.invoices.invoicesSummary,\r\n invoicesSummaryLoading: state.invoices.invoicesSummaryLoading,\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setInvoicesToPay: (payload) =>\r\n dispatch(invoicesActions.setInvoicesToPay(payload)),\r\n setShowPay: (payload) =>\r\n dispatch(invoicesActions.setShowPay(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(InvoiceSummary);\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as servicesActions from \"../../../store/actions/Services\";\r\nimport * as invoicesActions from \"../../../store/actions/Invoices\";\r\n\r\nimport { Transition } from 'react-transition-group';\r\n\r\nconst AccountDrawer = (props) => {\r\n\r\n const _totalAccounts = props.totalAccounts;\r\n const _totalServices = props.totalServices;\r\n const activeServicesEnergy = props.activeServicesEnergy;\r\n const openAccountDrawer = props.openAccountDrawer;\r\n const accountPickerRef = props.accountPickerRef;\r\n const theme = props.theme;\r\n const language = props.language;\r\n const fromEnergyAccount = props.fromEnergyAccount;\r\n\r\n const handleClose = props.handleClose;\r\n const setActiveServicesInvoices = props.setActiveServicesInvoices;\r\n const setCurrentPage = props.setCurrentPage;\r\n const setEmptyPaginationResult = props.setEmptyPaginationResult;\r\n\r\n const [energyAccounts, setEnergyAccounts] = useState([]);\r\n const [totalAccounts, setTotalAccounts] = useState([]);\r\n const [search, setSearch] = useState('');\r\n\r\n let allAccountsSelected = totalAccounts.every(a => a.isSelected);\r\n\r\n const toggleSelectedAccount = (id_account) => {\r\n setTotalAccounts(totalAccounts.map(currentAccount => currentAccount.idAccount !== id_account ? currentAccount : ({ ...currentAccount, isSelected: !currentAccount.isSelected })))\r\n }\r\n\r\n const onSaveChanges = () => {\r\n const deselectedAccounts = totalAccounts\r\n .filter(currentAccount => !currentAccount.isSelected)\r\n .map(currentAccount => currentAccount.idAccount);\r\n const energyAccountsIds = energyAccounts\r\n .map(currentAccount => currentAccount.idAccount)\r\n const newActiveServicesInvoices = [..._totalServices];\r\n setCurrentPage(0)\r\n setEmptyPaginationResult(false)\r\n setActiveServicesInvoices(\r\n newActiveServicesInvoices.filter(currentService =>\r\n !deselectedAccounts.some(currentIdAccount => currentService.idAccount === currentIdAccount)\r\n &&\r\n energyAccountsIds.some(currentIdAccount => currentService.idAccount === currentIdAccount)\r\n )\r\n )\r\n\r\n handleClose()\r\n }\r\n\r\n const toggleSelectAll = (allSelected) => {\r\n setTotalAccounts(prevState => prevState.map(currentAccount => ({ ...currentAccount, isSelected: !allSelected })))\r\n }\r\n\r\n const normalizeText = (text) => {\r\n return text.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\r\n }\r\n\r\n useEffect(() => {\r\n if (!_totalAccounts || _totalAccounts.length === 0) {\r\n setTotalAccounts([])\r\n return;\r\n }\r\n const activeServicesEnergyAccountIds = activeServicesEnergy.map(s => s.account?.idAccount);\r\n const energyAccounts = _totalAccounts.filter(currentAccount => currentAccount.typeservices.includes('energy'))\r\n setEnergyAccounts(energyAccounts)\r\n const normalizedAccounts = energyAccounts.map(currentAccount => ({\r\n ...currentAccount,\r\n isSelected: (fromEnergyAccount && activeServicesEnergyAccountIds.length > 0) ? activeServicesEnergyAccountIds.includes(currentAccount.idAccount) : true,\r\n visible: true\r\n }))\r\n setTotalAccounts(normalizedAccounts)\r\n // eslint-disable-next-line\r\n }, [_totalAccounts, fromEnergyAccount])\r\n\r\n useEffect(() => {\r\n if (!search || search.length === 0) {\r\n setTotalAccounts(prevState => prevState.map(currentAccount => ({ ...currentAccount, visible: true })))\r\n } else {\r\n setTotalAccounts(prevState => prevState.map(currentAccount => ({ \r\n ...currentAccount, \r\n visible: normalizeText(currentAccount.name)\r\n .toLowerCase()\r\n .includes(normalizeText(search.toLowerCase())) \r\n })))\r\n }\r\n }, [search])\r\n\r\n return (\r\n \r\n {state => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n setSearch(target.value)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n totalAccounts.filter(a => a.visible).map(currentAccount => (\r\n toggleSelectedAccount(currentAccount.idAccount)}\r\n >\r\n
\r\n
{currentAccount.name}
\r\n
{currentAccount.services.length} proyectos asociados
\r\n
\r\n
\r\n \r\n
\r\n
\r\n ))\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n toggleSelectAll(allAccountsSelected)}\r\n >\r\n {!allAccountsSelected ? 'Seleccionar todas' : 'Deseleccionar todas'}\r\n

\r\n {\r\n e.stopPropagation()\r\n onSaveChanges()\r\n }}\r\n >\r\n

hecho

\r\n \r\n
\r\n
\r\n
)}\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n totalAccounts: state.accounts.totalAccounts,\r\n totalServices: state.services.totalServices,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n theme: state.theme.theme,\r\n language: state.shared.language,\r\n ...props\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveServicesInvoices: (payload) =>\r\n dispatch(servicesActions.setActiveServicesInvoices(payload)),\r\n setCurrentPage: (payload) =>\r\n dispatch(invoicesActions.setCurrentPage(payload)),\r\n setEmptyPaginationResult: (payload) =>\r\n dispatch(invoicesActions.setEmptyPaginationResult(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AccountDrawer);","import * as pays from '../creators/Pays';\r\n\r\nimport { SETData, GETData } from '../../services/WebServices';\r\n\r\nimport { Alert } from 'rsuite';\r\n\r\nexport const setBanks = payload => {\r\n return {\r\n type: pays.SET_PAYS_BANKS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInvoicesToPay = payload => {\r\n return {\r\n type: pays.SET_PAYS_INVOICES_TO_PAY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setTypeComponent = payload => {\r\n return {\r\n type: pays.SET_PAYS_TYPE_COMPONENT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setInfoPayment = payload => {\r\n return {\r\n type: pays.SET_PAYS_INFO_PAYMENT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setPaymentLoading = payload => {\r\n return {\r\n type: pays.SET_PAYS_PAYMENT_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setPaymentMethods = payload => {\r\n return {\r\n type: pays.SET_PAYS_PAYMENT_METHODS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setPaymentProvider = payload => {\r\n return {\r\n type: pays.SET_PAYS_PAYMENT_PROVIDER,\r\n payload\r\n }\r\n}\r\n\r\nexport const loadBankDataAsync = () => {\r\n return (dispatch) => { \r\n\r\n GETData(\"payvalida/banks\", \"GET\") \r\n .then(response => { \r\n if (response !== null) { \r\n dispatch(setBanks(response.DATA)); \r\n } \r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}\r\nexport const loadPaymentMethodsAsync = () => {\r\n return (dispatch) => {\r\n\r\n GETData(\"payment/methods\", \"GET\") \r\n .then(response => { \r\n if (response !== null) { \r\n dispatch(setPaymentMethods(response)); \r\n } \r\n })\r\n .catch(response => console.error(response));\r\n\r\n }\r\n}\r\n\r\nexport const setPsePaymentAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n let infoPayment = getState().pays.infoPayment;\r\n\r\n const language = getState().shared.language;\r\n\r\n const pseProvider = payload.pseProvider;\r\n\r\n infoPayment.id_bills = payload.id_bills_array.filter(bill => bill.selected).map(bill => bill.value);\r\n dispatch(setPaymentLoading(true));\r\n \r\n SETData(`${pseProvider}/pse/transaction`, \"POST\", infoPayment)\r\n .then(response => {\r\n if (response !== null) {\r\n window.location.assign(response.URL_BANK);\r\n } else {\r\n Alert.error(language.alert_submit_form_popup_failed);\r\n }\r\n })\r\n .catch(() => Alert.error(language.alert_submit_form_popup_failed))\r\n .finally(() => dispatch(setPaymentLoading(false)));\r\n }\r\n}\r\n\r\nexport const setCardPaymentAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n\r\n let infoPayment = getState().pays.infoPayment;\r\n\r\n const language = getState().shared.language;\r\n\r\n infoPayment.id_bills = payload.id_bills_array.filter(bill => bill.selected).map(bill => bill.value);\r\n\r\n dispatch(setPaymentLoading(true));\r\n\r\n SETData(`openpay/card`, \"POST\", infoPayment)\r\n .then(response => {\r\n if (response.code === \"SUCCESS\") {\r\n\r\n window.location.assign(response.redirect_url);\r\n \r\n } else {\r\n\r\n let errorMessage = language[`invoices_card_payment_alert_${response.code.toLowerCase()}`] || language[\"alert_submit_form_popup_failed\"];\r\n\r\n Alert.error(errorMessage);\r\n }\r\n })\r\n .catch(() => Alert.error(language.alert_submit_form_popup_failed))\r\n .finally(() => dispatch(setPaymentLoading(false)));\r\n }\r\n}","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as paysActions from '../../../store/actions/Pays';\r\n\r\nimport { themes } from '../../../utils/enums';\r\n\r\nimport PseDark from '../../../imgs/pse-logo-dark.svg'\r\nimport PseLight from '../../../imgs/pse-logo-light.svg'\r\n\r\nconst PaymentMethod = (props) => {\r\n\r\n let paymentMethods = props.paymentMethods;\r\n let theme = props.theme;\r\n\r\n return (\r\n
\r\n {\r\n paymentMethods.map(method =>\r\n
{ props.setTypeComponent(method.value); props.setPaymentProvider(method.provider); }}>\r\n
\r\n
\r\n {\r\n method.image.type === 'icon' ?\r\n :\r\n \"logo-pse\"\r\n }\r\n
\r\n
\r\n
{method.title}
\r\n
{method.description}
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n
\r\n

\r\n T&C: Desde nuestro Ecommerce no capturamos, almacenamos, ni transmitimos datos transaccionales. Para esto contamos con los servicios de Openpav, una plataforma de pagos certificada; que garantiza la seguridad de todas las transaciones por medio de software de encriptación, procedimientos de validación y medidas robustas de protección de datos a nivel bancario (certificación PCI nivel 1). Por eso realizar los pagos en nuestro sitio web es seguro.\r\n

\r\n

\r\n Si su pago es con PSE. la pasarela de pagos Openpay se encarga de comunicarlo directamente con su banco a través de ACH, al pagar a través de este canal, estamos utilizando los procesos de seguridad de su propio banco, quien es el que valida su clave principal y segunda clave si es el caso.\r\n

\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n invoicesToPay: state.invoices.invoicesToPay,\r\n user: state.users.user,\r\n language: state.shared.language,\r\n paymentMethods: state.pays.paymentMethods,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setTypeComponent: (payload) => dispatch(paysActions.setTypeComponent(payload)),\r\n setPaymentProvider: (payload) => dispatch(paysActions.setPaymentProvider(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentMethod)","import React, { useState } from \"react\";\r\nimport { Popover } from \"@idui/react-popover\";\r\nimport { connect } from \"react-redux\";\r\nimport * as themeActions from \"../../../store/actions/Theme\";\r\n\r\nconst Select = ({\r\n label,\r\n options,\r\n value,\r\n onChange,\r\n keyName = \"value\",\r\n labelName = \"label\",\r\n width = 280,\r\n height = 120,\r\n theme,\r\n language,\r\n error,\r\n background = \"surface-bg-surface\",\r\n required\r\n}) => {\r\n const [active, setActive] = useState(false);\r\n\r\n return (\r\n \r\n \r\n {options.map((item) => {\r\n const isSelected = value === item[keyName];\r\n\r\n return (\r\n {\r\n onChange(item[keyName]);\r\n setActive(false); // Cerrar el Popover después de seleccionar\r\n }}\r\n >\r\n
\r\n \r\n {language ? language[item[labelName]] : item[labelName]}\r\n
\r\n {isSelected && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n \r\n }\r\n >\r\n
\r\n
\r\n {label && (\r\n

\r\n {label}\r\n {required ? * : <>}\r\n

\r\n )}\r\n setActive(!active)}\r\n >\r\n \r\n {options.find((item) => item[keyName] === value)?.[labelName] ||\r\n \"Seleccionar\"}\r\n

\r\n
\r\n \r\n
\r\n {error && (\r\n

\r\n {error}\r\n

\r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Select);\r\n","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as paysActions from '../../../store/actions/Pays';\r\n\r\nimport cardTag from '../../../imgs/card-tag.svg';\r\n\r\nimport Input from '../../shared/utilities/Input';\r\nimport Select from '../../shared/utilities/Select';\r\nimport { themes } from '../../../utils/enums';\r\n\r\nconst isValidateString = val => {\r\n return /^(?=.*[a-zA-Zñíóáéú])[ñíóáéú a-zA-Z]+$/.test(val);\r\n}\r\n\r\nconst isValidUser = data => {\r\n\r\n if (data.phone === null || data.phone === \"\") {\r\n return false;\r\n }\r\n\r\n if (data.address === null || data.address === \"\") {\r\n return false;\r\n }\r\n\r\n if (data.id_document === null || data.id_document === \"\") {\r\n return false;\r\n }\r\n\r\n if (data.card_name === null || data.card_name === \"\" || !isValidateString(data.card_name)) {\r\n return false;\r\n }\r\n\r\n if (data.card_number === null || data.card_number === \"\") {\r\n return false;\r\n }\r\n\r\n if (data.card_expiration_month === null || data.card_expiration_month === \"\") {\r\n return false;\r\n }\r\n\r\n if (data.card_expiration_year === null || data.card_expiration_year === \"\") {\r\n return false;\r\n }\r\n\r\n if (data.card_cvv === null || data.card_cvv === \"\") {\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n}\r\n\r\nconst separarTexto = (texto) => {\r\n const expresionRegular = new RegExp('.{1,4}', 'g');\r\n const grupos = texto.match(expresionRegular);\r\n return grupos ? grupos.join(' ') : '';\r\n}\r\n\r\nlet fees = Array.from({ length: 36 }, (e, i) => { return { value: i + 1, label: i + 1 } });\r\n\r\nconst CardPayment = (props) => {\r\n\r\n let theme = props.theme;\r\n let account = props.account;\r\n let infoPayment = props.infoPayment;\r\n\r\n const setEnable = props.setEnable;\r\n const setInfoPayment = props.setInfoPayment;\r\n\r\n const initInfo = {\r\n id_user: props.user.idUser,\r\n id_external_user: 0,\r\n id_account: account?.idAccount,\r\n name: props.user.name,\r\n lastname: props.user.lastname,\r\n email: props.user.email,\r\n phone: props.user.phone,\r\n address: props.user.address,\r\n id_document: \"\",\r\n id_bills: [],\r\n card_name: \"\",\r\n card_number: \"\",\r\n card_expiration_year: \"\",\r\n card_expiration_month: \"\",\r\n card_cvv: \"\",\r\n payments: 1,\r\n neugets: 0,\r\n commission: 0.007,\r\n total_payment: props.totalPayment,\r\n }\r\n\r\n const [defaultInfo, setDefaultInfo] = useState(initInfo);\r\n\r\n useEffect(() => {\r\n if (defaultInfo != null) {\r\n setInfoPayment(defaultInfo)\r\n setDefaultInfo(null)\r\n }\r\n }, [defaultInfo, setInfoPayment]);\r\n\r\n useEffect(() => setEnable(isValidUser(infoPayment)), [setEnable, infoPayment]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props.language.invoices_card_payment_bank}
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
{infoPayment.card_name === '' ? `${props.language.invoices_card_payment_cardholder}` : `${infoPayment.card_name}`.toUpperCase()}
\r\n
{infoPayment.card_expiration_month === '' ? 'MM' : infoPayment.card_expiration_month}/{infoPayment.card_expiration_year === '' ? 'YY' : infoPayment.card_expiration_year}
\r\n
\r\n
{separarTexto(infoPayment.card_number === '' ? 'XXXXXXXXXXXXXXXX' : `${infoPayment.card_number}`)}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, card_name: target.value })\r\n }}\r\n theme={theme}\r\n help={props.language.invoices_card_payment_equal_cardholder_name}\r\n required\r\n />\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, id_document: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n {\r\n setInfoPayment({ ...infoPayment, address: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n {\r\n target.value.length <= 16 && setInfoPayment({ ...infoPayment, card_number: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n
\r\n {\r\n target.value < 12 && setInfoPayment({ ...infoPayment, card_expiration_month: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n
\r\n {\r\n target.value.length <= 2 && setInfoPayment({ ...infoPayment, card_expiration_year: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n
\r\n {\r\n target.value.length <= 4 && setInfoPayment({ ...infoPayment, card_cvv: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, payments: value });\r\n }}\r\n theme={theme}\r\n width={\"350px\"}\r\n required\r\n />\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n infoPayment: state.pays.infoPayment,\r\n account: state.accounts.account,\r\n user: state.users.user,\r\n language: state.shared.language,\r\n setEnable: ownProps.setEnable,\r\n totalPayment: ownProps.totalPayment,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setInfoPayment: (payload) => dispatch(paysActions.setInfoPayment(payload)),\r\n setCardPaymentAsync: () => dispatch(paysActions.setCardPaymentAsync())\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CardPayment)","import React, { useState, useEffect, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as invoicesActions from '../../../store/actions/Invoices';\r\nimport * as paysActions from '../../../store/actions/Pays';\r\n\r\nimport { Animation } from 'rsuite';\r\n\r\nimport Input from '../../shared/utilities/Input';\r\nimport Select from '../../shared/utilities/Select';\r\n\r\nconst isValidateEmail = email => {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\r\n}\r\n\r\nconst isValidateString = val => {\r\n return /^[ñíóáéú a-zA-Z ]+$/.test(val);\r\n}\r\n\r\nconst isValidUser = (user, pseProvider) => {\r\n\r\n if (user.name === null || user.name === \"\" || !isValidateString(user.name)) {\r\n return false;\r\n }\r\n\r\n if (!isValidateEmail(user.email)) {\r\n return false;\r\n }\r\n\r\n if (user.phone === null || user.phone === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.address === null || user.address === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.id_document === null || user.id_document === \"\") {\r\n return false;\r\n }\r\n\r\n if ((user.financial_institution_code === null || user.financial_institution_code === \"0\") && pseProvider === 'payvalida') {\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n}\r\n\r\nconst PsePayment = (props) => {\r\n\r\n const userLegalTypes = [\r\n {\r\n label: props.language.invoices_pay_label_option_cc,\r\n value: \"CC\"\r\n },\r\n {\r\n label: props.language.invoices_pay_label_option_nit,\r\n value: \"NIT\",\r\n },\r\n {\r\n label: props.language.invoices_pay_label_option_ce,\r\n value: \"CE\"\r\n }\r\n ]\r\n \r\n const userTypes = [\r\n {\r\n label: props.language.invoices_pay_label_option_natural_user,\r\n value: \"N\"\r\n },\r\n {\r\n label: props.language.invoices_pay_label_option_legal_user,\r\n value: \"J\",\r\n }\r\n ]\r\n\r\n let account = props.account;\r\n let banks = props.banks;\r\n let infoPayment = props.infoPayment;\r\n let pseProvider = props.paymentProvider;\r\n let theme = props.theme;\r\n\r\n const setEnable = props.setEnable;\r\n const loadBankDataAsync = props.loadBankDataAsync;\r\n const setInfoPayment = props.setInfoPayment;\r\n\r\n const initInfo = {\r\n id_user: props.user.idUser,\r\n id_external_user: 0,\r\n id_account: account?.idAccount,\r\n name: pseProvider === 'payvalida' ? `${props.user.name} ${props.user.lastname}` : props.user.name,\r\n last_name: props.user.lastname,\r\n email: props.user.email,\r\n phone: props.user.phone,\r\n address: props.user.address,\r\n id_document: \"\",\r\n financial_institution_code: \"0\",\r\n user_legal_id_type: userLegalTypes[0].value,\r\n user_type: userTypes[0].value,\r\n id_bills: [],\r\n neugets: 0,\r\n commission: 0,\r\n total_payment: props.totalPayment,\r\n }\r\n\r\n const [defaultInfo, setDefaultInfo] = useState(initInfo);\r\n\r\n useEffect(() => {\r\n if (defaultInfo != null) {\r\n setInfoPayment(defaultInfo)\r\n setDefaultInfo(null)\r\n }\r\n }, [defaultInfo, setInfoPayment]);\r\n\r\n const [personalData, setShowPersonalData] = useState(pseProvider !== 'payvalida');\r\n const [bankData, setShowBankData] = useState(pseProvider === 'payvalida');\r\n\r\n useEffect(() => setEnable(isValidUser(infoPayment)), [setEnable, infoPayment]);\r\n\r\n useEffect(() => {\r\n !banks.length && pseProvider === 'payvalida' && loadBankDataAsync();\r\n }, [banks, loadBankDataAsync, pseProvider]);\r\n\r\n return (\r\n
\r\n
\r\n
{setShowPersonalData(!personalData); setShowBankData(!bankData)}}>\r\n
{props.language.invoices_pay_title_section_personal_data}
\r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, name: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, user_legal_id_type: value })\r\n }}\r\n theme={theme}\r\n width={'350px'}\r\n required\r\n />\r\n
\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, id_document: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n
\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, phone: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, address: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n
\r\n
\r\n {\r\n setInfoPayment({ ...infoPayment, email: target.value })\r\n }}\r\n theme={theme}\r\n required\r\n />\r\n
\r\n
\r\n
\r\n {\r\n pseProvider === 'payvalida' && \r\n
{ setShowPersonalData(!personalData); setShowBankData(!bankData) }}>\r\n
{props.language.invoices_pay_title_section_bank_data}
\r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n const type = value === userTypes[1].value ? userLegalTypes[1].value : userLegalTypes[0].value;\r\n setInfoPayment({ ...infoPayment, user_type: value, user_legal_id_type: type })\r\n }}\r\n theme={theme}\r\n width={'350px'}\r\n required\r\n />\r\n
\r\n
\r\n {props.banks.length ?\r\n {\r\n setInfoPayment({ ...infoPayment, financial_institution_code: value });\r\n }}\r\n theme={theme}\r\n width={'350px'}\r\n required\r\n /> : null\r\n }\r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n user: state.users.user,\r\n account: state.accounts.account,\r\n banks: state.invoices.banks,\r\n language: state.shared.language,\r\n infoPayment: state.pays.infoPayment,\r\n paymentProvider: state.pays.paymentProvider,\r\n theme: state.theme.theme,\r\n setEnable: ownProps.setEnable,\r\n totalPayment: ownProps.totalPayment,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadBankDataAsync: () => dispatch(invoicesActions.loadBankDataAsync()),\r\n setInfoPayment: (payload) => dispatch(paysActions.setInfoPayment(payload)),\r\n setPsePaymentAsync: (payload) => dispatch(paysActions.setPsePaymentAsync(payload))\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PsePayment)","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { track } from '@amplitude/analytics-browser';\r\n\r\nimport * as paysActions from '../../../store/actions/Pays';\r\nimport * as sharedActions from '../../../store/actions/Shared';\r\nimport * as invoicesActions from '../../../store/actions/Invoices';\r\n\r\nimport { Alert, Drawer, Loader } from 'rsuite';\r\n\r\nimport CurrencyFormat from 'react-currency-format';\r\n\r\nimport PaymentMethod from './PaymentMethod';\r\nimport CardPayment from './CardPayment';\r\nimport PsePayment from './PsePayment';\r\nimport BackButton from '../../shared/utilities/BackButton';\r\n\r\nconst Component = ({ type, setEnable, totalPayment }) => {\r\n\r\n switch ((type || 'METHOD').toUpperCase()) {\r\n case 'CARD':\r\n return \r\n case 'PSE':\r\n return \r\n default:\r\n return \r\n }\r\n\r\n}\r\n\r\nconst Pay = (props) => {\r\n\r\n let _invoices = props._invoices;\r\n let infoPayment = props.infoPayment;\r\n let typeComponent = props.typeComponent;\r\n let paymentMethods = props.paymentMethods;\r\n let activeServicesInvoices = props.activeServicesInvoices\r\n let pseProvider = props.paymentProvider;\r\n let showPay = props.showPay;\r\n let invoicesSummary = props.invoicesSummary;\r\n let selectAll = props.selectAll;\r\n let theme = props.theme;\r\n let notSelectedPedingInvoices = _invoices.filter(currentInvoice => !currentInvoice.loadingDelay && currentInvoice.state === 0 && !currentInvoice.isSelected)\r\n let selectedPedingInvoicesArray = _invoices.filter(currentInvoice => !currentInvoice.loadingDelay && currentInvoice.state === 0 && currentInvoice.isSelected)\r\n let dynamicSelectedPedingInvoices = selectAll ? (invoicesSummary.total_bills - notSelectedPedingInvoices.length) : (selectedPedingInvoicesArray.length);\r\n\r\n let totalPayment = selectAll ? invoicesSummary.total_payment : selectedPedingInvoicesArray.reduce((accum, i) => accum + parseFloat(i.total_payment), 0);\r\n\r\n const setCardPaymentAsync = props.setCardPaymentAsync;\r\n const setTypeComponent = props.setTypeComponent;\r\n const setPsePaymentAsync = props.setPsePaymentAsync;\r\n const loadPaymentMethodsAsync = props.loadPaymentMethodsAsync;\r\n\r\n const [isEnable, setEnable] = useState(false);\r\n const [loadingOpenPay, setLoadingOpenPay] = useState(false);\r\n\r\n const isValidateEmail = email => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\r\n\r\n const isValidatePseString = val => /^[ñíóáéú a-zA-Z ]+$/.test(val);\r\n\r\n const isValidateCardString = val => /^(?=.*[a-zA-Zñíóáéú])[ñíóáéú a-zA-Z]+$/.test(val);\r\n\r\n const handleClose = () => {\r\n if (typeComponent === 'METHOD') {\r\n props.setStartOnboarding({ key: 'payment', value: false })\r\n props.setShowPay(false);\r\n } else {\r\n setTypeComponent('METHOD')\r\n }\r\n }\r\n\r\n const isValidUserByCard = (data) => {\r\n if (data.phone === null || data.phone === \"\") return false;\r\n if (data.address === null || data.address === \"\") return false;\r\n if (data.id_document === null || data.id_document === \"\") return false;\r\n if (data.card_name === null || data.card_name === \"\" || !isValidateCardString(data.card_name)) {\r\n return false;\r\n }\r\n if (data.card_number === null || data.card_number === \"\") return false;\r\n if (data.card_expiration_month === null || data.card_expiration_month === \"\") return false;\r\n if (data.card_expiration_year === null || data.card_expiration_year === \"\") return false;\r\n if (data.card_cvv === null || data.card_cvv === \"\") return false;\r\n return true;\r\n }\r\n\r\n const isValidUserByPse = (user, pseProvider) => {\r\n if (user.name === null || user.name === \"\" || !isValidatePseString(user.name)) return false;\r\n if (!isValidateEmail(user.email)) return false;\r\n if (user.phone === null || user.phone === \"\") return false;\r\n if (user.address === null || user.address === \"\") return false;\r\n if (user.id_document === null || user.id_document === \"\") return false;\r\n if (\r\n (user.financial_institution_code === null || user.financial_institution_code === \"0\")\r\n && pseProvider === 'payvalida'\r\n ) return false;\r\n return true;\r\n }\r\n\r\n const isValidUser = (infoPayment) => {\r\n switch (typeComponent) {\r\n case 'CARD':\r\n return isValidUserByCard(infoPayment)\r\n case 'PSE':\r\n return isValidUserByPse()\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n const showPseError = (user, props) => {\r\n\r\n if (user.name === null || user.name === \"\" || !isValidatePseString(user.name)) {\r\n Alert.error(props.language.alert_user_popup_name);\r\n return;\r\n }\r\n\r\n if (user.address === null || user.address === \"\") {\r\n Alert.error(props.language.alert_user_popup_address);\r\n return;\r\n }\r\n\r\n if (!isValidateEmail(user.email)) {\r\n Alert.error(props.language.alert_user_popup_email);\r\n return;\r\n }\r\n\r\n if (user.phone === null || user.phone === \"\") {\r\n Alert.error(props.language.alert_user_popup_phone);\r\n return;\r\n }\r\n\r\n if (user.id_document === null || user.id_document === \"\") {\r\n Alert.error(props.language.alert_user_popup_id_document);\r\n return;\r\n }\r\n\r\n if (user.financial_institution_code === null || user.financial_institution_code === \"0\") {\r\n Alert.error(props.language.alert_pay_popup_banks);\r\n return;\r\n }\r\n\r\n }\r\n\r\n const showCardError = (data, props) => {\r\n if (data.address === null || data.address === \"\") {\r\n Alert.error(props.language.alert_user_popup_address);\r\n return;\r\n }\r\n\r\n if (data.phone === null || data.phone === \"\") {\r\n Alert.error(props.language.alert_user_popup_phone);\r\n return;\r\n }\r\n\r\n if (data.id_document === null || data.id_document === \"\") {\r\n Alert.error(props.language.alert_user_popup_id_document);\r\n return;\r\n }\r\n\r\n if (data.card_name === null || data.card_name === \"\" || !isValidateCardString(data.card_name)) {\r\n Alert.error(props.language.alert_pay_popup_card_name);\r\n return;\r\n }\r\n\r\n if (data.card_number === null || data.card_number === \"\") {\r\n Alert.error(props.language.alert_pay_popup_card_number);\r\n return;\r\n }\r\n\r\n if (data.card_expiration_month === null || data.card_expiration_month === \"\") {\r\n Alert.error(props.language.alert_pay_popup_card_expiration_month);\r\n return;\r\n }\r\n\r\n if (data.card_expiration_year === null || data.card_expiration_year === \"\") {\r\n Alert.error(props.language.alert_pay_popup_card_expiration_year);\r\n return;\r\n }\r\n\r\n if (data.card_cvv === null || data.card_cvv === \"\") {\r\n Alert.error(props.language.alert_pay_popup_card_cvv);\r\n return;\r\n }\r\n }\r\n\r\n // eslint-disable-next-line\r\n useEffect(() => setEnable(isValidUser(infoPayment)), [setEnable, infoPayment, typeComponent]);\r\n\r\n useEffect(() => {\r\n if (!paymentMethods.length) {\r\n loadPaymentMethodsAsync();\r\n }\r\n }, [paymentMethods, loadPaymentMethodsAsync]);\r\n\r\n return (\r\n handleClose()}\r\n size={'xs'}\r\n className='invoices-pay-drawer'\r\n placement={'right'}\r\n backdropClassName={`surface-bg-blackout pe-pointer ${theme}`}>\r\n
\r\n
\r\n
\r\n
\r\n handleClose()}>\r\n
{typeComponent === 'METHOD' ? props.language.invoices_card_payment_methods : 'Pago de facturas'}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Facturas a pagar

\r\n {dynamicSelectedPedingInvoices} facturas\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Pago total\r\n

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

\r\n COP\r\n

\r\n
\r\n
\r\n {\r\n typeComponent !== 'METHOD' && (\r\n {\r\n if (isEnable) {\r\n setLoadingOpenPay(true);\r\n if (typeComponent.toUpperCase() === 'CARD') {\r\n setCardPaymentAsync({ id_bills_array: invoicesSummary.id_bills_array })\r\n } else {\r\n setPsePaymentAsync({ pseProvider, id_bills_array: invoicesSummary.id_bills_array })\r\n }\r\n track('Bill payed', {\r\n Payment_Method: typeComponent,\r\n Bill_ID: activeServicesInvoices.map((service) => service?.name)\r\n })\r\n } else {\r\n if (typeComponent.toUpperCase() === 'CARD') {\r\n showCardError(infoPayment, props)\r\n } else {\r\n showPseError(infoPayment, props)\r\n }\r\n }\r\n }}\r\n >\r\n {\r\n loadingOpenPay ? (\r\n <>\r\n \r\n

\r\n Cargando\r\n

\r\n \r\n ) : (\r\n <>\r\n \r\n

Pagar

\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n infoPayment: state.pays.infoPayment,\r\n paymentMethods: state.pays.paymentMethods,\r\n typeComponent: state.pays.typeComponent,\r\n paymentProvider: state.pays.paymentProvider,\r\n showPay: state.invoices.showPay,\r\n invoicesSummary: state.invoices.invoicesSummary,\r\n language: state.shared.language,\r\n payment: state.shared.startOnboarding.payment,\r\n activeServicesInvoices: state.services.activeServicesInvoices,\r\n user: state.users.user,\r\n invoicesDate: state.invoices.invoicesDate,\r\n theme: state.theme.theme,\r\n ...ownProps\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadPaymentMethodsAsync: () => dispatch(paysActions.loadPaymentMethodsAsync()),\r\n setTypeComponent: (payload) => dispatch(paysActions.setTypeComponent(payload)),\r\n setPsePaymentAsync: (payload) => dispatch(paysActions.setPsePaymentAsync(payload)),\r\n setCardPaymentAsync: (payload) => dispatch(paysActions.setCardPaymentAsync(payload)),\r\n setStartOnboarding: (payload) => dispatch(sharedActions.setStartOnboarding(payload)),\r\n setShowPay: (payload) => dispatch(invoicesActions.setShowPay(payload)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Pay)","import React, { useEffect, useState } from 'react'\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Calendar as Datepicker } from 'react-calendar';\r\nimport { Transition } from 'react-transition-group';\r\nimport { calendarIntervals, setCalendarDates } from '../../../services/CalendarHandler';\r\nimport { subMonths } from 'date-fns';\r\n\r\nconst CalendarInvoices = (props) => {\r\n\r\n let show = props.show;\r\n let interval = props.interval;\r\n let start = props.start;\r\n let end = props.end;\r\n let cleanDate = props.cleanDate;\r\n let theme = props.theme;\r\n \r\n const setDates = props.setDates;\r\n const clearDate = props.clear;\r\n const setShowCalendar = props.setShowCalendar;\r\n\r\n const [selectedDate, setSelectedDate] = useState(!cleanDate ? (interval === 1 ? [start, end] : start) : null);\r\n\r\n useEffect(() => {\r\n if(!show && cleanDate){\r\n setSelectedDate(null);\r\n }\r\n }, [show, cleanDate])\r\n\r\n return (\r\n \r\n {state => (\r\n
\r\n
\r\n
\r\n
}\r\n prevLabel={
}\r\n onChange={(value) => {setSelectedDate(value)}} \r\n />\r\n
\r\n

Ver todos los meses

\r\n \r\n
\r\n
\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n theme: state.theme.theme,\r\n ...ownProps\r\n});\r\n\r\nconst mapDispatchToProps = () => ({\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CalendarInvoices)","import React from 'react';\r\nimport step1 from '../../../imgs/onboarding/step1-invoice.png';\r\nimport step1En from '../../../imgs/onboarding/english/step1-invoice-en.png';\r\nimport step2 from '../../../imgs/onboarding/step2-invoice.png';\r\nimport step2En from '../../../imgs/onboarding/english/step2-invoice-en.png';\r\n\r\nexport const stepsInvoice = (language) => {\r\n return ([\r\n {\r\n content:\r\n
\r\n \"step1-invoice\"\r\n
,\r\n title: language.onboarding_invoice_title_step1,\r\n description: language.onboarding_invoice_description_step1,\r\n placement: \"right\",\r\n target: \"#test\",\r\n disableBeacon: true,\r\n steps: 2\r\n },\r\n {\r\n content:\r\n
\r\n \"step2-invoice\"\r\n
,\r\n title: language.onboarding_invoice_title_step2,\r\n description: language.onboarding_invoice_description_step2,\r\n placement: \"left-start\",\r\n target: \"#test_1\",\r\n disableBeacon: true,\r\n steps: 2\r\n },\r\n\r\n ])\r\n};","import React, { useState, useEffect, useRef, useMemo } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { useLocation, useHistory } from 'react-router-dom';\r\n\r\nimport * as servicesActions from \"../../store/actions/Services\";\r\nimport * as invoicesActions from \"../../store/actions/Invoices\";\r\nimport * as sharedActions from \"../../store/actions/Shared\";\r\n\r\nimport { format, subMonths } from \"date-fns\";\r\nimport { es } from \"date-fns/locale\";\r\n\r\nimport { Loader } from \"rsuite\";\r\n\r\nimport { stringFormatDate } from \"../../services/CalendarHandler\";\r\nimport { GETS3PublicUrl, SETBlobFile } from \"../../services/WebServices\";\r\n\r\nimport { Transition } from 'react-transition-group';\r\n\r\nimport useTour from \"../onboarding/hook/useTour\";\r\n\r\nimport InvoiceModal from \"./InvoiceModal\";\r\nimport InvoiceTable from \"./InvoiceTable\";\r\nimport InvoiceSummary from \"./InvoiceSummary\";\r\nimport AccountDrawer from \"./account/AccountDrawer\";\r\nimport ContentLoader from \"react-content-loader\";\r\nimport Header from \"../shared/Header\";\r\nimport Pay from \"./pay/Pay\";\r\nimport CalendarInvoices from \"../shared/utilities/CalendarInvoices\";\r\n\r\nimport { stepsPayment } from \"../onboarding/steps/PaymentSteps\";\r\nimport { stepsInvoice } from \"../onboarding/steps/InvoiceSteps\";\r\n\r\n\r\nconst Invoices = (props) => {\r\n\r\n let _invoices = props.invoices;\r\n let _totalServices = props.totalServices;\r\n let activeServicesInvoices = props.activeServicesInvoices;\r\n let activeServicesEnergy = props.activeServicesEnergy;\r\n let showCalendar = props.showCalendar;\r\n let account = props.account;\r\n let invoiceShow = props.invoiceShow;\r\n let invoicesPeriods = props.invoicesPeriods;\r\n let invoicesLoading = props.invoicesLoading;\r\n let user = props.user;\r\n let totalAccounts = props.totalAccounts;\r\n let energyAccounts = totalAccounts.filter(currentAccount => currentAccount.typeservices.includes('energy'));\r\n let currentPage = props.currentPage;\r\n let sortField = props.sortField;\r\n let sortOrder = props.sortOrder;\r\n let invoicesDate = props.invoicesDate;\r\n let moreInvoicesLoading = props.moreInvoicesLoading;\r\n let invoicesSummary = props.invoicesSummary;\r\n let theme = props.theme;\r\n\r\n const setShowBlackScreen = props.setShowBlackScreen;\r\n const loadMoreInvoicesAsync = props.loadMoreInvoicesAsync;\r\n const loadInvoicesAsync = props.loadInvoicesAsync;\r\n const loadInvoicesSummaryAsync = props.loadInvoicesSummaryAsync;\r\n const setShowCalendar = props.setShowCalendar;\r\n const loadServicesAsync = props.loadServicesAsync;\r\n const setInvoiceShow = props.setInvoiceShow;\r\n const setInvoiceShowIndex = props.setInvoiceShowIndex;\r\n const setInvoicesContent = props.setInvoicesContent;\r\n const setInvoicesContentLoading = props.setInvoicesContentLoading;\r\n const loadInvoicesPeriodsAsync = props.loadInvoicesPeriodsAsync;\r\n const setCurrentPage = props.setCurrentPage;\r\n const _setInvoices = props.setInvoices;\r\n const setActiveServicesInvoices = props.setActiveServicesInvoices;\r\n const setEmptyPaginationResult = props.setEmptyPaginationResult;\r\n const setInvoicesSummary = props.setInvoicesSummary;\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const [filteredByActiveServices, setFilteredByActiveServices] = useState(false);\r\n const [zoomIn, setZoomIn] = useState(false);\r\n const [invoices, setInvoices] = useState([]);\r\n const [invoiceUrl, setInvoiceUrl] = useState(null);\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n\r\n const [debounceSearchInvoices, setDebounceSearchInvoices] = useState('');\r\n const [searchInvoices, setSearchInvoices] = useState('');\r\n const [openAccountDrawer, setOpenAccountDrawer] = useState(false);\r\n const [openInvoiceStateModal, setOpenInvoiceStateModal] = useState(false);\r\n const [loadingDownload, setLoadingDownload] = useState(false);\r\n const [cleanDate, setCleanDate] = useState(false);\r\n const [invoiceModalIndexes, setInvoicesModalIndexes] = useState(null);\r\n const [selectAll, setSelectAll] = useState(true);\r\n const [filterPendingInvoices, setFilterPendingInvoices] = useState(false);\r\n const [fromEnergyAccount, setFromEnergyAccount] = useState(false);\r\n\r\n const searchInputContainerRef = useRef(null);\r\n const searchInputRef = useRef(null);\r\n const invoicesContainerRef = useRef(null);\r\n const invoiceStateModal = useRef(null);\r\n const accountPickerRef = useRef(null);\r\n\r\n const handleCalendar = (value) => {\r\n setShowCalendar(false);\r\n props.setInvoicesDate(value.graphDateFrom);\r\n setCurrentPage(0);\r\n setEmptyPaginationResult(false)\r\n setInvoicesContentLoading(true);\r\n setInvoicesContent([]);\r\n setCleanDate(false);\r\n };\r\n\r\n const handleDocumentClick = (event) => {\r\n if (searchInputContainerRef.current && !searchInputContainerRef.current.contains(event.target)) {\r\n setIsExpanded(false);\r\n }\r\n }\r\n\r\n const normalizeInvoices = () => {\r\n return [..._invoices].map((currentInvoice, index) => {\r\n const oldInvoice = index < invoices.length;\r\n const selectedCurrentInvoice = !currentInvoice.loadingDelay && currentInvoice.state === 0;\r\n return {\r\n ...currentInvoice,\r\n isSelected: (oldInvoice && !invoices[index].loadingDelay) ?\r\n invoices[index].isSelected\r\n : selectedCurrentInvoice\r\n }\r\n })\r\n }\r\n\r\n const toggleSelectAll = () => {\r\n const notSelectedPedingInvoices = invoices.filter(currentInvoice => !currentInvoice.loadingDelay && currentInvoice.state === 0 && !currentInvoice.isSelected)\r\n const selectedPedingInvoices = invoices.filter(currentInvoice => !currentInvoice.loadingDelay && currentInvoice.state === 0 && currentInvoice.isSelected)\r\n const selectedInvoices = selectAll ? (invoicesSummary.total_bills - notSelectedPedingInvoices.length) : (selectedPedingInvoices.length);\r\n const id_bills_array = invoicesSummary.id_bills_array.map(bill => ({ ...bill, selected: !selectAll }))\r\n if (selectedInvoices > 0) {\r\n const invoicesToRevert = !selectAll ? selectedPedingInvoices : notSelectedPedingInvoices;\r\n const revertSummary = invoicesToRevert.reduce((accum, i) => {\r\n if (selectAll) {\r\n accum.total_consumption = accum.total_consumption + parseFloat(i.consumption)\r\n accum.total_payment = accum.total_payment + parseFloat(i.total_payment)\r\n } else {\r\n accum.total_consumption = accum.total_consumption - parseFloat(i.consumption)\r\n accum.total_payment = accum.total_payment - parseFloat(i.total_payment)\r\n }\r\n return accum\r\n }, { total_consumption: parseFloat(invoicesSummary.total_consumption), total_payment: parseFloat(invoicesSummary.total_payment) })\r\n setInvoicesSummary({\r\n ...invoicesSummary,\r\n ...revertSummary,\r\n id_bills_array\r\n })\r\n setSelectAll(false)\r\n setInvoices(invoices.map(currentInvoice => {\r\n return ({\r\n ...currentInvoice,\r\n isSelected: false\r\n })\r\n }))\r\n } else {\r\n if (selectAll) {\r\n const revertSummary = notSelectedPedingInvoices.reduce((accum, i) => {\r\n accum.total_consumption = accum.total_consumption + parseFloat(i.consumption)\r\n accum.total_payment = accum.total_payment + parseFloat(i.total_payment)\r\n return accum\r\n }, { total_consumption: 0, total_payment: 0 })\r\n setInvoicesSummary({\r\n ...invoicesSummary,\r\n ...revertSummary,\r\n id_bills_array\r\n })\r\n }\r\n setSelectAll(true)\r\n setInvoices(invoices.map(currentInvoice => {\r\n return ({\r\n ...currentInvoice,\r\n isSelected: !currentInvoice.loadingDelay && currentInvoice.state === 0\r\n })\r\n }))\r\n }\r\n }\r\n\r\n const downloadConsolidate = async () => {\r\n try {\r\n setLoadingDownload(true);\r\n const servicesIds = activeServicesInvoices.map(s => s.idService)\r\n const blob = await SETBlobFile(\r\n 'bills/historical',\r\n 'POST',\r\n JSON.stringify({ id_user: user.idUser, month: invoicesDate.getMonth() + 1, year: invoicesDate.getFullYear(), id_services: servicesIds }),\r\n )\r\n if (!blob) throw new Error('Error getting blob')\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = `consolidate-${format(invoicesDate, 'MMMM', { locale: es })}-de-${format(invoicesDate, 'yyyy')}.xlsx`\r\n link.click();\r\n\r\n window.URL.revokeObjectURL(url);\r\n setLoadingDownload(false);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n\r\n const handleInvoicesContainerScroll = () => {\r\n if (invoicesContainerRef.current && !moreInvoicesLoading) {\r\n const { scrollTop, scrollHeight, clientHeight } = invoicesContainerRef.current;\r\n\r\n if (scrollTop + clientHeight >= scrollHeight) {\r\n setCurrentPage(currentPage + 1);\r\n }\r\n }\r\n }\r\n\r\n const clearDate = (e) => {\r\n e.stopPropagation();\r\n props.setInvoicesDate(subMonths(new Date(), 1));\r\n setShowCalendar(false);\r\n setCurrentPage(0);\r\n setEmptyPaginationResult(false)\r\n setCleanDate(true);\r\n }\r\n\r\n const groupDataByAccountAndDate = (invoices) => {\r\n const groupedData = invoices.reduce((result, customer) => {\r\n let accountGroup = result.find(group => group.account === customer.account);\r\n if (!accountGroup) {\r\n accountGroup = { account: customer.account, id_account: customer.id_account, dates: [] };\r\n result.push(accountGroup);\r\n }\r\n const customerDate = new Date(customer?.year, customer?.month - 1, 1, 12).toISOString()\r\n\r\n let dateGroup = accountGroup.dates.find(group => group.date === customerDate);\r\n if (!dateGroup) {\r\n dateGroup = { date: customerDate, invoices: [] };\r\n accountGroup.dates = [...accountGroup.dates, dateGroup].sort();\r\n }\r\n\r\n dateGroup.invoices = [...dateGroup.invoices, { ...customer }];\r\n return result.sort((a, b) => a.id_account - b.id_account);\r\n }, []);\r\n return groupedData;\r\n };\r\n\r\n const handleOpenModal = async (rowData, accountIndex, dateGroupIndex, invoiceIndex) => {\r\n setInvoicesModalIndexes({ accountIndex, dateGroupIndex, invoiceIndex })\r\n if (rowData.type_content === \"pdf\") {\r\n const result = await GETS3PublicUrl(rowData.pdf_path);\r\n setInvoiceUrl(result);\r\n } else {\r\n setInvoiceUrl('');\r\n setInvoiceShow(rowData)\r\n }\r\n setZoomIn(true)\r\n }\r\n\r\n const handleClickOutside = (event) => {\r\n if (invoiceStateModal.current && !invoiceStateModal.current.contains(event.target)) {\r\n setOpenInvoiceStateModal(false);\r\n }\r\n if (accountPickerRef.current && !accountPickerRef.current.contains(event.target)) {\r\n setOpenAccountDrawer(false);\r\n }\r\n };\r\n\r\n const handleFilterPendingInvoices = (value) => {\r\n setFilterPendingInvoices(value)\r\n setCurrentPage(0);\r\n setEmptyPaginationResult(false);\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n setShowBlackScreen(showCalendar);\r\n }, [setShowBlackScreen, showCalendar]);\r\n\r\n useEffect(() => {\r\n setShowBlackScreen(openInvoiceStateModal);\r\n }, [setShowBlackScreen, openInvoiceStateModal]);\r\n\r\n useEffect(() => {\r\n setShowBlackScreen(openAccountDrawer);\r\n }, [setShowBlackScreen, openAccountDrawer]);\r\n\r\n useEffect(() => {\r\n if (account && !activeServicesInvoices.length) {\r\n loadServicesAsync();\r\n }\r\n // eslint-disable-next-line\r\n }, [account, loadServicesAsync]);\r\n\r\n useEffect(() => {\r\n if (activeServicesInvoices.length) {\r\n loadInvoicesPeriodsAsync();\r\n }\r\n // eslint-disable-next-line\r\n }, [activeServicesInvoices]);\r\n\r\n useEffect(() => {\r\n if (activeServicesEnergy.length && !filteredByActiveServices) {\r\n if (location.state?.fromEnergy) {\r\n history.replace({\r\n pathname: location.pathname,\r\n state: null\r\n })\r\n const activeAccountsIds = activeServicesEnergy.map(s => s.idAccount);\r\n props.setInvoicesDate(subMonths(invoicesDate, 1))\r\n setActiveServicesInvoices(_totalServices.filter(currentService =>\r\n activeAccountsIds.some(currentIdAccount => currentService.idAccount === currentIdAccount)\r\n ));\r\n setFromEnergyAccount(true);\r\n }\r\n setFilteredByActiveServices(true);\r\n }\r\n // eslint-disable-next-line\r\n }, [activeServicesEnergy, _totalServices])\r\n\r\n useEffect(() => {\r\n if (!invoicesPeriods.length) { _setInvoices([]) }\r\n\r\n if (activeServicesInvoices.length && invoicesPeriods?.length && filteredByActiveServices) {\r\n const invoicesPerPage = 20;\r\n if (currentPage > 0) {\r\n loadMoreInvoicesAsync({\r\n offset: (invoicesPerPage * currentPage),\r\n limit: invoicesPerPage,\r\n searchText: debounceSearchInvoices,\r\n sortOrder: sortOrder,\r\n sortField: sortField,\r\n month: !cleanDate ? invoicesDate.getMonth() + 1 : null,\r\n year: !cleanDate ? invoicesDate.getFullYear() : null,\r\n pendingInvoices: filterPendingInvoices\r\n });\r\n } else {\r\n loadInvoicesAsync({\r\n searchText: debounceSearchInvoices,\r\n sortOrder: sortOrder,\r\n sortField: sortField,\r\n month: !cleanDate ? invoicesDate.getMonth() + 1 : null,\r\n year: !cleanDate ? invoicesDate.getFullYear() : null,\r\n pendingInvoices: filterPendingInvoices\r\n });\r\n }\r\n setInvoiceShowIndex(0);\r\n } else {\r\n setInvoices([])\r\n }\r\n // eslint-disable-next-line\r\n }, [activeServicesInvoices, filteredByActiveServices, invoicesPeriods, currentPage, debounceSearchInvoices, sortOrder, sortField, invoicesDate, filterPendingInvoices]);\r\n\r\n useEffect(() => {\r\n if (cleanDate) {\r\n loadInvoicesSummaryAsync({ selectAll })\r\n return;\r\n }\r\n loadInvoicesSummaryAsync({\r\n month: invoicesDate.getMonth() + 1,\r\n year: invoicesDate.getFullYear(),\r\n selectAll\r\n })\r\n // eslint-disable-next-line\r\n }, [activeServicesInvoices, invoicesDate, cleanDate])\r\n\r\n useEffect(() => {\r\n setInvoices(normalizeInvoices())\r\n // eslint-disable-next-line\r\n }, [_invoices])\r\n\r\n useEffect(() => {\r\n if (invoiceShow) {\r\n if (invoiceShow?.type_content === \"pdf\") {\r\n setInvoiceUrl(`https://${process.env.REACT_APP_S3_BUCKET}.s3.us-east-2.amazonaws.com/${invoiceShow?.pdf_path}`);\r\n setInvoicesContentLoading(false);\r\n }\r\n } else {\r\n setInvoiceUrl(\"\");\r\n }\r\n // eslint-disable-next-line\r\n }, [invoiceShow, invoices, account]);\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleDocumentClick)\r\n return () => {\r\n document.removeEventListener(\"click\", handleDocumentClick)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (searchInputRef.current) {\r\n searchInputRef.current.focus()\r\n }\r\n }, [isExpanded])\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout(() => {\r\n setDebounceSearchInvoices(searchInvoices)\r\n setCurrentPage(0)\r\n setEmptyPaginationResult(false)\r\n }, 2000)\r\n return () => clearTimeout(timeout)\r\n // eslint-disable-next-line\r\n }, [searchInvoices])\r\n\r\n const handleClosePay = () => {\r\n props.setStartOnboarding({ key: \"payment\", value: false });\r\n };\r\n\r\n const tourPayment = useTour({\r\n steps: stepsPayment(props.language),\r\n localStorageKey: \"payment-tutorial\",\r\n isOpenDrawer: props.invoicesToPay.length !== 0,\r\n runTour: props.payment,\r\n setRunTour: props.setStartOnboarding,\r\n key: \"payment\",\r\n });\r\n\r\n const tourInvoice = useTour({\r\n steps: stepsInvoice(props.language),\r\n localStorageKey: \"invoice-tutorial\",\r\n isOpenDrawer:\r\n !props.invoicesContentLoading && props.invoicesToPay.length === 0,\r\n runTour: props.invoiceOnboarding,\r\n setRunTour: props.setStartOnboarding,\r\n onTourFinish: handleClosePay,\r\n key: \"invoice\",\r\n });\r\n\r\n const activeAccounts = [...new Set(activeServicesInvoices.filter(i => i.type.name.includes('energy')).map(invoice => invoice.idAccount))];\r\n\r\n // eslint-disable-next-line\r\n const groupedData = useMemo(() => groupDataByAccountAndDate(invoices), [invoices, sortField, sortOrder]);\r\n\r\n const setPreviousInvoiceModal = () => {\r\n if (!invoiceModalIndexes) return;\r\n const { accountIndex, invoiceIndex, dateGroupIndex } = invoiceModalIndexes;\r\n let newAccountIndex = null;\r\n let newInvoiceIndex = null;\r\n let newDateGroupIndex = null;\r\n if (invoiceIndex !== 0) {\r\n newAccountIndex = accountIndex;\r\n newDateGroupIndex = dateGroupIndex;\r\n newInvoiceIndex = invoiceIndex - 1;\r\n return;\r\n } else if (dateGroupIndex !== 0) {\r\n newAccountIndex = accountIndex;\r\n newDateGroupIndex = dateGroupIndex - 1;\r\n const previousDate = groupedData[newAccountIndex].dates[newDateGroupIndex]\r\n newInvoiceIndex = previousDate.invoices.length - 1;\r\n } else if (accountIndex !== 0) {\r\n newAccountIndex = accountIndex - 1;\r\n const previousAccount = groupedData[newAccountIndex]\r\n newDateGroupIndex = previousAccount.dates.length - 1;\r\n const previousDate = previousAccount.dates[newDateGroupIndex]\r\n newInvoiceIndex = previousDate.invoices.length - 1;\r\n }\r\n if (newAccountIndex !== null && newDateGroupIndex !== null && newInvoiceIndex !== null) {\r\n const newInvoice = groupedData[newAccountIndex].dates[newDateGroupIndex].invoices[newInvoiceIndex];\r\n handleOpenModal(newInvoice, newAccountIndex, newDateGroupIndex, newInvoiceIndex)\r\n }\r\n }\r\n\r\n const setFollowingInvoiceModal = () => {\r\n if (!invoiceModalIndexes) return;\r\n const { accountIndex, invoiceIndex, dateGroupIndex } = invoiceModalIndexes;\r\n let newAccountIndex = null;\r\n let newInvoiceIndex = null;\r\n let newDateGroupIndex = null;\r\n const currentAccount = groupedData[accountIndex];\r\n const currentDate = currentAccount.dates[dateGroupIndex];\r\n if (invoiceIndex !== currentDate.invoices.length - 1) {\r\n newAccountIndex = accountIndex;\r\n newDateGroupIndex = dateGroupIndex;\r\n newInvoiceIndex = invoiceIndex + 1;\r\n return;\r\n } else if (dateGroupIndex !== currentAccount.dates.length - 1) {\r\n newAccountIndex = accountIndex;\r\n newDateGroupIndex = dateGroupIndex + 1;\r\n const previousDate = groupedData[newAccountIndex].dates[newDateGroupIndex]\r\n newInvoiceIndex = previousDate.invoices.length - 1;\r\n } else if (accountIndex !== groupedData.length - 1) {\r\n newAccountIndex = accountIndex + 1;\r\n const previousAccount = groupedData[newAccountIndex]\r\n newDateGroupIndex = previousAccount.dates.length - 1;\r\n const previousDate = previousAccount.dates[newDateGroupIndex]\r\n newInvoiceIndex = previousDate.invoices.length - 1;\r\n }\r\n if (newAccountIndex !== null && newDateGroupIndex !== null && newInvoiceIndex !== null) {\r\n const newInvoice = groupedData[newAccountIndex].dates[newDateGroupIndex].invoices[newInvoiceIndex];\r\n handleOpenModal(newInvoice, newAccountIndex, newDateGroupIndex, newInvoiceIndex)\r\n }\r\n }\r\n\r\n const getMonthLabel = () => {\r\n const strDate = stringFormatDate(props.invoicesDate, 2);\r\n if (!strDate || strDate.length === 0) return '';\r\n return strDate[0].toUpperCase() + strDate.slice(1, strDate.length)\r\n }\r\n\r\n return (\r\n
\r\n {tourPayment}\r\n {tourInvoice}\r\n \r\n
\r\n {\r\n invoicesLoading ? (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ) : (\r\n <>\r\n \r\n
\r\n

{props.language.invoices_title}

\r\n
\r\n
\r\n
\r\n \r\n {state => (\r\n
\r\n )}\r\n \r\n setOpenAccountDrawer(true)}\r\n >\r\n

\r\n {\r\n energyAccounts.length === activeAccounts.length ? props.language.invoices_empty_account_selection\r\n : `${activeAccounts.length} ${props.language.invoices_account_total_selection_separator} ${energyAccounts.length} ${props.language.invoices_account_total_selection}`\r\n }\r\n

\r\n
\r\n \r\n setOpenAccountDrawer(false)} />\r\n
\r\n
\r\n setShowCalendar(true)}\r\n >\r\n
\r\n {cleanDate ? props.language.invoices_empty_date_selection : getMonthLabel()}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n setOpenInvoiceStateModal(true)}\r\n >\r\n

\r\n {filterPendingInvoices ? props.language.invoices_pending_filter_option : props.language.invoices_empty_filter_selection}\r\n

\r\n
\r\n \r\n \r\n {state => (\r\n
\r\n
\r\n
\r\n
handleFilterPendingInvoices(false)}>\r\n

Todas las facturas

\r\n \r\n
\r\n
handleFilterPendingInvoices(true)}>\r\n

Por pagar

\r\n
\r\n {invoicesSummary.total_bills}\r\n \r\n
\r\n
\r\n
\r\n
)}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {state => (\r\n
\r\n )}\r\n \r\n \r\n {\r\n loadingDownload ? (\r\n <>\r\n \r\n

\r\n Cargando\r\n

\r\n \r\n ) : (\r\n <>\r\n \r\n

\r\n Descargar consolidado\r\n

\r\n \r\n )\r\n }\r\n
\r\n {\r\n setIsExpanded(true)\r\n }}\r\n >\r\n \r\n {\r\n isExpanded && (\r\n
\r\n setSearchInvoices(e.target.value)} placeholder=\"Buscar\"\r\n />\r\n
\r\n )\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n {invoiceShow || invoiceUrl ? (\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n totalServices: state.services.totalServices,\r\n invoices: state.invoices.invoices,\r\n invoicesLoading: state.invoices.invoicesLoading,\r\n intervalGraph: state.energy.intervalGraph,\r\n invoicesDate: state.invoices.invoicesDate,\r\n moreInvoicesLoading: state.invoices.moreInvoicesLoading,\r\n activeServicesInvoices: state.services.activeServicesInvoices,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n showCalendar: state.shared.showCalendar,\r\n language: state.shared.language,\r\n showBlackScreen: state.shared.showBlackScreen,\r\n account: state.accounts.account,\r\n totalAccounts: state.accounts.totalAccounts,\r\n invoicesContentLoading: state.invoices.invoicesContentLoading,\r\n invoiceShow: state.invoices.invoiceDetails,\r\n invoicesToPay: state.invoices.invoicesToPay,\r\n invoicesSummary: state.invoices.invoicesSummary,\r\n payment: state.shared.startOnboarding.payment,\r\n invoiceOnboarding: state.shared.startOnboarding.invoice,\r\n billsStatus: state.invoices.billsStatus,\r\n invoicesPeriods: state.invoices.invoicesPeriods,\r\n currentPage: state.invoices.currentPage,\r\n sortField: state.invoices.sortField,\r\n sortOrder: state.invoices.sortOrder,\r\n user: state.users.user,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setShowBlackScreen: (payload) =>\r\n dispatch(sharedActions.setShowBlackScreen(payload)),\r\n setInvoicesDate: (payload) =>\r\n dispatch(invoicesActions.setInvoicesDate(payload)),\r\n setInvoicesLoading: (payload) =>\r\n dispatch(invoicesActions.setInvoicesLoading(payload)),\r\n loadInvoicesAsync: (payload) =>\r\n dispatch(invoicesActions.loadInvoicesAsync(payload)),\r\n loadInvoicesSummaryAsync: (payload) =>\r\n dispatch(invoicesActions.loadInvoicesSummaryAsync(payload)),\r\n loadMoreInvoicesAsync: (payload) =>\r\n dispatch(invoicesActions.loadMoreInvoicesAsync(payload)),\r\n setActiveServicesInvoices: (payload) =>\r\n dispatch(servicesActions.setActiveServicesInvoices(payload)),\r\n setInvoicesToPay: (payload) =>\r\n dispatch(invoicesActions.setInvoicesToPay(payload)),\r\n setShowCalendar: (payload) =>\r\n dispatch(sharedActions.setShowCalendar(payload)),\r\n loadServicesAsync: (payload) =>\r\n dispatch(servicesActions.loadServicesAsync(payload)),\r\n downloadInvoiceAsync: (payload) =>\r\n dispatch(invoicesActions.downloadInvoiceAsync(payload)),\r\n setInvoiceShow: (payload) =>\r\n dispatch(invoicesActions.setShowInvoiceDetails(payload)),\r\n setInvoiceShowIndex: (payload) =>\r\n dispatch(invoicesActions.setShowInvoiceDetailsIndex(payload)),\r\n setInvoicesContent: (payload) =>\r\n dispatch(invoicesActions.setInvoicesContent(payload)),\r\n setInvoicesContentLoading: (payload) =>\r\n dispatch(invoicesActions.setInvoicesContentLoading(payload)),\r\n setStartOnboarding: (payload) =>\r\n dispatch(sharedActions.setStartOnboarding(payload)),\r\n loadInvoicesPeriodsAsync: () =>\r\n dispatch(invoicesActions.loadInvoicesPeriodsAsync()),\r\n setFilterStatus: (payload) =>\r\n dispatch(invoicesActions.setFilterStatus(payload)),\r\n setInvoices: (payload) =>\r\n dispatch(invoicesActions.setInvoices(payload)),\r\n setCurrentPage: (payload) =>\r\n dispatch(invoicesActions.setCurrentPage(payload)),\r\n setEmptyPaginationResult: (payload) =>\r\n dispatch(invoicesActions.setEmptyPaginationResult(payload)),\r\n setInvoicesSummary: (payload) =>\r\n dispatch(invoicesActions.setInvoicesSummary(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Invoices);\r\n","import React from \"react\"\r\nimport step1 from \"../../../imgs/onboarding/step1-payment.png\"\r\nimport step1En from \"../../../imgs/onboarding/english/step1-payment-en.png\"\r\nimport step2 from \"../../../imgs/onboarding/step2-payment.png\"\r\nimport step2En from \"../../../imgs/onboarding/english/step2-payment-en.png\"\r\nimport step3 from \"../../../imgs/onboarding/step3-payment.png\"\r\nimport step3En from \"../../../imgs/onboarding/english/step3-payment-en.png\"\r\nimport step4 from \"../../../imgs/onboarding/step4-payment.png\"\r\nimport step4En from \"../../../imgs/onboarding/english/step4-payment-en.png\"\r\n\r\nexport const stepsPayment = (language) => {\r\n return ([\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_payment_title_step1,\r\n description: language.onboarding_payment_description_step1,\r\n placement: \"center\", \r\n target: \"#payment\",\r\n disableBeacon: true,\r\n steps: 4,\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_payment_title_step2,\r\n description: language.onboarding_payment_description_step2,\r\n placement: \"left\",\r\n target: \"#payment\",\r\n disableBeacon: true,\r\n steps: 4,\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_payment_title_step3,\r\n description: language.onboarding_payment_description_step3,\r\n placement: \"left\",\r\n target: \"#payment\",\r\n disableBeacon: true,\r\n steps: 4,\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_payment_title_step4,\r\n description: language.onboarding_payment_description_step4,\r\n placement: \"left\",\r\n target: \"#payment\",\r\n disableBeacon: true,\r\n steps: 4,\r\n },\r\n ])\r\n}\r\n","import React from 'react'\r\nimport { connect } from 'react-redux';\r\n\r\nconst Picker = ({ label, value, onChange, language }) => {\r\n return (\r\n
\r\n \r\n
\r\n
onChange(true) }>\r\n
{language.picker_yes_button}
\r\n
\r\n
onChange(false)}>\r\n
{language.picker_no_button}
\r\n
\r\n
\r\n
);\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Picker);","import React from \"react\"\r\n\r\nimport step1 from \"../../../imgs/onboarding/step1-new-user.png\"\r\nimport step1En from \"../../../imgs/onboarding/english/step1-new-user-en.png\"\r\nimport step2 from \"../../../imgs/onboarding/step2-new-user.png\"\r\nimport step2En from \"../../../imgs/onboarding/english/step2-new-user-en.png\"\r\nimport step3 from \"../../../imgs/onboarding/step3-new-user.png\"\r\nimport step3En from \"../../../imgs/onboarding/english/step3-new-user-en.png\"\r\n\r\nexport const stepsUser = (language) => {\r\n return ([\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_user_title_step1,\r\n description: language.onboarding_user_description_step1,\r\n placement: \"right\",\r\n width: 340,\r\n height: 350,\r\n target: \"#user_modal\",\r\n disableBeacon: true,\r\n steps: 3\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_user_title_step2,\r\n description: language.onboarding_user_description_step2,\r\n placement: \"right\",\r\n width: 340,\r\n height: 350,\r\n target: \"#user_form\",\r\n disableBeacon: true,\r\n steps: 3,\r\n },\r\n {\r\n content: (\r\n
\r\n \"step\r\n
\r\n ),\r\n title: language.onboarding_user_title_step3,\r\n description: language.onboarding_user_description_step3,\r\n placement: \"right-end\",\r\n width: 340,\r\n target: \"#user_edit\",\r\n disableBeacon: true,\r\n steps: 3,\r\n },\r\n ])\r\n}\r\n","import React, { Fragment, useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nimport * as sharedActions from '../../store/actions/Shared';\r\nimport * as loginActions from '../../store/actions/Login';\r\nimport * as usersActions from '../../store/actions/Users';\r\nimport * as accountsActions from '../../store/actions/Accounts';\r\nimport * as alertsActions from '../../store/actions/Alerts';\r\nimport * as themeActions from \"../../store/actions/Theme\";\r\n\r\nimport { CircularProgressbarWithChildren } from 'react-circular-progressbar';\r\n\r\nimport { Animation, Drawer, Alert, Loader, Whisper, Tooltip } from 'rsuite';\r\n\r\nimport { SETFile } from '../../services/WebServices';\r\n\r\nimport Input from './utilities/Input';\r\nimport Numeric from './utilities/Numeric';\r\nimport Picker from './utilities/Picker';\r\nimport Select from './utilities/Select';\r\nimport MultipleSelect from './utilities/MultipleSelect';\r\nimport UserCreate from './users/UserCreate';\r\nimport UserList from './users/Users';\r\n\r\nimport useTour from '../onboarding/hook/useTour';\r\nimport { stepsUser } from '../onboarding/steps/UserSteps';\r\n\r\n\r\nconst isValidateEmail = email => {\r\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\r\n}\r\n\r\nconst isValidUser = user => {\r\n\r\n if (user.name === null || user.name === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.lastname === null || user.lastname === \"\") {\r\n return false;\r\n }\r\n\r\n if (!isValidateEmail(user.email)) {\r\n return false;\r\n }\r\n\r\n if (user.phone === null || user.phone === \"\") {\r\n return false;\r\n }\r\n\r\n if (user.address === null || user.address === \"\") {\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n}\r\n\r\nconst showError = (user, setFocus, setError, setShowMainInfo, language) => {\r\n\r\n if (user.name === null || user.name === \"\") {\r\n setFocus(1);\r\n setError(language.alert_user_popup_name);\r\n setShowMainInfo(true);\r\n return;\r\n }\r\n\r\n if (user.lastname === null || user.lastname === \"\") {\r\n setFocus(2);\r\n setError(language.alert_user_popup_lastname);\r\n setShowMainInfo(true);\r\n return;\r\n }\r\n\r\n if (!isValidateEmail(user.email)) {\r\n setFocus(3);\r\n setError(language.alert_user_popup_email);\r\n setShowMainInfo(true);\r\n return;\r\n }\r\n\r\n if (user.phone === null || user.phone === \"\") {\r\n setFocus(4);\r\n setError(language.alert_user_popup_phone);\r\n setShowMainInfo(true);\r\n return;\r\n }\r\n\r\n if (user.address === null || user.address === \"\") {\r\n setFocus(5);\r\n setError(language.alert_user_popup_address);\r\n setShowMainInfo(true);\r\n return;\r\n }\r\n\r\n return setFocus(0);\r\n\r\n}\r\n\r\nconst Account = (props) => {\r\n\r\n const location = useLocation();\r\n\r\n const setUserImage = (user, setIsLoading, e) => {\r\n\r\n const file = e.target.files[0];\r\n\r\n const data = new FormData();\r\n\r\n data.append(\"file\", file);\r\n data.append(\"id\", user.idUser.toString());\r\n data.append(\"folder\", \"profile-photos\");\r\n\r\n setIsLoading(true);\r\n\r\n SETFile(\"users/users/\", \"PUT\", data)\r\n .then(_result => {\r\n props.getUserImageAsync();\r\n })\r\n .catch(() => {\r\n Alert.error(props.language.alert_failed_change_image);\r\n })\r\n .finally(() => setIsLoading(false));\r\n\r\n }\r\n\r\n let languages = [\r\n {\r\n value: 1,\r\n label: props.language.user_select_option_language_es\r\n },\r\n {\r\n value: 2,\r\n label: props.language.user_select_option_language_en\r\n }\r\n ];\r\n\r\n let property_types = [\r\n {\r\n value: 1,\r\n label: props.language.user_select_option_type_apartment\r\n },\r\n {\r\n value: 2,\r\n label: props.language.user_select_option_type_house\r\n },\r\n {\r\n value: 3,\r\n label: props.language.user_select_option_type_country_house\r\n },\r\n {\r\n value: 4,\r\n label: props.language.user_select_option_type_farm\r\n }\r\n ];\r\n\r\n let _user = props.user;\r\n let userJobs = props.userJobs;\r\n let language = props.language;\r\n let showCreateUserModal = props.showCreateUserModal;\r\n let showDrawerAlerts = props.showDrawerAlerts\r\n\r\n const setProfileProgress = props.setProfileProgress;\r\n const loadUserJobsAsync = props.loadUserJobsAsync;\r\n const getUserApiTokenAsync = props.getUserApiTokenAsync;\r\n\r\n const [user, setUserData] = useState(_user);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [isEnable, setEnable] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const [personalData, setShowPersonalData] = useState(false);\r\n const [mainInfo, setShowMainInfo] = useState(false);\r\n const [healthInfo, setShowHealthInfo] = useState(false);\r\n const [homeInfo, setShowHomeInfo] = useState(false);\r\n const [vehicleInfo, setShowVehicleInfo] = useState(false);\r\n const [tokenApi, setTokenApi] = useState(false);\r\n const [focus, setFocus] = useState(0);\r\n const [error, setError] = useState(\"\");\r\n\r\n const tourUser = useTour({ steps: stepsUser(props.language), localStorageKey: \"user-tutorial\", isOpenDrawer: showCreateUserModal, runTour: props.newUser, setRunTour: props.setStartOnboarding, key: 'new_user' });\r\n\r\n const { theme } = props;\r\n\r\n const getProgressStyle = () => {\r\n \r\n return {\r\n path: { stroke: theme === 'dark' ? '#9ecc14' : '#7da60c' },\r\n trail: { stroke: theme === 'dark' ? '#262626' : '#fafafa' }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setUserData({..._user, roleIds: _user.jobs?.map(j => j.idJob)});\r\n }, [_user]);\r\n\r\n useEffect(() => {\r\n if (!userJobs.length)\r\n loadUserJobsAsync();\r\n }, [userJobs, loadUserJobsAsync]);\r\n\r\n useEffect(() => {\r\n setEnable(isValidUser(user));\r\n setProfileProgress(Object.values(user).filter(x => x !== undefined && x !== null && x !== '').length / Object.keys(user).length);\r\n }, [setEnable, setProfileProgress, user]);\r\n\r\n useEffect(() => {\r\n if (focus !== 0) { showError(user, setFocus, setError, setShowMainInfo, language) }\r\n }, [user, language, focus]);\r\n\r\n useEffect(() => { getUserApiTokenAsync() }, [getUserApiTokenAsync]);\r\n\r\n return (\r\n \r\n {tourUser}\r\n props.setShowAccount(false)}>\r\n
\r\n
\r\n \r\n
\r\n {isLoading ?
: null}\r\n \r\n setUserImage(user, setIsLoading, e)}>\r\n
\r\n
\r\n
\r\n
\r\n
{user.name} {user.lastname}
\r\n
\r\n
\r\n
\r\n
setShowPersonalData(!personalData)}>\r\n
\r\n \r\n
{props.language.user_title_section_personal_data}
\r\n
\r\n \r\n
\r\n \r\n {/*
\r\n
\r\n
setShowMainInfo(!mainInfo)}>\r\n
{props.language.user_title_section_your_info}
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setUserData({ ...user, name: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, name: target.value }\r\n })\r\n }}\r\n error={focus === 1 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, lastname: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, lastname: target.value }\r\n })\r\n }}\r\n error={focus === 2 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, email: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, email: target.value }\r\n })\r\n }}\r\n error={focus === 3 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, phone: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, phone: target.value }\r\n })\r\n }}\r\n error={focus === 4 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, phone2: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, phone2: target.value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, address: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, address: target.value }\r\n })\r\n }}\r\n error={focus === 5 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, address2: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, address2: target.value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, roleIds: value });\r\n setUserChanges(prevState => {\r\n return { ...prevState, roleIds: value }\r\n });\r\n }}\r\n error={focus === 6 ? error : \"\"}\r\n value={user?.roleIds?.length ? `${user?.roleIds.length}` : props.language.user_select_label_job_area}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, height: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, height: target.value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, weight: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, weight: target.value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, eps: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, eps: target.value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, insurance: value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, insurance: value }\r\n })\r\n }} />\r\n
\r\n
\r\n
\r\n
\r\n
setShowHomeInfo(!homeInfo)}>\r\n
{props.language.user_title_section_home}
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n setUserData({ ...user, houseArea: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, houseArea: target.value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, housePeople: value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, housePeople: value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, floors: value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, floors: value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, ownHome: value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, ownHome: value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, solarSystem: value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, solarSystem: value }\r\n })\r\n }} />\r\n
\r\n
\r\n
\r\n
\r\n
setShowVehicleInfo(!vehicleInfo)}>\r\n
{props.language.user_title_section_vehicle}
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n setUserData({ ...user, ownVehicle: value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, ownVehicle: value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, ev: value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, ev: value }\r\n })\r\n }} />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, armoredVehicle: value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, armoredVehicle: value }\r\n })\r\n }} />\r\n
\r\n
\r\n
\r\n
\r\n : null\r\n } */}\r\n \r\n {/* */}\r\n {/*
*/}\r\n {/*
*/} \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setUserData({ ...user, name: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, name: target.value }\r\n })\r\n }}\r\n error={focus === 1 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, lastname: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, lastname: target.value }\r\n })\r\n }}\r\n error={focus === 2 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, email: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, email: target.value }\r\n })\r\n }}\r\n error={focus === 3 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, phone: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, phone: target.value }\r\n })\r\n }}\r\n error={focus === 4 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, address: target.value })\r\n setUserChanges(prevState => {\r\n return { ...prevState, address: target.value }\r\n })\r\n }}\r\n error={focus === 5 ? error : \"\"}\r\n />\r\n
\r\n
\r\n {\r\n setUserData({ ...user, roleIds: value });\r\n setUserChanges(prevState => {\r\n return { ...prevState, roleIds: value }\r\n });\r\n }}\r\n error={focus === 6 ? error : \"\"}\r\n value={user?.roleIds?.length ? `${user?.roleIds.length}` : props.language.user_select_label_job_area}\r\n />\r\n
\r\n
\r\n \r\n
\r\n {props.language.neugets_tooltip_copy_code}}>\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {/*
\r\n
props.setShowDrawerOnboarding(true)}>\r\n
\r\n \r\n
{props.language.onboarding_drawer_title}
\r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n
window.open(\"https://www.neu.com.co/privacy\", \"_blank\")}>\r\n
\r\n \r\n
{props.language.user_title_section_privacy_info}
\r\n
\r\n \r\n
\r\n
window.open(\"https://neu-public.s3.sa-east-1.amazonaws.com/documents/Contrato_de_Condiciones_Uniformes.pdf\", \"_blank\")}>\r\n
\r\n \r\n
{props.language.user_title_section_terms_conditions}
\r\n
\r\n \r\n
\r\n
\r\n
{\r\n props.logout();\r\n props.setStep(1);\r\n }}>\r\n
{props.language.user_button_logout}
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.users.user,\r\n progress: state.users.profileProgress,\r\n savingInfoUser: state.users.savingInfoUser,\r\n totalAccounts: state.accounts.totalAccounts,\r\n account: state.accounts.account,\r\n userJobs: state.users.userJobs,\r\n language: state.shared.language,\r\n userTokenApi: state.users.userTokenApi,\r\n showCreateUserModal: state.users.showCreateUserModal,\r\n newUser: state.shared.startOnboarding.new_user,\r\n theme: state.theme.theme,\r\n showDrawerAlerts: state.alerts.showDrawerAlerts\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n logout: () => dispatch(sharedActions.logout()),\r\n setAccount: (payload) => dispatch(accountsActions.setAccount(payload)),\r\n setStep: (payload) => dispatch(loginActions.setStep(payload)),\r\n setProfileProgress: (payload) => dispatch(usersActions.setProfileProgress(payload)),\r\n setShowCreateUserModal: (payload) => dispatch(usersActions.setShowCreateUserModal(payload)),\r\n setUserAccessEdit: (payload) => dispatch(usersActions.setUserAccessEdit(payload)),\r\n setShowUsersListModal: (payload) => dispatch(usersActions.setShowUsersListModal(payload)),\r\n updateInfoUserAsync: (payload) => dispatch(usersActions.updateInfoUserAsync(payload)),\r\n loadUserJobsAsync: () => dispatch(usersActions.loadUserJobsAsync()),\r\n getUserImageAsync: () => dispatch(usersActions.getUserImageAsync()),\r\n generateUserApiTokenAsync: () => dispatch(usersActions.generateUserApiTokenAsync()),\r\n getUserApiTokenAsync: () => dispatch(usersActions.getUserApiTokenAsync()),\r\n setStartOnboarding: (payload) => dispatch(sharedActions.setStartOnboarding(payload)),\r\n setShowDrawerAlerts: (payload) => dispatch(alertsActions.setShowDrawerAlerts(payload)),\r\n setShowDrawerOnboarding: (payload) => dispatch(sharedActions.setShowDrawerOnboarding(payload)),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Account)\r\n\r\n\r\n","import * as creators from '../creators/Plus';\r\n\r\nimport { SETData, GETData } from '../../services/WebServices';\r\n\r\nimport { Alert } from 'rsuite';\r\n\r\nimport { getUnixTime } from 'date-fns';\r\n\r\nimport { Amplify, PubSub } from 'aws-amplify';\r\nimport { AWSIoTProvider } from '@aws-amplify/pubsub';\r\nimport moment from 'moment';\r\nimport _ from 'lodash';\r\n\r\nconst urlData = 'https://u897vnfmtl.execute-api.us-east-2.amazonaws.com/PDN';\r\nlet subscription;\r\n\r\nexport const setDataGraph = payload => {\r\n return {\r\n type: creators.SET_DATA_GRAPH,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingInitData = payload => {\r\n return {\r\n type: creators.SET_LOADING_INIT_DATA,\r\n payload\r\n }\r\n}\r\n\r\nexport const setEnableHistory = payload => {\r\n return {\r\n type: creators.SET_ENABLE_HISTORY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setDataGraphStreaming = payload => {\r\n return {\r\n type: creators.SET_DATA_GRAPH_STREAMING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setDevices = payload => {\r\n return {\r\n type: creators.SET_DEVICES,\r\n payload\r\n }\r\n}\r\n\r\nexport const resetData = () => {\r\n return {\r\n type: creators.RESET_DATA\r\n }\r\n}\r\n\r\nexport const setEnergyQuality = payload => {\r\n return {\r\n type: creators.SET_ENERGY_QUALITY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingEnergyQuality = payload => {\r\n return {\r\n type: creators.SET_LOADING_ENERGY_QUALITY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setAlwaysOn = payload => {\r\n return {\r\n type: creators.SET_ALWAYS_ON,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingAlwaysOn = payload => {\r\n return {\r\n type: creators.SET_LOADING_ALWAYS_ON,\r\n payload\r\n }\r\n}\r\n\r\nexport const setIndicators = payload => {\r\n return {\r\n type: creators.SET_PLUS_INDICATORS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingIndicators = payload => {\r\n return {\r\n type: creators.SET_PLUS_LOADING_INDICATORS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setComparatives = payload => {\r\n return {\r\n type: creators.SET_COMPARATIVES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingComparatives = payload => {\r\n return {\r\n type: creators.SET_LOADING_COMPARATIVES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setAppliances = payload => {\r\n return {\r\n type: creators.SET_APPLIANCES,\r\n payload\r\n }\r\n}\r\n\r\nexport const setTagRecords = payload => {\r\n return {\r\n type: creators.SET_TAG_RECORDS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLastConection = payload => {\r\n return {\r\n type: creators.SET_LAST_CONECTION,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLastDay = payload => {\r\n return {\r\n type: creators.SET_LAST_DAY,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLastPage = payload => {\r\n return {\r\n type: creators.SET_LAST_PAGE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setOpenQualityEnergy = payload => {\r\n return {\r\n type: creators.SET_OPEN_QUALITY_ENERGY,\r\n payload\r\n }\r\n}\r\n\r\n\r\nexport const setDataGraphAlwaysOn = payload => {\r\n return {\r\n type: creators.SET_DATA_GRAPH_ALWAYS_ON,\r\n payload\r\n }\r\n}\r\n\r\nexport const setDataGraphHistoryInit = payload => {\r\n return {\r\n type: creators.SET_DATA_GRAPH_HISTORY_INIT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setIntervalGraphAlwaysOn = payload => {\r\n return {\r\n type: creators.SET_INTERVAL_GRAPH_ALWAYS_ON,\r\n payload,\r\n };\r\n };\r\n \r\n export const setGraphDatesAlwaysOn = payload => {\r\n return {\r\n type: creators.SET_GRAPH_DATES_ALWAYS_ON,\r\n payload\r\n }\r\n }\r\n \r\n export const setGraphDatesScrollAlwaysOn = payload => {\r\n return {\r\n type: creators.SET_GRAPH_DATES_SCROLL_ALWAYS_ON,\r\n payload\r\n }\r\n }\r\n\r\nexport const setEnableScrollDataAlwaysOn = payload => {\r\n return {\r\n type: creators.SET_ENABLE_SCROLL_DATA_ALWAYS_ON,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingAlwaysOnModule = payload => {\r\n return {\r\n type: creators.SET_LOADING_ALWAYS_ON_MODULE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setQualityIndicators = payload => {\r\n return {\r\n type: creators.SET_QUALITY_INDICATORS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingQualityIndicators = payload => {\r\n return {\r\n type: creators.SET_LOADING_QUALITY_INDICATORS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setAlwaysOnIndicators = payload => {\r\n return {\r\n type: creators.SET_ALWAYS_ON_INDICATORS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setLoadingAlwaysOnIndicators = payload => {\r\n return {\r\n type: creators.SET_LOADING_ALWAYS_ON_INDICATORS,\r\n payload\r\n }\r\n}\r\n\r\nexport const getDataRedis = ({page, day, type}) => {\r\n return async (dispatch, getState) => {\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n const devices = getState().plus.devices;\r\n let deviceActive = devices.filter(value => value.id_service === idService);\r\n if (deviceActive.length) {\r\n await GETData(`?id=${deviceActive[0]?.id_device}`, \"GET\", \"https://wzryjrhkrcrivqalqyiieyvkui0fiuhk.lambda-url.us-east-1.on.aws\", true)\r\n .then((result) => {\r\n if (result.length){\r\n const payload = {\r\n page: page,\r\n data: result,\r\n init: true,\r\n day: day,\r\n type: type\r\n }\r\n dispatch(setDataGraph(payload));\r\n dispatch(setLoadingInitData(false));\r\n }\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n }\r\n}\r\n\r\nexport const getDataAthenaRedis = ({page, day, type}) => {\r\n return async (dispatch, getState) => {\r\n const dataGraph = getState().plus.dataGraph;\r\n if (dataGraph.length) {\r\n const timestamp = moment.utc(dataGraph[0]?.time).format('YYYY-MM-DD HH:mm:ss')\r\n const isLessHour = _.last(dataGraph).time - dataGraph[0]?.time < 3600000;\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n const devices = getState().plus.devices;\r\n let deviceActive = devices.filter(value => value.id_service === idService);\r\n if (deviceActive.length) {\r\n await SETData('', 'POST', { id_device: deviceActive[0]?.id_device, request: \"getDataAthenaRedis\", timestamp: timestamp, isLessHour: isLessHour }, urlData, true)\r\n .then((response) => {\r\n if (response?.body?.length){\r\n const payload = {\r\n page: page,\r\n data: response?.body,\r\n init: false,\r\n day: day,\r\n type: type\r\n }\r\n const currentDevice = getState().plus.devices?.filter(value => value?.id_service === (getState().services.activeServicesPlus[0]?.idService));\r\n if(currentDevice[0]?.id_device === response?.idDevice){\r\n dispatch(setDataGraphHistoryInit(payload));\r\n }\r\n }\r\n setTimeout(() => dispatch(setEnableHistory(false)), 5000);\r\n dispatch(setLoadingInitData(false));\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const convertDataGraph = (data, page) => {\r\n return async (dispatch, getState) => {\r\n const factor = 3600000;\r\n const dataConverted = data.map(data => {\r\n const newData = {\r\n device_id: data?.device_id,\r\n time: new Date(data?.timestamp + \" GMT\")?.getTime(),\r\n active_power: data?.active_energy * factor,\r\n reactive_power: data?.reactive_energy * factor,\r\n active_power_1: data?.rms_voltage_1 * data?.rms_current_1 * data?.power_factor_1,\r\n active_power_2: data?.rms_voltage_2 * data?.rms_current_2 * data?.power_factor_2,\r\n active_power_3: data?.rms_voltage_3 * data?.rms_current_3 * data?.power_factor_3,\r\n rms_voltage_1: data?.rms_voltage_1,\r\n rms_voltage_2: data?.rms_voltage_2,\r\n rms_voltage_3: data?.rms_voltage_3,\r\n rms_current_1: data?.rms_current_1,\r\n rms_current_2: data?.rms_current_2,\r\n rms_current_3: data?.rms_current_3,\r\n date: data?.timestamp?.split(' ')[0],\r\n power_factor_1: data?.power_factor_1,\r\n power_factor_2: data?.power_factor_2,\r\n power_factor_3: data?.power_factor_3,\r\n };\r\n return newData;\r\n })\r\n const dataGraph = getState().plus.dataGraph;\r\n const payload = {\r\n page: page,\r\n data: dataConverted,\r\n init: true,\r\n day: 0\r\n }\r\n if (dataGraph.length){\r\n dispatch(setDataGraphStreaming(dataConverted));\r\n }\r\n else{\r\n const currentDevice = getState().plus.devices?.filter(value => value?.id_service === (getState().services.activeServicesPlus[0]?.idService));\r\n if(String(currentDevice[0]?.id_device) === data[0]?.device_id){\r\n dispatch(setDataGraph(payload));\r\n dispatch(setLoadingInitData(false));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const connectToIoTCore = (page, id_device) => {\r\n return async (dispatch) => {\r\n const awsmobile = {\r\n \"aws_project_region\": \"us-east-1\",\r\n \"aws_cognito_identity_pool_id\": \"us-east-1:164ea9a0-074a-432f-9688-8c684d218f54\",\r\n \"aws_cognito_region\": \"us-east-1\",\r\n \"aws_user_pools_id\": \"us-east-1_DEwtuTV5n\",\r\n \"aws_user_pools_web_client_id\": \"4vneg13c6bmvksbj3k7aj2kch\",\r\n \"oauth\": {},\r\n \"aws_cognito_username_attributes\": [],\r\n \"aws_cognito_social_providers\": [],\r\n \"aws_cognito_signup_attributes\": [\r\n \"EMAIL\"\r\n ],\r\n \"aws_cognito_mfa_configuration\": \"OFF\",\r\n \"aws_cognito_mfa_types\": [\r\n \"SMS\"\r\n ],\r\n \"aws_cognito_password_protection_settings\": {\r\n \"passwordPolicyMinLength\": 8,\r\n \"passwordPolicyCharacters\": []\r\n },\r\n \"aws_cognito_verification_mechanisms\": [\r\n \"EMAIL\"\r\n ]\r\n };\r\n Amplify.configure(awsmobile);\r\n Amplify.addPluggable(new AWSIoTProvider({\r\n aws_pubsub_region: process.env.REACT_APP_REGION,\r\n aws_pubsub_endpoint: `wss://${process.env.REACT_APP_MQTT_ID}.iot.${process.env.REACT_APP_REGION}.amazonaws.com/mqtt`,\r\n }));\r\n subscription = PubSub.subscribe(`plus/data/device_${id_device}`).subscribe({\r\n next: data => dispatch(convertDataGraph(data?.value, page)),\r\n error: error => console.error(error),\r\n close: () => {},\r\n });\r\n }\r\n}\r\n\r\nexport const disconnectFromIoTCore = () => {\r\n return async (_dispatch, _getState) => {\r\n if (subscription) {\r\n subscription.unsubscribe(); \r\n }\r\n }\r\n };\r\n\r\nexport const loadInitData = (page) => {\r\n return async (dispatch, getState) => {\r\n\r\n dispatch(setLoadingInitData(true));\r\n\r\n dispatch(disconnectFromIoTCore());\r\n\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n\r\n const devices = getState().plus.devices;\r\n\r\n let deviceActive = devices.filter(value => value.id_service === idService);\r\n \r\n if (deviceActive.length){\r\n deviceActive = deviceActive[0];\r\n if (deviceActive?.id_infrastructure !== 2) {\r\n await SETData('', 'POST', { page, id_device: deviceActive?.id_device, timezone: deviceActive?.timezone, request: \"getInitDataV2\" }, urlData, true)\r\n .then(response => {\r\n if (response?.body?.length){\r\n const payload = {\r\n page: page,\r\n data: response?.body,\r\n init: true,\r\n day: 0\r\n }\r\n const currentDevice = getState().plus.devices?.filter(value => value?.id_service === (getState().services.activeServicesPlus[0]?.idService));\r\n if(currentDevice[0]?.id_device === response?.idDevice){\r\n dispatch(setDataGraph(payload));\r\n }\r\n if(response?.nextShardId !== ''){\r\n dispatch(loadStreamingData(response?.nextShardId));\r\n }\r\n }\r\n else{\r\n dispatch(setLastConection(response?.lastConection));\r\n dispatch(setLastDay(response?.lastDay));\r\n dispatch(setLastPage(response?.lastPage));\r\n }\r\n dispatch(setLoadingInitData(false));\r\n })\r\n .catch(err => console.error(err))\r\n .finally(() => dispatch(loadHistoryData({page: page, day: 0, type: 0}, false, \"getHistoryDataInit\")));\r\n }\r\n else {\r\n await dispatch(getDataRedis({page: page, day: 0, type: 0}));\r\n await dispatch(connectToIoTCore(page, deviceActive?.id_device));\r\n await dispatch(getDataAthenaRedis({page: page, day: 0, type: 0}));\r\n //dispatch(loadHistoryData({page: page, day: 0, type: 0}, false, \"getHistoryDataInit\"));\r\n }\r\n }\r\n else{\r\n dispatch(setLoadingInitData(false));\r\n dispatch(setLastConection(null));\r\n dispatch(setLastDay(0));\r\n dispatch(setLastPage(1));\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nexport const loadHistoryData = ({ page, day, type }, loading = false, request = \"getHistoryData\") => {\r\n return async (dispatch, getState) => {\r\n\r\n if (loading) dispatch(setLoadingInitData(true));\r\n\r\n dispatch(setEnableHistory(true));\r\n\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n\r\n const devices = getState().plus.devices;\r\n\r\n let deviceActive = devices.filter(value => value?.id_service === idService);\r\n\r\n if (deviceActive.length){\r\n deviceActive = deviceActive[0];\r\n await SETData('', 'POST', { page, id_device: deviceActive?.id_device, timezone: deviceActive?.timezone, request: request, day: day }, urlData, true)\r\n .then(response => {\r\n if (response?.body?.length){\r\n const payload = {\r\n page: page,\r\n data: response?.body,\r\n init: false,\r\n day: day,\r\n type: type\r\n }\r\n const currentDevice = getState().plus.devices?.filter(value => value?.id_service === (getState().services.activeServicesPlus[0]?.idService));\r\n if(currentDevice[0]?.id_device === response?.idDevice){\r\n if (request === \"getHistoryDataInit\"){\r\n dispatch(setDataGraphHistoryInit(payload));\r\n }\r\n else{\r\n dispatch(setDataGraph(payload));\r\n }\r\n }\r\n }\r\n setTimeout(() => dispatch(setEnableHistory(false)), 5000);\r\n dispatch(setLoadingInitData(false));\r\n })\r\n .catch(err => console.error(err))\r\n }\r\n else{\r\n dispatch(setEnableHistory(false));\r\n dispatch(setLoadingInitData(false));\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nexport const loadStreamingData = (shardId) => {\r\n return async (dispatch, getState) => {\r\n\r\n let nextShardId = shardId\r\n\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n\r\n const devices = getState().plus.devices;\r\n\r\n let deviceActive = devices.filter(value => value?.id_service === idService);\r\n\r\n if (shardId?.length > 0 && deviceActive?.length) {\r\n deviceActive = deviceActive[0];\r\n await SETData('', 'POST', { id_device: deviceActive?.id_device, request: \"getStreamingData\", shardId: shardId }, urlData, true)\r\n .then(response => {\r\n if (response?.body?.length) {\r\n const currentDevice = getState().plus.devices?.filter(value => value?.id_service === (getState().services.activeServicesPlus[0]?.idService));\r\n if(currentDevice[0]?.id_device === response?.idDevice){\r\n dispatch(setDataGraphStreaming(response?.body));\r\n }\r\n }\r\n nextShardId = response?.nextShardId?.length ? response?.nextShardId : nextShardId;\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n setTimeout(() => dispatch(loadStreamingData(nextShardId)), 1500);\r\n }\r\n}\r\n\r\nexport const loadDevices = () => {\r\n \r\n const user = JSON.parse(localStorage.getItem('user'));\r\n\r\n return async (dispatch) => {\r\n await GETData(`plus/devices/${user.idUser}`, \"GET\")\r\n .then((result) => {\r\n if(result?.body?.length) {\r\n dispatch(setDevices(result.body));\r\n }\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n}\r\n\r\nexport const loadEnergyQuality = () => {\r\n return async (dispatch, getState) => {\r\n\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n \r\n dispatch(setLoadingEnergyQuality(true));\r\n\r\n await GETData(`plus/quality/${idService}`, \"GET\")\r\n .then((result) => {\r\n if(result?.body.length){\r\n dispatch(setEnergyQuality(result?.body[0]));\r\n }\r\n else{\r\n dispatch(setEnergyQuality(null));\r\n }\r\n })\r\n .catch(err => console.error(err))\r\n .finally(() => dispatch(setLoadingEnergyQuality(false)));\r\n }\r\n}\r\n\r\n\r\nexport const loadAlwaysOn = () => {\r\n return async (dispatch, getState) => {\r\n\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n \r\n dispatch(setLoadingAlwaysOn(true));\r\n\r\n await GETData(`plus/alwaysOn/${idService}`, \"GET\")\r\n .then((result) => {\r\n if(result?.body?.length) {\r\n dispatch(setAlwaysOn(result?.body));\r\n }\r\n })\r\n .catch(err => console.error(err))\r\n .finally(() => dispatch(setLoadingAlwaysOn(false)));\r\n }\r\n}\r\n\r\n\r\nexport const loadIndicators = () => {\r\n return async (dispatch, getState) => {\r\n\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n \r\n dispatch(setLoadingIndicators(true));\r\n\r\n await GETData(`plus/indicators/${idService}`, \"GET\")\r\n .then((result) => {\r\n if(result?.body) {\r\n dispatch(setIndicators(result?.body));\r\n }\r\n else { \r\n dispatch(setIndicators([]));\r\n }\r\n })\r\n .catch(err => console.error(err))\r\n .finally(() => dispatch(setLoadingIndicators(false)));\r\n }\r\n}\r\n\r\n\r\nexport const loadComparatives = () => {\r\n return async (dispatch, getState) => {\r\n\r\n const user = JSON.parse(localStorage.getItem('user'));\r\n\r\n const services = getState().services.totalServices.filter(value => value?.type?.typeService === 2);\r\n \r\n dispatch(setLoadingComparatives(true));\r\n\r\n await GETData(`plus/comparatives/${user.idUser}`, \"GET\")\r\n .then((result) => {\r\n const allValues = result?.body;\r\n let comparatives = []\r\n if(result?.body.length){\r\n allValues.forEach(item => {\r\n const service = services.filter(value => value.idService === item.id_service);\r\n if (service.length) comparatives.push({...service[0], value: `${item.value} kWh`, state: 2});\r\n })\r\n dispatch(setComparatives(comparatives));\r\n }\r\n else{\r\n dispatch(setComparatives([]));\r\n }\r\n })\r\n .catch(err => console.error(err))\r\n .finally(() => dispatch(setLoadingComparatives(false)));\r\n }\r\n}\r\n\r\n\r\nexport const loadAppliances = () => {\r\n \r\n return async (dispatch, getState) => {\r\n\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n\r\n await GETData(`plus/tags/appliances/${idService}`, \"GET\")\r\n .then((result) => {\r\n dispatch(setAppliances(result.body));\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n}\r\n\r\nexport const loadTagRecords = (payload) => {\r\n \r\n return async (dispatch, getState) => {\r\n\r\n await GETData(`plus/tags/records/${payload}`, \"GET\")\r\n .then((result) => {\r\n if(result?.body?.length){\r\n const resultModified = result.body.map(item => ({...item, id_tag: parseInt(item.id_tag)}))\r\n dispatch(setTagRecords(resultModified));\r\n }\r\n else{\r\n dispatch(setTagRecords([]));\r\n }\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n}\r\n\r\nexport const addTags = (payload) => {\r\n \r\n return async (_dispatch, getState) => {\r\n\r\n const language = getState().shared.language; \r\n\r\n await SETData(`plus/tags`, \"POST\", payload)\r\n .then((result) => {\r\n if(result !== null){\r\n Alert.success(language.alert_create_new_tag_success)\r\n }else {\r\n Alert.error(language.alert_create_new_tag_failed)\r\n }\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n}\r\n\r\nexport const addAppliance = (payload) => {\r\n \r\n return async (dispatch, getState) => {\r\n\r\n const language = getState().shared.language; \r\n\r\n await SETData(`plus/tags/create`, \"POST\", payload)\r\n .then((result) => {\r\n dispatch(loadAppliances());\r\n if(result !== null){\r\n Alert.success(language.alert_create_new_device_success, 3000)\r\n }else {\r\n Alert.error(language.alert_create_new_device_failed)\r\n }\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n}\r\n\r\nexport const loadGraphAlwaysOnAsync = (loadByScroll = false, requestLeft = true) => {\r\n return async (dispatch, getState) => {\r\n \r\n if(!loadByScroll) dispatch(setLoadingAlwaysOnModule(true));\r\n \r\n dispatch(setEnableScrollDataAlwaysOn(false));\r\n\r\n let data = []\r\n \r\n let from = getUnixTime(loadByScroll ? getState().plus.graphDateFromScrollAlwaysOn : getState().plus.graphDateFromAlwaysOn);\r\n let to = getUnixTime(loadByScroll ? getState().plus.graphDateToScrollAlwaysOn : getState().plus.graphDateToAlwaysOn);\r\n const activeServicesPlus = getState().services.activeServicesPlus;\r\n switch (getState().plus.intervalGraphAlwaysOn) {\r\n case 1:\r\n if(loadByScroll) {\r\n if (requestLeft) {\r\n to = from;\r\n from -= 604800 * 1;\r\n }\r\n else{\r\n from = to;\r\n to += 604800 * 1;\r\n }\r\n }\r\n else{\r\n from -= 604800 * 1;\r\n }\r\n dispatch(setGraphDatesScrollAlwaysOn({graphDateFromAlwaysOn: new Date(from * 1000), graphDateToAlwaysOn: new Date(to * 1000)}));\r\n break;\r\n case 2:\r\n if(loadByScroll) {\r\n if (requestLeft) {\r\n to = from;\r\n from -= 2592000 * 1;\r\n }\r\n else{\r\n from = to;\r\n to += 2592000 * 1;\r\n }\r\n }\r\n else{\r\n from -= 2592000 * 1;\r\n }\r\n dispatch(setGraphDatesScrollAlwaysOn({graphDateFromAlwaysOn: new Date(from * 1000), graphDateToAlwaysOn: new Date(to * 1000)}));\r\n break;\r\n case 3:\r\n if(loadByScroll) {\r\n if (requestLeft) {\r\n to = from;\r\n from -= 31536000 * 1;\r\n }\r\n else{\r\n from = to;\r\n to += 31536000 * 1;\r\n }\r\n }\r\n else{\r\n from -= 31536000 * 1;\r\n }\r\n dispatch(setGraphDatesScrollAlwaysOn({graphDateFromAlwaysOn: new Date(from * 1000), graphDateToAlwaysOn: new Date(to * 1000)}));\r\n break;\r\n default:\r\n break;\r\n } \r\n if(activeServicesPlus.length){\r\n await SETData(`plus/alwaysOn/history/${from}/${to}/${activeServicesPlus[0]?.idService}/${getState().plus.intervalGraphAlwaysOn}`, 'GET')\r\n .then(energyResponse => {\r\n if (energyResponse?.body?.length) { \r\n energyResponse = energyResponse?.body;\r\n if (loadByScroll){\r\n const currentGraphData = getState().plus.dataGraphAlwaysOn;\r\n if(requestLeft){\r\n data = [...energyResponse, ...currentGraphData];\r\n }\r\n else{\r\n data = [...currentGraphData, ...energyResponse];\r\n }\r\n }\r\n else{ \r\n data = [...data, ...energyResponse]\r\n }\r\n dispatch(setEnableScrollDataAlwaysOn(true));\r\n }\r\n })\r\n .catch(response => console.error(response));\r\n dispatch(setDataGraphAlwaysOn(data));\r\n dispatch(setLoadingAlwaysOnModule(false));\r\n }\r\n } \r\n };\r\n\r\n\r\nexport const loadQualityIndicators = () => {\r\n return async (dispatch, getState) => {\r\n\r\n dispatch(setLoadingQualityIndicators(true));\r\n\r\n const idService = getState().services.activeServicesPlus[0]?.idService;\r\n\r\n const devices = getState().plus.devices;\r\n\r\n let deviceActive = devices.filter(value => value.id_service === idService);\r\n \r\n if (deviceActive.length){\r\n deviceActive = deviceActive[0]\r\n await SETData('', 'POST', { id_device: deviceActive?.id_device, timezone: deviceActive?.timezone, request: \"getQualityIndicators\" }, urlData, true)\r\n .then(response => {\r\n if (response?.body){\r\n dispatch(setQualityIndicators(response?.body));\r\n }\r\n else{\r\n dispatch(setQualityIndicators(null));\r\n }\r\n dispatch(setLoadingQualityIndicators(false));\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n else{\r\n dispatch(setLoadingQualityIndicators(false));\r\n }\r\n\r\n }\r\n}\r\n\r\nexport const loadAlwaysOnIndicators = () => {\r\n return async (dispatch, getState) => {\r\n\r\n dispatch(setLoadingAlwaysOnIndicators(true));\r\n\r\n const activeServicesPlus = getState().services.activeServicesPlus;\r\n \r\n if (activeServicesPlus.length){\r\n \r\n await SETData(`plus/alwaysOn/indicators/${activeServicesPlus[0]?.idService}/es`, 'GET')\r\n .then(response => {\r\n if (response?.body){\r\n dispatch(setAlwaysOnIndicators(response?.body));\r\n }\r\n else{\r\n dispatch(setAlwaysOnIndicators([]));\r\n }\r\n dispatch(setLoadingAlwaysOnIndicators(false));\r\n })\r\n .catch(err => console.error(err));\r\n }\r\n else{\r\n dispatch(setLoadingAlwaysOnIndicators(false));\r\n }\r\n\r\n }\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as sharedActions from '../../../../store/actions/Shared';\r\n\r\nimport { Popover } from '@idui/react-popover';\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst GraphPicker = ({ active, setSelectedOption, setShowBlackScreen, language, phases, theme }) => {\r\n\r\n const data = phases === 3 ?\r\n [\r\n {\r\n id: 1,\r\n property: \"active_power\",\r\n title: language.plus_graph_picker_option_active_power,\r\n unit: \"W\"\r\n },\r\n {\r\n id: 2,\r\n property: \"reactive_power\",\r\n title: language.plus_graph_picker_option_reactive_power,\r\n unit: \"VAr\"\r\n },\r\n {\r\n id: 3,\r\n property: \"rms_voltage_1\",\r\n title: language.plus_graph_picker_option_rms_voltage_1,\r\n unit: \"V\"\r\n },\r\n {\r\n id: 4,\r\n property: \"rms_voltage_2\",\r\n title: language.plus_graph_picker_option_rms_voltage_2,\r\n unit: \"V\"\r\n },\r\n {\r\n id: 7,\r\n property: \"rms_voltage_3\",\r\n title: language.plus_graph_picker_option_rms_voltage_3,\r\n unit: \"V\"\r\n },\r\n {\r\n id: 5,\r\n property: \"rms_current_1\",\r\n title: language.plus_graph_picker_option_rms_current_1,\r\n unit: \"A\"\r\n },\r\n {\r\n id: 6,\r\n property: \"rms_current_2\",\r\n title: language.plus_graph_picker_option_rms_current_2,\r\n unit: \"A\"\r\n },\r\n {\r\n id: 8,\r\n property: \"rms_current_3\",\r\n title: language.plus_graph_picker_option_rms_current_3,\r\n unit: \"A\"\r\n },\r\n ] :\r\n [\r\n {\r\n id: 1,\r\n property: \"active_power\",\r\n title: language.plus_graph_picker_option_active_power,\r\n unit: \"W\"\r\n },\r\n {\r\n id: 2,\r\n property: \"reactive_power\",\r\n title: language.plus_graph_picker_option_reactive_power,\r\n unit: \"VAr\"\r\n },\r\n {\r\n id: 3,\r\n property: \"rms_voltage_1\",\r\n title: language.plus_graph_picker_option_rms_voltage_1,\r\n unit: \"V\"\r\n },\r\n {\r\n id: 4,\r\n property: \"rms_voltage_2\",\r\n title: language.plus_graph_picker_option_rms_voltage_2,\r\n unit: \"V\"\r\n },\r\n {\r\n id: 5,\r\n property: \"rms_current_1\",\r\n title: language.plus_graph_picker_option_rms_current_1,\r\n unit: \"A\"\r\n },\r\n {\r\n id: 6,\r\n property: \"rms_current_2\",\r\n title: language.plus_graph_picker_option_rms_current_2,\r\n unit: \"A\"\r\n },\r\n ];\r\n\r\n const [focus, setFocus] = useState(false);\r\n\r\n return (\r\n {\r\n setShowBlackScreen(state);\r\n setFocus(state); \r\n }}\r\n animation={{\r\n animate: { opacity: 1, scale: 1 },\r\n exit: { opacity: 0, scale: 0.9, transition: { duration: 0.1 } },\r\n initial: { opacity: 0, scale: 0.9 }\r\n }}\r\n content={\r\n
\r\n {data.map(option => (\r\n {\r\n setSelectedOption(option);\r\n track('Plus variable selected', {Plus_Variable_ID: option?.property})\r\n }}\r\n >\r\n
{option.title}
\r\n {option.id === active.id && }\r\n
\r\n ))}\r\n
\r\n }>\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setShowBlackScreen: (payload) => dispatch(sharedActions.setShowBlackScreen(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GraphPicker);","import React, {useState, useEffect} from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as plusActions from \"../../../../store/actions/Plus\";\r\n\r\nimport { Modal } from 'rsuite';\r\nimport Input from '../../../shared/utilities/Input';\r\n\r\nconst showError = (appliance, setFocus, setError, language) => {\r\n\r\n if (appliance.custom_name === null || appliance.custom_name === \"\") { \r\n setFocus(1);\r\n setError(language.alert_new_device_name);\r\n return;\r\n }\r\n\r\n if (appliance.type === null || appliance.type === \"\") { \r\n setFocus(2);\r\n setError(language.alert_new_device_type);\r\n return;\r\n }\r\n\r\n return setFocus(0);\r\n}\r\n\r\nconst validate = (appliance) => {\r\n\r\n if (appliance.custom_name === null || appliance.custom_name === \"\") {\r\n return false;\r\n } \r\n \r\n if (appliance.type === null || appliance.type === \"\") {\r\n return false;\r\n }\r\n\r\n return true\r\n}\r\n\r\nconst CreateDevice = (props) => {\r\n\r\n const applianceInit = {\r\n id_service: null,\r\n custom_name: null,\r\n type: null,\r\n brand: null,\r\n reference: null\r\n }\r\n\r\n const {theme} = props;\r\n const [appliance, setAppliance] = useState(applianceInit);\r\n const [focus, setFocus] = useState(0); \r\n const [error, setError] = useState(\"\");\r\n\r\n let language = props.language;\r\n\r\n useEffect(() => {\r\n if(props.activeServicesPlus.length){\r\n setAppliance({...appliance, id_service: props.activeServicesPlus[0]?.idService});\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.activeServicesPlus])\r\n\r\n useEffect(() => {\r\n if(focus !== 0) {showError(appliance, setFocus, setError, language)} \r\n }, [appliance, language, focus]);\r\n\r\n return(\r\n props.setShow(false)}\r\n >\r\n
\r\n
{props.language.tag_new_device_main_title}
\r\n
\r\n
{props.language.tag_new_device_title_name}
\r\n
\r\n setAppliance({...appliance, custom_name: target.value})} error={focus === 1 ? error : \"\"}/>\r\n
\r\n
{props.language.tag_new_device_title_type}
\r\n
\r\n setAppliance({...appliance, type: target.value})} error={focus === 2 ? error : \"\"}/>\r\n
\r\n
{props.language.tag_new_device_title_brand}
\r\n
\r\n setAppliance({...appliance, brand: target.value})}/>\r\n
\r\n
{props.language.tag_new_device_title_reference}
\r\n
\r\n setAppliance({...appliance, reference: target.value})}/>\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n addAppliance: (payload) => dispatch(plusActions.addAppliance(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateDevice);\r\n\r\n","import React, { Fragment, useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as plusActions from \"../../../../store/actions/Plus\";\r\n\r\nimport { Modal, Animation, Alert } from 'rsuite';\r\n\r\nimport CreateDevice from './CreateDevice';\r\n\r\nimport empty_modules_plus from \"../../../../imgs/box.svg\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst DataAppliances = ({value, property, unit}) => {\r\n return(\r\n
\r\n
{property}
\r\n
\r\n
{value}
\r\n
{unit}
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst Devices = (props) => {\r\n const [showInfoDevice, setShowInfoDevice] = useState(false); \r\n const [appliancesSelected, setAppliancesSelected] = useState(props.appliancesSelected); \r\n\r\n useEffect(() => {\r\n props.onChange(appliancesSelected);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [appliancesSelected]); \r\n\r\n return(\r\n \r\n
setShowInfoDevice(!showInfoDevice)}>\r\n
\r\n
\r\n \r\n
\r\n
{props.item.custom_name}
\r\n
\r\n \r\n
\r\n \r\n
\r\n {props.item.id_tag ? \r\n \r\n \r\n \r\n \r\n : \r\n
\r\n
{props.language.tag_new_tag_text_no_tag}
\r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\n\r\nconst RenderCardEmpty = ({language}) => {\r\n return(\r\n
\r\n \"empty_radar_data\"\r\n
\r\n {language.tag_new_tag_text_no_devices} \r\n
\r\n
\r\n {language.tag_new_tag_text_no_devices_description} \r\n
\r\n
\r\n )\r\n };\r\n\r\nconst CreateTag = (props) => {\r\n\r\n const [showCreateDevice, setShowCreateDevice] = useState(false);\r\n const [devices, setDevices] = useState([]);\r\n const [search, setSearch] = useState('');\r\n const [appliancesSelected, setAppliancesSelected] = useState([]);\r\n\r\n useEffect(() => {\r\n setDevices([...props.appliances.filter(d => d?.custom_name?.toLowerCase().includes(search?.toLowerCase()))]);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [search]);\r\n\r\n useEffect(() => { \r\n if (props.activeServicesPlus.length) props.loadAppliances()\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.activeServicesPlus]);\r\n\r\n useEffect(() => { \r\n setDevices(props.appliances) \r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.appliances]);\r\n\r\n return(\r\n \r\n { setAppliancesSelected([]); props.setShow(false);}}\r\n >\r\n
\r\n
\r\n
{ setAppliancesSelected([]); props.setShow(false);}}>{props.language.tag_new_tag_header_label_cancel}
\r\n
{props.language.tag_new_tag_header_label_tag}
\r\n
{\r\n props.addTags({id_appliance : appliancesSelected, initial_timestamp : props.pointOne / 1000, final_timestamp : props.pointTwo ? props.pointTwo / 1000 : null});\r\n track('Plus graphic tag created')\r\n setAppliancesSelected([]);\r\n props.setShow(false);\r\n }}>\r\n {props.language.tag_new_tag_header_label_save}\r\n
\r\n
\r\n
\r\n
\r\n setSearch(target.value)} />\r\n \r\n
\r\n
{props.language.tag_new_tag_title_devices_list}
\r\n {devices.length ? devices.map((item, index) => \r\n setAppliancesSelected(value)} appliancesSelected={appliancesSelected}/>\r\n ) : } \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n appliances: state.plus.appliances,\r\n language: state.shared.language\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadAppliances: () => dispatch(plusActions.loadAppliances()),\r\n addTags: (payload) => dispatch(plusActions.addTags(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreateTag);\r\n","import React, { useState, useEffect, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as plusActions from \"../../../../store/actions/Plus\";\r\n\r\nimport { GETS3PublicUrl, SETData } from \"../../../../services/WebServices\";\r\n\r\nimport { Modal } from 'rsuite';\r\nimport moment from \"moment\";\r\n\r\nimport { Loader } from \"rsuite\";\r\n\r\nimport { Calendar as Datepicker } from 'react-calendar';\r\nimport { Transition } from 'react-transition-group';\r\n\r\nimport Input from '../../../shared/utilities/Input';\r\nimport Select from '../../../shared/utilities/Select';\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst downloadBlob = async (url, name) => {\r\n try {\r\n const response = await fetch(url)\r\n if (!response.ok) {\r\n throw new Error(\"Error al obtener el archivo.\")\r\n }\r\n const blob = await response.blob()\r\n const objectUrl = URL.createObjectURL(blob)\r\n\r\n const anchor = document.createElement(\"a\")\r\n anchor.href = objectUrl\r\n anchor.download = name\r\n document.body.appendChild(anchor)\r\n anchor.dispatchEvent(\r\n new MouseEvent(\"click\", {\r\n bubbles: true,\r\n cancelable: true,\r\n view: window,\r\n }),\r\n )\r\n document.body.removeChild(anchor)\r\n URL.revokeObjectURL(objectUrl)\r\n } catch (error) {\r\n console.error(\"Error al descargar el archivo:\", error)\r\n }\r\n}\r\n\r\n\r\nconst handleDownloadCSV = async (path, name, type, setStepDownload) => {\r\n \r\n const url = await GETS3PublicUrl(path, \"neu-plus\", \"us-east-2\")\r\n\r\n await downloadBlob(url, name)\r\n setStepDownload(0)\r\n}\r\n\r\nconst exportFile = async (payload, setStepDownload) => {\r\n const endpoint = 'https://g5c5659uk1.execute-api.us-east-2.amazonaws.com/PDN/file';\r\n setStepDownload(1);\r\n await SETData('', 'POST', payload, endpoint, true)\r\n .then(async response => {\r\n if(response.statusCode === 200){\r\n const path = response.body;\r\n const name = path.split(\"/\")[2];\r\n const type = name.split(\".\")[1];\r\n setStepDownload(2);\r\n await handleDownloadCSV(path, name, type, setStepDownload);\r\n }\r\n })\r\n .catch(response => {\r\n console.error(response);\r\n });\r\n}\r\n\r\n\r\nconst showError = (payloadExport, setFocus, setError, language) => {\r\n\r\n if (payloadExport.startTime === null) { \r\n setFocus(1);\r\n setError(language.alert_date_report_error);\r\n return;\r\n }\r\n \r\n if (payloadExport.nameFile === null || payloadExport.nameFile === \"\") { \r\n setFocus(2);\r\n setError(language.alert_filename_report_error);\r\n return;\r\n }\r\n\r\n if (payloadExport.request === null) { \r\n setFocus(3);\r\n setError(language.alert_format_filename_report_error);\r\n return;\r\n } \r\n\r\n return setFocus(0);\r\n}\r\n\r\n\r\nconst validate = (payloadExport) => {\r\n\r\n if (payloadExport.nameFile === null || payloadExport.nameFile === \"\") {\r\n return false;\r\n }\r\n\r\n if (payloadExport.request === null) {\r\n return false;\r\n }\r\n\r\n if (payloadExport.startTime === null) {\r\n return false;\r\n }\r\n\r\n return true\r\n\r\n}\r\n\r\n\r\n\r\nconst ExportGraph = (props) => {\r\n\r\n const formatTypes = [\r\n {\r\n value: 'CSV',\r\n label: 'CSV'\r\n },\r\n {\r\n value: 'HTML',\r\n label: 'HTML (Gráfica interactiva)'\r\n }\r\n ];\r\n\r\n const payloadToExportInit = {\r\n request: \"CSV\",\r\n nameFile: null,\r\n startTime: null,\r\n endTime: null,\r\n deviceId: null,\r\n projectName: \"\"\r\n }\r\n\r\n let language = props.language;\r\n\r\n const [payloadToExport, setPayloadToExport] = useState(payloadToExportInit);\r\n const [stepDownload, setStepDownload] = useState(0);\r\n const [showCalendar, setShowCalendar] = useState(false);\r\n const [focus, setFocus] = useState(0); \r\n const [error, setError] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if(props.devices.length){\r\n const idService = props.activeServicesPlus[0]?.idService;\r\n const deviceActive = props.devices.filter(value => value?.id_service === idService)[0];\r\n setPayloadToExport({ ...payloadToExport, deviceId: deviceActive?.id_device, projectName: props.activeServicesPlus[0]?.name });\r\n }\r\n // eslint-disable-next-line\r\n }, [props.devices, props.activeServicesPlus])\r\n\r\n useEffect(() => {\r\n if(stepDownload === 0){\r\n props.setShow(false);\r\n }\r\n // eslint-disable-next-line\r\n }, [stepDownload])\r\n\r\n useEffect(() => {\r\n if(focus !== 0) {showError(payloadToExport, setFocus, setError, language)} \r\n }, [payloadToExport, language, focus]);\r\n\r\n return(\r\n props.setShow(false)}\r\n >\r\n \r\n
\r\n
{props.language.plus_export_graph_title}
\r\n
\r\n
{props.language.plus_export_graph_date}
\r\n
\r\n
setShowCalendar(!showCalendar) }>\r\n
\r\n {payloadToExport.startTime ? payloadToExport.startTime.split(\" \")[0] : \"Selecciona la fecha\"}\r\n \r\n
\r\n
\r\n {focus === 1 ?

{error}

: null}\r\n \r\n {state => (\r\n
\r\n }\r\n prevLabel={}\r\n onChange={value => {\r\n const date = moment(value).format(\"YYYY-MM-DD\");\r\n setPayloadToExport({ ...payloadToExport, startTime: `${date} 00:00:00`, endTime: `${date} 23:59:59` });\r\n setShowCalendar(false);\r\n }}/>\r\n
\r\n )} \r\n \r\n
\r\n
{props.language.plus_export_graph_filename}
\r\n
\r\n setPayloadToExport({ ...payloadToExport, nameFile: target.value })}\r\n value={payloadToExport?.nameFile}\r\n error={focus === 2 ? error : \"\"}\r\n />\r\n
\r\n
{props.language.plus_export_graph_format}
\r\n
\r\n setSearch(target.value)} />\r\n \r\n
\r\n {props.availableTypeServices.length > 1 &&\r\n
\r\n {\r\n servicesTypes.filter(s => props.availableTypeServices.includes(s.key)).map((item) => {\r\n\r\n const isSelected = servicesActive.includes(item.key);\r\n const isDisabled = disabledServices.includes(item.key);\r\n\r\n return (\r\n
{\r\n if (isSelected) {\r\n if (typesSelected.length > 1)\r\n setTypesSelected([...typesSelected.filter(t => t !== item.key)]);\r\n } else {\r\n !isDisabled && setTypesSelected([...typesSelected, item.key]); \r\n }\r\n }}>\r\n \r\n
{item.title}
\r\n
\r\n )\r\n }\r\n )}\r\n
\r\n }\r\n {props.allowAllServices ?\r\n
{ if (!selectedAllServices) { props.selectFunction(totalServices) } else { props.selectFunction([activeServices[0]]) } }}>\r\n
{props.language.services_select_all}
\r\n \r\n
: null\r\n }\r\n
\r\n
\r\n {services.map((item) => {\r\n\r\n const isSelected = props.activeServices.findIndex(i => i.idService === item.idService) >= 0;\r\n\r\n return (\r\n
{\r\n\r\n let services = props.activeServices;\r\n\r\n if (isSelected) {\r\n if (services.length > 1) {\r\n services = services.filter(i => i.idService !== item.idService);\r\n props.selectFunction([...services]);\r\n }\r\n }\r\n else {\r\n services = [...services, item];\r\n if (services.length < 4) props.selectFunction([...services]); \r\n track(props?.module === 'alwaysOn' ? 'Standby project selected' : 'Plus project selected', {Project_ID: services[services.length - 1]?.name})\r\n }\r\n setShow(false);\r\n props.setShowBlackScreen(false);\r\n setFocus(false);\r\n }}>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{item.name}
\r\n
{item.address}
\r\n
\r\n {isSelected && }\r\n
\r\n
\r\n )\r\n })}\r\n
\r\n
\r\n }>\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n account: state.accounts.account,\r\n servicesTypes: state.services.servicesTypes,\r\n totalServices: state.services.totalServices,\r\n selectFunction: ownProps.selectFunction,\r\n activeServices: ownProps.activeServices,\r\n allowAllServices: ownProps.allowAllServices,\r\n availableTypeServices: ownProps.availableTypeServices,\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadServicesAsync: (payload) => dispatch(servicesActions.loadServicesAsync(payload)),\r\n setShowBlackScreen: (payload) => dispatch(sharedActions.setShowBlackScreen(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Services);","import React from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport ContentLoader from \"react-content-loader\"\r\n\r\nimport * as servicesActions from '../../../../store/actions/Services';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { fal } from '@fortawesome/pro-light-svg-icons';\r\n\r\nimport Services from \"../../../shared/Services\";\r\n\r\nimport _ from 'lodash';\r\n\r\nconst servicesLoading = (\r\n
\r\n \r\n \r\n \r\n
\r\n)\r\n\r\nconst ServicesPlus = (props) => {\r\n const { theme } = props;\r\n return (\r\n
\r\n
\r\n
\r\n

{props.language.energy_main_title_dashboard}

\r\n {props.activeServicesPlus.length ?\r\n
\r\n \r\n
{props.activeServicesPlus[0]?.name}
\r\n
:\r\n
{servicesLoading}
\r\n }\r\n
\r\n { props.setActiveServicesPlus([_.last(value)]); props.setActiveServicesEnergy([_.last(value)]) }} />\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ServicesPlus);","import React, { useEffect, useRef, useState, Fragment } from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as servicesActions from '../../store/actions/Services';\r\nimport * as plusActions from \"../../store/actions/Plus\";\r\n\r\nimport Graph from \"./dashboard/graphs/Graph\";\r\nimport Cards from \"./dashboard/cards/Cards\";\r\nimport Radar from \"./dashboard/modules/Radar\";\r\nimport AlwaysOn from \"./dashboard/modules/AlwaysOn\";\r\nimport Rank from \"./dashboard/modules/Rank\";\r\nimport ServicesPlus from \"./dashboard/shared/ServicesContainer\";\r\n\r\nimport { useWindowSize } from '../shared/utilities/useWindowSize';\r\n\r\nimport ContentLoader from \"react-content-loader\";\r\nimport Header from \"../shared/Header\";\r\n\r\nconst IndicatorsLoading = props => {\r\n const {theme} = props;\r\n return (\r\n
\r\n \r\n \r\n \r\n
)\r\n};\r\n\r\n\r\nconst Plus = props => {\r\n\r\n const {theme} = props;\r\n\r\n const size = useWindowSize();\r\n\r\n const graphContiner = useRef(null);\r\n\r\n const [graphContinerWidth, setGraphContinerWidth] = useState(0);\r\n\r\n const empty = props.activeServicesPlus.length === 0 || typeof (props.activeServicesPlus[0]) == 'undefined';\r\n\r\n let account = props.account;\r\n let screenPaddingBottom = props.screenPaddingBottom;\r\n\r\n const setIndicators = props.setIndicators;\r\n const setEnergyQuality = props.setEnergyQuality;\r\n const setAlwaysOn = props.setAlwaysOn;\r\n const setComparatives = props.setComparatives;\r\n const setOpenQualityEnergy = props.setOpenQualityEnergy;\r\n\r\n useEffect(() => {\r\n if (!props.activeServicesPlus?.length) {\r\n props.loadServicesAsync();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.account]);\r\n\r\n useEffect(() => {\r\n if (!empty) setGraphContinerWidth(graphContiner.current.getBoundingClientRect().width)\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [size, empty]);\r\n\r\n useEffect(() => {\r\n if (props.dataGraph.length) {\r\n props.resetData();\r\n }\r\n if (props.activeServicesPlus.length) {\r\n props.loadIndicators();\r\n } else {\r\n setIndicators([]);\r\n setEnergyQuality(null);\r\n setAlwaysOn([]);\r\n setComparatives([]);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.activeServicesPlus, account]);\r\n\r\n useEffect(() => {\r\n setOpenQualityEnergy(false);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const RenderEmptyService = () => {\r\n return (\r\n
\r\n

{props.language.plus_modal_title_empty_state}

\r\n

{props.language.plus_modal_description_empty_state}

\r\n

{props.language.plus_modal_phrase_empty_state}

\r\n
\r\n \r\n
\r\n
\r\n )\r\n };\r\n\r\n return (\r\n \r\n {props.activeServicesPlus.length ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {/* */}\r\n {/* */}\r\n
\r\n
\r\n
\r\n {props.loadingIndicators ?\r\n
:\r\n }\r\n
\r\n \r\n
\r\n
\r\n
\r\n
:\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {props.loadingIndicators ?\r\n
:\r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
);\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n dataGraph: state.plus.dataGraph,\r\n loadingIndicators: state.plus.loadingIndicators,\r\n indicators: state.plus.indicators,\r\n account: state.accounts.account,\r\n comparatives: state.plus.comparatives,\r\n loadingComparatives: state.plus.loadingComparatives,\r\n energyQuality: state.plus.energyQuality,\r\n loadingEnergyQuality: state.plus.loadingEnergyQuality,\r\n alwaysOn: state.plus.alwaysOn,\r\n loadingAlwaysOn: state.plus.loadingAlwaysOn,\r\n language: state.shared.language,\r\n screenPaddingBottom: state.shared.screenPaddingBottom,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n resetData: () => dispatch(plusActions.resetData()),\r\n loadServicesAsync: () => dispatch(servicesActions.loadServicesAsync()),\r\n loadIndicators: () => dispatch(plusActions.loadIndicators()),\r\n setIndicators: (payload) => dispatch(plusActions.setIndicators(payload)),\r\n setEnergyQuality: (payload) => dispatch(plusActions.setEnergyQuality(payload)),\r\n setAlwaysOn: (payload) => dispatch(plusActions.setAlwaysOn(payload)),\r\n setComparatives: (payload) => dispatch(plusActions.setComparatives(payload)),\r\n setOpenQualityEnergy: (payload) => dispatch(plusActions.setOpenQualityEnergy(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Plus);\r\n\r\n\r\n","import React, { useRef, useEffect } from 'react'\r\nimport { connect } from 'react-redux';\r\n\r\nimport Header from \"../shared/Header\";\r\nimport { track } from '@amplitude/analytics-browser';\r\n\r\nimport { themes } from '../../utils/enums';\r\n\r\nconst Efficiency = (props) => {\r\n\r\n let user = props.user;\r\n let account = props.account;\r\n let screenPaddingBottom = props.screenPaddingBottom;\r\n let theme = props.theme;\r\n\r\n const urlFrame = process.env.REACT_APP_EFFICIENCY_HOST;\r\n\r\n const frameEfficiency = useRef(null)\r\n\r\n useEffect(() => {\r\n\r\n if (account !== null) {\r\n\r\n frameEfficiency.current.addEventListener('load', () => {\r\n\r\n let window = frameEfficiency.current.contentWindow;\r\n\r\n let token = localStorage.getItem('token');\r\n\r\n setTimeout(() => {\r\n window.postMessage(JSON.stringify({\r\n user: user.idUser,\r\n email: user.email,\r\n account: account.idAccount,\r\n token_key: 'token',\r\n token_value: token,\r\n screenPaddingBottom,\r\n theme\r\n }), urlFrame)\r\n }, [100]);\r\n\r\n });\r\n track('Efficiency viewed')\r\n }\r\n // eslint-disable-next-line\r\n }, [user, account, urlFrame]);\r\n\r\n useEffect(() => {\r\n\r\n let window = frameEfficiency.current.contentWindow;\r\n\r\n window.postMessage(JSON.stringify({\r\n screenPaddingBottom\r\n }\r\n ), urlFrame);\r\n\r\n }, [screenPaddingBottom, urlFrame])\r\n\r\n useEffect(() => {\r\n\r\n let window = frameEfficiency.current.contentWindow;\r\n\r\n window.postMessage(JSON.stringify({\r\n theme\r\n }\r\n ), urlFrame);\r\n // eslint-disable-next-line\r\n }, [theme])\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.users.user,\r\n account: state.accounts.account,\r\n language: state.shared.language,\r\n screenPaddingBottom: state.shared.screenPaddingBottom,\r\n theme: state.theme.theme\r\n});\r\n\r\nexport default connect(mapStateToProps)(Efficiency)","import React, {useState, useEffect} from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport { VictoryChart, VictoryBar, VictoryAxis, VictoryLabel, VictoryGroup, VictoryZoomContainer, Rect } from \"victory\";\r\n\r\nimport _ from 'lodash';\r\n\r\nimport empty_data_tag from \"../../../../imgs/empty-data-tag.svg\";\r\nimport empty_data_tag_light from \"../../../../imgs/empty-data-tag-light.svg\";\r\n\r\n\r\nconst axisStyle = theme => {\r\n return ({\r\n axis: {\r\n stroke: \"transparent\",\r\n strokeOpacity: 0.2,\r\n fontFamily: \"Inter\"\r\n }, \r\n ticks: {\r\n stroke: \"transparent\",\r\n size: 5\r\n },\r\n tickLabels: {\r\n fontSize: 12,\r\n padding: 5,\r\n fill: theme === 'dark' ? \"var(--white)\" : \"var(--black)\",\r\n }\r\n})}\r\n\r\n\r\nconst GraphPower = (props) => {\r\n \r\n const {theme} = props;\r\n const tag = props.data.length > 0 && props.data.filter(x => x.processed).length > 0; \r\n const [grabbing, setGrabbing] = useState(false); \r\n const [domain, setDomain] = useState(null);\r\n const [entireDomain, setEntireDomain] = useState(null);\r\n\r\n useEffect(() => {\r\n if(props.data.length){\r\n const maxValueY = _.maxBy(props.data, d => d?.active_power)?.active_power * 1.1;\r\n const intervalY = [0, maxValueY];\r\n const intervalX = [1, props.data.length + 1];\r\n setEntireDomain({x: intervalX, y: intervalY});\r\n setDomain({x: [props.data.length - 3 < 1 ? 0 : props.data.length - 3, props.data.length + 1], y: intervalY});\r\n }\r\n }, [props.data])\r\n\r\n return (\r\n
\r\n {!props.loadingData && (\r\n
\r\n { tag ? \r\n
\r\n
\r\n
\r\n
e.stopPropagation()}>\r\n \r\n
{props.language.tag_graph_power_legend_active_power}
\r\n
\r\n
e.stopPropagation()}>\r\n \r\n
{props.language.tag_graph_power_legend_reactive_power}
\r\n
\r\n
\r\n
setGrabbing(true)} onMouseUp={() => setGrabbing(false)}>\r\n 3}\r\n allowDrag={false}\r\n allowDraw={false}\r\n allowResize={false}\r\n allowZoom={false}\r\n zoomDimension={\"x\"}\r\n zoomDomain={domain} \r\n onZoomDomainChange={(domainZoom) => {\r\n if(props.data?.length > 3){\r\n setDomain({...domain, x: domainZoom.x});\r\n }\r\n }} \r\n />\r\n } \r\n >\r\n \r\n item?.id_tag >= domain?.x[0] && item?.id_tag <= domain?.x[1])}\r\n barRatio={1} \r\n barWidth={70} \r\n cornerRadius={{ topRight: 8, topLeft: 8 }} \r\n labels={({ datum }) => `${datum?.active_power?.toFixed(2)} W`}\r\n labelComponent={} \r\n />\r\n item?.id_tag >= domain?.x[0] && item?.id_tag <= domain?.x[1])}\r\n barRatio={1} \r\n barWidth={70} \r\n cornerRadius={{ topRight: 8, topLeft: 8 }} \r\n labels={({ datum }) => `${datum?.reactive_power?.toFixed(2)} VAr`}\r\n labelComponent={} \r\n />\r\n \r\n item?.id_tag >= domain?.x[0] && item?.id_tag <= domain?.x[1]).map(item => item?.id_tag)} \r\n style={axisStyle(theme)} tickFormat={(x) => `Tag 00${x}`} tickCount={props.data.length}\r\n tickLabelComponent={\r\n } \r\n backgroundPadding={8}>\r\n } />\r\n } \r\n backgroundPadding={8}>\r\n }/>\r\n \r\n
\r\n
\r\n
: \r\n
\r\n { theme === 'dark' ? \r\n \"empty_data_tag\" :\r\n \"empty_data_tag\"\r\n }\r\n
{props.language.tag_graph_power_title_empty_data}
\r\n
{props.language.tag_graph_power_phrase_empty_data}
\r\n
\r\n } \r\n
)}\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({ \r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nexport default connect(mapStateToProps)(GraphPower);","import React, { Fragment, useEffect, useRef, useState } from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as servicesActions from '../../../../store/actions/Services';\r\nimport * as plusActions from '../../../../store/actions/Plus';\r\n\r\nimport Header from \"../../../shared/Header\";\r\nimport GraphPower from \"./GraphPower\";\r\nimport ServicesPlus from \"../shared/ServicesContainer\";\r\nimport CreateDevice from \"./CreateDevice\"\r\n\r\nimport { Animation, Table } from 'rsuite';\r\n\r\nimport moment from \"moment\";\r\n\r\nimport { useWindowSize } from '../../../shared/utilities/useWindowSize';\r\n\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport empty_modules_plus from \"../../../../imgs/empty-data-device.svg\";\r\nimport empty_modules_plus_light from \"../../../../imgs/empty-data-device-light.svg\";\r\n\r\nconst DataAppliances = ({ value, property, unit, theme }) => {\r\n return (\r\n
\r\n
{property}
\r\n
\r\n
{value}
\r\n
{unit}
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nconst RenderCardEmpty = ({ language, theme }) => {\r\n return (\r\n
\r\n { theme === 'dark' ? \r\n \"empty_radar_data\" :\r\n \"empty_radar_data\"\r\n }\r\n
\r\n {language.tag_new_tag_text_no_devices}\r\n
\r\n
\r\n {language.tag_new_tag_text_no_devices_description}\r\n
\r\n
\r\n )\r\n};\r\n\r\n\r\nconst Devices = (props) => {\r\n\r\n const [showInfoDevice, setShowInfoDevice] = useState(false);\r\n\r\n const [applianceSelected, setApplianceSelected] = useState(false);\r\n\r\n const isSelected = props.deviceSelected === props.item?.id_appliance;\r\n\r\n const theme = props.theme;\r\n\r\n useEffect(() => {\r\n if (applianceSelected) {\r\n props.onChange(props.item?.id_appliance);\r\n setApplianceSelected(false)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [applianceSelected]);\r\n\r\n return (\r\n \r\n
setApplianceSelected(true)}>\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
{props.item.custom_name}
\r\n
\r\n setShowInfoDevice(!showInfoDevice)}>\r\n
\r\n \r\n
\r\n {props.item.id_tag ?\r\n \r\n \r\n \r\n \r\n :\r\n
\r\n
{props.language.tag_new_tag_text_no_tag}
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nconst TagManager = (props) => {\r\n\r\n const { theme } = props;\r\n\r\n const size = useWindowSize();\r\n\r\n const graphContiner = useRef(null);\r\n\r\n const [graphContinerWidth, setGraphContinerWidth] = useState(0);\r\n const [showCreateDevice, setShowCreateDevice] = useState(false);\r\n const [deviceSelected, setDeviceSelected] = useState(null);\r\n const [search, setSearch] = useState('');\r\n let account = props.account;\r\n\r\n useEffect(() => setGraphContinerWidth(graphContiner.current.getBoundingClientRect().width), [size]);\r\n\r\n useEffect(() => {\r\n if (!props.activeServicesPlus?.filter(item => item?.idAccount === props.account?.idAccount).length) {\r\n account && props.loadServicesAsync();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [account]);\r\n\r\n useEffect(() => {\r\n if (props.activeServicesPlus.length) props.loadAppliances();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps \r\n }, [props.activeServicesPlus]);\r\n\r\n useEffect(() => {\r\n if (props.appliances.length) {\r\n if (deviceSelected) props.loadTagRecords(deviceSelected);\r\n }\r\n else {\r\n props.setTagRecords([]);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.appliances, deviceSelected, props.activeServicesPlus]);\r\n\r\n useEffect(() => {\r\n if (props.appliances.length && !deviceSelected) setDeviceSelected(props.appliances[0]?.id_appliance);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.appliances])\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{props.language.tag_manager_title_devices}
\r\n {/*
\r\n setSearch(target.value)} />\r\n \r\n
*/}\r\n
\r\n {props.appliances.filter(item => item?.custom_name?.toLowerCase()?.includes(search.toLowerCase()) || search === '').length ? props.appliances.filter(item => item?.custom_name?.toLowerCase()?.includes(search.toLowerCase()) || search === '').map((item, index) =>\r\n setDeviceSelected(value)} language={props.language} theme={theme}/>\r\n ) : }\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {props.tagRecords.length ?\r\n \r\n
\r\n
\r\n {props.language.tag_manager_table_header_name}\r\n
\r\n
\r\n {props.language.tag_manager_table_header_create_at}\r\n
\r\n
\r\n {props.language.tag_manager_table_header_active_energy}\r\n
\r\n
\r\n {props.language.tag_manager_table_header_active_power}\r\n
\r\n
\r\n {props.language.tag_manager_table_header_reactive_energy}\r\n
\r\n
\r\n {props.language.tag_manager_table_header_reactive_power}\r\n
\r\n
\r\n {props.tagRecords.map((rowData, index) =>\r\n \r\n
\r\n
\r\n {`Tag 00${rowData?.id_tag}`}\r\n
\r\n
\r\n {moment(rowData.create_timestamp).format('DD/MM/YYYY ')} {moment(rowData.create_timestamp).format('HH:mm:ss')}\r\n
\r\n
\r\n {rowData.active_cons ? rowData.active_cons.toFixed(4) + \" Wh\" : rowData.processed ? props.language.tag_table_tag_label_processed : props.language.tag_table_tag_label_procesing}\r\n
\r\n
\r\n {rowData.active_power ? rowData.active_power.toFixed(2) + \" W\" : rowData.processed ? props.language.tag_table_tag_label_processed : props.language.tag_table_tag_label_procesing}\r\n
\r\n
\r\n {rowData.reactive_cons ? rowData.reactive_cons.toFixed(4) + \" VArh\" : rowData.processed ? props.language.tag_table_tag_label_processed : props.language.tag_table_tag_label_procesing}\r\n
\r\n
\r\n {rowData.reactive_power ? rowData.reactive_power.toFixed(2) + \" VAr\" : rowData.processed ? props.language.tag_table_tag_label_processed : props.language.tag_table_tag_label_procesing}\r\n
\r\n
\r\n
)\r\n }\r\n
:\r\n \r\n
\r\n
\r\n
{props.language.tag_manager_table_title_empty_data}
\r\n
{props.language.tag_manager_table_phrase_empty_data}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n account: state.accounts.account,\r\n dataGraph: state.plus.dataGraph,\r\n appliances: state.plus.appliances,\r\n tagRecords: state.plus.tagRecords,\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n resetData: () => dispatch(plusActions.resetData()),\r\n loadServicesAsync: () => dispatch(servicesActions.loadServicesAsync()),\r\n loadAppliances: () => dispatch(plusActions.loadAppliances()),\r\n loadTagRecords: (payload) => dispatch(plusActions.loadTagRecords(payload)),\r\n setTagRecords: (payload) => dispatch(plusActions.setTagRecords(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TagManager);","import * as genius from '../creators/Genius';\r\n\r\nimport { GETData, SETData, GETS3PublicUrl } from '../../services/WebServices';\r\n\r\nimport { Alert } from 'rsuite';\r\n\r\nimport amplitude from 'amplitude-js';\r\n\r\nconst url_api = \"https://fvichq1b59.execute-api.us-east-1.amazonaws.com/\";\r\nconst url_api_ppa = \"https://el5zcca33f.execute-api.us-east-1.amazonaws.com/\";\r\n\r\nexport const setReportGenius = payload => {\r\n return {\r\n type: genius.SET_REPORTS_GENIUS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setGraphs = payload => {\r\n return {\r\n type: genius.SET_GRAPHS_REPORT_GENIUS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setActiveReports = payload => {\r\n return {\r\n type: genius.SET_ACTIVE_REPORTS,\r\n payload\r\n }\r\n}\r\n\r\nexport const setReportLoading = payload => {\r\n return {\r\n type: genius.SET_REPORT_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setNewReportLoading = payload => {\r\n return {\r\n type: genius.SET_NEW_REPORT_LOADING,\r\n payload\r\n }\r\n}\r\n\r\nexport const setReportGenerated = payload => {\r\n return {\r\n type: genius.SET_REPORT_GENERATED,\r\n payload\r\n }\r\n}\r\n\r\nexport const setNewReport = payload => {\r\n return {\r\n type: genius.SET_NEW_REPORT,\r\n payload\r\n }\r\n}\r\n\r\nexport const setShowContentHeader = payload => {\r\n return {\r\n type: genius.SET_SHOW_CONTENT_HEADER,\r\n payload\r\n }\r\n}\r\n\r\nexport const setServiceType = payload => {\r\n return {\r\n type: genius.SET_SERVICE_TYPE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setGraphsType = payload => {\r\n return {\r\n type: genius.SET_GRAPHS_TYPE,\r\n payload\r\n }\r\n}\r\n\r\nexport const setTotalGraphs = payload => {\r\n return {\r\n type: genius.SET_TOTAL_GRAPHS_REPORT_GENIUS,\r\n payload\r\n }\r\n}\r\n\r\nexport const generateReportAsync = (payload) => {\r\n return (dispatch, getState) => {\r\n const language = getState().shared.language;\r\n const user = getState().users.user;\r\n const type = getState().genius.serviceType;\r\n\r\n const servicesIds = payload.deviceIds;\r\n\r\n const isPPA = payload.isPPA\r\n\r\n const account = getState().services.totalServices.find(s => s.idService === servicesIds[0])?.idAccount;\r\n\r\n const data = {\r\n source: \"app\",\r\n file_name: payload.name,\r\n start_date: payload.dateFrom,\r\n end_date: payload.dateTo,\r\n zoho_crm_id: null,\r\n zoho_crm_module: null,\r\n id_account: account,\r\n id_services: servicesIds,\r\n graphs: payload.graphIds,\r\n emails: [`${user.email}`]\r\n } \r\n\r\n dispatch(setNewReportLoading(true));\r\n\r\n Alert.info(language.alert_genius_create_report_initially, 10000);\r\n\r\n dispatch(setReportGenerated(true));\r\n\r\n if(!isPPA){\r\n SETData(`${type && type[0] === 4? 'genius/reports/generation' : 'genius/reports/energy'}`, \"POST\", data, url_api, true)\r\n .then(async () => {\r\n \r\n // let counter = 0\r\n \r\n // let interval = setInterval(\r\n // () => {\r\n \r\n // GETData(`genius/reports/${account}`, 'GET')\r\n // .then((response) => { \r\n // if (response !== null) {\r\n \r\n // let statusReport = response.body.filter(r => r.file_name.split('.')[0] === data.file_name )[0].status;\r\n \r\n // switch (statusReport) {\r\n // case 1:\r\n // dispatch(setReportGenerated(true));\r\n // amplitude.getInstance().logEvent('Generate New Report');\r\n // Alert.info(language.alert_genius_create_report_success);\r\n \r\n // clearInterval(interval)\r\n \r\n // break\r\n \r\n // case 2:\r\n // Alert.error(language.alert_genius_create_report_failed);\r\n \r\n // clearInterval(interval)\r\n \r\n // break\r\n \r\n // default:\r\n // break\r\n // }\r\n \r\n // }\r\n // })\r\n // .catch(response => console.error(response))\r\n \r\n // if (counter < 15) {\r\n // counter += 1;\r\n // } else {\r\n // clearInterval(interval);\r\n // Alert.info(language.alert_genius_create_report_pending, 8000)\r\n // }\r\n \r\n // },\r\n // 1000\r\n // );\r\n \r\n GETData(`genius/reports/user/${user.idUser}`, 'GET')\r\n .then((response) => {\r\n if (response !== null) {\r\n \r\n let statusReport = response.filter(r => r.file_name.split('.')[0] === data.file_name)[0].status;\r\n \r\n if( statusReport) {if(statusReport === 1) amplitude.getInstance().logEvent('Generate New Report')} \r\n \r\n }\r\n })\r\n .catch(response => console.error(response))\r\n \r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setNewReportLoading(false)));\r\n\r\n } else {\r\n const data = {\r\n id_account: `${user.idUser}`,\r\n month: payload.bodyPPA.month,\r\n year: payload.bodyPPA.year,\r\n emails: [`${user.email}`]\r\n }\r\n\r\n SETData(\"genius/ppa\", \"POST\", data, url_api_ppa, true)\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setNewReportLoading(false)));\r\n }\r\n\r\n }\r\n}\r\n\r\nexport const getGraphsReportAsync = () => {\r\n return (dispatch) => {\r\n\r\n GETData('genius/graphs', 'GET')\r\n .then((response) => {\r\n if (response !== null) { dispatch(setTotalGraphs(response)) }\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}\r\n\r\nexport const getReportsAsync = () => {\r\n return (dispatch, getState) => {\r\n\r\n const userId = getState().users.user.idUser;\r\n // const servicesUser = getState().services.totalServices;\r\n\r\n dispatch(setReportLoading(true));\r\n\r\n GETData(`genius/reports/user/${userId}`, 'GET')\r\n .then((response) => {\r\n \r\n if (response !== null) {\r\n \r\n let reports = [];\r\n // const serviceUserIds = new Set(servicesUser.map(service => service.idService))\r\n \r\n // if(accountId === 2280){\r\n // const filteredReports = response.body.filter(report => {\r\n // return report.status === 1 && report?.id_services.some(service => serviceUserIds.has(service.id_service));\r\n // });\r\n // reports = filteredReports;\r\n // }else{\r\n // reports = response.body.filter(report => {\r\n // return report.status === 1\r\n // })\r\n // };\r\n\r\n reports = response.filter(report => {\r\n return report.status === 1\r\n })\r\n\r\n const data = reports.map((x) => {\r\n const url = `${process.env.REACT_APP_GENIUS_REPORTS_DISTRIBUTION}${x.id_account}/${x.file_name}`\r\n const new_item = { ...x, url: url };\r\n return (new_item)\r\n });\r\n\r\n dispatch(setReportGenius(reports));\r\n dispatch(setActiveReports([data[0]]));\r\n\r\n }\r\n })\r\n .catch(response => console.error(response))\r\n .finally(() => dispatch(setReportLoading(false)));\r\n }\r\n}\r\n\r\nexport const downloadReportsAsync = (payload) => { \r\n return async () => {\r\n\r\n const url = await GETS3PublicUrl(payload.url, process.env.REACT_APP_BUCKET_GENIUS, process.env.REACT_APP_S3_REGION_GENIUS);\r\n\r\n fetch(url)\r\n .then(response => response.blob())\r\n .then(blob => {\r\n const link = document.createElement(\"a\");\r\n link.href = URL.createObjectURL(blob);\r\n link.download = payload.filename !== '' ? payload.filename : payload.url;\r\n link.click();\r\n })\r\n .catch(console.error);\r\n }\r\n}\r\n\r\nexport const deleteReportAsync = (payload) => {\r\n return (dispatch) => {\r\n\r\n SETData(`genius/report/${payload}`, 'PATCH')\r\n .then((response) => {\r\n if (response !== null) { \r\n Alert.success('El reporte se ha eliminado con éxito');\r\n dispatch(setShowContentHeader(false));\r\n dispatch(getReportsAsync());\r\n }else{\r\n Alert.error('Algo salió mal')\r\n }\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}\r\n\r\nexport const getGraphsByServiceAsync = (payload) => {\r\n return (dispatch) => {\r\n\r\n SETData('genius/graphs', 'POST', payload)\r\n .then((response) => { \r\n if (response !== null) { dispatch(setGraphs(response)) }\r\n })\r\n .catch(response => console.error(response));\r\n }\r\n}","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as geniusActions from \"../../store/actions/Genius\";\r\nimport * as themeActions from \"../../store/actions/Theme\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { fal } from \"@fortawesome/pro-light-svg-icons\";\r\n\r\nconst ActiveReports = (props) => {\r\n let activeReports = props.activeReports;\r\n let expanded = props.expanded;\r\n let reportDetailed = props.reportDetailed;\r\n let newReport = props.newReport;\r\n let language = props.language;\r\n let showActiveReports = props.showActiveReports;\r\n\r\n const scrollToReport = props.scrollToReport;\r\n const setExpanded = props.setShowContentHeader;\r\n const setActiveReports = props.setActiveReports;\r\n const setNewReport = props.setNewReport;\r\n const setReportDetailed = props.setReportDetailed;\r\n const setSelectedTypeOfReport = props.setSelectedTypeOfReport;\r\n const { theme } = props;\r\n\r\n return (\r\n
\r\n {props.totalReports.length && activeReports.length\r\n ? activeReports.slice(0, showActiveReports).map((item) => (\r\n {\r\n if (newReport) {\r\n return;\r\n } else if (!expanded) {\r\n setExpanded(true);\r\n setReportDetailed(item);\r\n scrollToReport(item.id_report);\r\n } else if (\r\n expanded &&\r\n reportDetailed?.id_report !== item.id_report\r\n ) {\r\n setReportDetailed(item);\r\n scrollToReport(item.id_report);\r\n } else if (\r\n expanded &&\r\n reportDetailed?.id_report === item.id_report\r\n ) {\r\n setExpanded(false);\r\n }\r\n }}\r\n >\r\n \r\n \r\n {item.file_name && item.file_name.split(\".\")[0]}\r\n
\r\n {activeReports.length > 1 && (\r\n {\r\n e.stopPropagation();\r\n setActiveReports(\r\n activeReports.filter(\r\n (i) => i.id_report !== item.id_report,\r\n ),\r\n );\r\n if (\r\n expanded &&\r\n reportDetailed?.id_report === item.id_report\r\n ) {\r\n setExpanded(false);\r\n }\r\n }}\r\n />\r\n )}\r\n
\r\n ))\r\n : !newReport && (\r\n
\r\n \r\n {language.genius_no_reports}\r\n

\r\n
\r\n )}\r\n {props.newReport && (\r\n \r\n \r\n {language.genius_new_report}\r\n \r\n {\r\n setNewReport(false);\r\n setExpanded(false);\r\n setSelectedTypeOfReport([]);\r\n }}\r\n >
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n language: state.shared.language,\r\n activeReports: state.genius.activeReports,\r\n expanded: state.genius.expanded,\r\n totalReports: state.genius.totalReports,\r\n newReport: state.genius.newReport,\r\n reportDetailed: ownProps.reportDetailed,\r\n showActiveReports: ownProps.showActiveReports,\r\n setReportDetailed: ownProps.setReportDetailed,\r\n scrollToReport: ownProps.scrollToReport,\r\n setSelectedTypeOfReport: ownProps.setSelectedTypeOfReport,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setActiveReports: (payload) =>\r\n dispatch(geniusActions.setActiveReports(payload)),\r\n setNewReport: (payload) => dispatch(geniusActions.setNewReport(payload)),\r\n setShowContentHeader: (payload) =>\r\n dispatch(geniusActions.setShowContentHeader(payload)),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ActiveReports);\r\n","import React, { useState, Fragment } from \"react\";\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nimport Tooltip from \"../shared/utilities/Tooltip\";\r\n\r\nimport { useWindowSize } from \"../shared/utilities/useWindowSize\";\r\n\r\nconst SubMenu = ({\r\n data,\r\n selectedData,\r\n newData,\r\n language,\r\n onChange,\r\n keyName,\r\n labelName,\r\n theme,\r\n}) => {\r\n const [show, setShow] = useState(false);\r\n const [activatedAllOptions, setActivatedAllOptions] = useState(false);\r\n\r\n function checkMultipleExist(arr, values) {\r\n const multipleExist = values.every((value) => {\r\n return arr.includes(value.id_graph);\r\n });\r\n\r\n return multipleExist;\r\n }\r\n\r\n function mergeObjectsWithoutDuplicateIds(selected, list) {\r\n const mergedIds = selected.concat(list.map((item) => item.id_graph));\r\n const uniqueIds = mergedIds.filter(\r\n (id, index) => mergedIds.indexOf(id) === index,\r\n );\r\n return uniqueIds;\r\n }\r\n\r\n const screenSize = useWindowSize();\r\n\r\n return (\r\n {\r\n setActivatedAllOptions(checkMultipleExist(selectedData, data));\r\n setShow(state);\r\n }}\r\n animation={{\r\n animate: { opacity: 1 },\r\n exit: { opacity: 0, transition: { duration: 0.1 } },\r\n initial: { opacity: 0 },\r\n }}\r\n content={\r\n \r\n
\r\n {data.length ? (\r\n
\r\n
\r\n {\r\n if (!activatedAllOptions || !selectedData.length) {\r\n onChange(\r\n mergeObjectsWithoutDuplicateIds(selectedData, data),\r\n );\r\n } else {\r\n onChange(\r\n selectedData.filter(\r\n (id) => !data.some((item) => item.id_graph === id),\r\n ),\r\n );\r\n }\r\n }}\r\n >\r\n {language.invoices_text_selec_all}\r\n

\r\n
\r\n {data.map((item) => {\r\n let isSelected = selectedData.includes(item[keyName]);\r\n let isNew = false;\r\n\r\n if (newData.length)\r\n isNew = newData.findIndex((i) => i === item[keyName]) >= 0;\r\n\r\n return (\r\n {\r\n if (isSelected) {\r\n onChange(\r\n selectedData.filter(\r\n (value) => value !== item[keyName],\r\n ),\r\n );\r\n } else {\r\n onChange([...selectedData, item[keyName]]);\r\n }\r\n }}\r\n >\r\n
\r\n \r\n {language\r\n ? language[item[labelName]]\r\n : item[labelName]}\r\n
\r\n {language[item.tooltip] !== \"\" ? (\r\n \r\n ) : null}\r\n {isNew ? (\r\n
\r\n

\r\n {language.genius_new_item}\r\n

\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n \r\n setShow(false)}\r\n >\r\n {language.genius_done_button}\r\n \r\n \r\n
\r\n }\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SubMenu;\r\n","import React, { useState, useEffect, Fragment } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as sharedActions from \"../../store/actions/Shared\";\r\nimport * as geniusActions from \"../../store/actions/Genius\";\r\nimport * as themeActions from \"../../store/actions/Theme\";\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nimport { format, parseISO } from \"date-fns\";\r\nimport esLocale from \"date-fns/locale/es\";\r\nimport enLocale from \"date-fns/locale/en-US\";\r\n\r\nimport ButtonCircle from \"../shared/utilities/ButtonCircle\";\r\nimport SubMenu from \"./SubMenu\";\r\n\r\nconst Picker = ({\r\n options,\r\n selectedData,\r\n keyName,\r\n labelName,\r\n labelDetail,\r\n labelButton,\r\n icon,\r\n onChange,\r\n buttonText,\r\n report = false,\r\n allowAllOptions = false,\r\n labelAllServices,\r\n allowSearch = false,\r\n showSelected = false,\r\n typeReport = false,\r\n newData = [],\r\n language,\r\n groups = [],\r\n filterName,\r\n placement = \"bottomRight\",\r\n closeOnRemoteClick = \"true\",\r\n height = 24,\r\n width = 24,\r\n outsideButtonEvent,\r\n insideButtonEvent,\r\n allOptionButtonEvent,\r\n externalShowEvent,\r\n setExternalShowEvent,\r\n services = [],\r\n disabled = false,\r\n ...props\r\n}) => {\r\n const [search, setSearch] = useState(\"\");\r\n const [focus, setFocus] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [selectedAllOptions, setSelectedAllOptions] = useState(false);\r\n const [data, setData] = useState(options);\r\n\r\n const setShowBlackScreen = props.setShowBlackScreen;\r\n const getGraphsByServiceAsync = props.getGraphsByServiceAsync;\r\n let locale = language.language_locale === \"es\" ? esLocale : enLocale;\r\n const { theme } = props;\r\n\r\n let totalOptions = options\r\n .filter(\r\n (graph) => props.graphsType && props.graphsType.includes(graph.category),\r\n )\r\n .map((item) => {\r\n return item[keyName];\r\n });\r\n\r\n useEffect(() => {\r\n if (Array.isArray(selectedData)) {\r\n setSelectedAllOptions(totalOptions.length === selectedData.length);\r\n }\r\n }, [selectedData, totalOptions]);\r\n\r\n useEffect(() => {\r\n if (options.length && filterName) {\r\n setData([\r\n ...options.filter((o) => {\r\n const filterValue = o[filterName];\r\n if (filterValue) {\r\n return filterValue.toLowerCase().includes(search.toLowerCase());\r\n }\r\n return false;\r\n }),\r\n ]);\r\n }\r\n }, [search, options, filterName]);\r\n\r\n const countByType = {};\r\n\r\n if (Array.isArray(selectedData)) {\r\n for (const id of selectedData) {\r\n const graph = options.find((g) => g?.id_graph === id);\r\n if (graph) {\r\n const type = graph.category;\r\n countByType[type] = (countByType[type] || 0) + 1;\r\n }\r\n }\r\n }\r\n\r\n const groupsWithCount = groups.map((group) => {\r\n const count = countByType[group.id] || 0;\r\n return {\r\n ...group,\r\n count,\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n if (window.scrollY > 10) {\r\n setShow(false);\r\n setShowBlackScreen(false);\r\n setFocus(false);\r\n }\r\n };\r\n\r\n window.addEventListener(\"scroll\", handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener(\"scroll\", handleScroll);\r\n };\r\n }, [setShowBlackScreen]);\r\n\r\n useEffect(() => {\r\n if (externalShowEvent) {\r\n setShowBlackScreen(true);\r\n setShow(true);\r\n setFocus(true);\r\n setExternalShowEvent(false);\r\n }\r\n }, [externalShowEvent, setShowBlackScreen, setExternalShowEvent]);\r\n\r\n useEffect(() => {\r\n if (services.length) getGraphsByServiceAsync({ ids_service: services });\r\n }, [getGraphsByServiceAsync, services]);\r\n\r\n return (\r\n {\r\n setShowBlackScreen(state);\r\n setShow(state);\r\n setFocus(state);\r\n }}\r\n animation={{\r\n animate: { opacity: 1 },\r\n exit: { opacity: 0, transition: { duration: 0.1 } },\r\n initial: { opacity: 0 },\r\n }}\r\n content={\r\n \r\n \r\n {allowSearch && (\r\n \r\n
\r\n \r\n setSearch(target.value)}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n \r\n {labelAllServices}\r\n

\r\n {allowAllOptions && labelName !== \"file_name\" ? (\r\n {\r\n if (!selectedAllOptions) {\r\n onChange(totalOptions);\r\n } else {\r\n onChange([]);\r\n }\r\n }}\r\n >\r\n {language.reports_select_all}\r\n

\r\n ) : null}\r\n {showSelected ? (\r\n {`${language.genius_selected_items} ${selectedData.length}/2`}

\r\n ) : null}\r\n
\r\n {options?.length && groupsWithCount?.length && services.length ? (\r\n
\r\n {options.map((item, i) => (\r\n
\r\n \r\n {item.name_category}\r\n
\r\n
\r\n {item.options_graphs?.length &&\r\n item?.options_graphs.filter((g) =>\r\n selectedData.includes(g.id_graph),\r\n )?.length ? (\r\n \r\n {\r\n item?.options_graphs.filter((g) =>\r\n selectedData.includes(g.id_graph),\r\n )?.length\r\n }\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n ))}\r\n \r\n ) : (\r\n data.length && (\r\n
\r\n {data.map((item) => {\r\n let isSelected;\r\n let url;\r\n\r\n if (report) {\r\n isSelected =\r\n Array.isArray(selectedData) &&\r\n selectedData.findIndex(\r\n (i) => i.id_report === item.id_report,\r\n ) >= 0;\r\n url = `${process.env.REACT_APP_GENIUS_REPORTS_DISTRIBUTION}${item.id_account}/${item.file_name}`;\r\n } else {\r\n isSelected = Array.isArray(selectedData)\r\n ? selectedData.includes(item[keyName])\r\n : selectedData === item[keyName];\r\n }\r\n\r\n return (\r\n {\r\n if (isSelected) {\r\n if (report) {\r\n if (\r\n Array.isArray(selectedData) &&\r\n selectedData.length > 1\r\n )\r\n onChange(\r\n selectedData.filter(\r\n (i) => i.id_report !== item.id_report,\r\n ),\r\n );\r\n } else {\r\n onChange(\r\n Array.isArray(selectedData)\r\n ? typeReport\r\n ? [item[keyName]]\r\n : selectedData.filter(\r\n (value) => value !== item[keyName],\r\n )\r\n : item[keyName],\r\n );\r\n }\r\n } else {\r\n if (\r\n report &&\r\n Array.isArray(selectedData) &&\r\n selectedData.length < 2\r\n ) {\r\n onChange([\r\n ...selectedData,\r\n { url: url, ...item },\r\n ]);\r\n } else if (!report) {\r\n !typeReport &&\r\n props.serviceType &&\r\n props.serviceType.includes(4)\r\n ? onChange(item[keyName])\r\n : typeReport\r\n ? onChange([item[keyName]])\r\n : onChange([...selectedData, item[keyName]]);\r\n }\r\n }\r\n }}\r\n >\r\n
\r\n \r\n {report\r\n ? [item[labelName].split(\".\")[0]]\r\n : [item[labelName]]}\r\n
\r\n

\r\n {report\r\n ? format(\r\n parseISO(item[labelDetail]),\r\n \"eee. dd, LLLL\",\r\n { locale: locale },\r\n )\r\n : item[labelDetail]}\r\n

\r\n
\r\n
\r\n \r\n );\r\n })}\r\n \r\n )\r\n )}\r\n \r\n \r\n {\r\n setShowBlackScreen(false);\r\n setShow(false);\r\n setFocus(false);\r\n }}\r\n >\r\n {labelButton}\r\n \r\n \r\n
\r\n }\r\n >\r\n {buttonText ? (\r\n \r\n \r\n \r\n {buttonText}\r\n

\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n language: state.shared.language,\r\n totalReports: state.genius.totalReports,\r\n account: state.accounts.account,\r\n serviceType: state.genius.serviceType,\r\n graphsType: state.genius.graphsType,\r\n activeReports: ownProps.activeReports,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setShowBlackScreen: (payload) =>\r\n dispatch(sharedActions.setShowBlackScreen(payload)),\r\n getReportsAsync: () => dispatch(geniusActions.getReportsAsync()),\r\n setActiveReports: (payload) =>\r\n dispatch(geniusActions.setActiveReports(payload)),\r\n setShowContentHeader: (payload) =>\r\n dispatch(geniusActions.setShowContentHeader(payload)),\r\n setNewReport: (payload) => dispatch(geniusActions.setNewReport(payload)),\r\n getGraphsByServiceAsync: (payload) =>\r\n dispatch(geniusActions.getGraphsByServiceAsync(payload)),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Picker);\r\n","import React, { Fragment, useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as sharedActions from \"../../store/actions/Shared\";\r\nimport * as geniusActions from \"../../store/actions/Genius\";\r\nimport * as themeActions from \"../../store/actions/Theme\";\r\n\r\nimport { Popover } from \"@idui/react-popover\";\r\n\r\nconst ExportReport = ({ htmlUrl, excelUrl, ...props }) => {\r\n const [show, setShow] = useState(false);\r\n const [focus, setFocus] = useState(false);\r\n const [fileName, setFileName] = useState(\"\");\r\n const { theme } = props;\r\n\r\n return (\r\n {\r\n props.setShowBlackScreen(state);\r\n setShow(state);\r\n setFocus(state);\r\n }}\r\n animation={{\r\n animate: { opacity: 1 },\r\n exit: { opacity: 0, transition: { duration: 0.1 } },\r\n initial: { opacity: 0 },\r\n }}\r\n content={\r\n \r\n
\r\n
\r\n

\r\n {props.language.genius_download_file_report}\r\n

\r\n
\r\n
\r\n
\r\n \r\n Nombre del documento\r\n \r\n setFileName(target.value)}\r\n placeholder=\"Nombre del documento\"\r\n type=\"text\"\r\n autoFocus={true}\r\n className={`input-export-report label-small-medium content-default-secondary ${theme}`}\r\n style={{ width: \"100%\" }}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n props.downloadReportsAsync({\r\n url: htmlUrl,\r\n filename: fileName !== \"\" ? `${fileName}.html` : \"\",\r\n });\r\n setFileName(\"\");\r\n setShow(false);\r\n props.setShowBlackScreen(false);\r\n }}\r\n className={`me-${\r\n excelUrl !== \"\" ? 3 : 0\r\n } rounded-16 py-2 px-4 button-fill-brand button-content-equal ${theme}`}\r\n style={{ minWidth: 155 }}\r\n >\r\n
\r\n \r\n \r\n {props.language.genius_download_html_report}\r\n
\r\n
\r\n \r\n {excelUrl !== \"\" ? (\r\n {\r\n props.downloadReportsAsync({\r\n url: excelUrl,\r\n filename: fileName !== \"\" ? `${fileName}.xlsx` : \"\",\r\n });\r\n setFileName(\"\");\r\n setShow(false);\r\n props.setShowBlackScreen(false);\r\n }}\r\n className={`rounded-16 py-2 px-4 button-fill-brand button-content-equal ${theme}`}\r\n style={{ minWidth: 155 }}\r\n >\r\n
\r\n \r\n \r\n {props.language.genius_download_excel_report}\r\n
\r\n
\r\n \r\n ) : null}\r\n \r\n \r\n
\r\n }\r\n >\r\n {!focus ? (\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {props.language.genius_download_report}\r\n \r\n
\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setShowBlackScreen: (payload) =>\r\n dispatch(sharedActions.setShowBlackScreen(payload)),\r\n downloadReportsAsync: (payload) =>\r\n dispatch(geniusActions.downloadReportsAsync(payload)),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExportReport);\r\n","import React from \"react\";\r\nimport { DateRange } from \"react-date-range\";\r\nimport { es, enUS, pt } from \"react-date-range/dist/locale\";\r\nimport \"react-date-range/dist/styles.css\"; // Main CSS\r\nimport \"react-date-range/dist/theme/default.css\"; // Theme CSS\r\nimport { Transition } from \"react-transition-group\";\r\nimport { startOfToday, format } from \"date-fns\";\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst CalendarRangePicker = ({\r\n show,\r\n setShow,\r\n dateRange,\r\n setDateRange,\r\n language,\r\n theme, // Light or Dark\r\n}) => {\r\n return (\r\n \r\n {(state) => (\r\n \r\n {\r\n setDateRange([date.selection]);\r\n }}\r\n showSelectionPreview={false}\r\n ranges={dateRange}\r\n minDate={new Date(\"2020-07-01T19:21:00.000Z\")}\r\n maxDate={startOfToday()}\r\n />\r\n \r\n {\r\n setShow(false);\r\n track(\"Genius date selected\", {\r\n Rank_Date: `${format(\r\n dateRange[0]?.startDate,\r\n \"ddMMMyy\",\r\n )}_${format(dateRange[0]?.endDate, \"ddMMMyy\")}`,\r\n });\r\n }}\r\n >\r\n {language?.genius_done_button}\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CalendarRangePicker;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { DateRange } from \"react-date-range\";\r\nimport { es, enUS, pt } from \"react-date-range/dist/locale\";\r\nimport \"react-date-range/dist/styles.css\"; // Main CSS\r\nimport \"react-date-range/dist/theme/default.css\"; // Theme CSS\r\nimport { Transition } from \"react-transition-group\";\r\nimport { startOfToday, format } from \"date-fns\";\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst MonthYearPicker = ({\r\n show,\r\n setShow,\r\n dateRange,\r\n onChange,\r\n language,\r\n theme, // Light or Dark\r\n}) => {\r\n return (\r\n \r\n {(state) => (\r\n \r\n \r\n\r\n \r\n {\r\n setShow(false);\r\n track(\"Genius date selected\", {\r\n Rank_Date: `${format(\r\n dateRange[0]?.startDate,\r\n \"ddMMMyy\"\r\n )}_${format(dateRange[0]?.endDate, \"ddMMMyy\")}`,\r\n });\r\n }}\r\n >\r\n {language?.genius_done_button}\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default MonthYearPicker;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as servicesActions from \"../../store/actions/Services\";\r\nimport * as geniusActions from \"../../store/actions/Genius\";\r\nimport * as themeActions from \"../../store/actions/Theme\";\r\n\r\nimport {\r\n add,\r\n endOfMonth,\r\n format,\r\n getMonth,\r\n getYear,\r\n parseISO,\r\n startOfMonth,\r\n} from \"date-fns\";\r\nimport { Animation, Alert } from \"rsuite\";\r\nimport { track } from \"@amplitude/analytics-browser\";\r\nimport { startOfToday } from \"date-fns\";\r\n\r\nimport esLocale from \"date-fns/locale/es\";\r\nimport enLocale from \"date-fns/locale/en-US\";\r\nimport ContentLoader from \"react-content-loader\";\r\nimport Header from \"../shared/Header\";\r\nimport ActiveReports from \"./ActiveReports\";\r\nimport Picker from \"./Picker\";\r\nimport TextTooltip from \"./TextTooltip\";\r\nimport ExtraItemsPopover from \"./ExtraItemsPopover\";\r\nimport ExportReport from \"./ExportReport\";\r\nimport CalendarRangePicker from \"../shared/utilities/CalendarRangePicker\";\r\nimport ServicesPopover from \"../energy/services/ServicesPopover\";\r\nimport empty_report_genius_dark from \"../../imgs/empty_state_genius_dark.svg\";\r\nimport empty_report_genius_light from \"../../imgs/empty_state_genius_light.svg\";\r\nimport IframeResizer from \"iframe-resizer-react\";\r\nimport MonthYearPicker from \"../shared/utilities/MonthYearPicker\";\r\n\r\nconst loadingContent = (\r\n
\r\n \r\n \r\n \r\n
\r\n);\r\n\r\nconst getMonthAndYearDetails = (isoDateString) => {\r\n const date = new Date(isoDateString);\r\n\r\n const startDate = startOfMonth(date);\r\n\r\n const endDate = endOfMonth(date);\r\n\r\n const month = getMonth(date) + 1;\r\n const year = getYear(date);\r\n\r\n return {\r\n startDate, // Objeto Date del primer día del mes\r\n endDate, // Objeto Date del último día del mes\r\n details: [month, year], // Arreglo con el mes y el año en texto\r\n };\r\n};\r\n\r\nconst isValidReport = (report, totalReports, type, self) => {\r\n if (type !== self) {\r\n if (report.name === null || report.name === \"\") {\r\n return false;\r\n }\r\n\r\n if (\r\n totalReports\r\n .map((r) => r?.file_name.split(\".\")[0].toLowerCase())\r\n .includes(report?.name.toLocaleLowerCase())\r\n ) {\r\n return false;\r\n }\r\n\r\n if (report.deviceIds === null || !report.deviceIds.length) {\r\n return false;\r\n }\r\n\r\n if (report.graphIds === null || !report.graphIds.length) {\r\n return false;\r\n }\r\n\r\n if (report.dateFrom === null || report.dateFrom === \"\") {\r\n return false;\r\n }\r\n\r\n if (report.dateTo === null || report.dateTo === \"\") {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst showError = (report, totalReports, language, type) => {\r\n if (type !== language.ppa_report) {\r\n if (report.name === null || report.name === \"\" || report.duplicateReport) {\r\n return Alert.error(language.alert_genius_create_report_filename, 5000);\r\n }\r\n\r\n if (\r\n totalReports\r\n .map((r) => r?.file_name.split(\".\")[0].toLowerCase())\r\n .includes(report?.name.toLocaleLowerCase())\r\n ) {\r\n return Alert.error(\r\n language.alert_genius_create_report_duplicate_filename,\r\n 5000\r\n );\r\n }\r\n\r\n if (report.deviceIds === null || !report.deviceIds.length) {\r\n return Alert.error(language.alert_genius_create_report_devices, 5000);\r\n }\r\n\r\n if (report.graphIds === null || !report.graphIds.length) {\r\n return Alert.error(language.alert_genius_create_report_graphs, 5000);\r\n }\r\n\r\n if (\r\n report.dateFrom === null ||\r\n report.dateFrom === \"\" ||\r\n report.dateTo === null ||\r\n report.dateTo === \"\"\r\n ) {\r\n return Alert.error(language.alert_genius_create_report_range, 5000);\r\n }\r\n }\r\n};\r\n\r\nconst Genius = (props) => {\r\n const initReport = {\r\n name: \"\",\r\n graphIds: [],\r\n deviceIds: [],\r\n dateFrom: null,\r\n dateTo: null,\r\n duplicate: false,\r\n };\r\n\r\n /* Data of the new report that can be created by the user */\r\n const [report, setReport] = useState(initReport);\r\n const [isEnable, setEnable] = useState(false);\r\n /* Report that is expanded and is selected in */\r\n const [reportDetailed, setReportDetailed] = useState(null);\r\n /* Show calendarRangePicker when creating a new report */\r\n const [showCalendar, setShowCalendar] = useState(false);\r\n /* Date range of the new report calendar picker */\r\n const [dateRange, setDateRange] = useState([\r\n {\r\n startDate: startOfMonth(new Date()),\r\n endDate: startOfToday(),\r\n key: \"selection\",\r\n },\r\n ]);\r\n\r\n /* Data of services and graphs that is selected in the picker for new report creation */\r\n const [serviceSelected, setServiceSelected] = useState([]);\r\n const [graphSelected, setGraphSelected] = useState([]);\r\n const [typeOfReport, setTypeOfReport] = useState([]);\r\n const [selectedTypeOfReport, setSelectedTypeOfReport] = useState([]);\r\n\r\n const [premium, setPremium] = useState(false);\r\n const [isNavbarFixed, setIsNavbarFixed] = useState(false);\r\n const [externalShowEvent, setExternalShowEvent] = useState(false);\r\n\r\n const [payloadPPA, setPayloadPPA] = useState({\r\n month: getMonth(new Date()) + 1,\r\n year: getYear(new Date()),\r\n });\r\n\r\n let locale = props.language.language_locale === \"es\" ? esLocale : enLocale;\r\n let account = props.account;\r\n let totalReports = props.totalReports;\r\n let loadingReport = props.loadingReport;\r\n let reportGenerated = props.reportGenerated;\r\n let totalServices = props.totalServices;\r\n let graphs = props.graphs;\r\n let expanded = props.expanded;\r\n let newReport = props.newReport;\r\n let activeServicesPlus = props.activeServicesPlus;\r\n let serviceType = props.serviceType;\r\n let showBlackScreen = props.showBlackScreen;\r\n let language = props.language;\r\n let screenPaddingBottom = props.screenPaddingBottom;\r\n let totalGraphs = props.totalGraphs;\r\n let user = props.user;\r\n\r\n const loadServicesAsync = props.loadServicesAsync;\r\n const getReportsAsync = props.getReportsAsync;\r\n const generateReportAsync = props.generateReportAsync;\r\n const setNewReport = props.setNewReport;\r\n const setShowContentHeader = props.setShowContentHeader;\r\n const getGraphsReportAsync = props.getGraphsReportAsync;\r\n const { theme } = props;\r\n\r\n const dataGroupGraphs = [\r\n { id: 1, group: props.language.genius_report_monthly_consumption },\r\n { id: 2, group: props.language.genius_report_submeasurements },\r\n { id: 3, group: props.language.genius_report_detailed_consumption },\r\n { id: 4, group: props.language.genius_report_reactive_energy },\r\n { id: 5, group: props.language.genius_report_savings },\r\n { id: 6, group: props.language.genius_report_generation },\r\n ];\r\n\r\n /* When the account change, restart everything */\r\n useEffect(() => {\r\n account && loadServicesAsync();\r\n setServiceSelected([]);\r\n setGraphSelected([]);\r\n setReport({\r\n name: \"\",\r\n graphIds: [],\r\n deviceIds: [],\r\n dateFrom: null,\r\n dateTo: null,\r\n duplicate: false,\r\n });\r\n setNewReport(false);\r\n setShowContentHeader(false);\r\n }, [account, loadServicesAsync, setNewReport, setShowContentHeader]);\r\n\r\n useEffect(() => {\r\n setReport({\r\n name: \"\",\r\n graphIds: [],\r\n deviceIds: [],\r\n dateFrom: null,\r\n dateTo: null,\r\n duplicate: false,\r\n });\r\n }, [serviceType]);\r\n\r\n useEffect(() => {\r\n if (account && totalServices) getReportsAsync();\r\n }, [account, reportGenerated, getReportsAsync, totalServices]);\r\n\r\n useEffect(() => {\r\n if (report.deviceIds) {\r\n setServiceSelected(\r\n totalServices.filter((service) =>\r\n Array.isArray(report.deviceIds)\r\n ? report.deviceIds.includes(service.idService)\r\n : report.deviceIds === service.idService\r\n )\r\n );\r\n } else {\r\n setServiceSelected([]);\r\n }\r\n\r\n if (report.graphIds.length) {\r\n setGraphSelected(\r\n totalGraphs.filter((graph) => report.graphIds.includes(graph.id_graph))\r\n );\r\n }\r\n }, [totalGraphs, report, totalServices]);\r\n\r\n useEffect(() => {\r\n getGraphsReportAsync();\r\n }, [getGraphsReportAsync]);\r\n\r\n useEffect(() => {\r\n setReport((prevReport) => ({\r\n ...prevReport,\r\n dateFrom: format(dateRange[0].startDate, \"yyyy-MM-dd HH:mm:ss\"),\r\n dateTo: format(dateRange[0].endDate, \"yyyy-MM-dd HH:mm:ss\"),\r\n bodyPPA: payloadPPA,\r\n isPPA: selectedTypeOfReport[0] === language.ppa_report,\r\n }));\r\n }, [dateRange, payloadPPA, selectedTypeOfReport, language]);\r\n\r\n useEffect(() => {\r\n setEnable(\r\n isValidReport(\r\n report,\r\n totalReports,\r\n selectedTypeOfReport[0],\r\n language.ppa_report\r\n )\r\n );\r\n }, [setEnable, report, totalReports]);\r\n\r\n useEffect(() => {\r\n const types = [];\r\n const generationIds = [4];\r\n const consumptionIds = [1, 2, 3];\r\n\r\n const generationServices = totalServices.filter((s) => {\r\n return generationIds.includes(s.type?.typeService);\r\n });\r\n\r\n const consumptionServices = totalServices.filter((s) => {\r\n return consumptionIds.includes(s.type?.typeService);\r\n });\r\n\r\n if (generationServices.length > 0) {\r\n types.push({\r\n name: language.generation_report,\r\n services: generationIds,\r\n graphs: [6],\r\n });\r\n }\r\n\r\n if (consumptionServices.length > 0) {\r\n types.push({\r\n name: language.consumption_report,\r\n services: consumptionIds,\r\n graphs: [1, 2, 3, 4, 5],\r\n });\r\n }\r\n\r\n if (user.capabilities?.show_genius_ppa_report) {\r\n types.push({\r\n name: language.ppa_report,\r\n services: [4],\r\n graphs: [6],\r\n });\r\n }\r\n\r\n setTypeOfReport(types);\r\n }, [totalServices, language]);\r\n\r\n useEffect(() => {\r\n if (!showBlackScreen && selectedTypeOfReport[0]) {\r\n const filteredTypeReport = typeOfReport.filter(\r\n (type) => type.name === selectedTypeOfReport[0]\r\n );\r\n\r\n track(\"Report created\");\r\n\r\n props.setServiceType(\r\n filteredTypeReport[0] && filteredTypeReport[0].services\r\n );\r\n props.setGraphsType(\r\n filteredTypeReport[0] && filteredTypeReport[0].graphs\r\n );\r\n\r\n props.setNewReport(true);\r\n props.setShowContentHeader(true);\r\n }\r\n }, [selectedTypeOfReport, showBlackScreen, typeOfReport, props]);\r\n\r\n /* Hide the calendar when the report detail is false */\r\n useEffect(() => {\r\n if (!expanded) {\r\n setShowCalendar(false);\r\n }\r\n }, [expanded]);\r\n\r\n useEffect(() => {\r\n if (activeServicesPlus.length) {\r\n setPremium(true);\r\n } else setPremium(false);\r\n }, [activeServicesPlus, setPremium, account]);\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n if (window.scrollY > 60) {\r\n setIsNavbarFixed(true);\r\n } else {\r\n setIsNavbarFixed(false);\r\n }\r\n };\r\n\r\n window.addEventListener(\"scroll\", handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener(\"scroll\", handleScroll);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (graphSelected.length) {\r\n track(\"Variable selected\", {\r\n Genius_Variable_ID:\r\n graphSelected[graphSelected.length - 1]?.description,\r\n });\r\n }\r\n }, [graphSelected]);\r\n\r\n const scrollToReport = (id_report) => {\r\n const reportSelector = document.querySelector(`#report${id_report}`);\r\n reportSelector.scrollIntoView({ behavior: \"smooth\" });\r\n };\r\n\r\n const handleRangeChange = (ranges) => {\r\n const selection = getMonthAndYearDetails(ranges);\r\n\r\n setDateRange([\r\n {\r\n startDate: selection.startDate,\r\n endDate: selection.endDate,\r\n key: \"selection\",\r\n },\r\n ]);\r\n\r\n setPayloadPPA({\r\n ...payloadPPA,\r\n month: selection.details[0],\r\n year: selection.details[1],\r\n });\r\n\r\n setReport((prevReport) => ({\r\n ...prevReport,\r\n dateFrom: format(selection.startDate, \"yyyy-MM-dd HH:mm:ss\"),\r\n dateTo: format(selection.endDate, \"yyyy-MM-dd HH:mm:ss\"),\r\n bodyPPA: {\r\n month: selection.details[0],\r\n year: selection.details[1],\r\n },\r\n isPPA: true,\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {!loadingReport ? (\r\n
\r\n \r\n \r\n {props.showBlackScreen && (\r\n
\r\n )}\r\n \r\n {props.language.genius_title_main_reports}\r\n

\r\n {props.totalReports.length ? (\r\n
\r\n \r\n {!expanded ? (\r\n
\r\n setSelectedTypeOfReport(value)}\r\n outsideButtonEvent=\"GE Open Report Picker\"\r\n insideButtonEvent=\"GE Save Selection Reports\"\r\n buttonText={props.language.genius_save_report}\r\n typeReport={true}\r\n externalShowEvent={externalShowEvent}\r\n setExternalShowEvent={setExternalShowEvent}\r\n />\r\n \r\n props.setActiveReports(value)}\r\n outsideButtonEvent=\"GE Open Report Picker\"\r\n insideButtonEvent=\"GE Save Selection Reports\"\r\n />\r\n
\r\n ) : !newReport ? (\r\n
\r\n \r\n props.deleteReportAsync(reportDetailed.id_report)\r\n }\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n {props.language.genius_delete_report}\r\n \r\n
\r\n
\r\n {/* {\r\n props.downloadReportsAsync(`${reportDetailed.id_account}/${reportDetailed.file_name}`)\r\n }}>\r\n
\r\n
\r\n \r\n
\r\n {props.language.genius_download_report}\r\n
\r\n
*/}\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n if (isEnable) {\r\n if (report.dateFrom) {\r\n generateReportAsync(report);\r\n } else {\r\n generateReportAsync({\r\n dateFrom: dateRange[0].startDate,\r\n dateTo: dateRange[0].endDate,\r\n name: report.name,\r\n graphIds: report.graphIds,\r\n deviceIds: report.deviceIds,\r\n isPPA:\r\n selectedTypeOfReport[0] ===\r\n language.ppa_report,\r\n bodyPPA: {\r\n month: payloadPPA.month,\r\n year: payloadPPA.year,\r\n },\r\n });\r\n }\r\n\r\n props.setNewReport(false);\r\n props.setShowContentHeader(false);\r\n setReport(initReport);\r\n\r\n if (\r\n selectedTypeOfReport[0] !== language.ppa_report\r\n ) {\r\n track(\"Report created\", {\r\n Genius_Variable_ID: graphSelected.map(\r\n function (graph) {\r\n return graph?.description;\r\n }\r\n ),\r\n });\r\n } else {\r\n setSelectedTypeOfReport([]);\r\n props.setNewReport(false);\r\n props.setShowContentHeader(false);\r\n setReport(initReport);\r\n props.setGraphs([]);\r\n }\r\n } else {\r\n showError(\r\n report,\r\n totalReports,\r\n props.language,\r\n selectedTypeOfReport[0]\r\n );\r\n }\r\n }}\r\n >\r\n \r\n \r\n {props.language.genius_save_report}\r\n

\r\n \r\n {\r\n setSelectedTypeOfReport([]);\r\n props.setNewReport(false);\r\n props.setShowContentHeader(false);\r\n setReport(initReport);\r\n props.setGraphs([]);\r\n }}\r\n >\r\n \r\n \r\n {props.language.genius_cancel_report}\r\n

\r\n \r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n \r\n {!newReport ? (\r\n setSelectedTypeOfReport(value)}\r\n outsideButtonEvent=\"GE Open Report Picker\"\r\n insideButtonEvent=\"GE Save Selection Reports\"\r\n typeReport={true}\r\n externalShowEvent={externalShowEvent}\r\n setExternalShowEvent={setExternalShowEvent}\r\n />\r\n ) : (\r\n
\r\n {\r\n if (isEnable) {\r\n generateReportAsync(report);\r\n props.setNewReport(false);\r\n props.setShowContentHeader(false);\r\n setReport(initReport);\r\n track(\"Report created\", {\r\n Genius_Variable_ID: graphSelected.map(function (\r\n graph\r\n ) {\r\n return graph?.description;\r\n }),\r\n });\r\n } else {\r\n showError(\r\n report,\r\n totalReports,\r\n props.language,\r\n selectedTypeOfReport[0]\r\n );\r\n }\r\n }}\r\n >\r\n \r\n

\r\n {props.language.genius_save_report}\r\n

\r\n \r\n {\r\n props.setNewReport(false);\r\n props.setShowContentHeader(false);\r\n setSelectedTypeOfReport([]);\r\n setReport(initReport);\r\n props.setGraphs([]);\r\n }}\r\n >\r\n \r\n

\r\n {props.language.genius_cancel_report}\r\n

\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n \r\n
\r\n \r\n {selectedTypeOfReport[0] !== language.ppa_report && (\r\n <>\r\n
\r\n \r\n {props.language.genius_name_report}\r\n

\r\n {!newReport ? (\r\n \r\n \r\n {reportDetailed?.file_name &&\r\n reportDetailed.file_name.split(\".\")[0]}\r\n

\r\n
\r\n ) : (\r\n {\r\n setReport({ ...report, name: target.value });\r\n }}\r\n >\r\n )}\r\n
\r\n
\r\n \r\n {props.language.genius_date_range_report}\r\n

\r\n\r\n {\r\n if (newReport) {\r\n setShowCalendar(!showCalendar);\r\n }\r\n }}\r\n >\r\n \r\n {newReport\r\n ? format(\r\n dateRange[0].startDate,\r\n \"eee. dd, LLLL\",\r\n { locale: locale }\r\n )\r\n : reportDetailed?.start_date\r\n ? /* add 1 day because ISO date is displayed as the previous day */ format(\r\n add(parseISO(reportDetailed.start_date), {\r\n days: 1,\r\n }),\r\n \"eee. dd, LLLL\",\r\n { locale: locale }\r\n )\r\n : null}\r\n

\r\n
\r\n {newReport && (\r\n setShowCalendar(!showCalendar)}\r\n >\r\n
\r\n \r\n )}\r\n
\r\n \r\n
\r\n {\r\n if (newReport) {\r\n setShowCalendar(!showCalendar);\r\n }\r\n }}\r\n >\r\n \r\n {newReport\r\n ? format(\r\n dateRange[0].endDate,\r\n \"eee. dd, LLLL\",\r\n {\r\n locale: locale,\r\n }\r\n )\r\n : reportDetailed?.end_date\r\n ? format(\r\n add(parseISO(reportDetailed.end_date), {\r\n days: 1,\r\n }),\r\n \"eee. dd, LLLL\",\r\n { locale: locale }\r\n )\r\n : null}\r\n

\r\n \r\n \r\n
\r\n \r\n {props.language.genius_creation_date_report}\r\n

\r\n \r\n \r\n {newReport\r\n ? format(new Date(), \"eee. dd, LLLL\", {\r\n locale: locale,\r\n })\r\n : reportDetailed?.created_time\r\n ? format(\r\n parseISO(reportDetailed.created_time),\r\n \"eee. dd, LLLL\",\r\n { locale: locale }\r\n )\r\n : null}\r\n

\r\n
\r\n \r\n \r\n )}\r\n {selectedTypeOfReport[0] === language.ppa_report && (\r\n
\r\n \r\n {props.language.genius_date_range_report}\r\n

\r\n {newReport && (\r\n setShowCalendar(!showCalendar)}\r\n >\r\n
\r\n
\r\n )}\r\n
\r\n \r\n
\r\n {\r\n if (newReport) {\r\n setShowCalendar(!showCalendar);\r\n }\r\n }}\r\n >\r\n \r\n {newReport\r\n ? format(dateRange[0].startDate, \"LLLL yyyy\", {\r\n locale: locale,\r\n })\r\n : reportDetailed?.start_date\r\n ? /* add 1 day because ISO date is displayed as the previous day */ format(\r\n add(parseISO(reportDetailed.start_date), {\r\n days: 1,\r\n }),\r\n \"LLLL yyyy\",\r\n { locale: locale }\r\n )\r\n : null}\r\n

\r\n \r\n \r\n )}\r\n \r\n {selectedTypeOfReport[0] !== language.ppa_report && (\r\n
\r\n {!newReport ? (\r\n
\r\n
\r\n

\r\n {props.language.genius_services_report}\r\n

\r\n \r\n

\r\n {reportDetailed?.id_services &&\r\n `${reportDetailed.id_services.length} ${props.language.genius_selected_items}`}\r\n

\r\n
\r\n
\r\n
\r\n {reportDetailed?.id_services\r\n .slice(0, 2)\r\n .map((service, i) => (\r\n \r\n \r\n {service.name}\r\n

\r\n
\r\n }\r\n text={\r\n \r\n {service.name}\r\n
\r\n }\r\n />\r\n ))}\r\n {reportDetailed?.id_services.length > 2 && (\r\n \r\n
\r\n {reportDetailed.id_services\r\n .slice(2)\r\n .map((service) => (\r\n \r\n \r\n {service.name}\r\n

\r\n
\r\n ))}\r\n \r\n \r\n }\r\n button={\r\n \r\n

\r\n +{reportDetailed.id_services.length - 2}\r\n

\r\n \r\n \r\n }\r\n />\r\n )}\r\n \r\n \r\n ) : (\r\n
\r\n
\r\n \r\n {props.language.genius_services_report}\r\n

\r\n
\r\n
\r\n
\r\n {\r\n setReport({\r\n ...report,\r\n deviceIds: value.map((v) => v.idService),\r\n });\r\n }}\r\n availableTypeServices={\r\n serviceType.includes(4)\r\n ? [\"generation\"]\r\n : [\"energy\", \"plus\"]\r\n }\r\n limitSelectServices={\r\n serviceType.includes(4) ? 1 : null\r\n }\r\n typeComponent={\"energy\"}\r\n popoverPosition={\"bottomLeft\"}\r\n />\r\n
\r\n {!report.deviceIds && !serviceSelected.length ? (\r\n
\r\n

\r\n + {props.language.genius_add_services}\r\n

\r\n
\r\n ) : serviceSelected.length > 2 ? (\r\n
\r\n {serviceSelected\r\n .slice(0, 2)\r\n .map((service, i) => (\r\n \r\n \r\n {service.name}\r\n

\r\n
\r\n }\r\n text={\r\n \r\n {service.name}\r\n
\r\n }\r\n />\r\n ))}\r\n \r\n
\r\n {serviceSelected\r\n .slice(2)\r\n .map((s, i) => (\r\n \r\n {s.name}\r\n
\r\n ))}\r\n
\r\n \r\n }\r\n button={\r\n \r\n \r\n + {serviceSelected.length - 2}\r\n

\r\n \r\n }\r\n />\r\n \r\n ) : (\r\n serviceSelected.map((service, i) => (\r\n \r\n

\r\n {service.name}\r\n

\r\n \r\n }\r\n text={\r\n \r\n {service.name}\r\n \r\n }\r\n />\r\n ))\r\n )}\r\n \r\n \r\n )}\r\n {!newReport ? (\r\n
\r\n
\r\n \r\n {props.language.genius_graphs}\r\n

\r\n \r\n

\r\n {reportDetailed?.id_graphs &&\r\n `${reportDetailed.id_graphs.length} ${props.language.genius_selected_items}`}{\" \"}\r\n

\r\n
\r\n
\r\n
\r\n {reportDetailed?.id_graphs\r\n .slice(0, 2)\r\n .map((_graph) => (\r\n \r\n \r\n \r\n \r\n {props.language[_graph.description]}\r\n

\r\n
\r\n }\r\n theme={theme}\r\n text={\r\n \r\n {props.language[_graph.description]}\r\n

\r\n }\r\n />\r\n \r\n ))}\r\n {reportDetailed?.id_graphs.length > 2 && (\r\n \r\n
\r\n {reportDetailed.id_graphs\r\n .slice(2)\r\n .map((_graph) => (\r\n \r\n \r\n \r\n {\r\n props.language[\r\n _graph.description\r\n ]\r\n }\r\n

\r\n
\r\n ))}\r\n \r\n \r\n }\r\n button={\r\n \r\n \r\n +{reportDetailed.id_graphs.length - 2}\r\n

\r\n \r\n \r\n }\r\n />\r\n )}\r\n \r\n \r\n ) : (\r\n
\r\n
\r\n \r\n {props.language.genius_graphs}\r\n

\r\n
\r\n
\r\n y.new_graph === 1)\r\n .map((g) => g.id_graph)}\r\n options={graphs ?? []}\r\n selectedData={report.graphIds}\r\n groups={\r\n !premium\r\n ? dataGroupGraphs.filter(\r\n (item) => item.id !== 2\r\n )\r\n : dataGroupGraphs\r\n }\r\n onChange={(value) => {\r\n setReport({ ...report, graphIds: value });\r\n }}\r\n outsideButtonEvent=\"GE Open Graphs Selection\"\r\n insideButtonEvent=\"GE Save Selection Graphs\"\r\n allOptionButtonEvent=\"GE Select All Graphs\"\r\n services={report.deviceIds}\r\n disabled={graphs.length === 0}\r\n />\r\n {!report.graphIds.length ? (\r\n \r\n \r\n + {props.language.genius_add_graphs}\r\n

\r\n
\r\n ) : graphSelected.length > 2 ? (\r\n
\r\n {graphSelected.slice(0, 2).map((_graph) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n props.language[\r\n _graph.description\r\n ]\r\n }\r\n

\r\n
\r\n }\r\n text={\r\n \r\n {\r\n props.language[\r\n _graph.description\r\n ]\r\n }\r\n

\r\n }\r\n />\r\n
\r\n );\r\n })}\r\n \r\n
\r\n {graphSelected\r\n .slice(2)\r\n .map((_graph) => (\r\n \r\n \r\n \r\n {\r\n props.language[\r\n _graph.description\r\n ]\r\n }\r\n

\r\n
\r\n ))}\r\n \r\n \r\n }\r\n button={\r\n
\r\n

{`+${\r\n report.graphIds.length - 2\r\n }`}

\r\n
\r\n }\r\n />\r\n \r\n ) : (\r\n graphSelected.map((_graph) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n props.language[\r\n _graph.description\r\n ]\r\n }\r\n

\r\n \r\n }\r\n text={\r\n \r\n {props.language[_graph.description]}\r\n

\r\n }\r\n />\r\n \r\n );\r\n })\r\n )}\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {props.totalReports.length && props.activeReports.length ? (\r\n props.activeReports.map((report) => (\r\n \r\n
\r\n \r\n
\r\n \r\n ))\r\n ) : (\r\n \r\n \r\n \r\n {props.language.genius_title_empty_state}\r\n \r\n \r\n {props.language.genius_text_description_empty_state}\r\n \r\n setExternalShowEvent(true)}\r\n >\r\n
\r\n \r\n {props.language.genius_button_default_report}\r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n ) : (\r\n
\r\n
\r\n {loadingContent}\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n account: state.accounts.account,\r\n language: state.shared.language,\r\n activeReports: state.genius.activeReports,\r\n totalReports: state.genius.totalReports,\r\n loadingReport: state.genius.loadingReport,\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n reportGenerated: state.genius.reportGenerated,\r\n totalServices: state.services.totalServices,\r\n graphs: state.genius.graphs,\r\n expanded: state.genius.expanded,\r\n newReport: state.genius.newReport,\r\n showBlackScreen: state.shared.showBlackScreen,\r\n showMenu: state.shared.showMenu,\r\n serviceType: state.genius.serviceType,\r\n graphsType: state.genius.graphsType,\r\n screenPaddingBottom: state.shared.screenPaddingBottom,\r\n totalGraphs: state.genius.totalGraphs,\r\n user: state.users.user,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n loadServicesAsync: (payload) =>\r\n dispatch(servicesActions.loadServicesAsync(payload)),\r\n getReportsAsync: () => dispatch(geniusActions.getReportsAsync()),\r\n setActiveReports: (payload) =>\r\n dispatch(geniusActions.setActiveReports(payload)),\r\n generateReportAsync: (payload) =>\r\n dispatch(geniusActions.generateReportAsync(payload)),\r\n downloadReportsAsync: (payload) =>\r\n dispatch(geniusActions.downloadReportsAsync(payload)),\r\n setNewReport: (payload) => dispatch(geniusActions.setNewReport(payload)),\r\n setShowContentHeader: (payload) =>\r\n dispatch(geniusActions.setShowContentHeader(payload)),\r\n deleteReportAsync: (payload) =>\r\n dispatch(geniusActions.deleteReportAsync(payload)),\r\n setServiceType: (payload) => dispatch(geniusActions.setServiceType(payload)),\r\n setGraphsType: (payload) => dispatch(geniusActions.setGraphsType(payload)),\r\n setGraphs: (payload) => dispatch(geniusActions.setGraphs(payload)),\r\n getGraphsReportAsync: () => dispatch(geniusActions.getGraphsReportAsync()),\r\n setTheme: (theme) => dispatch(themeActions.setTheme(theme)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Genius);\r\n","import React from 'react'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nimport * as plusActions from '../../../../../store/actions/Plus';\r\n\r\nconst GraphPeriodPicker = (props) => {\r\n\r\n const changePeriod = (interval) => {\r\n let eventProperty = '';\r\n\r\n if (props.intervalGraph !== interval) {\r\n props.setIntervalGraph(interval);\r\n switch (interval) {\r\n case 1:\r\n eventProperty = 'Rank_Weekly'\r\n break\r\n case 2:\r\n eventProperty = 'Rank_Monthly'\r\n break\r\n case 3:\r\n eventProperty = 'Rank_Yearly'\r\n break\r\n default:\r\n eventProperty = 'Rank_Weekly'\r\n break\r\n }\r\n track('Standby rank selected', {Rank_ID: eventProperty})\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
{ changePeriod(1) }}>\r\n
{props.language.energy_graph_period_picker_week}
\r\n
\r\n
{ changePeriod(2) }}>\r\n
{props.language.energy_graph_period_picker_month}
\r\n
\r\n
{ changePeriod(3) }}>\r\n
{props.language.energy_graph_period_picker_year}
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n intervalGraph: state.plus.intervalGraphAlwaysOn,\r\n language: state.shared.language\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setIntervalGraph: (payload) => dispatch(plusActions.setIntervalGraphAlwaysOn(payload))\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GraphPeriodPicker);","import React from 'react'\r\n\r\nimport { Calendar as Datepicker } from 'react-calendar';\r\nimport { Transition } from 'react-transition-group';\r\nimport { calendarIntervals, setCalendarDates } from '../../../services/CalendarHandler';\r\n\r\nconst Calendar = (props) => {\r\n\r\n let show = props.show;\r\n let interval = props.interval;\r\n let start = props.start;\r\n let end = props.end;\r\n let setDates = props.setDates;\r\n\r\n return (\r\n \r\n {state => (\r\n
\r\n
\r\n
}\r\n prevLabel={}\r\n onChange={(value) => setDates(setCalendarDates(value, interval)) } />\r\n
)}\r\n \r\n )\r\n}\r\n\r\n\r\nexport default Calendar","import React, { useEffect, useState, useRef, Fragment } from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as sharedActions from '../../../../../store/actions/Shared';\r\nimport * as plusActions from '../../../../../store/actions/Plus';\r\n\r\nimport { VictoryChart, VictoryLabel, VictoryAxis, VictoryBar, VictoryZoomContainer, Rect } from \"victory\";\r\nimport { grid, tickLabelsX, tickLabelsY, tickStyle } from \"../../../../shared/svgs/GraphStyles\";\r\n\r\nimport _ from 'lodash';\r\nimport moment from 'moment-timezone';\r\n\r\nimport GraphPeriodPicker from \"./GraphPeriodPicker\";\r\nimport Calendar from \"../../../../shared/utilities/Calendar\";\r\nimport { useWindowSize } from '../../../../shared/utilities/useWindowSize';\r\nimport empty_graph_energy from \"../../../../../imgs/empty-graph-energy.svg\";\r\n\r\nimport { Transition } from 'react-transition-group';\r\n\r\nimport { Loader } from 'rsuite';\r\nimport ButtonCircle from \"../../../../shared/utilities/ButtonCircle\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nimport Draggable from \"react-draggable\";\r\n\r\nconst formatDateLabel = (intervalGraph, domain, lang) => {\r\n\r\n\tlet dateFormated;\r\n\tlet intervalLeft;\r\n\tlet intervalRight;\r\n\r\n\tmoment.locale(lang);\r\n\r\n\tswitch (intervalGraph) {\r\n\t\tcase 0:\r\n\t\t\tdateFormated = moment.utc(domain?.x[1] * 1000).format(\"DD MMMM YYYY\");\r\n\t\t\tbreak;\r\n\t\tcase 1:\r\n\t\tcase 2:\r\n\t\t\tintervalLeft = moment.utc((domain?.x[0] + 86400) * 1000).format(\"MMM DD\");\r\n\t\t\tintervalRight = moment.utc(domain?.x[1] * 1000).format(\"MMM DD\");\r\n\t\t\tdateFormated = `${intervalLeft} ${lang === 'es' ? 'a' : '-'} ${intervalRight}`;\r\n\t\t\tbreak;\r\n\t\tcase 3:\r\n\t\t\tintervalLeft = moment.utc((domain?.x[0] + 2592000) * 1000).format(\"MMM YYYY\");\r\n\t\t\tintervalRight = moment.utc(domain?.x[1] * 1000).format(\"MMM YYYY\");\r\n\t\t\tdateFormated = `${intervalLeft} ${lang === 'es' ? 'a' : '-'} ${intervalRight}`;\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tdateFormated = \"\";\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn dateFormated;\r\n\r\n}\r\n\r\nconst capitalizedText = (text) => {\r\n\r\n\tlet label = \"\";\r\n\tvar phrase = text.toLowerCase().split(' ');\r\n\r\n\tfor (var i = 0; i < phrase.length; i++) {\r\n\t\tif (i !== 2) {\r\n\t\t\tphrase[i] = phrase[i].charAt(0).toUpperCase() + phrase[i].substring(1);\r\n\t\t}\r\n\t};\r\n\r\n\tlabel = phrase.join(' ');\r\n\r\n\treturn label;\r\n};\r\n\r\nconst handlerFormatAxis = (date, type, lang, title = false) => {\r\n\r\n\tlet stringFormats;\r\n\r\n\tswitch (type) {\r\n\t\tcase 0:\r\n\t\t\tstringFormats = ['hh:mm DD/MM/YY', 'HH', 'dddd, DD MMMM YYYY']\r\n\t\t\tbreak;\r\n\t\tcase 1:\r\n\t\tcase 2:\r\n\t\t\tstringFormats = ['DD/MM/YY', 'ddd, DD', 'MMMM YYYY']\r\n\t\t\tbreak;\r\n\t\tcase 3:\r\n\t\t\tstringFormats = ['MMM, YY', 'MMM', 'YYYY']\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tmoment.locale(lang);\r\n\treturn moment.utc(date * 1000).format(stringFormats[title ? 2 : 1])\r\n\r\n\r\n};\r\n\r\nconst Graph = (props) => {\r\n\r\n\tconst [graphContainerWidth, setGraphContainerWidth] = useState(0);\r\n\tconst [domain, setDomain] = useState(null);\r\n\tconst [entireDomain, setEntireDomain] = useState(null);\r\n\tconst [grabbing, setGrabbing] = useState(false);\r\n\tconst [emptyData, setEmptyData] = useState(false);\r\n\r\n\tconst graphContainer = useRef(null);\r\n\r\n\tlet showCalendar = props.showCalendar;\r\n\tlet dataGraph = props.dataGraph;\r\n\tlet intervalGraph = props.intervalGraph;\r\n\tlet graphDateFrom = props.graphDateFrom;\r\n\tlet graphDateTo = props.graphDateTo;\r\n\tlet activeServicesPlus = props.activeServicesPlus;\r\n\r\n\tconst size = useWindowSize();\r\n\r\n\tconst setShowBlackScreen = props.setShowBlackScreen;\r\n\tconst setShowCalendar = props.setShowCalendar;\r\n\r\n\r\n\tuseEffect(() => { setShowBlackScreen(showCalendar) }, [setShowBlackScreen, showCalendar]);\r\n\r\n\tuseEffect(() => setGraphContainerWidth(graphContainer?.current?.getBoundingClientRect().width), [size, props.graphLoading]);\r\n\r\n\tuseEffect(() => setDomain(null), [intervalGraph, graphDateFrom, graphDateTo, activeServicesPlus]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst emptyDataGraph = dataGraph.filter(d => d?.value === 0);\r\n\t\tsetEmptyData(emptyDataGraph.length === dataGraph.length);\r\n\t\t// eslint-disable-next-line\r\n\t}, [dataGraph]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (dataGraph.length) {\r\n\t\t\tconst intervalX = [dataGraph[0]?.date_unix, _.last(dataGraph)?.date_unix];\r\n\t\t\tsetEntireDomain({ x: intervalX });\r\n\t\t\tif (!domain) {\r\n\t\t\t\tsetDomain({ x: [intervalX[1] - (intervalGraph === 1 ? (604800) : intervalGraph === 0 ? 86400 : intervalGraph === 2 ? (86400 * 30) : 31536000), intervalX[1]] });\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [dataGraph]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (domain) {\r\n\t\t\tconst intervalLeft = (domain.x[0] - entireDomain.x[0]) / (intervalGraph === 1 ? 604800 : intervalGraph === 0 ? 86400 : intervalGraph === 2 ? 86400 * 30 : 31536000);\r\n\t\t\tconst intervalRight = (entireDomain.x[1] - domain.x[1]) / (intervalGraph === 1 ? 604800 : intervalGraph === 0 ? 86400 : intervalGraph === 2 ? 86400 * 30 : 31536000);\r\n\t\t\tif (intervalLeft < 0.6 && props.enableScrollData) {\r\n\t\t\t\tprops.loadGraphAlwaysOnAsync(true, true);\r\n\t\t\t}\r\n\t\t\tif (intervalRight < 0.6 && props.enableScrollData && entireDomain.x[1] - moment().unix() <= 0) {\r\n\t\t\t\tprops.loadGraphAlwaysOnAsync(true, false);\r\n\t\t\t}\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [domain, props.enableScrollData]);\r\n\r\n\tconst getMax = (arr) => {\r\n\t\tarr = arr.filter(value => value?.value > 0 && value?.date_unix >= domain?.x[0] && value?.date_unix <= domain?.x[1])\r\n\t\t\t.map(value => value?.value)\r\n\t\t\t.reduce((a, b) => a.concat(b), []);\r\n\t\treturn _.mean(arr);\r\n\t}\r\n\r\n\tconst handleCalendar = (value) => {\r\n\t\tprops.setGraphDates(value);\r\n\t\tprops.loadGraphAlwaysOnAsync(false, true);\r\n\t\tsetShowBlackScreen(false);\r\n\t\tsetShowCalendar(false);\r\n\t}\r\n\r\n\tconst graphLoadingContainer = (loading, language) =>
\r\n\t\t\r\n\t\t\t{state => (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t
;\r\n\r\n\tconst RenderEmptyData = () => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\"empty_graph_energy\"\r\n\t\t\t\t
{props.language.energy_graph_title_empty_data}
\r\n\t\t\t\t
{props.language.energy_graph_description_empty_data}
\r\n\t\t\t
\r\n\t\t);\r\n\t};\r\n\r\n\tconst eventHandler = () => {\r\n\t\ttrack('Standby graphic scrolled', {Rank_ID: props.rankGraphIdAlwaysOn})\t\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{props.graphLoading ?
{graphLoadingContainer(props.graphLoading, props.language)}
:\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t { setShowCalendar(!showCalendar) }}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{capitalizedText(formatDateLabel(intervalGraph, domain, props.language.language_locale))}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
setGrabbing(true)} onMouseUp={() => setGrabbing(false)}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{emptyData === false && dataGraph.length ?\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t {\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetDomain({ x: domainZoom.x });\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}} />\r\n\t\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t\t item?.date_unix >= domain?.x[0] && item?.date_unix <= domain?.x[1])}\r\n\t\t\t\t\t\t\t\t\t\t\t\tbarRatio={10}\r\n\t\t\t\t\t\t\t\t\t\t\t\tbarWidth={intervalGraph === 1 ? 60 : intervalGraph === 3 ? 40 : 20}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabels={({ datum }) => datum?.value === 0 ? '' : datum?.value > 1000 ? `${((datum?.value) / 1000)?.toFixed(2)} kWh` : `${datum?.value} Wh`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabelComponent={ (datum?.value >= getMax(dataGraph) ? \"#161617\" : \"#FFF\"), fontSize: 10, fontFamily: \"Inter\", fontWeight: 600 }} angle={270} />}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcornerRadius={{ topLeft: 4, topRight: 4 }}\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ data: { fill: ({ datum }) => (datum?.value >= getMax(dataGraph) ? \"url(#linearRedOrangeGradient)\" : \"#323234\") } }}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t Math.round(x * 100) / 100}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttickLabelComponent={}>}\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ axis: { stroke: \"transparent\" }, grid: grid, tickLabels: tickLabelsY }} />\r\n\t\t\t\t\t\t\t\t\t\t\t item?.date_unix >= domain?.x[0] && item?.date_unix <= domain?.x[1]).map(item => item?.date_unix)} tickFormat={(x) => `${handlerFormatAxis(x, intervalGraph, props.language.language_locale)}`} style={{ tickLabels: tickLabelsX }} />\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
: }\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n\tshowCalendar: state.shared.showCalendar,\r\n\tlanguage: state.shared.language,\r\n\tdataGraph: state.plus.dataGraphAlwaysOn,\r\n\tintervalGraph: state.plus.intervalGraphAlwaysOn,\r\n\tenableScrollData: state.plus.enableScrollDataAlwaysOn,\r\n\tgraphDateFrom: state.plus.graphDateFromAlwaysOn,\r\n\tgraphDateTo: state.plus.graphDateToAlwaysOn,\r\n\tactiveServicesPlus: state.services.activeServicesPlus,\r\n\tgraphLoading: state.plus.loadingAlwaysOnModule,\r\n\trankGraphIdAlwaysOn: state.plus.rankGraphIdAlwaysOn\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\tsetShowBlackScreen: (payload) => dispatch(sharedActions.setShowBlackScreen(payload)),\r\n\tsetShowCalendar: (payload) => dispatch(sharedActions.setShowCalendar(payload)),\r\n\tloadGraphAlwaysOnAsync: (payload, type) => dispatch(plusActions.loadGraphAlwaysOnAsync(payload, type)),\r\n\tsetGraphDates: (payload) => dispatch(plusActions.setGraphDatesAlwaysOn(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Graph);","import React, { useEffect, useRef } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as plusActions from '../../../../store/actions/Plus';\r\n\r\nimport ContentLoader from \"react-content-loader\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst indicatorsLoading =
\r\n \r\n \r\n \r\n
;\r\n\r\nconst RenderWidgets = ({ item, language }) => {\r\n\r\n const hasHovered = useRef(false);\r\n\r\n const handleHover = () => {\r\n if (!hasHovered.current) {\r\n hasHovered.current = true;\r\n track('Standby widget hover', { Standby_Widget_ID: item?.title }); \r\n }\r\n };\r\n\r\n const handleLeave = () => {\r\n hasHovered.current = false;\r\n };\r\n\r\n return (\r\n \r\n

{language[item.title]}

\r\n

{item.value}

\r\n
\r\n {item.kpi && }\r\n

{item?.text_value}{language[item?.text]}

\r\n
\r\n );\r\n};\r\n\r\nconst Cards = (props) => {\r\n\r\n let activeServicesPlus = props.activeServicesPlus;\r\n let loadAlwaysOnIndicators = props.loadAlwaysOnIndicators;\r\n let alwaysOnIndicators = props.alwaysOnIndicators;\r\n\r\n useEffect(() => {\r\n const request = async () => await loadAlwaysOnIndicators();\r\n if (activeServicesPlus.length) request()\r\n }, [activeServicesPlus, loadAlwaysOnIndicators]);\r\n\r\n return (\r\n
\r\n {props.loadingAlwaysOnIndicators ?\r\n
\r\n {indicatorsLoading}\r\n
:\r\n alwaysOnIndicators.length &&\r\n alwaysOnIndicators.map((d, index) => (\r\n
\r\n \r\n
\r\n ))\r\n }\r\n
\r\n )\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n alwaysOnIndicators: state.plus.alwaysOnIndicators,\r\n loadingAlwaysOnIndicators: state.plus.loadingAlwaysOnIndicators,\r\n devices: state.plus.devices,\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n language: state.shared.language\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadAlwaysOnIndicators: () => dispatch(plusActions.loadAlwaysOnIndicators()),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cards)\r\n\r\n","import React, { useEffect } from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as servicesActions from '../../../../store/actions/Services';\r\nimport * as plusActions from '../../../../store/actions/Plus';\r\n\r\nimport Header from \"../../../shared/Header\";\r\nimport Graph from \"./graph/Graph\";\r\nimport Cards from \"./Cards\";\r\nimport ServicesPlus from \"../shared/ServicesContainer\";\r\n\r\nconst AlwaysOn = (props) => {\r\n\r\n let account = props.account;\r\n const loadServicesAsync = props.loadServicesAsync;\r\n let intervalGraphAlwaysOn = props.intervalGraphAlwaysOn;\r\n let activeServicesPlus = props.activeServicesPlus;\r\n const loadGraphAlwaysOnAsync = props.loadGraphAlwaysOnAsync;\r\n\r\n useEffect(() => {\r\n if (!props.activeServicesPlus?.length) {\r\n account && loadServicesAsync();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [account]);\r\n\r\n useEffect(() => {\r\n if (activeServicesPlus.length) {\r\n loadGraphAlwaysOnAsync();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [activeServicesPlus, intervalGraphAlwaysOn]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n account: state.accounts.account,\r\n language: state.shared.language,\r\n intervalGraphAlwaysOn: state.plus.intervalGraphAlwaysOn,\r\n loadingGraph: state.plus.loadingAlwaysOnModule,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n loadServicesAsync: () => dispatch(servicesActions.loadServicesAsync()),\r\n loadGraphAlwaysOnAsync: () => dispatch(plusActions.loadGraphAlwaysOnAsync()),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AlwaysOn);","import React, { useRef, useEffect, useState, Fragment } from \"react\";\r\nimport { Transition } from 'react-transition-group';\r\nimport { Loader } from 'rsuite';\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as plus from \"../../../../store/actions/Plus\";\r\nimport * as servicesActions from '../../../../store/actions/Services';\r\nimport * as themeActions from '../../../../store/actions/Theme';\r\n\r\nimport { VictoryChart, VictoryGroup, VictoryAxis, VictoryLine, VictoryArea, createContainer, VictoryLabel, Rect } from \"victory\";\r\n\r\nimport { useWindowSize } from \"../../../shared/utilities/useWindowSize\";\r\n\r\nimport { gradients } from \"../../../shared/svgs/GraphStyles\";\r\nimport empty_data_device from \"../../../../imgs/empty-data-device.svg\";\r\nimport empty_data_device_light from \"../../../../imgs/empty-data-device-light.svg\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nimport moment from \"moment\";\r\n\r\nimport 'moment/locale/es'\r\n\r\nimport _ from 'lodash';\r\n\r\nconst BouncingDotsLoader = (props) => {\r\n return (\r\n
\r\n {[0, 1, 2].map((_item, index) => (
))}\r\n
\r\n );\r\n};\r\n\r\n\r\nconst getInitPage = (timezone) => {\r\n const initPageByTime = new Date().toLocaleString(\"en-US\", { timeZone: timezone });\r\n return new Date(initPageByTime).getHours();\r\n}\r\n\r\n\r\nconst areaStyle = (variable, theme, line = false) => {\r\n switch (variable) {\r\n case 'active_power_':\r\n return (\r\n [\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearBlueLightTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--blue-500)\",\r\n strokeWidth: 2\r\n }\r\n },\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearBlueTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--blue-600)\",\r\n strokeWidth: 2,\r\n fillOpacity: 0.6\r\n }\r\n },\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearBlueDarkTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--blue-700)\",\r\n strokeWidth: 2,\r\n fillOpacity: 0.6\r\n }\r\n }\r\n ]);\r\n case 'rms_voltage_':\r\n return (\r\n [\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearGreenTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--brand-primary-500)\",\r\n strokeWidth: 2,\r\n }\r\n },\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearGreenLightTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--brand-primary-600)\",\r\n strokeWidth: 2,\r\n fillOpacity: 0.6\r\n }\r\n },\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearGreenDarkTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--brand-primary-700)\",\r\n strokeWidth: 2,\r\n fillOpacity: 0.6\r\n }\r\n },\r\n ]);\r\n case 'rms_current_':\r\n return (\r\n [\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearPurpleLightTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--purple-500)\",\r\n strokeWidth: 2,\r\n }\r\n },\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearPurpleTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--purple-600)\",\r\n strokeWidth: 2,\r\n fillOpacity: 0.6\r\n }\r\n },\r\n {\r\n data: {\r\n fill: line ? \"none\" : `url(#linearPurpleDarkTransparent25${theme !== 'dark' ? 'Light' : ''})`,\r\n stroke: \"var(--purple-700)\",\r\n strokeWidth: 2,\r\n fillOpacity: 0.6\r\n }\r\n },\r\n ]);\r\n default:\r\n return []\r\n\r\n }\r\n}\r\n\r\nconst variableName = graph => {\r\n switch (graph) {\r\n case 'active_power_':\r\n return \"Potencia (Watts)\";\r\n case 'rms_voltage_':\r\n return \"Voltaje (Volts)\";\r\n case 'rms_current_':\r\n return \"Corriente (Amps)\";\r\n default:\r\n return \"\";\r\n }\r\n}\r\n\r\nconst LoadingHistoryData = () =>\r\n
\r\n \r\n
;\r\n\r\nconst graphLoadingContainer = (loading, language, theme) =>
\r\n \r\n {state => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n
;\r\n\r\nconst VictoryZoomContainer = createContainer('zoom', 'voronoi');\r\n\r\nconst Graphs = (props) => {\r\n\r\n const { theme } = props;\r\n\r\n const graphContainer = useRef(null);\r\n\r\n const size = useWindowSize();\r\n\r\n const [graphContainerWidth, setGraphContainerWidth] = useState(0);\r\n const [graph_1, setGraph_1] = useState('active_power_');\r\n const [graph_2, setGraph_2] = useState('rms_voltage_');\r\n const [graph_3, setGraph_3] = useState('rms_current_');\r\n\r\n const [firstLine, setFirstLine] = useState(1);\r\n const [secondLine, setSecondLine] = useState(2);\r\n const [thirdLine, setThirdLine] = useState(3);\r\n\r\n const [typeLines, setTypeLines] = useState(false);\r\n\r\n const [day, setDay] = useState(0);\r\n\r\n const [data, setData] = useState([]);\r\n\r\n const [domain, setDomain] = useState(null);\r\n const [entireDomain, setEntireDomain] = useState(null);\r\n const [showStreaming, setShowStreaming] = useState(true);\r\n const [zoomMinutes, setZoomMinutes] = useState(3);\r\n const [grabbing, setGrabbing] = useState(false);\r\n const [pointTooltip, setPointTooltip] = useState(null);\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n const [enableLoaderGraph, setEnableLoaderGraph] = useState(false);\r\n const [indexVariable, setIndexVariable] = useState(0);\r\n const [expandedVariable, setExpandedVariable] = useState(false);\r\n const [expandedLine, setExpandedLine] = useState(false);\r\n\r\n let dataGraph = props.dataGraph;\r\n const setTheme = props.setTheme;\r\n\r\n let deviceActive = props.devices.filter(value => value?.id_service === props.activeServicesPlus[0]?.idService)[0];\r\n\r\n useEffect(() => {\r\n if (expandedVariable) {\r\n if (graph_1 === 'active_power_') track('Quality variable clicked', { Quality_Variable_ID: 'active_power' });\r\n if (graph_1 === 'rms_voltage_') track('Quality variable clicked', { Quality_Variable_ID: 'rms_voltage' });\r\n if (graph_1 === 'rms_current_') track('Quality variable clicked', { Quality_Variable_ID: 'rms_current' });\r\n setExpandedVariable(false);\r\n }\r\n }, [graph_1, expandedVariable])\r\n\r\n useEffect(() => {\r\n if (expandedLine) {\r\n if (firstLine === 1) track('Quality variable clicked', { Quality_Variable_ID: 'line_1' });\r\n if (firstLine === 2) track('Quality variable clicked', { Quality_Variable_ID: 'line_2' });\r\n if (firstLine === 3) track('Quality variable clicked', { Quality_Variable_ID: 'line_3' });\r\n setExpandedLine(false);\r\n }\r\n }, [firstLine, expandedLine])\r\n\r\n useEffect(() => { setGraphContainerWidth(graphContainer.current.getBoundingClientRect().width) }, [size]);\r\n\r\n useEffect(() => {\r\n if (!props.devices.length) {\r\n props.loadDevices()\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.devices.length && props.activeServicesPlus.length && !props.loadingData) {\r\n setZoomMinutes(3);\r\n props.loadInitData(getInitPage(deviceActive?.timezone) + 1);\r\n setDomain(null);\r\n setShowStreaming(true);\r\n setEnableLoaderGraph(false);\r\n setIndexVariable(0);\r\n setFirstLine(1);\r\n setSecondLine(2);\r\n setThirdLine(3);\r\n setPointTooltip(null);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.devices, props.activeServicesPlus]);\r\n\r\n useEffect(() => {\r\n if (dataGraph?.length > 0) {\r\n const intervalX = [dataGraph[0].time, _.last(dataGraph).time];\r\n setEntireDomain({ x: intervalX });\r\n if (!domain) {\r\n setDomain({ x: [intervalX[1] - zoomMinutes * 60 * 1000 < intervalX[0] ? intervalX[0] : intervalX[1] - zoomMinutes * 60 * 1000, intervalX[1]] });\r\n }\r\n if (showStreaming && data.length) {\r\n setDomain({ x: [intervalX[1] - zoomMinutes * 60 * 1000 < intervalX[0] ? intervalX[0] : intervalX[1] - (zoomMinutes) * 60 * 1000, intervalX[1]] });\r\n }\r\n }\r\n else {\r\n setDomain(null);\r\n setShowStreaming(true);\r\n setData([]);\r\n setZoomMinutes(3);\r\n setIndexVariable(0);\r\n setFirstLine(1);\r\n setSecondLine(2);\r\n setThirdLine(3);\r\n setPointTooltip(null);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataGraph, showStreaming]);\r\n\r\n useEffect(() => {\r\n if (domain) {\r\n let filtered = dataGraph.filter(item => item.time >= domain.x[0] - 30000 && item?.time <= domain.x[1] + 30000);\r\n if (filtered.length > 240) {\r\n const k = Math.ceil(filtered.length / 240);\r\n filtered = filtered.filter((_d, i) => ((i % k) === 0));\r\n }\r\n setData(filtered);\r\n const dataGraphNoInit = props.dataGraphPage.filter(item => !item?.init);\r\n const firstAvailablePage = dataGraphNoInit.length ? dataGraphNoInit[0]?.page : getInitPage(deviceActive?.timezone);\r\n const intervalLeft = (domain.x[0] - entireDomain.x[0]) / 60000;\r\n const verifyPageLeft = props.dataGraphPage.filter(item => item?.page === firstAvailablePage - 1);\r\n if (intervalLeft <= 60 && !props.enableHistory && !verifyPageLeft.length) {\r\n props.loadHistoryData(handleBeforeDay(firstAvailablePage - 1), false);\r\n }\r\n if (props.dataGraphPage.length >= 3) {\r\n const lastAvailablePage = _.last(dataGraphNoInit)?.page;\r\n const lastValueX = _.last(props.dataGraphPage[props.dataGraphPage.length - 2]?.data)?.time;\r\n const intervalRight = (lastValueX - domain.x[1]) / 60000;\r\n const verifyPage = props.dataGraphPage.filter(item => item?.page === lastAvailablePage + 1);\r\n if (intervalRight <= 60 && !verifyPage.length && !props.enableHistory && lastAvailablePage + 1 !== _.last(props.dataGraphPage).page - 1) {\r\n props.loadHistoryData(handleAfterDay(lastAvailablePage + 1), false);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [domain, props.activeServicesPlus]);\r\n\r\n const handleBeforeDay = page => {\r\n if (page > 0) return { page: page, day: day, type: 0 }\r\n else {\r\n setDay(day + 1);\r\n return { page: 24, day: day + 1, type: 0 };\r\n }\r\n }\r\n\r\n const handleAfterDay = page => {\r\n if (page < 25) return { page: page, day: day, type: 1 }\r\n else {\r\n setDay(day - 1);\r\n return { page: 1, day: day - 1, type: 1 };\r\n }\r\n }\r\n\r\n const formatNumber = number => {\r\n if (number >= 1000) {\r\n number = (number / 1000).toFixed(2);\r\n return (`${number} k`)\r\n }\r\n else {\r\n return (`${(number).toFixed(2)} `);\r\n }\r\n }\r\n\r\n const handlerIndexVariable = (variable) => {\r\n if (variable === 'active_power_') setIndexVariable(0);\r\n if (variable === 'rms_voltage_') setIndexVariable(1);\r\n if (variable === 'rms_current_') setIndexVariable(2);\r\n }\r\n\r\n const handlerVariable = (variable) => {\r\n if (graph_2 === variable) {\r\n setGraph_2(graph_1);\r\n setGraph_1(variable);\r\n handlerIndexVariable(variable);\r\n }\r\n if (graph_3 === variable) {\r\n setGraph_3(graph_1);\r\n setGraph_1(variable);\r\n handlerIndexVariable(variable);\r\n }\r\n }\r\n\r\n const Tooltip = ({ scale }) => {\r\n let x = pointTooltip ? scale?.x(pointTooltip?.time) : 150;\r\n let y_1 = pointTooltip ? scale?.y(pointTooltip[`${graph_1}${typeLines ? firstLine : 1}`]) : 50;\r\n let y_2 = pointTooltip ? scale?.y(pointTooltip[`${graph_1}${typeLines ? firstLine : 2}`]) : 50;\r\n let y_3 = pointTooltip && deviceActive?.phases === 3 ? scale.y(pointTooltip[`${graph_1}${typeLines ? firstLine : 3}`]) : 50;\r\n let y_value = pointTooltip ? pointTooltip._y : 0;\r\n let y_value_1 = pointTooltip ? pointTooltip[`${graph_1}1`] : 0;\r\n let y_value_2 = pointTooltip ? pointTooltip[`${graph_1}2`] : 0;\r\n let y_value_3 = pointTooltip && deviceActive?.phases === 3 ? pointTooltip[`${graph_1}3`] : 0;\r\n let x_value = pointTooltip ? moment.utc(pointTooltip?.time).format('HH:mm:ss') : '00:00';\r\n const unit = graph_1 === 'active_power_' ? 'W' : graph_1 === 'rms_voltage_' ? 'V' : 'A';\r\n return (\r\n \r\n {pointTooltip ?\r\n \r\n \r\n \r\n \r\n {!typeLines ?\r\n \r\n \r\n {deviceActive?.phases === 3 ? : null}\r\n : null\r\n }\r\n {/* */}\r\n {typeLines ?\r\n \r\n \r\n \r\n \r\n \r\n {x_value}\r\n \r\n : null}\r\n {typeLines ? {`${formatNumber(y_value)}${unit}`} :\r\n \r\n {x_value}\r\n Línea 1: {`${formatNumber(y_value_1)}${unit}`}\r\n Línea 2: {`${formatNumber(y_value_2)}${unit}`}\r\n {deviceActive?.phases === 3 ? Línea 3: {`${formatNumber(y_value_3)}${unit}`} : null}\r\n }\r\n : null}\r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n {gradients(theme)}\r\n
\r\n {!props.loadingData && data.length ? \r\n
\r\n
\r\n

setTypeLines(!typeLines)} style={{width: 100}} className={`${!typeLines ? \"content-default-tertiary\" : \"button-fill-brand rounded-pill txt-black\"} text-center label-medium-regular pe-pointer mt-0 ${theme} py-2 px-3`}>{props.language.quality_graph_lines}

\r\n

setTypeLines(!typeLines)} style={{width: 100}} className={`${typeLines ? \"content-default-tertiary\" : \"button-fill-brand rounded-pill txt-black\"} text-center label-medium-regular pe-pointer py-2 px-3 mt-0 ${theme}`}>{props.language.quality_graph_variables}

\r\n
\r\n {/*
\r\n

{props.language.quality_graph_lines}

\r\n { setTypeLines(!typeLines); }} />\r\n

{props.language.quality_graph_variables}

\r\n
*/}\r\n {\r\n typeLines && dataGraph.length &&\r\n
\r\n
{ setIndexVariable(0); handlerVariable('active_power_'); track('Quality variable selected', { Quality_Variable_ID: 'active_power' }); }}>\r\n
{props.language.quality_graph_power}
\r\n
\r\n
{ setIndexVariable(1); handlerVariable('rms_voltage_'); track('Quality variable selected', { Quality_Variable_ID: 'rms_voltage' }); }}>\r\n
{props.language.quality_graph_voltage}
\r\n
\r\n
{ setIndexVariable(2); handlerVariable('rms_current_'); track('Quality variable selected', { Quality_Variable_ID: 'rms_current' }); }}>\r\n
{props.language.quality_graph_electricity}
\r\n
\r\n {/*
*/}\r\n
\r\n }\r\n
: null}\r\n
\r\n
\r\n {\r\n props.loadingData ?\r\n
{graphLoadingContainer(props.loadingData, props.language, theme)}
:\r\n data.length ?\r\n \r\n

{typeLines ? `${variableName(graph_1)}-Línea ${firstLine}` : `${variableName(graph_1)}`}

\r\n
setGrabbing(true)} onMouseUp={() => setGrabbing(false)} onMouseEnter={() => setShowTooltip(true)} onMouseLeave={() => setShowTooltip(false)} >\r\n {\r\n setDomain({ x: domainZoom.x });\r\n if (domain.x[1] === entireDomain.x[1]) setShowStreaming(true);\r\n else setShowStreaming(false);\r\n setEnableLoaderGraph(true);\r\n }}\r\n activateData={false}\r\n onActivated={(point => setPointTooltip(point[0]))}\r\n />}\r\n >\r\n {typeLines ?\r\n \r\n \r\n :\r\n \r\n \r\n \r\n {deviceActive?.phases === 2 ? null :\r\n \r\n }\r\n \r\n }\r\n }>} \r\n style={{ \r\n axis: { stroke: \"transparent\" }, \r\n grid: {\r\n fill: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", \r\n stroke: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", \r\n pointerEvents: \"painted\",\r\n strokeWidth: 1,\r\n opacity: 0.2 }, \r\n tickLabels: {fill: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", fontFamily: 'Inter', fontSize: 10}\r\n }} />\r\n {showTooltip ? : null}\r\n \r\n {(props.enableHistory && domain?.x[0] === entireDomain?.x[0] && enableLoaderGraph) ? : null}\r\n
\r\n
\r\n

{typeLines ? `${variableName(graph_1)}-Línea ${secondLine}` : `${variableName(graph_2)}`}

\r\n
\r\n
setGrabbing(true)} onMouseUp={() => setGrabbing(false)} onMouseEnter={() => setShowTooltip(true)} onMouseLeave={() => setShowTooltip(false)}>\r\n
\r\n {\r\n setDomain({ x: domainZoom.x });\r\n if (domain.x[1] === entireDomain.x[1]) setShowStreaming(true);\r\n else setShowStreaming(false);\r\n setEnableLoaderGraph(true);\r\n }}\r\n //onActivated={enableTag? null : (point => setPointTooltip(point[0]))} \r\n />}\r\n >\r\n {typeLines ?\r\n \r\n \r\n :\r\n \r\n \r\n \r\n {deviceActive?.phases === 2 ? null :\r\n }\r\n }\r\n `${t}`}\r\n tickLabelComponent={\r\n }>\r\n }\r\n style={{ \r\n axis: { stroke: \"transparent\" }, \r\n grid: {\r\n fill: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", \r\n stroke: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", \r\n pointerEvents: \"painted\",\r\n strokeWidth: 1,\r\n opacity: 0.2 }, \r\n tickLabels: {fill: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", fontFamily: 'Inter', fontSize: 10}\r\n }} />\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {deviceActive?.phases === 2 && typeLines ? null :\r\n \r\n
\r\n

{typeLines ? `${variableName(graph_1)}-Línea ${thirdLine}` : `${variableName(graph_3)}`}

\r\n
\r\n
setGrabbing(true)} onMouseUp={() => setGrabbing(false)} onMouseEnter={() => setShowTooltip(true)} onMouseLeave={() => setShowTooltip(false)}>\r\n
\r\n {\r\n setDomain({ x: domainZoom.x });\r\n if (domain.x[1] === entireDomain.x[1]) setShowStreaming(true);\r\n else setShowStreaming(false);\r\n setEnableLoaderGraph(true);\r\n }}\r\n //onActivated={enableTag? null : (point => setPointTooltip(point[0]))} \r\n />}\r\n >\r\n {typeLines ?\r\n \r\n \r\n :\r\n \r\n \r\n \r\n {deviceActive?.phases === 2 ? null :\r\n }\r\n }\r\n }>} \r\n style={{ \r\n axis: { stroke: \"transparent\" }, \r\n grid: {\r\n fill: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", \r\n stroke: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", \r\n pointerEvents: \"painted\",\r\n strokeWidth: 1,\r\n opacity: 0.2 }, \r\n tickLabels: {fill: theme === 'dark' ? \"var(--white)\" : \"var(--black)\", fontFamily: 'Inter', fontSize: 10}\r\n }} />\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
}\r\n
\r\n

{moment.utc(domain?.x[0]).format('HH:mm:ss')}

\r\n

{moment.utc((domain?.x[0] + domain?.x[1]) / 2).format('HH:mm:ss')}

\r\n

{moment.utc(domain?.x[1]).format('HH:mm:ss')}

\r\n
\r\n
:\r\n
\r\n \"empty_data_device\"\r\n

{props.language.plus_graph_text_empty_data_device}

\r\n

{props.language.plus_graph_text_last_connection}{props.lastConection}

\r\n {/* {\r\n setDay(props.lastDay);\r\n //setPage(props.lastPage);\r\n await props.loadHistoryData({ page: props.lastPage, day: props.lastDay, type: 0 }, true);\r\n }}>\r\n {props.language.plus_graph_button_show_last_records_device}\r\n */}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n )\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n dataGraph: state.plus.dataGraph,\r\n loadingData: state.plus.loadingInitData,\r\n enableHistory: state.plus.enableHistory,\r\n dataGraphPage: state.plus.dataGraphPage,\r\n graphContinerWidth: ownProps.graphContinerWidth,\r\n devices: state.plus.devices,\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n language: state.shared.language,\r\n lastConection: state.plus.lastConection,\r\n lastDay: state.plus.lastDay,\r\n lastPage: state.plus.lastPage,\r\n account: state.accounts.account,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadInitData: page => dispatch(plus.loadInitData(page)),\r\n loadHistoryData: (page, loading) => dispatch(plus.loadHistoryData(page, loading)),\r\n setEnableHistory: payload => dispatch(plus.setEnableHistory(payload)),\r\n loadDevices: () => dispatch(plus.loadDevices()),\r\n resetData: () => dispatch(plus.resetData()),\r\n loadServicesAsync: () => dispatch(servicesActions.loadServicesAsync()),\r\n setTheme: payload => dispatch(themeActions.setTheme(payload)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Graphs)","import React, { useEffect, useState } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as plusActions from '../../../../store/actions/Plus';\r\n\r\nimport _ from 'lodash';\r\n\r\nimport moment from \"moment\";\r\n\r\nimport ContentLoader from \"react-content-loader\";\r\n\r\nconst indicatorsLoading =
\r\n \r\n \r\n \r\n
;\r\n\r\nconst RenderWidgets = ({ item }) => {\r\n return (\r\n
\r\n

{item.tile}

\r\n

{item.value}

\r\n

{item.text}

\r\n
);\r\n};\r\n\r\nconst Cards = (props) => {\r\n\r\n const [data, setData] = useState([]);\r\n let qualityIndicators = props.qualityIndicators\r\n let devices = props.devices;\r\n let activeServicesPlus = props.activeServicesPlus;\r\n let loadQualityIndicators = props.loadQualityIndicators;\r\n\r\n useEffect(() => {\r\n const request = async () => await loadQualityIndicators();\r\n if (devices.length && activeServicesPlus.length) request()\r\n }, [devices, activeServicesPlus, loadQualityIndicators]);\r\n\r\n useEffect(() => {\r\n if (qualityIndicators) {\r\n const itemMax = _.maxBy(qualityIndicators?.max, d => d?.value)\r\n const itemMin = _.minBy(qualityIndicators?.min, d => d?.value)\r\n const metaData = [\r\n {\r\n id: 1,\r\n tile: 'Máximo Voltaje Hoy',\r\n value: `${itemMax?.value?.toFixed(1)} V`,\r\n text: `Registrado a las ${moment.utc(itemMax?.timestamp).format('HH:mm:ss')} en la Línea ${itemMax?.line}`,\r\n color: 'blue-green'\r\n },\r\n // {\r\n // id: 2,\r\n // tile: 'Voltaje nominal (Regulación)',\r\n // value: '110 V',\r\n // text: 'Límite máx: 121V | mín: 99V',\r\n // color: 'red-orange'\r\n // },\r\n {\r\n id: 3,\r\n tile: 'Mínimo Voltaje Hoy',\r\n value: `${itemMin?.value?.toFixed(1)} V`,\r\n text: `Registrado a las ${moment.utc(itemMin?.timestamp).format('HH:mm:ss')} en la Línea ${itemMin?.line}`,\r\n color: 'blue-green'\r\n }\r\n ];\r\n setData(metaData);\r\n }\r\n\r\n }, [qualityIndicators])\r\n\r\n return (\r\n
\r\n {\r\n props.loadingQualityIndicators ?\r\n
\r\n {indicatorsLoading}\r\n
:\r\n data.length ?\r\n data.map((d, index) => (\r\n
\r\n \r\n
\r\n )) : null\r\n }\r\n
\r\n )\r\n};\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n qualityIndicators: state.plus.qualityIndicators,\r\n loadingQualityIndicators: state.plus.loadingQualityIndicators,\r\n devices: state.plus.devices,\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadQualityIndicators: () => dispatch(plusActions.loadQualityIndicators()),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Cards)\r\n","import React, { Fragment } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { VictoryChart, VictoryPolarAxis, VictoryLabel, VictoryStack, VictoryBar } from 'victory';\r\n\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\n\r\nimport _ from 'lodash';\r\n\r\nimport empty_modules_plus from \"../../../../imgs/empty-modules-plus.svg\";\r\nimport empty_modules_plus_light from \"../../../../imgs/empty-modules-plus-light.svg\";\r\n\r\nimport ContentLoader from \"react-content-loader\";\r\n\r\nimport { track } from \"@amplitude/analytics-browser\";\r\n\r\nconst RenderCardEmpty = ({ language, theme }) => {\r\n return (\r\n
\r\n { theme === 'dark' ?\r\n \"empty_radar_data\" :\r\n \"empty_radar_data\" \r\n }\r\n
\r\n {language.plus_graph_title_empty_data}\r\n
\r\n
\r\n )\r\n};\r\n\r\nconst IndicatorsLoading = props => {\r\n const {theme} = props;\r\n return (\r\n
\r\n \r\n \r\n \r\n
)\r\n };\r\n\r\nconst PowerFactor = (props) => {\r\n\r\n const { theme } = props;\r\n let deviceActive = props.activeServicesPlus.length ? props.devices.filter(value => value?.id_service === props.activeServicesPlus[0]?.idService) : [];\r\n\r\n return (\r\n \r\n {\r\n props.loadingData ?\r\n
:\r\n !props.dataGraph.length || !('power_factor_1' in _.last(props.dataGraph)) ?\r\n
\r\n

{props.language.power_factor_title}

\r\n track('Quality widget ll clicked')}>\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n track('Quality widget ll clicked')} >\r\n \r\n
\r\n :\r\n
\r\n
\r\n
\r\n

{props.language.power_factor_title}

\r\n
\r\n track('Quality widget ll clicked')} >\r\n \r\n
\r\n track('Quality widget ll clicked')} >\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {(deviceActive[0]?.phases === 2 ? [1, 2] : [1, 2, 3]).map((item) =>\r\n \r\n
\r\n

{`${props.language.power_factor_label_phase} ${item}`}

\r\n
\r\n
\r\n \r\n datum.tick < _.last(props.dataGraph)[`power_factor_${item}`] * 100 ? \r\n (theme === 'dark' ? \"var(--gray-800)\" : \"var(--gray-200)\") : \r\n _.last(props.dataGraph)[`power_factor_${item}`] >= 0.92 ? \"url(#green)\" : _.last(props.dataGraph)[`power_factor_${item}`] >= 0.8 ? (theme === 'dark' ? \"var(--orange-500)\" : \"var(--orange-600)\") : \"url(#red)\", \r\n strokeWidth: (datum) => datum.tick < _.last(props.dataGraph)[`power_factor_${item}`] * 100 ? 3 : 1, \r\n strokeOpacity: 1,\r\n strokeDasharray: (datum) => datum.tick >= 100 ? \"4,4\" : null\r\n }\r\n }}\r\n />\r\n \r\n = 0.92 ? \"url(#green)\" : _.last(props.dataGraph)[`power_factor_${item}`] >= 0.8 ? (theme === 'dark' ? \"var(--orange-500)\" : \"var(--orange-600)\") : \"url(#red)\", strokeWidth: 2, width: 360, opacity: _.last(props.dataGraph)[`power_factor_${item}`] >= 0.7 ? 0.9 : 0.9 } }}\r\n >\r\n \r\n \r\n = 0.8 ? 16 : 14, fill: _.last(props.dataGraph)[`power_factor_${item}`] >= 0.92 ? \"url(#green)\" : _.last(props.dataGraph)[`power_factor_${item}`] >= 0.8 ? (theme === 'dark' ? \"var(--orange-500)\" : \"var(--orange-600)\") : \"url(#red)\", fontWeight: \"bold\"}}\r\n text={(_.last(props.dataGraph)[`power_factor_${item}`] ).toFixed(3) + \"\"}\r\n />\r\n \r\n
\r\n
\r\n {_.last(props.dataGraph)[`power_factor_${item}`] >= 0.92 ?\r\n props.language.power_factor_label_optime_range :\r\n _.last(props.dataGraph)[`power_factor_${item}`] >= 0.8 ?\r\n props.language.power_factor_label_reactive_range :\r\n props.language.power_factor_label_deficient_range\r\n }\r\n
\r\n
)}\r\n \r\n
\r\n \r\n \r\n }\r\n \r\n )\r\n\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n dataGraph: state.plus.dataGraph,\r\n loadingData: state.plus.loadingInitData,\r\n language: state.shared.language,\r\n devices: state.plus.devices,\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n theme: state.theme.theme,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PowerFactor);","import React, { useEffect } from \"react\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as servicesActions from '../../../../store/actions/Services';\r\nimport * as plusActions from '../../../../store/actions/Plus';\r\n\r\nimport Header from \"../../../shared/Header\";\r\nimport Graphs from \"./Graphs\";\r\nimport Cards from \"./Cards\";\r\nimport PowerFactor from \"./PowerFactor\";\r\nimport Radar from \"../modules/Radar\";\r\nimport ServicesPlus from \"../shared/ServicesContainer\";\r\n\r\nconst QualityEnergy = (props) => {\r\n const { theme } = props;\r\n let account = props.account;\r\n const loadServicesAsync = props.loadServicesAsync;\r\n const setOpenQualityEnergy = props.setOpenQualityEnergy; \r\n\r\n useEffect(() => {\r\n if (!props.activeServicesPlus.length) {\r\n account && loadServicesAsync();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [account]);\r\n\r\n useEffect(() => {\r\n if (props.dataGraph.length) {\r\n props.resetData();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.activeServicesPlus, account]);\r\n\r\n useEffect(() => { setOpenQualityEnergy(true) }, [setOpenQualityEnergy]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {/* */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n activeServicesPlus: state.services.activeServicesPlus,\r\n dataGraph: state.plus.dataGraph,\r\n account: state.accounts.account,\r\n language: state.shared.language,\r\n theme: state.theme.theme,\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n loadServicesAsync: () => dispatch(servicesActions.loadServicesAsync()),\r\n setOpenQualityEnergy: (payload) => dispatch(plusActions.setOpenQualityEnergy(payload)),\r\n resetData: () => dispatch(plusActions.resetData()),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(QualityEnergy);","import React, { useRef, useEffect } from 'react'\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as energyActions from '../../store/actions/Energy';\r\nimport * as servicesActions from '../../store/actions/Services';\r\nimport * as sharedActions from '../../store/actions/Shared';\r\nimport * as invoicesActions from '../../store/actions/Invoices';\r\nimport * as accountsActions from '../../store/actions/Accounts';\r\n\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport Header from \"../shared/Header\";\r\n\r\nimport useTour from '../onboarding/hook/useTour';\r\nimport { stepsDashboard } from '../onboarding/steps/DashboardSteps';\r\n\r\nimport { themes } from '../../utils/enums';\r\n\r\nconst Dashboard = (props) => {\r\n\r\n let user = props.user;\r\n let account = props.account;\r\n let activeServicesEnergy = props.activeServicesEnergy;\r\n let startDashboardOnboarding = props.startDashboardOnboarding;\r\n let totalAccounts = props.totalAccounts;\r\n let screenPaddingBottom = props.screenPaddingBottom;\r\n let theme = props.theme;\r\n\r\n const loadDetailService = props.loadDetailService;\r\n const loadServicesAsync = props.loadServicesAsync;\r\n const setActiveServicesEnergy = props.setActiveServicesEnergy;\r\n const setActiveServicePreonboarding = props.setActiveServicePreonboarding; \r\n const setShowBlackScreen = props.setShowBlackScreen;\r\n const setStartOnboarding = props.setStartOnboarding;\r\n const setAccount = props.setAccount;\r\n const setFilterStatus = props.setFilterStatus;\r\n\r\n const history = useHistory();\r\n\r\n const frameEfficiency = useRef(null);\r\n\r\n const handleFirstTourFinish = () => {\r\n setStartOnboarding({ key: 'dashboard', value: true })\r\n };\r\n\r\n const tour = useTour({ steps: stepsDashboard(props.language), localStorageKey: \"main-tutorial\", isOpenDrawer: null, onTourFinish: handleFirstTourFinish });\r\n\r\n useEffect(() => {\r\n if (!activeServicesEnergy?.filter((item) => item?.idAccount === account?.idAccount).length) {\r\n account && loadServicesAsync()\r\n }\r\n // eslint-disable-next-line\r\n }, [account, loadServicesAsync])\r\n\r\n useEffect(() => {\r\n if (activeServicesEnergy.length) {\r\n setActiveServicesEnergy([])\r\n }\r\n }, [setActiveServicesEnergy, activeServicesEnergy])\r\n\r\n useEffect(() => {\r\n\r\n let window = frameEfficiency.current.contentWindow;\r\n\r\n window.postMessage(JSON.stringify({\r\n screenPaddingBottom\r\n }\r\n ), process.env.REACT_APP_DASHBOARD_HOST);\r\n\r\n }, [screenPaddingBottom])\r\n\r\n useEffect(() => {\r\n\r\n let window = frameEfficiency.current.contentWindow;\r\n\r\n window.postMessage(JSON.stringify({\r\n theme\r\n }\r\n ), process.env.REACT_APP_DASHBOARD_HOST);\r\n\r\n }, [theme])\r\n\r\n useEffect(() => {\r\n\r\n const userId = user?.idUser\r\n\r\n if (userId !== null) {\r\n\r\n frameEfficiency.current.addEventListener('load', () => {\r\n\r\n let window = frameEfficiency.current.contentWindow;\r\n\r\n let token = localStorage.getItem('token');\r\n\r\n setTimeout(() => {\r\n window.postMessage(JSON.stringify({\r\n token: token,\r\n user: { idUser: userId, capabilities: user?.capabilities },\r\n screenPaddingBottom,\r\n theme\r\n }\r\n ), process.env.REACT_APP_DASHBOARD_HOST);\r\n }, [100]);\r\n\r\n });\r\n };\r\n\r\n if (startDashboardOnboarding) {\r\n\r\n let window = frameEfficiency.current.contentWindow;\r\n\r\n window.postMessage(JSON.stringify({\r\n onboarding: startDashboardOnboarding\r\n }\r\n ), process.env.REACT_APP_DASHBOARD_HOST);\r\n\r\n setShowBlackScreen(true);\r\n }\r\n // eslint-disable-next-line\r\n }, [user.idUser, startDashboardOnboarding]);\r\n\r\n //iframe listener\r\n useEffect(() => {\r\n\r\n window.addEventListener('message', handleMessageFromIframe);\r\n\r\n return () => {\r\n window.removeEventListener('message', handleMessageFromIframe);\r\n };\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const handleMessageFromIframe = (event) => {\r\n if (event.origin === process.env.REACT_APP_DASHBOARD_HOST) {\r\n const data = event.data; \r\n switch (data.type) {\r\n case 'Installation':\r\n history.push('pre-onboarding');\r\n setActiveServicePreonboarding(data);\r\n break\r\n case 'Generation':\r\n case 'Consumption':\r\n history.push({\r\n pathname: 'home/detail',\r\n state: { data }\r\n });\r\n loadDetailService(data)\r\n break\r\n case 'consolidate_invoices_no_debt':\r\n case 'consolidate_invoices_overdue':\r\n case 'consolidate_invoices_last_period': \r\n setFilterStatus(data?.statusInvoice);\r\n history.push({\r\n pathname: 'invoices',\r\n state: { data }\r\n }); \r\n setAccount((totalAccounts.find(a => a.idAccount === parseInt(data?.idAccount)))); \r\n break\r\n case 'plus':\r\n history.push({\r\n pathname: 'plus',\r\n state: { data }\r\n });\r\n loadDetailService(data)\r\n break\r\n default:\r\n break\r\n }\r\n\r\n if (data?.skippedOnboarding) { \r\n setStartOnboarding({ key: 'walktrough', value: true })\r\n }\r\n\r\n if (data?.finishedOnboarding) {\r\n setShowBlackScreen(false);\r\n setStartOnboarding({ key: 'dashboard', value: false })\r\n }\r\n\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {tour}\r\n \r\n \r\n
\r\n );\r\n\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.users.user,\r\n activeServicesEnergy: state.services.activeServicesEnergy,\r\n account: state.accounts.account,\r\n language: state.shared.language,\r\n startDashboardOnboarding: state.shared.startOnboarding.dashboard,\r\n showBlackScreen: state.shared.showBlackScreen,\r\n totalAccounts: state.accounts.totalAccounts,\r\n totalServices: state.services.totalServices,\r\n screenPaddingBottom: state.shared.screenPaddingBottom,\r\n theme: state.theme.theme\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n loadDetailService: (payload) => dispatch(energyActions.loadDetailService(payload)),\r\n setActiveServicePreonboarding: (payload) => dispatch(servicesActions.setActiveServicePreonboarding(payload)),\r\n setActiveServicesEnergy: (payload) => dispatch(servicesActions.setActiveServicesEnergy(payload)),\r\n loadServicesAsync: (payload) => dispatch(servicesActions.loadServicesAsync(payload)),\r\n setShowBlackScreen: (payload) => dispatch(sharedActions.setShowBlackScreen(payload)),\r\n setStartOnboarding: (payload) => dispatch(sharedActions.setStartOnboarding(payload)),\r\n setAccount: (payload) => dispatch(accountsActions.setAccount(payload)),\r\n setFilterStatus: (payload) => dispatch(invoicesActions.setFilterStatus(payload)),\r\n setActiveServicesPlus: (payload) => dispatch(servicesActions.setActiveServicesPlus(payload)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Dashboard)","import React from \"react\"\r\n\r\nimport logoNeu from \"../../../imgs/logo-neu-white.svg\"\r\nimport logoErco from \"../../../imgs/logo-erco.svg\"\r\nimport AnimatedComponent from \"../utils/AnimatedComponent\"\r\nimport WalletCard from \"../../shared/WalletCard\"\r\n\r\nconst notifications = [\r\n {\r\n id_register: 1,\r\n title: \"Explora el detalle de tu consumo de energía\",\r\n body: \"Ingresa a nuestra plataforma y descubre el detalle de tu consumo de energía.\",\r\n icon: \"faCircleInfo\",\r\n color: \"#00b7d3\",\r\n timestamp: \"2023-11-07T15:33:24.444373+00:00\",\r\n read: false,\r\n },\r\n {\r\n id_register: 2,\r\n title: \"Tu consumo de energía ha disminuido\",\r\n body: \"Identificamos una disminución de 12.11% en tu consumo de energía la semana pasada. ¡Revísalo aquí!\",\r\n icon: \"faShieldCheck\",\r\n color: \"#cefc34\",\r\n timestamp: \"2023-10-07T15:33:24.444373+00:00\",\r\n read: false,\r\n },\r\n {\r\n id_register: 3,\r\n title: \"No Data de NEU+\",\r\n body: \"Tu NEU+ no esta enviando datos, revisa la última conexión.\",\r\n icon: \"faCircleMinus\",\r\n color: \"#FD5D5D\",\r\n timestamp: \"2023-10-07T15:33:24.444373+00:00\",\r\n read: false,\r\n },\r\n {\r\n id_register: 4,\r\n title: \"Tu consumo de energía está en alza\",\r\n body: \"El viernes consumiste 10% más que la semana anterior.\",\r\n icon: \"faTriangleExclamation\",\r\n color: \"#ffaa00\",\r\n timestamp: \"2023-10-07T15:33:24.444373+00:00\",\r\n read: false,\r\n },\r\n]\r\n\r\nconst services = [\r\n { title: \"Home\", icon: \"energy\" },\r\n { title: \"Plus\", icon: \"plus\" },\r\n { title: \"Genius\", icon: \"genius\" },\r\n { title: \"Efficiency\", icon: \"efficiency\" },\r\n]\r\n\r\nexport const stepsDashboard = (language) => {\r\n return ([\r\n {\r\n content: (\r\n
\r\n \"logo-erco\"\r\n \"logo-neu-energy\"\r\n
\r\n ),\r\n title: language.onboarding_dashboard_title_step1,\r\n description: language.onboarding_dashboard_description_step1,\r\n placement: \"center\",\r\n target: \"#navigate_dashboard\",\r\n disableBeacon: true,\r\n steps: 11,\r\n },\r\n {\r\n content: (\r\n
\r\n
\r\n {[\"energy\", \"generation\", \"efficiency\", \"plus\", \"genius\"].map(logo => (\r\n \r\n ))}\r\n
\r\n
\r\n ),\r\n title: language.onboarding_dashboard_title_step2,\r\n description: language.onboarding_dashboard_description_step2,\r\n placement: \"right\",\r\n target: \"#navigate_modules\",\r\n floaterProps: {\r\n disableAnimation: true,\r\n },\r\n disableBeacon: true,\r\n steps: 11,\r\n },\r\n {\r\n content: (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ),\r\n title: language.onboarding_dashboard_title_step3,\r\n description: language.onboarding_dashboard_description_step3,\r\n placement: \"right\",\r\n target: \"#navigate_modules\",\r\n floaterProps: {\r\n disableAnimation: true,\r\n },\r\n disableBeacon: true,\r\n steps: 11,\r\n },\r\n {\r\n content: (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {language.support_emergency_button}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{language.dashboard_steps_power_outages}

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

{language.dashboard_steps_short_circuit}

\r\n
\r\n
\r\n
\r\n
\r\n ),\r\n title: language.onboarding_dashboard_title_step4,\r\n description: language.onboarding_dashboard_description_step4,\r\n placement: \"auto\",\r\n target: \"#navigate_emergency\",\r\n floaterProps: {\r\n disableAnimation: true,\r\n },\r\n disableBeacon: true,\r\n steps: 11,\r\n },\r\n {\r\n content: (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {language.dashboard_steps_support}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{language.dashboard_steps_billing_problems}

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

{language.dashboard_steps_payment_methods}

\r\n
\r\n
\r\n
\r\n
\r\n ),\r\n title: language.onboarding_dashboard_title_step5,\r\n description: language.onboarding_dashboard_description_step5,\r\n placement: \"auto\", \r\n target: \"#navigate_support\",\r\n floaterProps: {\r\n disableAnimation: true,\r\n },\r\n disableBeacon: true,\r\n steps: 11,\r\n },\r\n {\r\n content: (\r\n
\r\n \r\n
\r\n ),\r\n title: language.onboarding_dashboard_title_step6,\r\n description: language.onboarding_dashboard_description_step6, \r\n placement: \"auto\", \r\n target: \"#navigate_notification\",\r\n floaterProps: {\r\n disableAnimation: true,\r\n },\r\n disableBeacon: true,\r\n steps: 11,\r\n },\r\n {\r\n content: (\r\n
\r\n \r\n
\r\n ),\r\n title: language.onboarding_dashboard_title_step7,\r\n description: language.onboarding_dashboard_description_step7,\r\n placement: \"bottom\", \r\n target: \"#navigate_neugets\",\r\n floaterProps: {\r\n disableAnimation: true,\r\n },\r\n disableBeacon: true,\r\n steps: 11,\r\n },\r\n ])\r\n}\r\n","import React, { useRef, useEffect } from 'react'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport Header from \"../shared/Header\";\r\nimport { themes } from '../../utils/enums';\r\n\r\nconst Preonboarding = (props) => {\r\n\r\n let history = useHistory();\r\n\r\n let user = props.user;\r\n let activeServicePreonboarding = props.activeServicePreonboarding;\r\n let theme = props.theme;\r\n\r\n const framePreonboarding = useRef(null);\r\n\r\n useEffect(() => {\r\n\r\n const userId = user?.idUser\r\n\r\n if (userId !== null && activeServicePreonboarding !== null) {\r\n\r\n framePreonboarding.current.addEventListener('load', () => {\r\n\r\n let window = framePreonboarding.current.contentWindow;\r\n\r\n let token = localStorage.getItem('token');\r\n\r\n setTimeout(() => {\r\n window.postMessage(JSON.stringify({\r\n token: token,\r\n user: { idUser: userId },\r\n service: activeServicePreonboarding.idService,\r\n theme\r\n }), process.env.REACT_APP_PREONBOARDING_HOST)\r\n }, [100]);\r\n\r\n });\r\n } else {\r\n history.push('/home');\r\n }\r\n // eslint-disable-next-line\r\n }, [user.idUser, activeServicePreonboarding]);\r\n\r\n useEffect(() => {\r\n\r\n let window = framePreonboarding.current.contentWindow;\r\n\r\n window.postMessage(JSON.stringify({\r\n theme\r\n }), process.env.REACT_APP_PREONBOARDING_HOST);\r\n\r\n }, [theme])\r\n\r\n //iframe listener\r\n useEffect(() => {\r\n\r\n window.addEventListener('message', handleMessageFromIframe);\r\n\r\n return () => {\r\n window.removeEventListener('message', handleMessageFromIframe);\r\n };\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const handleMessageFromIframe = (event) => {\r\n if (event.origin === process.env.REACT_APP_PREONBOARDING_HOST) {\r\n if (event.data.action === 'navigate') {\r\n history.push(event.data.path);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
);\r\n\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.users.user,\r\n language: state.shared.language,\r\n activeServicePreonboarding: state.services.activeServicePreonboarding,\r\n theme: state.theme.theme\r\n});\r\n\r\nexport default connect(mapStateToProps)(Preonboarding)\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faChevronRight } from \"@fortawesome/pro-light-svg-icons\";\r\n\r\nimport ercoComputer from '../../imgs/erco-computer.png';\r\nimport ercoGeneration from '../../imgs/erco-generation.png';\r\nimport ercoEfficiency from '../../imgs/erco-efficiency.png';\r\nimport ercoScreen from '../../imgs/erco-screen.png';\r\n\r\nimport handWithPhone from '../../imgs/hand-with-phone.png';\r\nimport consumptionInfo from '../../imgs/consumption-info.png';\r\nimport energyReceipt from '../../imgs/energy-receipt.png';\r\n//import realTimeConsumption from '../../imgs/real-time-consumption.png';\r\n\r\nimport steps from '../../imgs/steps.png';\r\nimport leftChat from '../../imgs/left-chat.png';\r\nimport rightChat from '../../imgs/right-chat.png';\r\n\r\nconst getData = (section, showInvoices, language) => {\r\n\r\n const onboardingGeneration = [\r\n {\r\n title: language.onboarding_generation_title1, \r\n text: language.onboarding_generation_text1, \r\n imgPath: ercoComputer,\r\n classImageContainer: 'column-center align-items-end'\r\n }, \r\n {\r\n title: language.onboarding_generation_title2, \r\n text: language.onboarding_generation_text2, \r\n imgPath: ercoGeneration,\r\n classImage: 'w-100',\r\n classImageContainer: 'column-center align-items-end'\r\n },\r\n {\r\n title: language.onboarding_generation_title3, \r\n text: language.onboarding_generation_text3, \r\n imgPath: ercoEfficiency,\r\n classImage: 'w-100',\r\n classImageContainer: 'column-center align-items-center'\r\n },\r\n {\r\n title: language.onboarding_generation_title4, \r\n text: language.onboarding_generation_text4, \r\n imgPath: ercoScreen,\r\n classImage: 'w-100',\r\n classImageContainer: 'column-center align-items-end'\r\n }\r\n ];\r\n\r\n const onboardingPreonboarding = [\r\n {\r\n title: language.onboarding_preonboarding_title1, \r\n text: language.onboarding_preonboarding_text1, \r\n imgPath: steps,\r\n classImageContainer: 'column-center align-items-center'\r\n }, \r\n {\r\n title: language.onboarding_preonboarding_title2, \r\n text: language.onboarding_preonboarding_text2, \r\n imgPath: leftChat,\r\n classImageContainer: 'column-center align-items-end'\r\n },\r\n {\r\n title: language.onboarding_preonboarding_title3, \r\n text: language.onboarding_preonboarding_text3, \r\n imgPath: rightChat,\r\n classImageContainer: 'column-center align-items-start'\r\n }\r\n ];\r\n\r\n const nextStepsInfoConsumption = [\r\n {\r\n title: language.onboarding_consumption_title1, \r\n text: language.onboarding_consumption_text1, \r\n imgPath: handWithPhone,\r\n classImage: 'max-height-400',\r\n classImageContainer: 'column-center align-items-start'\r\n }, \r\n {\r\n title: language.onboarding_consumption_title2, \r\n text: language.onboarding_consumption_text2, \r\n imgPath: consumptionInfo,\r\n classImage: 'w-100',\r\n classImageContainer: 'column-center align-items-center'\r\n },\r\n {\r\n title: language.onboarding_consumption_title3, \r\n text: language.onboarding_consumption_text3, \r\n imgPath: energyReceipt,\r\n classImage: 'w-100',\r\n classImageContainer: 'column-center align-items-end'\r\n },\r\n {\r\n title: language.onboarding_consumption_title4, \r\n text: language.onboarding_consumption_text4,\r\n classImageContainer: 'column-center align-items-center'\r\n }\r\n ];\r\n\r\n switch (section) {\r\n case 'home':\r\n return showInvoices ? nextStepsInfoConsumption : onboardingGeneration;\r\n case 'pre-onboarding':\r\n return onboardingPreonboarding;\r\n default:\r\n return [];\r\n }\r\n\r\n}\r\n\r\nconst onboardingSections = [\r\n 'home',\r\n 'preonboarding'\r\n]\r\n\r\nconst OnboardingModal = (props) => {\r\n\r\n const location = useLocation();\r\n\r\n let showBetaMessage = props.showBetaMessage;\r\n let user = props.user;\r\n\r\n const [currentView, setCurrentView] = useState(0);\r\n const [isShowing, setIsShowing] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [section, setSection] = useState(null);\r\n\r\n const handleContinueClick = () => {\r\n \r\n if (currentView < data.length - 1) {\r\n\r\n setCurrentView(currentView + 1);\r\n\r\n } else {\r\n\r\n setIsShowing(false);\r\n\r\n localStorage.setItem(`show_onboarding_${section}`, false);\r\n\r\n }\r\n\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (onboardingSections.includes(section)) {\r\n\r\n const showSection = localStorage.getItem(`show_onboarding_${section}`);\r\n\r\n if ((showSection === null || showSection === 'true') && user.capabilities?.show_onboarding_modals) {\r\n \r\n setData(getData(section, user.capabilities?.show_section_invoices, props.language));\r\n setIsShowing(true);\r\n \r\n };\r\n\r\n }\r\n // eslint-disable-next-line\r\n }, [section, user.capabilities]);\r\n\r\n useEffect(() => setSection(location.pathname.slice(1)), [location.pathname]);\r\n\r\n if (!isShowing || !data.length) {\r\n return null;\r\n }\r\n\r\n const isLastObject = currentView === data.length - 1;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {data[currentView].title}\r\n

\r\n

\r\n {data[currentView].text}\r\n

\r\n
\r\n {\r\n data.map((_, index) => (\r\n
\r\n ))\r\n }\r\n
\r\n
\r\n
\r\n {data[currentView].imgPath}\r\n
\r\n {\r\n showBetaMessage && (\r\n
\r\n

\r\n {props.language.onboarding_modal_description}\r\n

\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n { isLastObject ? props.language.onboarding_modal_finally : props.language.onboarding_modal_continue }\r\n
\r\n {\r\n !isLastObject && (\r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => ({\r\n showBetaMessage: ownProps.showBetaMessage,\r\n language: state.shared.language,\r\n user: state.users.user\r\n});\r\n\r\nexport default connect(mapStateToProps)(OnboardingModal);\r\n","import React from 'react';\r\n\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst RateNumber = ({ max, score, onChange }) => {\r\n\r\n let elements = Array.from({length: max}, (e, i)=> i);\r\n\r\n return(\r\n
\r\n {elements.map((item, i) => \r\n
\r\n onChange(item + 1)}/>\r\n
{item + 1}
\r\n
)}\r\n
\r\n )\r\n}\r\n\r\nexport default RateNumber","import React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as sharedActions from '../../store/actions/Shared';\r\n\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport RateNumber from '../shared/utilities/RateNumber';\r\n\r\nconst PopUpScore = (props) => {\r\n\r\n const initValue = {\r\n qualify: 8,\r\n comment: '',\r\n specific_reason: '',\r\n channel: 0 \r\n }\r\n\r\n const maxCount = 200;\r\n\r\n const [charCounter, setCharCounter] = useState(0); \r\n const [surveyValue, setSurveyValue] = useState(initValue); \r\n const [score, setScore] = useState(0); \r\n const [firstSend, setFirstSend] = useState(false);\r\n const [service, setService] = useState(0); \r\n \r\n const handleSend = () => { \r\n if (firstSend) {\r\n if(surveyValue.qualify < 7) props.setNpsSurveyAsync({...surveyValue, type: service, label: false});\r\n if(surveyValue.qualify >= 7) props.setNpsSurveyAsync({...surveyValue, type: service, label: true});\r\n toast.dismiss()\r\n } else {\r\n setFirstSend(true)\r\n } \r\n }\r\n\r\n const inputHandler = (e) => {\r\n if (charCounter <= maxCount) {\r\n setCharCounter(e.target.value.length); \r\n }\r\n setSurveyValue({...surveyValue, comment: e.target.value})\r\n }; \r\n \r\n const inputHandlerSpecific = (e) => {\r\n if (charCounter <= maxCount) {\r\n setCharCounter(e.target.value.length); \r\n }\r\n setSurveyValue({...surveyValue, specific_reason: e.target.value})\r\n };\r\n \r\n return (\r\n
\r\n {!firstSend && (\r\n
\r\n
{props.language.shared_survey_nps_title}
\r\n
{props.language.shared_survey_nps_text_question}
\r\n
\r\n {\r\n setSurveyValue({...surveyValue, qualify: value})\r\n setScore(value)\r\n }}/>\r\n
\r\n
{props.language.shared_survey_nps_text_comment}
\r\n
\r\n
\r\n
\r\n

{charCounter}/200

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