A small intro screen

This commit is contained in:
lone-cloud 2015-10-20 14:26:35 -07:00
parent 7412743023
commit c422e14f8f
5 changed files with 61 additions and 14 deletions

View file

@ -28,5 +28,5 @@
</div> </div>
{{lights-tab apiURL=apiURL lightsData=lightsData activeLights=activeLights trial=trial active=lightsTabSelected dimmerOn=dimmerOn}} {{lights-tab apiURL=apiURL lightsData=lightsData activeLights=activeLights trial=trial active=lightsTabSelected dimmerOn=dimmerOn}}
{{music-tab apiURL=apiURL lightsData=lightsData activeLights=activeLights active=musicTabSelected pauseLightUpdates=pauseLightUpdates dimmerOn=dimmerOn}} {{music-tab apiURL=apiURL lightsData=lightsData activeLights=activeLights active=musicTabSelected pauseLightUpdates=pauseLightUpdates dimmerOn=dimmerOn storage=storage}}
{{/if}} {{/if}}

View file

@ -4,6 +4,9 @@ export default Em.Component.extend({
actions: { actions: {
toggleDimmer(){ toggleDimmer(){
this.toggleProperty('dimmerOn'); this.toggleProperty('dimmerOn');
},
isReady(){
this.set('ready', true);
} }
}, },
bridgeIp: null, bridgeIp: null,
@ -12,9 +15,15 @@ export default Em.Component.extend({
trial: false, trial: false,
storage: null,
dimmerOn: false, dimmerOn: false,
ready: false,
dimmerOnClass: function(){ dimmerOnClass: function(){
var dimmerOn = this.get('dimmerOn'), var dimmerOn = this.get('dimmerOn'),
storage = this.get('storage'),
className = null; className = null;
if(dimmerOn){ if(dimmerOn){
@ -28,18 +37,23 @@ export default Em.Component.extend({
Em.$('md-icon').removeClass('dimmerOn'); Em.$('md-icon').removeClass('dimmerOn');
} }
storage.set('huegasm.dimmerOn', dimmerOn);
return className; return className;
}.property('dimmerOn'), }.property('dimmerOn'),
init(){ init(){
this._super(); this._super();
if(localStorage.getItem('huegasm.bridgeIp')){ var storage = new window.Locally.Store();
this.set('bridgeIp', localStorage.getItem('huegasm.bridgeIp')); this.set('storage', storage);
}
if(localStorage.getItem('huegasm.bridgeUsername')){ ['bridgeIp', 'bridgeUsername', 'dimmerOn'].forEach((item) => {
this.set('bridgeUsername', localStorage.getItem('huegasm.bridgeUsername')); var storedValue = storage.get('huegasm.' + item);
}
if(storedValue) {
this.set(item, storage.get('huegasm.' + item));
}
});
} }
}); });

View file

@ -1,7 +1,16 @@
{{#if bridgeUsername}} {{#if bridgeUsername}}
{{hue-controls bridgeIp=bridgeIp bridgeUsername=bridgeUsername trial=trial dimmerOn=dimmerOn}} {{hue-controls bridgeIp=bridgeIp bridgeUsername=bridgeUsername trial=trial dimmerOn=dimmerOn storage=storage}}
{{else}} {{else}}
{{bridge-finder bridgeIp=bridgeIp bridgeUsername=bridgeUsername trial=trial}} {{#if ready}}
{{bridge-finder bridgeIp=bridgeIp bridgeUsername=bridgeUsername trial=trial}}
{{else}}
<div class="readyBlock">
<div class="title">Huegasm</div>
<p>Huegasm is a free web application for controlling your Philips Hue lights...oh and it's kind of awesome at syncing music with your lights.</p>
{{#paper-button raised=true primary=true action="isReady" class="goButton"}}Go!{{/paper-button}}
</div>
{{/if}}
{{/if}} {{/if}}
<footer id="footer"> <footer id="footer">

View file

@ -624,8 +624,8 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, {
this._super(); this._super();
var dancer = new Dancer(), var dancer = new Dancer(),
storage = new window.Locally.Store(),
self = this, self = this,
storage = this.get('storage'),
frequency = this.get('frequency'), frequency = this.get('frequency'),
kick = dancer.createKick({ kick = dancer.createKick({
threshold: this.beatOptions.threshold.range.min, threshold: this.beatOptions.threshold.range.min,
@ -637,8 +637,6 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, {
} }
}); });
this.set('storage', storage);
kick.on(); kick.on();
//dancer.bind('update', function(){ //dancer.bind('update', function(){

View file

@ -23,6 +23,21 @@ body {
position: static; position: static;
} }
.goButton {
margin-top: 60px;
border-radius: 100% !important;
width: 100px;
height: 100px;
span {
font-size: 20px;
margin-top: 30px;
}
}
.goButton:hover {
background: darken(#3f51b5, 10%) !important;
}
// temporary HAX...not working in FF // temporary HAX...not working in FF
md-progress-circular[md-mode=indeterminate] .md-spinner-wrapper { md-progress-circular[md-mode=indeterminate] .md-spinner-wrapper {
transform: none !important; transform: none !important;
@ -90,12 +105,12 @@ md-switch[disabled=disabled], md-switch[disabled=disabled] .md-container, md-sli
cursor: pointer; cursor: pointer;
} }
.bridgeFinder { .bridgeFinder, .readyBlock {
text-align: center; text-align: center;
padding-top: 20px; padding-top: 20px;
} }
.bridgeFinder .title { .title {
font-size: 30px; font-size: 30px;
margin-bottom: 30px; margin-bottom: 30px;
} }
@ -864,6 +879,17 @@ body.dimmerOn {
-webkit-filter: drop-shadow(0 0 5px #228DFF); -webkit-filter: drop-shadow(0 0 5px #228DFF);
filter: drop-shadow(0 0 5px #228DFF); filter: drop-shadow(0 0 5px #228DFF);
} }
md-input-container {
label {
color: white;
}
input {
border-bottom-color: white !important;
}
input {
color: white !important;
}
}
} }
.power-settings-new.dimmerOn, .power-settings-new.dimmerOn,