Autoría | Ultima modificación | Ver Log |
import { useMemo } from 'react';import { api } from '@api';import { useApi, useAlert } from '@shared/hooks';import { updateBasicSettings } from '@account-settings/services';import { parseHelperToSelect } from '@shared/utils';const getTimezones = async () => {return await api.get('/helpers/timezones');};const getBasicSettings = async () => {return await api.get('/account-settings/basic');};export function useBasicSettings() {const { showSuccess, showError } = useAlert();const { data: timezones, loading: loadingTimezones } = useApi(getTimezones, {autoFetch: true});const { data: formValues, loading: loadingFormValues } = useApi(getBasicSettings, {autoFetch: true});const timezonesOptions = useMemo(() => parseHelperToSelect(timezones), [timezones]);const { execute: executeUpdate } = useApi(updateBasicSettings, {onSuccess: (message) => {showSuccess(message);},onError: (error) => {showError(error.message || 'Error al actualizar la información');}});const updateSettings = async (data) => {const parsedData = {...data,is_adult: data.is_adult ? 'y' : 'n'};await executeUpdate(parsedData);};return {formValues: formValues? {...formValues,is_adult: formValues.is_adult === 'y'}: null,timezones: timezonesOptions,loading: loadingTimezones || loadingFormValues,updateSettings};}