mirror of
https://github.com/muerwre/markdown-home-tab.git
synced 2025-04-25 08:56:41 +07:00
added simple modal dialog
This commit is contained in:
parent
2d11fef559
commit
3f81f6d3b3
12 changed files with 157 additions and 7 deletions
29
src/modules/settings/providers/SettingsProvider/index.tsx
Normal file
29
src/modules/settings/providers/SettingsProvider/index.tsx
Normal file
|
@ -0,0 +1,29 @@
|
|||
import { FC, PropsWithChildren, useCallback, useState } from "react";
|
||||
import { Modal } from "~/modules/modal/containers/Modal";
|
||||
import { SettingsContainer } from "../../containers/SettingsContainer";
|
||||
import {
|
||||
SettingsContext,
|
||||
defaultSettings,
|
||||
} from "../../context/SettingsContext";
|
||||
|
||||
const SettingsProvider: FC<PropsWithChildren> = ({ children }) => {
|
||||
const [settings, setSettings] = useState(defaultSettings);
|
||||
const [settingsModalVisible, setSettingsModalVisible] = useState(false);
|
||||
|
||||
const show = useCallback(() => setSettingsModalVisible(true), []);
|
||||
const hide = useCallback(() => setSettingsModalVisible(false), []);
|
||||
|
||||
return (
|
||||
<SettingsContext.Provider value={{ settings, setSettings, show, hide }}>
|
||||
{settingsModalVisible && (
|
||||
<Modal onClose={hide}>
|
||||
<SettingsContainer />
|
||||
</Modal>
|
||||
)}
|
||||
|
||||
{children}
|
||||
</SettingsContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
export { SettingsProvider };
|
Loading…
Add table
Add a link
Reference in a new issue