bug fixes

This commit is contained in:
Egor 2016-10-17 00:20:17 -07:00
parent 3750b09e8b
commit 0ca96ff7fb
17 changed files with 117 additions and 175 deletions

View file

@ -10,7 +10,8 @@ const {
} = Ember;
export default Component.extend({
classNames: ['container', 'bridge-finder'],
elementId: 'bridge-finder',
classNames: ['container'],
bridgeIp: null,
trial: false,
bridgeUsername: null,
@ -28,9 +29,7 @@ export default Component.extend({
multipleBridgeIps: [],
error: false,
isAuthenticating: computed('bridgePingIntervalHandle', function(){
return this.get('bridgePingIntervalHandle') !== null;
}),
isAuthenticating: computed.notEmpty('bridgePingIntervalHandle'),
// try to authenticate against the bridge here
onBridgeIpChange: on('init', observer('bridgeIp', function(){
@ -118,6 +117,7 @@ export default Component.extend({
clearBridgePingIntervalHandle(){
clearInterval(this.get('bridgePingIntervalHandle'));
this.set('bridgePingIntervalHandle', null);
},
actions: {

View file

@ -4,14 +4,17 @@
{{#if error}}
<p>Huegasm encountered a critical error while trying to connect to your bridge.<br><br>
This likely happened because you're using an outdated browser and/or because your browser does not support <a href="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing" target="_blank" rel="noopener noreferrer">CORS</a>. Feel free to contact me through the link at the bottom of the page if you feel like this is not the case.<br>
For the best browsing experience on this site ( and every other one known to man ) please switch to <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Google Chrome</a> or <a href="https://www.mozilla.org/en-US/firefox/new/" target="_blank" rel="noopener noreferrer">Firefox</a></p>.
For the best browsing experience on this site ( and every other one known to man ) please switch to <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Google Chrome</a> or <a href="https://www.mozilla.org/en-US/firefox/new/" target="_blank" rel="noopener noreferrer">Firefox.</a></p>
{{else}}
<img src="assets/images/pressButtonBridge.png" id="press-bridge-button-img">
{{paper-progress-linear warn=true value=bridgeUserNamePingIntervalProgress}}
{{#if isAuthenticating}}
<p>Your bridge IP is <b>{{bridgeIp}}</b> <br>
Press the button on your bridge to authenticate this application.</p>
<p>
Your bridge IP is <b>{{bridgeIp}}</b>
<br>
Press the button on your bridge to authenticate this application.
</p>
{{else}}
<p>You failed to press the button. <a class="no-text-decoration" href="#" {{action 'retry'}}>RETRY</a></p>
{{/if}}

View file

@ -171,7 +171,7 @@ export default Component.extend({
'You may toggle a light\'s state by clicking on it.'
},
{
element: '#settings-icon',
element: '#settings',
intro: 'A few miscellaneous settings can be found here.<br><br>' +
'<b>WARNING</b>: clearing application settings will restore the application to its original state. This will even delete your playlist and any saved song beat preferences.',
position: 'bottom'
@ -249,6 +249,10 @@ export default Component.extend({
if(elem.html() === '<!---->'){
$('.introjs-nextbutton').click();
}
run.later(this, function() {
$('.introjs-tooltip').velocity('scroll');
}, 500);
}).onexit(onExit).oncomplete(onFinish).start();
}
}

View file

@ -1,33 +1,34 @@
{{#if ready}}
<div class="row navigation">
<div class="col-sm-6 col-sm-offset-3 col-xs-10">
{{#each tabData as |tab|}}
<span class="navigation-item pointer text-uppercase {{if tab.selected "active"}}" {{action "changeTab" tab.name}}>{{tab.name}}</span>
{{/each}}
</div>
<div id="settings" class="col-xs-2">
{{#paper-menu as |menu|}}
{{#paper-button target=menu action="toggleMenu" icon-button=true}}
{{paper-icon "settings" class=dimmerOnClass id="settings-icon"}}
{{/paper-button}}
{{else}}
{{#paper-menu-item action="clearBridge"}}
{{paper-icon "settings" class="md-menu-align-target"}}
<span>Switch bridge</span>
{{/paper-menu-item}}
{{#paper-menu-item action="startIntro"}}
{{paper-icon "settings" class="md-menu-align-target"}}
<span>Restart tutorial</span>
{{/paper-menu-item}}
{{#paper-menu-item action="clearAllSettings"}}
{{paper-icon "settings" class="md-menu-align-target"}}
<span>Reset settings</span>
{{/paper-menu-item}}
{{/paper-menu}}
<div id="navigation">
{{#each tabData as |tab|}}
<span class="navigation-item pointer text-uppercase {{if tab.selected "active"}}" {{action "changeTab" tab.name}}>{{tab.name}}</span>
{{/each}}
<div id="settings">
<span data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="settings-itemSettings">
{{paper-icon "settings" class=dimmerOnClass id="settings-icon" size=2}}
</span>
<ul id="settings-menu" class="dropdown-menu">
<li {{action "clearBridge"}}>
<a href="#">
Switch bridge
</a>
</li>
<li {{action "startIntro"}}>
<a href="#">
Restart tutorial
</a>
</li>
<li {{action "clearAllSettings"}}>
<a href="#">
Reset settings
</a>
</li>
</ul>
</div>
</div>
{{light-group lightsData=lightsData activeLights=activeLights syncLight=syncLight apiURL=apiURL classNames="horizontal-light-group" dimmerOn=dimmerOn id="active-lights"}}
{{light-group lightsData=lightsData activeLights=activeLights syncLight=syncLight apiURL=apiURL dimmerOn=dimmerOn}}
{{lights-tab apiURL=apiURL lightsData=lightsData activeLights=activeLights syncLight=syncLight trial=trial active=lightsTabSelected colorLoopOn=colorLoopOn dimmerOn=dimmerOn}}

View file

@ -9,7 +9,8 @@ const {
} = Ember;
export default Component.extend({
classNames: ['light-group'],
elementId: 'active-lights',
classNames: ['light-group', 'horizontal-light-group'],
isHovering: false,
activeLights: A(),

View file

@ -379,7 +379,7 @@ export default Mixin.create({
this.changeTooltipText(type, tooltipTxt);
})),
onPrevChange: observer('timeElapsed', 'playQueueNotEmpty', 'playQueue.[]', function() {
onPrevChange: on('init', observer('timeElapsed', 'playQueueNotEmpty', 'playQueue.[]', function() {
if(this.get('playQueueNotEmpty')){
let tooltipTxt = 'Previous', type = 'prev';
@ -389,7 +389,7 @@ export default Mixin.create({
this.changeTooltipText(type, tooltipTxt);
}
}),
})),
onPlayingChange: on('init', observer('playing', function () {
let tooltipTxt = 'Play', type = 'playing';

View file

@ -44,7 +44,7 @@
<li>
<a href="#" {{action "setVisName" name}}>{{name}}
{{#if (eq currentVisName name)}}
{{paper-icon "check"}}
{{paper-icon "check" class=dimmerOnClass}}
{{/if}}
</a>
</li>

View file

@ -7,7 +7,6 @@
@import 'bridge-finder';
@import 'common';
@import 'dimmer';
@import 'ember-notify';
@import 'fancy-speaker';
@import 'introjs';
@import 'hue-controls';
@ -57,15 +56,6 @@ body, button {
border: none;
}
#settings {
z-index: 3;
padding-right: 0;
text-align: right;
}
.settings:before {
transition: 0.1s all ease-in-out;
}
.title {
margin-bottom: 30px;
@ -89,6 +79,13 @@ div.ember-modal-dialog {
}
}
.dropdown-menu {
font-size: 14px;
a {
line-height: 2 !important;
}
}
// fancy webkit scrollbars
::-webkit-scrollbar {
-webkit-appearance: none;

View file

@ -24,12 +24,16 @@
font-size: 16px;
}
.bridge-finder, .ready-block {
#bridge-finder, .ready-block {
text-align: center;
padding-top: 10px;
font-size: 16px;
}
#bridge-finder .md-bar {
background-color: $secondaryThemeColor !important;
}
// preloading image
.ready-block:after {
display: none;

View file

@ -19,11 +19,11 @@ body.dimmerOn {
.color {
border: 1px solid white;
}
.playlist-item, #add-music-choices, .add-new-music {
.playlist-item, .dropdown-menu, .add-new-music {
color: $whitish;
background-color: $dimmerOnButtonColor;
}
#add-music-choices {
.dropdown-menu {
a {
color: $whitish;
&:hover {
@ -78,6 +78,7 @@ body.dimmerOn {
.group.dimmerOn,
.settings.dimmerOn,
.mic.dimmerOn,
.check.dimmerOn,
.star.dimmerOn,
.library-music.dimmerOn {
color: inherit !important;

View file

@ -1,102 +0,0 @@
.ember-notify-default.ember-notify-cn {
position: fixed;
z-index: 5000;
right: 0;
top: 20px;
}
.ember-notify-default .ember-notify {
display: block;
margin: 10px;
position: relative;
width: 300px;
}
.ember-notify-default .ember-notify-show {
-webkit-animation-duration: 500ms;
animation-duration: 500ms;
-webkit-animation-name: ember-notify-show;
animation-name: ember-notify-show;
-webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.275);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.275);
}
.ember-notify-default .ember-notify-hide {
-webkit-animation-duration: 250ms;
animation-duration: 250ms;
-webkit-animation-name: ember-notify-hide;
animation-name: ember-notify-hide;
-webkit-animation-timing-function: cubic-bezier(0.600, -0.280, 0.735, 0.045);
animation-timing-function: cubic-bezier(0.600, -0.280, 0.735, 0.045);
}
.ember-notify-hide:hover {
-webkit-animation-play-state: paused;
-moz-animation-play-state: paused;
-o-animation-play-state: paused;
animation-play-state: paused;
}
@-webkit-keyframes ember-notify-show {
from {
right: -310px;
}
to {
right: 0;
}
}
@keyframes ember-notify-show {
from {
right: -310px;
}
to {
right: 0;
}
}
@-webkit-keyframes ember-notify-hide {
from {
right: 0;
}
to {
right: -310px;
}
}
@keyframes ember-notify-hide {
from {
right: 0;
}
to {
right: -310px;
}
}
.ember-notify-default .ember-notify .close {
float: right;
cursor: pointer;
}
@media only screen and (max-width: 680px) {
.ember-notify-default.ember-notify-cn {
width: 100%;
padding-left: 20px;
box-sizing: border-box;
}
.ember-notify-default .ember-notify {
width: 100%;
float: right;
}
}
.ember-notify-cn .clearfix {
*zoom: 1;
}
.ember-notify-cn .clearfix:before,
.ember-notify-cn .clearfix:after {
content: " ";
display: table;
}
.ember-notify-cn .clearfix:after {
clear: both;
}

View file

@ -6,17 +6,13 @@
}
.lights-control-tooltip + .tooltip {
left: -20px !important;
left: 0 !important;
}
#color-row {
cursor: pointer;
}
#color-row * .tooltip {
left: -7px !important;
}
#hue-controls {
max-width: 1200px;
position: relative;
@ -28,25 +24,22 @@
content: url(images/colormap.png) url(images/missingArtwork.png) url(images/sc-white.png) url(/favicon-96x96.png) url(images/lights/a19.svg) url(images/lights/a19w.svg) url(images/lights/br30.svg) url(images/lights/br30w.svg) url(images/lights/gu10.svg) url(images/lights/gu10w.svg) url(images/lights/huego.svg) url(images/lights/huegow.svg) url(images/lights/lc_aura.svg) url(images/lights/lc_auraw.svg) url(images/lights/lc_bloom.svg) url(images/lights/lc_bloomw.svg) url(images/lights/lc_iris.svg) url(images/lights/lc_irisw.svg) url(images/lights/lightstrip.svg) url(images/lights/lightstripw.svg) url(images/lights/storylight.svg) url(images/lights/storylightw.svg);
}
.navigation {
#navigation {
padding: 10px 0;
text-align: center;
padding: 10px 0 0 0;
}
.navigation-item {
font-size: 18px;
padding: 0 10px 0 10px;
line-height: 3;
}
.navigation-item.active {
font-weight: bold;
cursor: default;
text-decoration: none !important;
}
.navigation-item:hover {
text-decoration: underline;
&.active {
font-weight: bold;
cursor: default;
text-decoration: none !important;
}
&:hover {
text-decoration: underline;
}
}
.color {
@ -79,3 +72,31 @@
top: 15px;
font-size: 16px;
}
#settings {
z-index: 3;
text-align: right;
cursor: pointer;
float: right;
position: relative;
}
#settings-menu {
position: absolute;
box-shadow: 1px 10px 15px 1px rgba(0, 0, 0, 0.3);
left: -135px;
top: 25px;
border: none;
padding: 0;
}
#settings-icon {
transition: 0.1s all ease-in-out;
&:hover {
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
&:before {
transition: 0.1s all ease-in-out;
}
}

View file

@ -3,7 +3,7 @@ $playerDefaultIconColor: #BBBBBB;
$footerHeight: 45px;
$playerBottomHeight: 255px;
$secondaryThemeColor: #F12B24;
$glowingText: 0 0 2px #fff, 0 0 8px #fff, 0 0 20px #228DFF;
$glowingText: 0 0 2px #fff, 0 0 4px #fff, 0 0 2px #228DFF;
$dimmerOnButtonColor: #404040;
$blackish: #242424;
$whitish: #e0e0e0;

View file

@ -383,6 +383,11 @@
}
}
.ember-notify-default.ember-notify-cn {
top: 0;
bottom: initial;
}
// mobile overrides
@media(max-width:767px) {
#seek-slider {
@ -397,4 +402,4 @@
.beat-option {
text-align: center !important;
}
}
}

View file

@ -34,7 +34,7 @@
width: 0.4em;
height: 1.3em;
left: -0.071em;
top: -0.500em;
top: -0.550em;
transition-duration: 0.1s;
background: $playerDefaultIconColor !important;
}
@ -56,4 +56,4 @@
height: 200px;
margin-top: 10px;
margin-bottom: 15px;
}
}

View file

@ -60,3 +60,9 @@ md-toolbar {
md-switch.md-default-theme.md-checked .md-thumb {
background-color: $secondaryThemeColor;
}
@media(max-width:500px) {
md-checkbox .md-label {
width: 100px;
}
}

View file

@ -6,6 +6,7 @@ Location: Vancouver, Canada.
/* THANKS */
Edmond Cheung - favicons + huegasm logo
Liviu Antonescu - filming + video editing of the intro
Olamide Omorodion - business consultation
/* SITE */
Last update: 2015