AutorÃa | Ultima modificación | Ver Log |
import React, { useMemo } from 'react';import { useAlert, useApi } from '@shared/hooks';import { parseHelperToSelect } from '@shared/utils';import { saveGroupPrivacy } from '@groups/services';import { Form, FormButton, FormSelect } from '@shared/components';export function PrivacyForm({ privacies, privacy, uuid, onSubmit }) {const privaciesOptions = useMemo(() => parseHelperToSelect(privacies), [privacies]);const privacyId = useMemo(() => privaciesOptions.find((value) => value.label === privacy)?.value || '',[privaciesOptions, privacy]);const { showError, showSuccess } = useAlert();const { execute } = useApi(saveGroupPrivacy, {onSuccess: (data) => {onSubmit(data);showSuccess('Privacidad actualizada correctamente');},onError: (error) => {showError(error.message);}});const handleSubmit = (data) => {execute(uuid, data);};return (<Form onSubmit={handleSubmit} defaultValues={{ privacy: privacyId }}><FormSelectname='privacy'placeholder='Privacidad'rules={{ required: 'Por favor eliga una privacidad' }}options={privaciesOptions}/><FormButton type='submit'>Guardar</FormButton></Form>);}