AutorÃa | Ultima modificación | Ver Log |
import React, { createContext, useEffect, useState } from 'react';import { useAlert, useApi } from '@shared/hooks';import { getGroup, saveGroupAccessibility } from '@groups/services';export const EditGroupContext = createContext();export function EditGroupProvider({ uuid, children }) {const [group, setGroup] = useState(null);const { showError } = useAlert();const { data, loading } = useApi(getGroup, {autoFetch: true,autoFetchArgs: [uuid],onError: (error) => {showError(error.message);}});const { execute: updateAccessibility } = useApi(saveGroupAccessibility, {onSuccess: (data) => {setGroup((prev) => ({ ...prev, accessibility: data }));},onError: (error) => {showError(error.message);}});useEffect(() => {if (!group) return;if (group.privacy === 'Privado' && group.accessibility !== 'aa') {updateAccessibility(uuid, { accessibility: 'aa' });}}, [group?.privacy]);useEffect(() => {if (data) setGroup(data);}, [data]);return (<EditGroupContext.Provider value={{ group, loading, setGroup }}>{children}</EditGroupContext.Provider>);}