43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import type { LovelaceBadgeConfig } from "./badge";
|
|
import type { LovelaceCardConfig } from "./card";
|
|
import type { LovelaceSectionRawConfig } from "./section";
|
|
import type { LovelaceStrategyConfig } from "./strategy";
|
|
|
|
export interface ShowViewConfig {
|
|
user?: string;
|
|
}
|
|
|
|
export interface LovelaceBaseViewConfig {
|
|
index?: number;
|
|
title?: string;
|
|
path?: string;
|
|
icon?: string;
|
|
theme?: string;
|
|
panel?: boolean;
|
|
background?: string;
|
|
visible?: boolean | ShowViewConfig[];
|
|
subview?: boolean;
|
|
back_path?: string;
|
|
}
|
|
|
|
export interface LovelaceViewConfig extends LovelaceBaseViewConfig {
|
|
type?: string;
|
|
badges?: Array<string | LovelaceBadgeConfig>;
|
|
cards?: LovelaceCardConfig[];
|
|
sections?: LovelaceSectionRawConfig[];
|
|
}
|
|
|
|
export interface LovelaceStrategyViewConfig extends LovelaceBaseViewConfig {
|
|
strategy: LovelaceStrategyConfig;
|
|
}
|
|
|
|
export type LovelaceViewRawConfig =
|
|
| LovelaceViewConfig
|
|
| LovelaceStrategyViewConfig;
|
|
|
|
export function isStrategyView(
|
|
view: LovelaceViewRawConfig
|
|
): view is LovelaceStrategyViewConfig {
|
|
return "strategy" in view;
|
|
}
|