Add the options dark_mode_filter and dark_mode_image to the picture elements card (#7304)

This commit is contained in:
Santobert 2020-10-15 23:16:15 +02:00 committed by GitHub
parent ce07dfd8ac
commit 213c53e307
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 1 deletions

View File

@ -129,6 +129,8 @@ class HuiPictureElementsCard extends LitElement implements LovelaceCard {
.cameraView=${this._config.camera_view}
.entity=${this._config.entity}
.aspectRatio=${this._config.aspect_ratio}
.darkModeFilter=${this._config.dark_mode_filter}
.darkModeImage=${this._config.dark_mode_image}
></hui-image>
${this._elements}
</div>

View File

@ -218,6 +218,8 @@ export interface PictureElementsCardConfig extends LovelaceCardConfig {
entity?: string;
elements: LovelaceElementConfig[];
theme?: string;
dark_mode_image?: string;
dark_mode_filter?: string;
}
export interface PictureEntityCardConfig extends LovelaceCardConfig {

View File

@ -46,6 +46,10 @@ export class HuiImage extends LitElement {
@property() public stateFilter?: StateSpecificConfig;
@property() public darkModeImage?: string;
@property() public darkModeFilter?: string;
@internalProperty() private _loadError?: boolean;
@internalProperty() private _cameraImageSrc?: string;
@ -97,6 +101,8 @@ export class HuiImage extends LitElement {
imageSrc = this.image;
imageFallback = true;
}
} else if (this.darkModeImage && this.hass.themes.darkMode) {
imageSrc = this.darkModeImage;
} else {
imageSrc = this.image;
}
@ -108,8 +114,12 @@ export class HuiImage extends LitElement {
// Figure out filter to use
let filter = this.filter || "";
if (this.hass.themes.darkMode && this.darkModeFilter) {
filter += this.darkModeFilter;
}
if (this.stateFilter && this.stateFilter[state]) {
filter = this.stateFilter[state];
filter += this.stateFilter[state];
}
if (!filter && this.entity) {