@@ -342,12 +353,12 @@ class TrackList extends React.Component{
key={track.key}
track={track}
context={this.props.context}
- handleDoubleClick={ e => self.handleDoubleClick(e, index)}
- handleMouseUp={ e => self.handleMouseUp(e, index)}
- handleMouseDown={ e => self.handleMouseDown(e, index)}
- handleTouchStart={ e => self.handleTouchStart(e, index)}
- handleTouchEnd={ e => self.handleTouchEnd(e, index)}
- handleContextMenu={ e => self.handleContextMenu(e)} />
+ handleDoubleClick={e => self.handleDoubleClick(e, index)}
+ handleMouseUp={e => self.handleMouseUp(e, index)}
+ handleMouseDown={e => self.handleMouseDown(e, index)}
+ handleTouchStart={e => self.handleTouchStart(e, index)}
+ handleTouchEnd={e => self.handleTouchEnd(e, index)}
+ handleContextMenu={e => self.handleContextMenu(e)} />
}
)
}
diff --git a/src/js/views/Search.js b/src/js/views/Search.js
index f146278a..78cf8447 100755
--- a/src/js/views/Search.js
+++ b/src/js/views/Search.js
@@ -139,7 +139,7 @@ class Search extends React.Component{
var artists_section = (
@@ -152,7 +152,7 @@ class Search extends React.Component{
var albums_section = (
@@ -165,7 +165,7 @@ class Search extends React.Component{
var playlists_section = (
diff --git a/src/scss/components/_context-menu.scss b/src/scss/components/_context-menu.scss
index 4c0bf143..f35cbaef 100755
--- a/src/scss/components/_context-menu.scss
+++ b/src/scss/components/_context-menu.scss
@@ -248,28 +248,32 @@
}
}
-.list {
- .context-menu-trigger {
- display: none;
- }
+.list {
+ &.track-list {
- &.track-list.edit-mode {
.context-menu-trigger {
- display: block;
- position: fixed;
- bottom: 50px;
- right: 5px;
- width: 50px;
- height: 50px;
- overflow: hidden;
- z-index: 97;
- border-radius: 50%;
- background: $blue;
- color: #FFFFFF;
-
- &:focus,
- &:active {
- background: darken($blue, 10%);
+ display: none;
+ }
+
+ @include responsive( $bp_medium ){
+
+ .context-menu-trigger {
+ display: block;
+ position: fixed;
+ bottom: 50px;
+ right: 5px;
+ width: 50px;
+ height: 50px;
+ overflow: hidden;
+ z-index: 97;
+ border-radius: 50%;
+ background: $blue;
+ color: #FFFFFF;
+
+ &:focus,
+ &:active {
+ background: darken($blue, 10%);
+ }
}
}
}
diff --git a/src/scss/components/_grid.scss b/src/scss/components/_grid.scss
index 6d4185e5..7cc69e51 100755
--- a/src/scss/components/_grid.scss
+++ b/src/scss/components/_grid.scss
@@ -42,13 +42,9 @@
&:active,
&:focus {
- .thumbnail {
- .image {
- margin: 2%;
- padding-bottom: 96%;
- width: 96%;
- }
- }
+ -moz-transform: scale(0.98);
+ -webkit-transform: scale(0.98);
+ transform: scale(0.98);
}
}
diff --git a/src/scss/components/_lists.scss b/src/scss/components/_lists.scss
index 79865a35..1259f57d 100755
--- a/src/scss/components/_lists.scss
+++ b/src/scss/components/_lists.scss
@@ -1,7 +1,7 @@
.list {
-
.list-item {
+ @include clearfix;
-webkit-touch-callout: none;
-webkit-user-select: none;
@@ -16,12 +16,29 @@
border-top: 1px solid $faint_grey;
border-bottom: 1px solid $faint_grey;
margin-bottom: -1px;
- @include clearfix;
+ cursor: pointer;
&.selected {
background: $yellow !important;
}
+ &.playing {
+ font-weight: bold;
+ }
+
+ .state-icon {
+ position: absolute;
+ top: 0;
+ left: 0;
+ font-size: 10px;
+
+ .fa {
+ position: absolute;
+ top: 15px;
+ left: 15px;
+ }
+ }
+
:root .notouch:not(.dragging) &:not(.header):not(.no-click):hover {
background: rgba(150,150,150,0.1);
cursor: pointer;
@@ -71,35 +88,6 @@
}
}
- .select-state {
- position: absolute;
- top: 15px;
- left: 15px;
- font-size: 10px;
- }
-
- .play-state {
- display: none;
- position: absolute;
- top: 16px;
- left: 15px;
- font-size: 10px;
- }
-
- &.playing {
- font-weight: 600;
- .play-state {
- display: block;
- opacity: 1;
- }
- }
-
- &.playing.selected {
- .play-state {
- display: none;
- }
- }
-
:root .dragging &:hover {
border-top: 3px solid $blue;
margin-top: -3px;
@@ -222,13 +210,40 @@
@include responsive( $bp_medium ){
.list-item {
- padding: 7px 30px 7px 16px !important;
+ padding: 7px 30px 7px 48px !important;
.source {
position: static;
float: none;
}
+ .state-icon {
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 48px;
+
+ .fa {
+ top: 19px;
+ left: 17px;
+ }
+
+ &:after {
+ display: block;
+ content: '';
+ border: 1px solid $darkest_grey;
+ width: 15px;
+ height: 15px;
+ position: absolute;
+ top: 15px;
+ left: 15px;
+ }
+
+ .playing {
+ display: none !important;
+ }
+ }
+
.col {
&.name {
width: 90% !important;
@@ -275,13 +290,6 @@
&.header {
display: none;
}
-
- &.track {
- .select-state,
- .play-state {
- display: none !important;
- }
- }
}
&.queue-track-list {
@@ -300,17 +308,5 @@
}
}
}
-
- &.edit-mode {
- .list-item {
- padding-left: 40px !important;
-
- &.track {
- .select-state {
- display: block !important;
- }
- }
- }
- }
}
}
\ No newline at end of file
diff --git a/src/scss/global/_core.scss b/src/scss/global/_core.scss
index 476553d6..17e78a83 100755
--- a/src/scss/global/_core.scss
+++ b/src/scss/global/_core.scss
@@ -6,6 +6,7 @@ html {
color: #000000;
font-family: "Archivo Narrow", Helvetica, Arial, sans-serif;
font-size: 14px;
+ touch-action: manipulation;
}
body {
diff --git a/src/scss/global/_forms.scss b/src/scss/global/_forms.scss
index 4010cfdf..028771a3 100755
--- a/src/scss/global/_forms.scss
+++ b/src/scss/global/_forms.scss
@@ -1,4 +1,12 @@
+:focus {
+ outline: none;
+}
+
+::-moz-focus-inner {
+ border: 0;
+}
+
button,
textarea,
input[type="text"],
@@ -159,6 +167,36 @@ input[type="submit"] {
}
}
+ &.working {
+ position: relative;
+
+ &:after {
+ position: absolute;
+ display: block;
+ content: '';
+ background: $mid_grey;
+ opacity: 1;
+ animation: slideloader 1s infinite;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 4px;
+ z-index: 1;
+ }
+
+ &.destructive:after {
+ background: $red;
+ }
+
+ &.primary:after {
+ background: $turquoise;
+ }
+
+ &.alternative:after {
+ background: $blue;
+ }
+ }
+
&.context-menu-trigger {
border-color: transparent;
padding: 6px;