mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-09-28 10:56:52 +03:00
* Notice and status bar improvements Status bar problems added in the same pass got the same `Date.now()` id and overwrote each other, so usually only one showed. Messages now fall back to their text as the id. The desktop status bar shows the most severe message with a count of the rest that opens a popover listing all of them, and the mobile drawer stacks them vertically instead of placing them side by side. Dismissing a notice hid it for good, so a detector that restarted again after a dismissal was never shown. Dismiss is replaced by acknowledge, which hides a notice until it happens again, and mute, which hides it permanently. Kinds that never repeat (config and stream checks, the update notice) can only be muted. `reopen_at_count` is removed since acknowledge covers the failed login case. * move camera CPU warnings to notices High ffmpeg and detect CPU warnings sat in the status bar with no way to dismiss them. They're now `ffmpeg_high_cpu` and `detect_high_cpu` notices, raised per episode by the same tracker as skipped detections. Also stop failed login attempts held from before an acknowledgement from reopening the notice. * fix mypy and handle missing cpu stats in notices
30 lines
705 B
TypeScript
30 lines
705 B
TypeScript
import { createContext } from "react";
|
|
import { ProblemSeverity } from "@/types/stats";
|
|
|
|
export type StatusMessage = {
|
|
id: string;
|
|
text: string;
|
|
severity: ProblemSeverity;
|
|
link?: string;
|
|
};
|
|
|
|
export type StatusMessagesState = {
|
|
[key: string]: StatusMessage[];
|
|
};
|
|
|
|
type StatusBarMessagesContextValue = {
|
|
messages: StatusMessagesState;
|
|
addMessage: (
|
|
key: string,
|
|
message: string,
|
|
severity?: ProblemSeverity,
|
|
messageId?: string,
|
|
link?: string,
|
|
) => string | undefined;
|
|
removeMessage: (key: string, messageId: string) => void;
|
|
clearMessages: (key: string) => void;
|
|
};
|
|
|
|
export const StatusBarMessagesContext =
|
|
createContext<StatusBarMessagesContextValue | null>(null);
|