Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3367 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3367 Rev 3719
Línea 1... Línea 1...
1
import { useEffect, useState } from 'react'
1
import { useEffect, useState } from 'react';
2
 
2
 
3
import { useHabitsUrls } from '@hooks'
3
import { useHabitsUrls } from '@hooks';
4
 
4
 
5
export function useDailyLogCategories() {
5
export function useDailyLogCategories() {
6
  const [categories, setCategories] = useState([])
6
  const [categories, setCategories] = useState([]);
7
 
7
 
8
  const { categories: defaultCategories, emojis } = useHabitsUrls()
8
  const { categories: defaultCategories, emojis } = useHabitsUrls();
9
 
9
 
10
  const selectEmoji = (categoryUuid, emojiCode) => {
10
  const selectEmoji = (categoryUuid, emojiCode) => {
11
    const newCategories = categories.map((category) => {
11
    const newCategories = categories.map((category) => {
12
      if (category.uuid !== categoryUuid) return category
12
      if (category.uuid !== categoryUuid) return category;
13
 
13
 
14
      return {
14
      return {
15
        ...category,
15
        ...category,
16
        emojis: category.emojis.filter((e) => e.code === emojiCode)
16
        emojis: category.emojis.filter((e) => e.code === emojiCode)
17
      }
17
      };
18
    })
18
    });
19
 
19
 
20
    setCategories(newCategories)
20
    setCategories(newCategories);
21
  }
21
  };
22
 
22
 
23
  useEffect(() => {
23
  useEffect(() => {
24
    const categoriesWithEmojis = defaultCategories.map((c) => ({
24
    const categoriesWithEmojis = defaultCategories.map((c) => ({
25
      ...c,
25
      ...c,
26
      emojis
26
      emojis
27
    }))
27
    }));
28
    setCategories(categoriesWithEmojis)
28
    setCategories(categoriesWithEmojis);
29
  }, [defaultCategories, emojis])
29
  }, [defaultCategories, emojis]);
30
 
30
 
31
  return {
31
  return {
32
    categories,
32
    categories,
33
    selectEmoji
33
    selectEmoji
34
  }
34
  };
35
}
35
}