mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-30 15:49:00 +03:00
Add UI config messages framework (#22692)
* add config messages to sections and fields * add alert variants * add messages to types * add detect fps, review, and audio messages * add a basic set of messages * remove emptySelectionHintKey from switches widget use the new messages framework and revert the changes made in #22664
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import { useMemo } from "react";
|
||||
import type {
|
||||
ConditionalMessage,
|
||||
FieldConditionalMessage,
|
||||
MessageConditionContext,
|
||||
} from "@/components/config-form/section-configs/types";
|
||||
|
||||
export function useConfigMessages(
|
||||
messages: ConditionalMessage[] | undefined,
|
||||
fieldMessages: FieldConditionalMessage[] | undefined,
|
||||
context: MessageConditionContext | undefined,
|
||||
): {
|
||||
activeMessages: ConditionalMessage[];
|
||||
activeFieldMessages: FieldConditionalMessage[];
|
||||
} {
|
||||
const activeMessages = useMemo(() => {
|
||||
if (!messages || !context) return [];
|
||||
return messages.filter((msg) => msg.condition(context));
|
||||
}, [messages, context]);
|
||||
|
||||
const activeFieldMessages = useMemo(() => {
|
||||
if (!fieldMessages || !context) return [];
|
||||
return fieldMessages.filter((msg) => msg.condition(context));
|
||||
}, [fieldMessages, context]);
|
||||
|
||||
return { activeMessages, activeFieldMessages };
|
||||
}
|
||||
Reference in New Issue
Block a user