Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3470 Rev 3719
Línea 1... Línea 1...
1
import React, { createContext, useCallback, useState } from 'react';
1
import React, { createContext, useCallback, useState } from 'react';
2
 
2
 
3
export const ModalContext = createContext({
3
export const ModalContext = createContext({
4
  show: false,
4
  show: false,
5
  title: '',
5
  title: '',
6
  content: '',
6
  content: '',
7
  showModal: () => {},
7
  showModal: () => {},
8
  closeModal: () => {}
8
  closeModal: () => {}
9
});
9
});
10
 
10
 
11
export function ModalProvider({ children }) {
11
export function ModalProvider({ children }) {
12
  const [show, setShow] = useState(false);
12
  const [show, setShow] = useState(false);
13
  const [title, setTitle] = useState('');
13
  const [title, setTitle] = useState('');
14
  const [content, setContent] = useState('');
14
  const [content, setContent] = useState('');
15
 
15
 
16
  const showModal = useCallback((title, content) => {
16
  const showModal = useCallback((title, content) => {
17
    setTitle(title);
17
    setTitle(title);
18
    setContent(content);
18
    setContent(content);
19
    setShow(true);
19
    setShow(true);
20
  }, []);
20
  }, []);
21
 
21
 
22
  const closeModal = useCallback(() => {
22
  const closeModal = useCallback(() => {
23
    setTitle('');
23
    setTitle('');
24
    setContent('');
24
    setContent('');
25
    setShow(false);
25
    setShow(false);
26
  }, []);
26
  }, []);
27
 
27
 
28
  return (
28
  return (
29
    <ModalContext.Provider
29
    <ModalContext.Provider
30
      value={{
30
      value={{
31
        show,
31
        show,
32
        title,
32
        title,
33
        content,
33
        content,
34
        showModal,
34
        showModal,
35
        closeModal
35
        closeModal
36
      }}
36
      }}
37
    >
37
    >
38
      {children}
38
      {children}
39
    </ModalContext.Provider>
39
    </ModalContext.Provider>
40
  );
40
  );
41
}
41
}