Add menu conditions.

This commit is contained in:
Dermot Duffy
2021-11-14 15:32:25 -08:00
parent 3ae908d4b7
commit c7506c9ee0
7 changed files with 481 additions and 302 deletions
+8 -3
View File
@@ -267,11 +267,15 @@ export const menuStateIconSchema = stateIconSchema.merge(
);
export type MenuStateIcon = z.infer<typeof menuStateIconSchema>;
const frigateCardConditionSchema = z.object({
view: z.string().array().optional(),
fullscreen: z.boolean().optional(),
});
export type FrigateCardCondition = z.infer<typeof frigateCardConditionSchema>;
const frigateConditionalSchema = z.object({
type: z.literal('custom:frigate-card-conditional'),
conditions: z.object({
view: z.string().array().optional(),
}),
conditions: frigateCardConditionSchema,
elements: z.lazy(() => pictureElementsSchema),
});
export type FrigateConditional = z.infer<typeof frigateConditionalSchema>;
@@ -407,6 +411,7 @@ const menuConfigSchema = z
})
.default(menuConfigDefault.buttons),
button_size: z.string().default(menuConfigDefault.button_size),
conditions: frigateCardConditionSchema.optional(),
})
.default(menuConfigDefault);
export type MenuConfig = z.infer<typeof menuConfigSchema>;