AutorÃa | Ultima modificación | Ver Log |
import React, { useMemo } from 'react';import { useApi, useAlert } from '@shared/hooks';import { saveGroupAccessibility } from '@groups/services';import { parseHelperToSelect } from '@shared/utils';import { Form, FormButton, FormSelect } from '@shared/components';export function AccessibilityForm({uuid = '',privacy,accessibility,accessibilities = {},onSubmit = () => {}}) {const accessibilitiesOptions = useMemo(() => {const options = parseHelperToSelect(accessibilities);return options.filter((acc) => (privacy === 'Privado' ? acc.value !== 'aj' : true));}, [accessibilities, privacy]);const currentAccessibility = useMemo(() => accessibilitiesOptions.find((acc) => acc.label === accessibility)?.value || '',[accessibilitiesOptions, accessibility]);const { showSuccess, showError } = useAlert();const { execute } = useApi(saveGroupAccessibility, {onSuccess: (data) => {showSuccess('Accesibilidad actualizada correctamente');onSubmit(data);},onError: (error) => {showError(error.message);}});const handleSubmit = (data) => {execute(uuid, data);};return (<Form onSubmit={handleSubmit} defaultValues={{ accessibility: currentAccessibility }}><FormSelectname='accessibility'placeholder='Accesibilidad'rules={{ required: 'Por favor eliga una accesibilidad' }}options={accessibilitiesOptions}/><FormButton type='submit'>Guardar</FormButton></Form>);}