Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3112 Rev 3114
Línea 1... Línea 1...
1
import { useContext, useEffect } from 'react'
1
import { useCallback } from 'react'
2
import { HabitsContext } from '@app/providers/habits'
-
 
3
import { useFetch } from '../useFetch'
2
import { useFetch } from '../useFetch'
Línea 4... Línea 3...
4
 
3
 
-
 
4
export function useHabits({ url }) {
5
export function useHabits({ url }) {
5
  const {
6
  const { data: values, isLoading: loading } = useFetch(url)
6
    data: { items: habits, link_add, total },
-
 
7
    isLoading: loading,
-
 
8
    mutate
Línea -... Línea 9...
-
 
9
  } = useFetch(url)
7
  const habitsState = useContext(HabitsContext)
10
 
-
 
11
  const addHabit = useCallback(
8
 
12
    (newHabit) => {
-
 
13
      const newHabits = [...habits, newHabit]
9
  useEffect(() => {
14
      mutate(newHabits)
-
 
15
    },
Línea -... Línea 16...
-
 
16
    [habits, mutate]
-
 
17
  )
-
 
18
 
-
 
19
  const deleteHabit = useCallback(
-
 
20
    (habitId) => {
-
 
21
      const newHabits = habits.filter((habit) => habit.id !== habitId)
-
 
22
      mutate(newHabits)
-
 
23
    },
-
 
24
    [habits, mutate]
-
 
25
  )
10
    console.log(values)
26
 
-
 
27
  const updateHabit = useCallback(
-
 
28
    (updatedHabit) => {
-
 
29
      const newHabits = habits.map((habit) =>
-
 
30
        habit.id === updatedHabit.id ? updatedHabit : habit
-
 
31
      )
-
 
32
      mutate(newHabits)
-
 
33
    },
-
 
34
    [habits, mutate]
-
 
35
  )
-
 
36
 
-
 
37
  return {
-
 
38
    loading,
-
 
39
    habits,
-
 
40
    addUrl: link_add,
-
 
41
    total,
-
 
42
    addHabit,
11
  }, [values])
43
    deleteHabit,