Add on/off icon for some domains (#15640)

This commit is contained in:
Paul Bottein 2023-03-01 11:24:35 +01:00 committed by GitHub
parent 9c703ab469
commit c747ab7605
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 12 deletions

View File

@ -1,7 +1,6 @@
/** Constants to be used in the frontend. */ /** Constants to be used in the frontend. */
import { import {
mdiAccount,
mdiAirFilter, mdiAirFilter,
mdiAlert, mdiAlert,
mdiAngleAcute, mdiAngleAcute,
@ -48,7 +47,6 @@ import {
mdiProgressClock, mdiProgressClock,
mdiRayVertex, mdiRayVertex,
mdiRemote, mdiRemote,
mdiRobot,
mdiRobotVacuum, mdiRobotVacuum,
mdiScriptText, mdiScriptText,
mdiSineWave, mdiSineWave,
@ -59,15 +57,12 @@ import {
mdiThermostat, mdiThermostat,
mdiTimerOutline, mdiTimerOutline,
mdiTransmissionTower, mdiTransmissionTower,
mdiVideo,
mdiWater, mdiWater,
mdiWaterPercent, mdiWaterPercent,
mdiWeatherCloudy,
mdiWeatherPouring, mdiWeatherPouring,
mdiWeatherRainy, mdiWeatherRainy,
mdiWeatherWindy, mdiWeatherWindy,
mdiWeight, mdiWeight,
mdiWhiteBalanceSunny,
mdiWifi, mdiWifi,
} from "@mdi/js"; } from "@mdi/js";
@ -82,9 +77,7 @@ export const DEFAULT_DOMAIN_ICON = mdiBookmark;
export const FIXED_DOMAIN_ICONS = { export const FIXED_DOMAIN_ICONS = {
alert: mdiAlert, alert: mdiAlert,
air_quality: mdiAirFilter, air_quality: mdiAirFilter,
automation: mdiRobot,
calendar: mdiCalendar, calendar: mdiCalendar,
camera: mdiVideo,
climate: mdiThermostat, climate: mdiThermostat,
configurator: mdiCog, configurator: mdiCog,
conversation: mdiMicrophoneMessage, conversation: mdiMicrophoneMessage,
@ -105,7 +98,6 @@ export const FIXED_DOMAIN_ICONS = {
notify: mdiCommentAlert, notify: mdiCommentAlert,
number: mdiRayVertex, number: mdiRayVertex,
persistent_notification: mdiBell, persistent_notification: mdiBell,
person: mdiAccount,
plant: mdiFlower, plant: mdiFlower,
proximity: mdiAppleSafari, proximity: mdiAppleSafari,
remote: mdiRemote, remote: mdiRemote,
@ -116,13 +108,10 @@ export const FIXED_DOMAIN_ICONS = {
sensor: mdiEye, sensor: mdiEye,
siren: mdiBullhorn, siren: mdiBullhorn,
simple_alarm: mdiBell, simple_alarm: mdiBell,
sun: mdiWhiteBalanceSunny,
text: mdiFormTextbox, text: mdiFormTextbox,
timer: mdiTimerOutline, timer: mdiTimerOutline,
updater: mdiCloudUpload, updater: mdiCloudUpload,
vacuum: mdiRobotVacuum, vacuum: mdiRobotVacuum,
water_heater: mdiThermometer,
weather: mdiWeatherCloudy,
zone: mdiMapMarkerRadius, zone: mdiMapMarkerRadius,
}; };

View File

@ -30,6 +30,8 @@ import {
mdiPowerPlug, mdiPowerPlug,
mdiPowerPlugOff, mdiPowerPlugOff,
mdiRestart, mdiRestart,
mdiRobot,
mdiRobotOff,
mdiSpeaker, mdiSpeaker,
mdiSpeakerOff, mdiSpeakerOff,
mdiSpeakerPause, mdiSpeakerPause,
@ -41,7 +43,12 @@ import {
mdiTelevisionPlay, mdiTelevisionPlay,
mdiToggleSwitchVariant, mdiToggleSwitchVariant,
mdiToggleSwitchVariantOff, mdiToggleSwitchVariantOff,
mdiVideo,
mdiVideoOff,
mdiWaterBoiler,
mdiWaterBoilerOff,
mdiWeatherNight, mdiWeatherNight,
mdiWhiteBalanceSunny,
} from "@mdi/js"; } from "@mdi/js";
import { HassEntity } from "home-assistant-js-websocket"; import { HassEntity } from "home-assistant-js-websocket";
import { UpdateEntity, updateIsInstalling } from "../../data/update"; import { UpdateEntity, updateIsInstalling } from "../../data/update";
@ -83,6 +90,9 @@ export const domainIconWithoutDefault = (
case "alarm_control_panel": case "alarm_control_panel":
return alarmPanelIcon(compareState); return alarmPanelIcon(compareState);
case "automation":
return compareState === "off" ? mdiRobotOff : mdiRobot;
case "binary_sensor": case "binary_sensor":
return binarySensorIcon(compareState, stateObj); return binarySensorIcon(compareState, stateObj);
@ -96,6 +106,9 @@ export const domainIconWithoutDefault = (
return mdiGestureTapButton; return mdiGestureTapButton;
} }
case "camera":
return compareState === "off" ? mdiVideoOff : mdiVideo;
case "cover": case "cover":
return coverIcon(compareState, stateObj); return coverIcon(compareState, stateObj);
@ -221,7 +234,7 @@ export const domainIconWithoutDefault = (
case "sun": case "sun":
return stateObj?.state === "above_horizon" return stateObj?.state === "above_horizon"
? FIXED_DOMAIN_ICONS[domain] ? mdiWhiteBalanceSunny
: mdiWeatherNight; : mdiWeatherNight;
case "switch_as_x": case "switch_as_x":
@ -237,6 +250,9 @@ export const domainIconWithoutDefault = (
: mdiPackageUp : mdiPackageUp
: mdiPackage; : mdiPackage;
case "water_heater":
return compareState === "off" ? mdiWaterBoilerOff : mdiWaterBoiler;
case "weather": case "weather":
return weatherIcon(stateObj?.state); return weatherIcon(stateObj?.state);
} }