From d23d774ec1e22617ab2ce941414814621140849c Mon Sep 17 00:00:00 2001 From: Steve Repsher Date: Sun, 10 Jul 2022 14:17:41 -0400 Subject: [PATCH] Fix some key type errors in cards --- src/data/media-player.ts | 4 ++-- .../lovelace/cards/energy/hui-energy-usage-graph-card.ts | 2 +- src/panels/lovelace/cards/hui-alarm-panel-card.ts | 8 +++++--- src/panels/lovelace/cards/types.ts | 6 +++--- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/data/media-player.ts b/src/data/media-player.ts index a5c780f582..2eca50dd0a 100644 --- a/src/data/media-player.ts +++ b/src/data/media-player.ts @@ -34,7 +34,7 @@ import type { } from "home-assistant-js-websocket"; import { supportsFeature } from "../common/entity/supports-feature"; import { MediaPlayerItemId } from "../components/media-player/ha-media-player-browse"; -import type { HomeAssistant } from "../types"; +import type { HomeAssistant, TranslationDict } from "../types"; import { UNAVAILABLE_STATES } from "./entity"; import { isTTSMediaSource } from "./tts"; @@ -170,7 +170,7 @@ export interface MediaPlayerThumbnail { export interface ControlButton { icon: string; // Used as key for action as well as tooltip and aria-label translation key - action: string; + action: keyof TranslationDict["ui"]["card"]["media_player"]; } export interface MediaPlayerItem { diff --git a/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts b/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts index f8c76a0755..f761ed0a88 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-usage-graph-card.ts @@ -246,7 +246,7 @@ export class HuiEnergyUsageGraphCard : "", totalReturned ? this.hass.localize( - "ui.panel.lovelace.cards.energyenergy_usage_graph.total_returned", + "ui.panel.lovelace.cards.energy.energy_usage_graph.total_returned", { num: formatNumber(totalReturned, locale) } ) : "", diff --git a/src/panels/lovelace/cards/hui-alarm-panel-card.ts b/src/panels/lovelace/cards/hui-alarm-panel-card.ts index fe5abd4af6..84f1d3b103 100644 --- a/src/panels/lovelace/cards/hui-alarm-panel-card.ts +++ b/src/panels/lovelace/cards/hui-alarm-panel-card.ts @@ -85,7 +85,7 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard { } const defaults = { - states: ["arm_away", "arm_home"], + states: ["arm_away", "arm_home"] as const, }; this._config = { ...defaults, ...config }; @@ -166,7 +166,7 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard {
${(stateObj.state === "disarmed" ? this._config.states! - : ["disarm"] + : (["disarm"] as const) ).map( (stateAction) => html` [number] + ): string { return this.hass!.localize(`ui.card.alarm_control_panel.${entityState}`); } diff --git a/src/panels/lovelace/cards/types.ts b/src/panels/lovelace/cards/types.ts index 14616c2917..ffd0cc3555 100644 --- a/src/panels/lovelace/cards/types.ts +++ b/src/panels/lovelace/cards/types.ts @@ -1,6 +1,6 @@ import { StatisticType } from "../../../data/history"; import { ActionConfig, LovelaceCardConfig } from "../../../data/lovelace"; -import { FullCalendarView } from "../../../types"; +import { FullCalendarView, TranslationDict } from "../../../types"; import { Condition } from "../common/validate-condition"; import { HuiImage } from "../components/hui-image"; import { LovelaceElementConfig } from "../elements/types"; @@ -14,7 +14,7 @@ import { LovelaceHeaderFooterConfig } from "../header-footer/types"; export interface AlarmPanelCardConfig extends LovelaceCardConfig { entity: string; name?: string; - states?: string[]; + states?: readonly (keyof TranslationDict["ui"]["card"]["alarm_control_panel"])[]; theme?: string; } @@ -411,7 +411,7 @@ export interface WeatherForecastCardConfig extends LovelaceCardConfig { name?: string; show_current?: boolean; show_forecast?: boolean; - secondary_info_attribute?: string; + secondary_info_attribute?: keyof TranslationDict["ui"]["card"]["weather"]["attributes"]; theme?: string; tap_action?: ActionConfig; hold_action?: ActionConfig;