A small intro screen
This commit is contained in:
parent
7412743023
commit
c422e14f8f
5 changed files with 61 additions and 14 deletions
|
|
@ -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}}
|
||||||
|
|
@ -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));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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(){
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
Reference in a new issue