diff --git a/src/js/components/GridSlider.js b/src/js/components/GridSlider.js
index ee7632b6..79d85320 100755
--- a/src/js/components/GridSlider.js
+++ b/src/js/components/GridSlider.js
@@ -1,28 +1,58 @@
import React, { PropTypes } from 'react'
+import FontAwesome from 'react-fontawesome'
import GridItem from './GridItem'
export default class GridSlider extends React.Component{
constructor(props) {
- super(props);
+ super(props)
+
+ this._pagelimit = 3
+
+ this.state = {
+ page: 0
+ }
+ }
+
+ next(){
+ if (this.state.page >= this._pagelimit) return false
+ this.setState({ page: this.state.page + 1 })
+ }
+
+ previous(){
+ if (this.state.page <= 0) return false
+ this.setState({ page: this.state.page - 1 })
}
render(){
if( this.props.tracks ){
- var className = "grid-slider"
+
+ var className = "grid-slider-wrapper"
if( this.props.className ) className += ' '+this.props.className
+
+ var style = {
+ left: '-'+(this.state.page * 100)+'%'
+ }
+
return (
-
- {
- this.props.tracks.map(
- (track, index) => {
- var item = Object.assign({}, track.album, { artists: track.artists })
- return
- }
- )
- }
+ { this.props.title ? this.props.title : null }
+
+ this.previous() } />
+ = this._pagelimit} onClick={ () => this.next() } />
+
+
+
+ {
+ this.props.tracks.map(
+ (track, index) => {
+ var item = Object.assign({}, track.album, { artists: track.artists })
+ return
+ }
+ )
+ }
+
);
diff --git a/src/js/views/discover/Discover.js b/src/js/views/discover/Discover.js
index d8841978..ae2023aa 100755
--- a/src/js/views/discover/Discover.js
+++ b/src/js/views/discover/Discover.js
@@ -28,12 +28,8 @@ class Discover extends React.Component{
{
this.props.discover.map(
(discover, index) => {
- return (
-
-
Because you listened to
-
-
- )
+ var title =
Because you listened to
+ return
}
)
}
diff --git a/src/scss/components/_grid-slider.scss b/src/scss/components/_grid-slider.scss
index e4b6ecc4..8eb3bdc2 100755
--- a/src/scss/components/_grid-slider.scss
+++ b/src/scss/components/_grid-slider.scss
@@ -1,12 +1,37 @@
.grid-slider-wrapper {
padding-bottom: 10px;
+ position: relative;
+
+ .controls {
+ position: absolute;
+ top: -5px;
+ right: 0;
+
+ .fa {
+ display: inline-block;
+ padding: 8px;
+ margin-left: 2px;
+ cursor: pointer;
+ opacity: 0.5;
+ @include animate();
+
+ &[disabled] {
+ opacity: 0.2;
+ cursor: not-allowed;
+ }
+
+ &:hover {
+ opacity: 1;
+ }
+ }
+ }
.grid-slider {
position: relative;
overflow-x: hidden;
overflow-y: hidden;
- height: 22vw;
+ height: 17vw;
.has-touch-events & {
overflow-x: scroll;
@@ -18,6 +43,7 @@
left: 0;
width: 400%;
box-sizing: border-box;
+ @include animate();
.grid-item {
width: 4%;
@@ -28,7 +54,7 @@
@include responsive( $bp_medium ){
.grid-slider {
- height: 21vw;
+ height: 23vw;
}
}