From 5d605447a570aba59a232ca92fe5d4421e5f64d2 Mon Sep 17 00:00:00 2001 From: Felipe Santos Date: Thu, 21 Jul 2022 07:16:00 -0300 Subject: [PATCH] Support more icons for media players (#12997) Co-authored-by: Bram Kragten --- src/common/entity/domain_icon.ts | 44 +++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/src/common/entity/domain_icon.ts b/src/common/entity/domain_icon.ts index 82c10c6b48..7e39f8bcc0 100644 --- a/src/common/entity/domain_icon.ts +++ b/src/common/entity/domain_icon.ts @@ -8,6 +8,7 @@ import { mdiCalendar, mdiCast, mdiCastConnected, + mdiCastOff, mdiChartSankey, mdiCheckCircleOutline, mdiClock, @@ -25,7 +26,15 @@ import { mdiPowerPlug, mdiPowerPlugOff, mdiRestart, + mdiSpeaker, + mdiSpeakerOff, + mdiSpeakerPause, + mdiSpeakerPlay, mdiSwapHorizontal, + mdiTelevision, + mdiTelevisionOff, + mdiTelevisionPause, + mdiTelevisionPlay, mdiToggleSwitchVariant, mdiToggleSwitchVariantOff, mdiWeatherNight, @@ -127,7 +136,40 @@ export const domainIconWithoutDefault = ( } case "media_player": - return compareState === "playing" ? mdiCastConnected : mdiCast; + switch (stateObj?.attributes.device_class) { + case "speaker": + switch (compareState) { + case "playing": + return mdiSpeakerPlay; + case "paused": + return mdiSpeakerPause; + case "off": + return mdiSpeakerOff; + default: + return mdiSpeaker; + } + case "tv": + switch (compareState) { + case "playing": + return mdiTelevisionPlay; + case "paused": + return mdiTelevisionPause; + case "off": + return mdiTelevisionOff; + default: + return mdiTelevision; + } + default: + switch (compareState) { + case "playing": + case "paused": + return mdiCastConnected; + case "off": + return mdiCastOff; + default: + return mdiCast; + } + } case "switch": switch (stateObj?.attributes.device_class) {