Rev 3682 | Rev 3688 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect } from 'react';import { useParams } from 'react-router-dom';import { useFetch } from '@hooks';import { axios } from '@utils';import { Spinner } from '@shared/components';import GroupActions from '@groups/components/group-actions/GroupActions';import Overview from '@components/overview/Overview';import Type from '@groups/components/type/Type';import Industry from '@groups/components/industry/Industry';import Privacy from '@pages/account-settings/privacy';import Accessibility from '@groups/components/accessibility/Accessibility';import Website from '@groups/components/website/Website';const GroupEditPage = () => {const { uuid } = useParams();const { data, isLoading, mutate, refetch } = useFetch(`/group/my-groups/edit/${uuid}`);const updateData = (key, value) => {mutate({ ...data, [key]: value });};const updateAccessibility = async () => {const url = `/group/my-groups/accessibility/${uuid}`;const accessibilityData = new FormData();accessibilityData.append('accessibility', 'aa');const response = await axios.post(url, accessibilityData);const { data, success } = response.data;if (success) return data;};useEffect(() => {if (data.privacy === 'Privado' && data.accessibility !== 'aa') {updateAccessibility().then((accessibility) => updateData('accessibility', accessibility));}}, [data.privacy]);if (isLoading) {return <Spinner />;}return (<><GroupActions {...data} refetch={refetch} edit /><Overviewid={uuid}overview={data?.overview}onEdit={(newOverview) => updateData('overview', newOverview)}edit/><TypegroupId={uuid}type={data?.group_type}types={data?.types}onEdit={(newType) => updateData('type', newType)}edit/><IndustrygroupId={uuid}industry={data?.industry}industries={data?.industries}onEdit={(newIndustry) => updateData('industry', newIndustry)}edit/><PrivacygroupId={uuid}privacy={data?.privacy}privacies={data?.privacies}onEdit={(newPrivacy) => updateData('privacy', newPrivacy)}edit/><AccessibilitygroupId={uuid}accessibility={data?.accessibility}accessibilities={data?.accessibilities}privacy={data?.privacy}onEdit={(newAccessibility) => updateData('accessibility', newAccessibility)}edit/><WebsitegroupId={uuid}website={data?.website}onEdit={(newWebsite) => updateData('website', newWebsite)}edit/></>);};export default GroupEditPage;