Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3719 | Rev 3738 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3719 Rev 3736
Línea 1... Línea 1...
1
import React, { useEffect } from 'react';
1
import React from 'react';
2
import { useParams } from 'react-router-dom';
2
import { useContext } from 'react';
-
 
3
 
-
 
4
import { EditGroupContext } from '@groups/contexts';
Línea 3... Línea -...
3
 
-
 
4
import { useFetch } from '@hooks';
-
 
5
import { axios } from '@utils';
5
 
-
 
6
import { Spinner } from '@shared/components';
6
import { Spinner } from '@shared/components';
7
import {
7
import GroupActions from '@groups/components/sections-cards/group-actions/GroupActions';
8
  GroupCard,
-
 
9
  Overview,
8
import Overview from '@components/overview/Overview';
10
  Type,
9
import Type from '@groups/components/sections-cards/type/Type';
11
  Privacy,
10
import Industry from '@groups/components/sections-cards/industry/Industry';
12
  Industry,
11
import Accessibility from '@groups/components/sections-cards/accessibility/Accessibility';
13
  Accessibility,
12
import Website from '@groups/components/sections-cards/website/Website';
14
  Website
Línea 13... Línea 15...
13
import Privacy from '@groups/components/sections-cards/privacy/Privacy';
15
} from '@groups/components';
14
 
-
 
15
const GroupEditPage = () => {
16
 
Línea 16... Línea -...
16
  const { uuid } = useParams();
-
 
17
  const { data, isLoading, mutate, refetch } = useFetch(`/group/my-groups/edit/${uuid}`);
-
 
18
 
-
 
19
  const updateData = (key, value) => {
-
 
20
    mutate({ ...data, [key]: value });
-
 
21
  };
-
 
22
 
-
 
23
  const updateAccessibility = async () => {
-
 
24
    const url = `/group/my-groups/accessibility/${uuid}`;
-
 
25
    const accessibilityData = new FormData();
-
 
26
    accessibilityData.append('accessibility', 'aa');
-
 
27
 
-
 
28
    const response = await axios.post(url, accessibilityData);
-
 
29
 
-
 
30
    const { data, success } = response.data;
-
 
31
    if (success) return data;
-
 
32
  };
-
 
33
 
-
 
34
  useEffect(() => {
-
 
35
    if (data.privacy === 'Privado' && data.accessibility !== 'aa') {
-
 
36
      updateAccessibility().then((accessibility) => updateData('accessibility', accessibility));
-
 
37
    }
-
 
38
  }, [data.privacy]);
17
const GroupEditPage = () => {
39
 
-
 
Línea 40... Línea 18...
40
  if (isLoading) {
18
  const { group, loading, setGroup } = useContext(EditGroupContext);
41
    return <Spinner />;
19
 
42
  }
20
  if (loading || !group) return <Spinner />;
Línea 43... Línea -...
43
 
-
 
44
  return (
-
 
45
    <>
-
 
46
      <GroupActions {...data} refetch={refetch} edit />
21
 
47
 
-
 
48
      <Overview
-
 
Línea 49... Línea 22...
49
        id={uuid}
22
  return (
50
        overview={data?.overview}
23
    <>
51
        onEdit={(newOverview) => updateData('overview', newOverview)}
24
      <GroupCard uuid={group.group_uuid} group={group} updateGroup={setGroup} edit />
52
        edit
25
 
53
      />
26
      <Overview id={group.group_uuid} overview={group.overview} updateGroup={setGroup} edit />
54
 
27
 
55
      <Type
28
      <Type
Línea 56... Línea 29...
56
        groupId={uuid}
29
        uuid={group.group_uuid}
57
        type={data?.group_type}
30
        type={group.group_type}
58
        types={data?.types}
31
        types={group.types}
59
        onEdit={(newType) => updateData('type', newType)}
32
        updateGroup={setGroup}
60
        edit
33
        edit
61
      />
34
      />
62
 
35
 
Línea 63... Línea 36...
63
      <Industry
36
      <Industry
64
        groupId={uuid}
37
        uuid={group.group_uuid}
65
        industry={data?.industry}
38
        industry={group.industry}
66
        industries={data?.industries}
39
        industries={group.industries}
67
        onEdit={(newIndustry) => updateData('industry', newIndustry)}
40
        updateGroup={setGroup}
68
        edit
41
        edit
69
      />
42
      />
Línea 70... Línea 43...
70
 
43
 
71
      <Privacy
44
      <Privacy
72
        groupId={uuid}
45
        uuid={group.group_uuid}
73
        privacy={data?.privacy}
46
        privacy={group.privacy}
74
        privacies={data?.privacies}
47
        privacies={group.privacies}
75
        onEdit={(newPrivacy) => updateData('privacy', newPrivacy)}
48
        updateGroup={setGroup}
76
        edit
49
        edit
77
      />
50
      />
Línea 78... Línea -...
78
 
-
 
79
      <Accessibility
-
 
80
        groupId={uuid}
-
 
81
        accessibility={data?.accessibility}
51
 
82
        accessibilities={data?.accessibilities}
-
 
83
        privacy={data?.privacy}
-
 
84
        onEdit={(newAccessibility) => updateData('accessibility', newAccessibility)}
52
      <Accessibility
85
        edit
53
        uuid={group.group_uuid}
86
      />
54
        accessibility={group.accessibility}
Línea 87... Línea 55...
87
 
55
        accessibilities={group.accessibilities}