Add current app to receiver popup

This commit is contained in:
hensm
2019-01-23 19:32:49 +00:00
parent 79477fd473
commit ef3d91a3cb
5 changed files with 29 additions and 17 deletions

View File

@@ -171,6 +171,7 @@ browser.on("serviceUp", service => {
, port: service.port , port: service.port
, id: service.txt.id , id: service.txt.id
, friendlyName: service.txt.fn , friendlyName: service.txt.fn
, currentApp: service.txt.rs
} }
}); });
}); });
@@ -179,10 +180,7 @@ browser.on("serviceDown", service => {
transforms.encode.write({ transforms.encode.write({
subject:"shim:serviceDown" subject:"shim:serviceDown"
, data: { , data: {
address: service.addresses[0] id: service.txt.id
, port: service.port
, id: service.txt.id
, friendlyName: service.txt.fn
} }
}); });
}); });

View File

@@ -160,7 +160,14 @@ class Receiver extends Component {
{ this.props.receiver.friendlyName } { this.props.receiver.friendlyName }
</div> </div>
<div className="receiver-address"> <div className="receiver-address">
{ `${this.props.receiver._address}:${this.props.receiver._port}` } { `${this.props.receiver.address}:${this.props.receiver.port}` }
</div>
<div className="receiver-status">
{ do {
if (this.props.receiver.currentApp) {
`- ${this.props.receiver.currentApp}`
}
}}
</div> </div>
<button className="receiver-connect" <button className="receiver-connect"
onClick={this.onClick.bind(this)} onClick={this.onClick.bind(this)}

View File

@@ -25,11 +25,11 @@ body {
column-gap: 0.75em; column-gap: 0.75em;
display: grid; display: grid;
flex-direction: column; flex-direction: column;
grid-template-columns: 1fr min-content; grid-template-columns: min-content 1fr min-content;
grid-template-rows: min-content min-content 1fr; grid-template-rows: min-content min-content 1fr;
grid-template-areas: grid-template-areas:
"name connect" "name name connect"
"address connect"; "address status connect";
justify-content: center; justify-content: center;
margin: 0 1em; margin: 0 1em;
padding: 0.75em 0; padding: 0.75em 0;
@@ -56,6 +56,9 @@ body {
color: GrayText; color: GrayText;
grid-area: address; grid-area: address;
} }
.receiver-status {
grid-area: status;
}
.receiver-connect { .receiver-connect {
align-self: center; align-self: center;
grid-area: connect; grid-area: connect;

View File

@@ -12,7 +12,8 @@ button:not([disabled]):hover:active {
color: -moz-mac-buttonactivetext; color: -moz-mac-buttonactivetext;
} }
.receiver-address { .receiver-address,
.receiver-status {
font: message-box; font: message-box;
} }

View File

@@ -176,14 +176,11 @@ onMessage(message => {
* property and call the page event function (__onGCastApiAvailable). * property and call the page event function (__onGCastApiAvailable).
*/ */
case "shim:serviceUp": { case "shim:serviceUp": {
const receiver = new Receiver( const receiver = message.data;
message.data.id
, message.data.friendlyName);
receiver._address = message.data.address; console.log(receiver);
receiver._port = message.data.port;
if (state.receiverList.find(r => r.label === receiver.label)) { if (state.receiverList.find(r => r.id === receiver.id)) {
break; break;
} }
@@ -201,7 +198,7 @@ onMessage(message => {
*/ */
case "shim:serviceDown": { case "shim:serviceDown": {
state.receiverList = state.receiverList.filter( state.receiverList = state.receiverList.filter(
receiver => receiver.label !== message.data.id); receiver => receiver.id !== message.data.id);
if (state.receiverList.length === 0) { if (state.receiverList.length === 0) {
state.apiConfig.receiverListener( state.apiConfig.receiverListener(
@@ -213,7 +210,13 @@ onMessage(message => {
case "shim:selectReceiver": { case "shim:selectReceiver": {
console.info("Caster (Debug): Selected receiver"); console.info("Caster (Debug): Selected receiver");
const selectedReceiver = message.data.receiver;
const selectedReceiver = new Receiver(
message.data.receiver.id
, message.data.receiver.friendlyName);
selectedReceiver._address = message.data.receiver.address;
selectedReceiver._port = message.data.receiver.port;
const sessionConstructorArgs = [ const sessionConstructorArgs = [
state.sessionList.length // sessionId state.sessionList.length // sessionId