mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-13 20:36:35 +00:00
Add media player card gallery (#5101)
This commit is contained in:
parent
e5467181cb
commit
f3c371996f
@ -16,7 +16,7 @@ gulp.task(
|
|||||||
process.env.NODE_ENV = "development";
|
process.env.NODE_ENV = "development";
|
||||||
},
|
},
|
||||||
"clean-gallery",
|
"clean-gallery",
|
||||||
gulp.parallel("gen-icons-app", "gen-icons-app", "build-translations"),
|
gulp.parallel("gen-icons-app", "gen-icons-mdi", "build-translations"),
|
||||||
"copy-static-gallery",
|
"copy-static-gallery",
|
||||||
"gen-index-gallery-dev",
|
"gen-index-gallery-dev",
|
||||||
"webpack-dev-server-gallery"
|
"webpack-dev-server-gallery"
|
||||||
|
BIN
gallery/public/images/album_cover.jpg
Normal file
BIN
gallery/public/images/album_cover.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
62
gallery/src/data/media_players.ts
Normal file
62
gallery/src/data/media_players.ts
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
import { getEntity } from "../../../src/fake_data/entity";
|
||||||
|
|
||||||
|
export const createMediaPlayerEntities = () => [
|
||||||
|
getEntity("media_player", "bedroom", "playing", {
|
||||||
|
media_content_type: "movie",
|
||||||
|
media_title: "Epic sax guy 10 hours",
|
||||||
|
app_name: "YouTube",
|
||||||
|
friendly_name: "Skip, no pause",
|
||||||
|
supported_features: 32,
|
||||||
|
}),
|
||||||
|
getEntity("media_player", "family_room", "paused", {
|
||||||
|
friendly_name: "Paused, music",
|
||||||
|
media_content_type: "music",
|
||||||
|
media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)",
|
||||||
|
media_artist: "Technohead",
|
||||||
|
supported_features: 16417,
|
||||||
|
entity_picture: "/images/album_cover.jpg",
|
||||||
|
}),
|
||||||
|
getEntity("media_player", "family_room_no_play", "paused", {
|
||||||
|
friendly_name: "Paused, no play",
|
||||||
|
media_content_type: "movie",
|
||||||
|
media_title: "Epic sax guy 10 hours",
|
||||||
|
app_name: "YouTube",
|
||||||
|
supported_features: 33,
|
||||||
|
}),
|
||||||
|
getEntity("media_player", "living_room", "playing", {
|
||||||
|
friendly_name: "Pause, No skip, tvshow",
|
||||||
|
media_content_type: "tvshow",
|
||||||
|
media_title: "Chapter 1",
|
||||||
|
media_series_title: "House of Cards",
|
||||||
|
app_name: "Netflix",
|
||||||
|
supported_features: 1,
|
||||||
|
}),
|
||||||
|
getEntity("media_player", "lounge_room", "idle", {
|
||||||
|
friendly_name: "Screen casting",
|
||||||
|
media_content_type: "music",
|
||||||
|
media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)",
|
||||||
|
media_artist: "Technohead",
|
||||||
|
supported_features: 1,
|
||||||
|
}),
|
||||||
|
getEntity("media_player", "theater", "off", {
|
||||||
|
friendly_name: "Chromcast Idle",
|
||||||
|
media_content_type: "movie",
|
||||||
|
media_title: "Epic sax guy 10 hours",
|
||||||
|
app_name: "YouTube",
|
||||||
|
supported_features: 33,
|
||||||
|
}),
|
||||||
|
getEntity("media_player", "android_cast", "playing", {
|
||||||
|
friendly_name: "Player Off",
|
||||||
|
media_title: "Android Screen Casting",
|
||||||
|
app_name: "Screen Mirroring",
|
||||||
|
supported_features: 21437,
|
||||||
|
}),
|
||||||
|
getEntity("media_player", "unavailable", "unavailable", {
|
||||||
|
friendly_name: "Player Unavailable",
|
||||||
|
supported_features: 21437,
|
||||||
|
}),
|
||||||
|
getEntity("media_player", "unknown", "unknown", {
|
||||||
|
friendly_name: "Player Unknown",
|
||||||
|
supported_features: 21437,
|
||||||
|
}),
|
||||||
|
];
|
102
gallery/src/demos/demo-hui-media-player-card.ts
Normal file
102
gallery/src/demos/demo-hui-media-player-card.ts
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||||
|
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||||
|
|
||||||
|
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||||
|
import "../components/demo-cards";
|
||||||
|
import { createMediaPlayerEntities } from "../data/media_players";
|
||||||
|
|
||||||
|
const CONFIGS = [
|
||||||
|
{
|
||||||
|
heading: "Skip, no pause",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.bedroom
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: "Paused, music",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.family_room
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: "Paused, no play",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.family_room_no_play
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: "Pause, No skip, tvshow",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.living_room
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: "Screen casting",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.android_cast
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: "Chromcast Idle",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.lounge_room
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: "Player Off",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.theater
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: "Player Unavailable",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.unavailable
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: "Player Unknown",
|
||||||
|
config: `
|
||||||
|
- type: media-control
|
||||||
|
entity: media_player.unknown
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
class DemoHuiMediaPlayerCard extends PolymerElement {
|
||||||
|
static get template() {
|
||||||
|
return html`
|
||||||
|
<demo-cards
|
||||||
|
id="demos"
|
||||||
|
hass="[[hass]]"
|
||||||
|
configs="[[_configs]]"
|
||||||
|
></demo-cards>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
static get properties() {
|
||||||
|
return {
|
||||||
|
_configs: {
|
||||||
|
type: Object,
|
||||||
|
value: CONFIGS,
|
||||||
|
},
|
||||||
|
hass: Object,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public ready() {
|
||||||
|
super.ready();
|
||||||
|
const hass = provideHass(this.$.demos);
|
||||||
|
hass.addEntities(createMediaPlayerEntities());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
customElements.define("demo-hui-media-player-card", DemoHuiMediaPlayerCard);
|
@ -1,54 +1,9 @@
|
|||||||
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
import { html } from "@polymer/polymer/lib/utils/html-tag";
|
||||||
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||||
|
|
||||||
import { getEntity } from "../../../src/fake_data/entity";
|
|
||||||
import { provideHass } from "../../../src/fake_data/provide_hass";
|
import { provideHass } from "../../../src/fake_data/provide_hass";
|
||||||
import "../components/demo-cards";
|
import "../components/demo-cards";
|
||||||
|
import { createMediaPlayerEntities } from "../data/media_players";
|
||||||
const ENTITIES = [
|
|
||||||
getEntity("media_player", "bedroom", "playing", {
|
|
||||||
media_content_type: "movie",
|
|
||||||
media_title: "Epic sax guy 10 hours",
|
|
||||||
app_name: "YouTube",
|
|
||||||
supported_features: 32,
|
|
||||||
}),
|
|
||||||
getEntity("media_player", "family_room", "paused", {
|
|
||||||
media_content_type: "music",
|
|
||||||
media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)",
|
|
||||||
media_artist: "Technohead",
|
|
||||||
supported_features: 16417,
|
|
||||||
}),
|
|
||||||
getEntity("media_player", "family_room_no_play", "paused", {
|
|
||||||
media_content_type: "movie",
|
|
||||||
media_title: "Epic sax guy 10 hours",
|
|
||||||
app_name: "YouTube",
|
|
||||||
supported_features: 33,
|
|
||||||
}),
|
|
||||||
getEntity("media_player", "living_room", "playing", {
|
|
||||||
media_content_type: "tvshow",
|
|
||||||
media_title: "Chapter 1",
|
|
||||||
media_series_title: "House of Cards",
|
|
||||||
app_name: "Netflix",
|
|
||||||
supported_features: 1,
|
|
||||||
}),
|
|
||||||
getEntity("media_player", "lounge_room", "idle", {
|
|
||||||
media_content_type: "music",
|
|
||||||
media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)",
|
|
||||||
media_artist: "Technohead",
|
|
||||||
supported_features: 1,
|
|
||||||
}),
|
|
||||||
getEntity("media_player", "theater", "off", {
|
|
||||||
media_content_type: "movie",
|
|
||||||
media_title: "Epic sax guy 10 hours",
|
|
||||||
app_name: "YouTube",
|
|
||||||
supported_features: 33,
|
|
||||||
}),
|
|
||||||
getEntity("media_player", "android_cast", "playing", {
|
|
||||||
media_title: "Android Screen Casting",
|
|
||||||
app_name: "Screen Mirroring",
|
|
||||||
supported_features: 21437,
|
|
||||||
}),
|
|
||||||
];
|
|
||||||
|
|
||||||
const CONFIGS = [
|
const CONFIGS = [
|
||||||
{
|
{
|
||||||
@ -69,7 +24,11 @@ const CONFIGS = [
|
|||||||
- entity: media_player.lounge_room
|
- entity: media_player.lounge_room
|
||||||
name: Chromcast Idle
|
name: Chromcast Idle
|
||||||
- entity: media_player.theater
|
- entity: media_player.theater
|
||||||
name: 'Player Off'
|
name: Player Off
|
||||||
|
- entity: media_player.unavailable
|
||||||
|
name: Player Unavailable
|
||||||
|
- entity: media_player.unknown
|
||||||
|
name: Player Unknown
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@ -98,7 +57,7 @@ class DemoHuiMediaPlayerRows extends PolymerElement {
|
|||||||
public ready() {
|
public ready() {
|
||||||
super.ready();
|
super.ready();
|
||||||
const hass = provideHass(this.$.demos);
|
const hass = provideHass(this.$.demos);
|
||||||
hass.addEntities(ENTITIES);
|
hass.addEntities(createMediaPlayerEntities());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user