Rev 3358 | Rev 3365 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { createContext, useEffect } from 'react'import { useFetch } from '@hooks'export const HabitsUrlsContext = createContext()export default function HabitsUrlsProvider({ children }) {const {data,isLoading: loading,mutate} = useFetch('/habits', {categories: [],emojis: []})const { categories, emojis, ...links } = datauseEffect(() => {if (!categories.length || !emojis.length) returnconst categoriesWithEmojis = categories.map((c) => ({ ...c, emojis }))mutate({ ...data, categories: categoriesWithEmojis })}, [loading])const selectEmoji = (categoryUuid, emojiCode) => {const newCategories = categories.map((category) => {if (category.uuid === categoryUuid) {const emojis = category.emojis.filter((e) => e.code === emojiCode)return { ...category, emojis }}return category})mutate({ ...data, categories: newCategories })}return (<HabitsUrlsContext.Providervalue={{loading,categories,links,selectEmoji}}>{children}</HabitsUrlsContext.Provider>)}