diff --git a/src/panels/lovelace/cards/hui-media-control-card.ts b/src/panels/lovelace/cards/hui-media-control-card.ts
index 6a319b4122..840a67108c 100644
--- a/src/panels/lovelace/cards/hui-media-control-card.ts
+++ b/src/panels/lovelace/cards/hui-media-control-card.ts
@@ -119,6 +119,7 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard {
.max="${stateObj.attributes.media_duration}"
.value="${stateObj.attributes.media_position}"
class="progress"
+ @click=${this._handleSeek}
>
`}
@@ -273,6 +274,16 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard {
});
}
+ private _handleSeek(e: MouseEvent): void {
+ const percent = e.offsetX / this.offsetWidth;
+ const position = (e.currentTarget! as any).max * percent;
+
+ this.hass!.callService("media_player", "media_seek", {
+ entity_id: this._config!.entity,
+ seek_position: position,
+ });
+ }
+
static get styles(): CSSResult {
return css`
.ratio {
@@ -383,6 +394,10 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard {
--paper-progress-active-color: var(--accent-color);
--paper-progress-container-color: rgba(200, 200, 200, 0.5);
}
+
+ .progress:hover {
+ --paper-progress-height: 8px;
+ }
`;
}
}