diff --git a/app/index.html b/app/index.html
index a4748f8..be60b79 100644
--- a/app/index.html
+++ b/app/index.html
@@ -11,7 +11,7 @@
-
+
diff --git a/app/pods/components/groups-list/template.hbs b/app/pods/components/groups-list/template.hbs
index e938261..12bd200 100644
--- a/app/pods/components/groups-list/template.hbs
+++ b/app/pods/components/groups-list/template.hbs
@@ -1,6 +1,6 @@
{{#paper-list}}
{{#paper-item class="newGroupRow"}}
-
Add a new light group
+ Add a new group
{{/paper-item}}
{{#each groupsArrData as |group|}}
diff --git a/app/pods/components/hue-controls/template.hbs b/app/pods/components/hue-controls/template.hbs
index 427c73a..bb607b7 100644
--- a/app/pods/components/hue-controls/template.hbs
+++ b/app/pods/components/hue-controls/template.hbs
@@ -8,8 +8,7 @@
-
- Light Groups
+ Groups
{{groups-list lightsData=lightsData groupsData=groupsData activeLights=activeLights apiURL=apiURL updateGroupsData=updateGroupsData groupControlDisplayed=groupControlDisplayed}}
diff --git a/app/pods/components/light-group/component.js b/app/pods/components/light-group/component.js
index 415c275..3a4f642 100644
--- a/app/pods/components/light-group/component.js
+++ b/app/pods/components/light-group/component.js
@@ -10,6 +10,18 @@ export default Em.Component.extend({
actions: {
clickLight(id, data){
+ var light = Em.$(event.target);
+
+ if(!light.hasClass('bootstrapTooltip')){
+ light = light.parent();
+ }
+
+ if(light.hasClass('lightInactive')){
+ light.addClass('lightActive').removeClass('lightInactive');
+ } else if(light.hasClass('lightActive')){
+ light.addClass('lightInactive').removeClass('lightActive');
+ }
+
this.sendAction('action', id, data);
},
lightStartHover(id){
diff --git a/app/pods/components/music-tab/component.js b/app/pods/components/music-tab/component.js
index c6ab295..1deca8c 100644
--- a/app/pods/components/music-tab/component.js
+++ b/app/pods/components/music-tab/component.js
@@ -17,6 +17,7 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, {
actions: {
gotoURL(URL){
+ Em.$('.tooltip').remove();
window.open(URL, '_blank');
},
handleNewSoundCloudURL(URL){
@@ -35,7 +36,7 @@ export default Em.Component.extend(musicControlMixin, visualizerMixin, {
picture = result.user.avatar_url;
}
- this.get('playQueue').pushObject({url: result.stream_url + '?client_id=' + this.get('SC_CLIENT_ID'), fileName: result.title + ' - ' + result.user.username, artist: result.user.username, artistUrl: result.user.permalink_url, title: result.title, artworkUrl: result.artwork_url, picture: picture });
+ this.get('playQueue').pushObject({url: result.stream_url + '?client_id=' + this.get('SC_CLIENT_ID'), fileName: result.title + ' - ' + result.user.username, artist: result.user.username, scUrl: result.permalink_url, title: result.title, artworkUrl: result.artwork_url, picture: picture });
} else {
failedSongs.push(result.title);
}
diff --git a/app/pods/components/music-tab/mixins/music-tab.js b/app/pods/components/music-tab/mixins/music-tab.js
index ef52434..3c2688a 100644
--- a/app/pods/components/music-tab/mixins/music-tab.js
+++ b/app/pods/components/music-tab/mixins/music-tab.js
@@ -107,6 +107,17 @@ export default Em.Mixin.create({
return 'Failed to play file ( ' + fileName + ' ).
';
},
+ scUrl: function(){
+ var rtn = null,
+ currentSong = this.get('playQueue')[this.get('playQueuePointer')];
+
+ if(currentSong && currentSong.scUrl){
+ rtn = currentSong.scUrl;
+ }
+
+ return rtn;
+ }.property('playQueuePointer', 'playQueue.[]'),
+
playQueueEmpty: Em.computed.empty('playQueue'),
playQueueNotEmpty: Em.computed.notEmpty('playQueue'),
playQueueMultiple: function(){
diff --git a/app/pods/components/music-tab/template.hbs b/app/pods/components/music-tab/template.hbs
index 02a105d..1695a4a 100644
--- a/app/pods/components/music-tab/template.hbs
+++ b/app/pods/components/music-tab/template.hbs
@@ -23,10 +23,14 @@
{{/if}}
- {{paper-icon icon="remove-red-eye" class="playerControllIcon"}}
- {{paper-icon icon="fullscreen" class="playerControllIcon"}}
-
-
+ {{#if scUrl}}
+
+
+
+ {{/if}}
+ {{paper-icon icon="remove-red-eye" class="playerControllIcon"}}
+ {{paper-icon icon="fullscreen" class="playerControllIcon"}}
+
diff --git a/app/styles/app.scss b/app/styles/app.scss
index ff5146d..91a0c06 100644
--- a/app/styles/app.scss
+++ b/app/styles/app.scss
@@ -41,6 +41,7 @@ md-progress-circular[md-mode=indeterminate] .md-spinner-wrapper {
padding-right: 5px;
text-align: right;
z-index: 3;
+ font-size:16px
}
.settingsItem {
@@ -412,6 +413,7 @@ md-toolbar {
}
.close {
+ font-size: 18px !important;
color: rgb(51, 51, 51);
display: none;
opacity: 1;
@@ -458,7 +460,7 @@ md-switch.md-default-theme.md-checked .md-thumb {
z-index: 20;
background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
.tooltip.top {
- margin-top: -15px;
+ margin-top: -17px;
}
.tooltip-arrow {
display: none;
@@ -866,6 +868,19 @@ body.dimmerOn {
}
}
+.dimmerWrapper:hover i {
+ animation: neon 1.5s ease-in-out infinite alternate;
+}
+
+@keyframes neon {
+ from {
+ text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #228DFF, 0 0 70px #228DFF, 0 0 80px #228DFF, 0 0 100px #228DFF, 0 0 150px #228DFF;
+ }
+ to {
+ text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #228DFF, 0 0 35px #228DFF, 0 0 40px #228DFF, 0 0 50px #228DFF, 0 0 75px #228DFF;
+ }
+}
+
.noUi-value-vertical {
margin-top: -10px;
}
@@ -928,3 +943,7 @@ button.md-warn {
.addNewMusic:hover {
background: linear-gradient(lighten(#db8e01,5%), lighten(#871e0a,5%));
}
+
+.soundCloudLink {
+ margin-right: 5px;
+}
diff --git a/public/assets/images/sc-white.png b/public/assets/images/sc-white.png
new file mode 100644
index 0000000..e48ae8f
Binary files /dev/null and b/public/assets/images/sc-white.png differ
diff --git a/public/humans.txt b/public/humans.txt
new file mode 100644
index 0000000..e5de457
--- /dev/null
+++ b/public/humans.txt
@@ -0,0 +1,14 @@
+/* TEAM */
+Your title: Egor Philippov
+Site: https://www.linkedin.com/pub/egor-philippov/7b/220/148
+Location: Vancouver, Canada.
+
+
+/* THANKS */
+Name: Edmond Cheung
+
+
+/* SITE */
+Last update: 2015
+Standards: HTML5, CSS3
+Components: ember, jQuery, bootstrap, font-awesome, three.js, intro.js, locallyjs, nouislider, dancer.js, jquery-mousewheel, ember paper, ember notify, JavaScript-ID3-Reader
\ No newline at end of file