Remove payments API routing initialization
[ProtonMail-WebClient.git] / packages / components / containers / modals / Provider.tsx
blob896f4e2e6e4dbb4c03d68901a44220c043e67e2b
1 import type { ReactNode } from 'react';
2 import { useMemo, useState } from 'react';
4 import { ModalPositionsProvider } from '../../components/modalTwo/modalPositions';
5 import ModalsChildrenContext from './childrenContext';
6 import type { Modal } from './interface';
7 import createManager from './manager';
8 import ModalsContext from './modalsContext';
10 interface Props {
11     children: ReactNode;
14 const ModalsProvider = ({ children }: Props) => {
15     const [modals, setModals] = useState<Modal[]>([]);
17     const manager = useMemo(() => {
18         return { ...createManager(modals, setModals), modals };
19     }, [modals, setModals]);
21     return (
22         <ModalPositionsProvider>
23             <ModalsContext.Provider value={manager}>
24                 <ModalsChildrenContext.Provider value={modals}>{children}</ModalsChildrenContext.Provider>
25             </ModalsContext.Provider>
26         </ModalPositionsProvider>
27     );
30 export default ModalsProvider;