Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3387 Rev 3694
Línea 1... Línea 1...
1
import React, { useEffect, useRef, useState } from 'react'
1
import React, { useEffect, useRef, useState } from 'react';
2
import { useDispatch } from 'react-redux'
2
import { useDispatch } from 'react-redux';
3
import { Backdrop, IconButton } from '@mui/material'
3
import { Backdrop, IconButton } from '@mui/material';
4
import { Close } from '@mui/icons-material'
4
import Close from '@mui/icons-material/Close';
5
 
5
 
6
import { useHabitsUrls } from '@hooks'
6
import { useHabitsUrls } from '@hooks';
7
import { useDailyLogCategories } from './use-daily-log-categories'
7
import { useDailyLogCategories } from './use-daily-log-categories';
8
import { savePreferences } from '@services/habits/daily-log'
8
import { savePreferences } from '@services/habits/daily-log';
9
import { addNotification } from '@store/notification/notification.actions'
9
import { addNotification } from '@store/notification/notification.actions';
10
 
10
 
11
import Widget from '@components/UI/Widget'
11
import Widget from '@components/UI/Widget';
12
import DailyLogForm from './daily-log-form'
12
import DailyLogForm from './daily-log-form';
13
import DailyMediaContent from './daily-media-content'
13
import DailyMediaContent from './daily-media-content';
Línea 14... Línea 14...
14
 
14
 
15
export default function DailyLog() {
15
export default function DailyLog() {
16
  const [show, setShow] = useState(false)
16
  const [show, setShow] = useState(false);
17
  const [dailyMediaContent, setDailyMediaContent] = useState(null)
17
  const [dailyMediaContent, setDailyMediaContent] = useState(null);
18
  const mediaRef = useRef(null)
18
  const mediaRef = useRef(null);
Línea 19... Línea 19...
19
  const dispatch = useDispatch()
19
  const dispatch = useDispatch();
20
 
20
 
Línea 21... Línea -...
21
  const { selectEmoji, categories } = useDailyLogCategories()
-
 
22
  const { links } = useHabitsUrls()
21
  const { selectEmoji, categories } = useDailyLogCategories();
Línea 23... Línea 22...
23
 
22
  const { links } = useHabitsUrls();
24
  const allCategoriesSelected =
23
 
25
    categories.length && categories.every((cat) => cat.selected)
24
  const allCategoriesSelected = categories.length && categories.every((cat) => cat.selected);
26
 
-
 
27
  const saveDailyLog = async (log) => {
-
 
28
    try {
-
 
Línea 29... Línea 25...
29
      const mediaResponse = await savePreferences(
25
 
30
        links.link_aspect_daily_log,
26
  const saveDailyLog = async (log) => {
31
        log
27
    try {
32
      )
28
      const mediaResponse = await savePreferences(links.link_aspect_daily_log, log);
33
 
29
 
Línea 34... Línea 30...
34
      mediaResponse.link ? setDailyMediaContent(mediaResponse) : setShow(false)
30
      mediaResponse.link ? setDailyMediaContent(mediaResponse) : setShow(false);
35
    } catch (error) {
31
    } catch (error) {
36
      dispatch(addNotification({ style: 'danger', msg: error.message }))
32
      dispatch(addNotification({ style: 'danger', msg: error.message }));
Línea 37... Línea 33...
37
    }
33
    }
38
  }
34
  };
39
 
35
 
Línea 40... Línea 36...
40
  useEffect(() => {
36
  useEffect(() => {
41
    if (!allCategoriesSelected) setShow(true)
37
    if (!allCategoriesSelected) setShow(true);
42
  }, [allCategoriesSelected])
38
  }, [allCategoriesSelected]);
43
 
39
 
Línea 63... Línea 59...
63
              type={dailyMediaContent.type}
59
              type={dailyMediaContent.type}
64
              mediaUrl={dailyMediaContent.link}
60
              mediaUrl={dailyMediaContent.link}
65
              ref={mediaRef}
61
              ref={mediaRef}
66
            />
62
            />
67
          ) : (
63
          ) : (
68
            <DailyLogForm
-
 
69
              categories={categories}
-
 
70
              onSelect={selectEmoji}
-
 
71
              onSubmit={saveDailyLog}
64
            <DailyLogForm categories={categories} onSelect={selectEmoji} onSubmit={saveDailyLog} />
72
            />
-
 
73
          )}
65
          )}
74
        </Widget.Body>
66
        </Widget.Body>
75
      </Widget>
67
      </Widget>
76
    </Backdrop>
68
    </Backdrop>
77
  )
69
  );
78
}
70
}