MCPcopy Create free account
hub / github.com/LevelUpWeb3/app / MessageProvider

Function MessageProvider

src/contexts/MessageProvider.tsx:13–48  ·  view source on GitHub ↗
({ children }: { children: ReactNode })

Source from the content-addressed store, hash-verified

11const MessageContext = createContext<MessageContextType>(() => {});
12
13export function MessageProvider({ children }: { children: ReactNode }) {
14 const [message, setMessage] = useState<string | null>(null);
15 const [severity, setSeverity] = useState<
16 "error" | "warning" | "info" | "success"
17 >("info");
18 const [open, setOpen] = useState(false);
19 const [duration, setDuration] = useState(6000);
20
21 const showMessage: MessageContextType = (msg, sev = "info", dur = 6000) => {
22 setMessage(msg);
23 setSeverity(sev);
24 setDuration(dur);
25 setOpen(true);
26 };
27
28 return (
29 <MessageContext.Provider value={showMessage}>
30 {children}
31 <Snackbar
32 open={open}
33 autoHideDuration={duration}
34 onClose={() => setOpen(false)}
35 anchorOrigin={{ vertical: "top", horizontal: "right" }}
36 >
37 <Alert
38 onClose={() => setOpen(false)}
39 severity={severity}
40 variant="filled"
41 sx={{ display: message ? "flex" : "none" }}
42 >
43 {message}
44 </Alert>
45 </Snackbar>
46 </MessageContext.Provider>
47 );
48}
49
50export function useMessage() {
51 return useContext(MessageContext);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected