2026-09-15 16:33:09 -05:00
|
|
|
import { createContext } from "react";
|
2026-09-24 16:39:18 -05:00
|
|
|
import { ProblemSeverity } from "@/types/stats";
|
2026-09-15 16:33:09 -05:00
|
|
|
|
|
|
|
|
export type StatusMessage = {
|
|
|
|
|
id: string;
|
|
|
|
|
text: string;
|
2026-09-24 16:39:18 -05:00
|
|
|
severity: ProblemSeverity;
|
2026-09-15 16:33:09 -05:00
|
|
|
link?: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type StatusMessagesState = {
|
|
|
|
|
[key: string]: StatusMessage[];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
type StatusBarMessagesContextValue = {
|
|
|
|
|
messages: StatusMessagesState;
|
|
|
|
|
addMessage: (
|
|
|
|
|
key: string,
|
|
|
|
|
message: string,
|
2026-09-24 16:39:18 -05:00
|
|
|
severity?: ProblemSeverity,
|
2026-09-15 16:33:09 -05:00
|
|
|
messageId?: string,
|
|
|
|
|
link?: string,
|
|
|
|
|
) => string | undefined;
|
|
|
|
|
removeMessage: (key: string, messageId: string) => void;
|
|
|
|
|
clearMessages: (key: string) => void;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const StatusBarMessagesContext =
|
|
|
|
|
createContext<StatusBarMessagesContextValue | null>(null);
|