import React from 'react'; type PopConfirmContext = { haveHeader: boolean; haveContent: boolean; addElement(type: 'Header' | 'Content'): void; }; const defaultValue: PopConfirmContext = { haveHeader: false, haveContent: false, addElement() {} }; const PopConfirmContext = React.createContext(defaultValue); export const PopConfirmProvider = ({ children }: { children?: React.ReactNode; }) => { const [state, setState] = React.useState>(defaultValue); const addElement = React.useCallback((type: 'Header' | 'Content') => { setState((prev) => { if (type === 'Header' && !prev.haveHeader) { return { ...prev, haveHeader: true }; } if (type === 'Content' && !prev.haveContent) { return { ...prev, haveContent: true }; } return prev; }); }, []); return ( {children} ); }; export const usePopConfirm = () => React.useContext(PopConfirmContext);