diff --git a/app/components/bridge-finder.js b/app/components/bridge-finder.js index 462e379..ed64abc 100644 --- a/app/components/bridge-finder.js +++ b/app/components/bridge-finder.js @@ -1,11 +1,15 @@ import Em from 'ember'; export default Em.Component.extend({ + classNames: ['container'], bridgeIp: null, bridgeUsername: null, bridgeFindStatus: null, + bridgeFindSuccess: Em.computed.equal('bridgeFindStatus', 'success'), + bridgeFindMultiple: Em.computed.equal('bridgeFindStatus', 'multiple'), + bridgeFindFail: Em.computed.equal('bridgeFindStatus', 'fail'), // 30 seconds bridgeUsernamePingMaxTime: 30000, @@ -29,12 +33,19 @@ export default Em.Component.extend({ var self = this; Em.$.get('https://www.meethue.com/api/nupnp', function (result, status) { - if (status === 'success') { + var bridgeFindStatus = 'fail'; + + if (status === 'success' && result.length === 1) { self.set('bridgeIp', result[0].internalipaddress); localStorage.setItem('huegasm.bridgeIp', result[0].internalipaddress); + bridgeFindStatus = 'success'; + } else if(result.length > 1) { + bridgeFindStatus = 'multiple'; + } else { + bridgeFindStatus = 'fail'; } - self.set('bridgeFindStatus', status); + self.set('bridgeFindStatus', bridgeFindStatus); }); } }, diff --git a/app/styles/app.scss b/app/styles/app.scss index 53d1f9b..b18c905 100644 --- a/app/styles/app.scss +++ b/app/styles/app.scss @@ -8,6 +8,10 @@ $playerHeight: 400px; $playListBackgroundColor: #1E1E1E; // BRIDGE FINDER +#finderContainer { + +} + #pressButtonBridgeImg { width: 200px; margin: 0 auto 0 auto; diff --git a/app/templates/components/bridge-finder.hbs b/app/templates/components/bridge-finder.hbs index 1825b5b..4103a02 100644 --- a/app/templates/components/bridge-finder.hbs +++ b/app/templates/components/bridge-finder.hbs @@ -1,14 +1,28 @@ -{{#unless bridgeUsername}} - {{#if bridgeIp}} +
{{paper-progress-linear warn=true value=bridgeUserNamePingIntervalProgress}}
{{#if isAuthenticating}}
- Press the button on your bridge to authenticate this application.
+Your bridge IP is {{bridgeIp}}
+Press the button on your bridge to authenticate this application.
{{else}} -You failed to press the button. RETRY
+You failed to press the button. RETRY
{{/if}} - {{else}} - {{paper-progress-circular}} -Trying to find your bridge's IP.
- {{/if}} -{{/unless}} \ No newline at end of file + {{else}} + {{#unless bridgeFindStatus}} + {{paper-progress-circular}} +Trying to find your bridge's IP.
+ {{/unless}} + + {{#if bridgeFindMultiple}} +Found multiple bridge IPs.
+ {{else}} + {{#if bridgeFindFail}} + {{paper-progress-circular}} +Trying to find your bridge's IP.
+ {{/if}} + {{/if}} + {{/if}} + {{/unless}} +