import { CircularProgress, Dialog, DialogContent, DialogContentText, } from "@mui/material"; import React, { type PropsWithChildren } from "react"; interface LoadingMessageContext { show: (message: string) => void; hide: () => void; } const LoadingMessageContextK = React.createContext(null); export function LoadingMessageProvider( p: PropsWithChildren ): React.ReactElement { const [open, setOpen] = React.useState(0); const [message, setMessage] = React.useState(""); const hook: LoadingMessageContext = { show(message) { setMessage(message); setOpen((v) => v + 1); }, hide() { setOpen((v) => v - 1); }, }; return ( <> {p.children} 0}>
{message}
); } export function useLoadingMessage(): LoadingMessageContext { return React.use(LoadingMessageContextK)!; }