diff --git a/bower.json b/bower.json
index 6edf934..5fc2fd4 100755
--- a/bower.json
+++ b/bower.json
@@ -32,13 +32,13 @@
"moment": "~2.9.0",
"ng-file-upload": "~3.2.4",
"ng-file-upload-shim": "~3.2.4",
- "ngInfiniteScroll": "~1.2.0",
"notifyjs": "~0.3.2",
"oauth-js": "~0.4.3",
"remarkable-bootstrap-notify": "~3.1.3",
"smalot-bootstrap-datetimepicker": "~2.3.4",
"js-data-angular": "~3.1.0",
- "ui-select": "angular-ui-select#~0.13.2"
+ "ui-select": "angular-ui-select#~0.13.2",
+ "ngInfiniteScroll": "~1.2.1"
},
"devDependencies": {
"angular-mocks": ">=1.2.*",
diff --git a/client/app/app.js b/client/app/app.js
index 2328228..a00a06f 100755
--- a/client/app/app.js
+++ b/client/app/app.js
@@ -15,13 +15,14 @@ angular.module('dssWebApp', [
'infinite-scroll',
'angularFileUpload',
'angulartics',
+ 'ngClipboard',
'angular-jwt',
'http-auth-interceptor',
'angular-smilies',
'angulartics.google.analytics'
])
.config(function ($stateProvider, $sceDelegateProvider, $httpProvider, $urlRouterProvider, $locationProvider, $provide,
- jwtInterceptorProvider, $analyticsProvider, dialogsProvider, DSProvider, DSHttpAdapterProvider,
+ ngClipProvider, jwtInterceptorProvider, $analyticsProvider, dialogsProvider, DSProvider, DSHttpAdapterProvider,
SERVER_CONFIG, STORAGE) {
$urlRouterProvider
.otherwise('/');
@@ -30,6 +31,8 @@ angular.module('dssWebApp', [
$httpProvider.defaults.useXDomain = true;
$httpProvider.interceptors.push('AuthInterceptor');
+ ngClipProvider.setPath("bower_components/zeroclipboard/dist/ZeroClipboard.swf");
+
$analyticsProvider.firstPageview(true);
$analyticsProvider.withAutoBase(true);
diff --git a/client/app/components/pageheader/pageheader.html b/client/app/components/pageheader/pageheader.html
index f166747..441cb2c 100644
--- a/client/app/components/pageheader/pageheader.html
+++ b/client/app/components/pageheader/pageheader.html
@@ -20,13 +20,6 @@
Mixes
-
-
-
- {{$root.currentUser.likes.length}}
- Likes
-
-
@@ -34,6 +27,13 @@
Favourites
+
+
+
+ {{$root.currentUser.likes.length}}
+ Likes
+
+
diff --git a/client/app/main.controller.js b/client/app/main.controller.js
index 2ca1649..9770ac8 100755
--- a/client/app/main.controller.js
+++ b/client/app/main.controller.js
@@ -100,6 +100,19 @@ angular.module('dssWebApp')
SocketService.removeHandler('site:broadcast');
});
+ $scope.getMixUrl = function(mix){
+ var port = window.location.port;
+ return window.location.protocol +
+ "//" + window.location.hostname +
+ (port === '80' ? '' : ':' + port) +
+ $state.href('root.user.mix', {user: mix.user.slug, mix: mix.slug});
+ };
+
+ $scope.copyUrl = function(mix){
+ var url = getMixUrl(mix);
+ console.log("Copied URL", url);
+ };
+
$scope.showChatbar = function () {
$scope.chatVisible = !$scope.chatVisible;
};
diff --git a/client/app/routes.js b/client/app/routes.js
index 078f0ea..d2b9e2b 100755
--- a/client/app/routes.js
+++ b/client/app/routes.js
@@ -1,4 +1,4 @@
-'use strict'
+'use strict';
angular.module('dssWebApp')
.config(function ($stateProvider) {
$stateProvider
@@ -35,13 +35,13 @@ angular.module('dssWebApp')
controller: 'FooterCtrl'
},
'content@': {
- templateUrl: 'app/views/home/home.html',
- controller: 'HomeCtrl'
+ templateUrl: 'app/views/mixes/mixes.html',
+ controller: 'MixesCtrl'
}
}
})
.state('root.upload', {
- url: '/upload',
+ url: 'upload',
resolve: {
mix: function () {
return null;
@@ -54,6 +54,23 @@ angular.module('dssWebApp')
}
}
})
+ .state('root.mixes', {
+ url: 'mixes?genres=:genre',
+ resolve: {
+ mixes: function (MixModel, $stateParams) {
+ return MixModel.findAll({
+ waveform_generated: "True",
+ genres__slug: $stateParams.genre
+ });
+ }
+ },
+ views: {
+ 'content@': {
+ templateUrl: 'app/views/mixes/mixes.html',
+ controller: 'MixesCtrl'
+ }
+ }
+ })
.state('root.me', {
url: 'me',
resolve: {
diff --git a/client/app/views/mixes/mixes.controller.js b/client/app/views/mixes/mixes.controller.js
index 048a7a6..6aab7c8 100755
--- a/client/app/views/mixes/mixes.controller.js
+++ b/client/app/views/mixes/mixes.controller.js
@@ -7,13 +7,13 @@ angular.module('dssWebApp')
$scope.page = 1;
$scope.nextPage = function (e) {
$scope.page++;
+ /*
MixModel.findAll({
page: $scope.page,
waveform_generated: "True",
is_featured: "True",
limit: 3
- });
+ });*/
};
-
- MixModel.bindAll(null, $scope, 'mixes');
+ //MixModel.bindAll(null, $scope, 'mixes');
});
diff --git a/client/app/views/mixes/mixes.directive.html b/client/app/views/mixes/mixes.directive.html
index aa5070f..d4a7c1b 100755
--- a/client/app/views/mixes/mixes.directive.html
+++ b/client/app/views/mixes/mixes.directive.html
@@ -2,10 +2,13 @@