From e3790671484dafe8ad477b6a5d09a51039770628 Mon Sep 17 00:00:00 2001 From: Felipe Santos Date: Wed, 19 Oct 2022 20:55:41 -0300 Subject: [PATCH] Update media player icons Refs https://github.com/home-assistant/frontend/pull/12997 --- src/utils/icons/domain-icon.ts | 38 ++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/src/utils/icons/domain-icon.ts b/src/utils/icons/domain-icon.ts index 3c01bd76..0ea99d10 100644 --- a/src/utils/icons/domain-icon.ts +++ b/src/utils/icons/domain-icon.ts @@ -101,8 +101,42 @@ export function domainIcon(domain: string, entity?: HassEntity, state?: string): return 'mdi:lock'; } - case 'media_player': - return state === 'playing' ? 'mdi:cast-connected' : 'mdi:cast'; + // Taken from https://github.com/home-assistant/frontend/blob/45646eaf0bfc86aa0d0d6b73809ef0b32abb5729/src/common/entity/domain_icon.ts#L138-L172 + case "media_player": + switch (entity?.attributes.device_class) { + case "speaker": + switch (state) { + case "playing": + return 'mdi:speaker-play'; + case "paused": + return 'mdi:speaker-pause'; + case "off": + return 'mdi:speaker-off'; + default: + return 'mdi:speaker'; + } + case "tv": + switch (state) { + case "playing": + return 'mdi:television-play'; + case "paused": + return 'mdi:television-pause'; + case "off": + return 'mdi:television-off'; + default: + return 'mdi:television'; + } + default: + switch (state) { + case "playing": + case "paused": + return 'mdi:cast-connected'; + case "off": + return 'mdi:cast-off'; + default: + return 'mdi:cast'; + } + } case 'switch': switch (entity?.attributes.device_class) {