From 2fed5ccee536bd6916b4eea564b59338c2007fec Mon Sep 17 00:00:00 2001 From: gitcole Date: Mon, 18 Apr 2016 00:44:41 -0400 Subject: [PATCH 1/2] Project profile (#408) Project profile updated --- .../projects/profile/profile.controller.js | 58 +++--- client/app/projects/profile/profile.html | 167 ++++++++---------- client/app/projects/profile/profile.less | 101 +++++++---- client/app/projects/projects.html | 6 +- client/assets/images/projectplaceholder.png | Bin 0 -> 24509 bytes 5 files changed, 171 insertions(+), 161 deletions(-) create mode 100644 client/assets/images/projectplaceholder.png diff --git a/client/app/projects/profile/profile.controller.js b/client/app/projects/profile/profile.controller.js index 54f4ebe4..c1c78853 100644 --- a/client/app/projects/profile/profile.controller.js +++ b/client/app/projects/profile/profile.controller.js @@ -6,6 +6,7 @@ angular.module('observatory3App') $scope.imgPrefix = '/uploads/' + $stateParams.username + '/' + $stateParams.project + '/'; $scope.userOnProject = false; $scope.project = {}; + console.log(Auth); var updateProject = function(){ Project.getProject($stateParams.username, $stateParams.project).then(function(result) { $scope.project = result.data; @@ -24,6 +25,9 @@ angular.module('observatory3App') }; updateProject(); + $scope.selectImage = function() { + angular.element('#uploadImage').trigger('click'); + }; $scope.editProject = function() { $scope.editedProject = angular.copy($scope.project); @@ -66,25 +70,37 @@ angular.module('observatory3App') $scope.getPic = function(user) { if (! ('avatar' in user)){ user.avatar = "//www.gravatar.com/avatar/00000000000000000000000000000000?d=monsterid"; - $http.get('/api/users/' + user._id + '/avatar') .success(function(avatar){ + $http.get('/api/users/' + user._id + '/avatar').success(function(avatar){ user.avatar = avatar; - }) + }); + } else { } return user.avatar } var initializeSlides = function(photos) { var slides = []; - for (var i = 0; i < photos.length; i++){ - slides.push({ - id: i, - active: false, - image: $scope.imgPrefix + photos[i], - src: photos[i] - }); - if (i === 0) { - slides[0].active = true; - } + if(photos.length > 0) { + for (var i = 0; i < photos.length; i++){ + slides.push({ + id: i, + active: false, + image: $scope.imgPrefix + photos[i], + src: photos[i] + }); + if (i === 0) { + slides[0].active = true; + } + } + } + else { + slides.push({ + id: 0, + active: true, + placeholder: true, + image: '../../assets/images/projectplaceholder.png', + src: '../../assets/images/projectplaceholder.png' + }); } $scope.slides = slides; } @@ -99,7 +115,7 @@ angular.module('observatory3App') $scope.isLoggedIn = Auth.isLoggedIn; $scope.isAdmin = Auth.isAdmin; - + $scope.isMentor = Auth.isMentor; $scope.joinProject = function(){ $http.put('/api/users/' + $scope.user._id + '/project',{ @@ -212,18 +228,4 @@ angular.module('observatory3App') }; //end tech bubble code - - -}) -.directive('desc', function() { - return { - restrict:'E', - template: '
\ - ' - }; -}).directive('pname', function() { - return { - restrict:'E', - template: '
' - }; -}) +}); diff --git a/client/app/projects/profile/profile.html b/client/app/projects/profile/profile.html index 48347644..300a35cc 100644 --- a/client/app/projects/profile/profile.html +++ b/client/app/projects/profile/profile.html @@ -1,104 +1,89 @@
-
-
-
-

{{project.name}}

-

- -

-
- -
- - - - - - - -
- +
+
+
+

{{project.name}}

-
-
- -
- Upload Images -
- -
-
-
- X -
- -

- No images uploaded yet. -

- - - - - - + +
+ + + + + + + +
+
+
+
+
+
+ + {{tech}} + + + +
+
+
+
+
+
+
+ + + + + -
-
-
-

Contributors

-
-
-
- - -
- -
-
-
+ + + +
-
-
+
+
+

About

+
+
-
-
- -
-
-
-

Tech Tags

-
-
- {{tech}} - -
- - -
+
+
+
+
+
+
+

Contributors

+
+
+
+
diff --git a/client/app/projects/profile/profile.less b/client/app/projects/profile/profile.less index 3e0b8d70..15cb31a6 100644 --- a/client/app/projects/profile/profile.less +++ b/client/app/projects/profile/profile.less @@ -1,25 +1,52 @@ +h3 { + margin-top: 0px; +} + +.page div[class*="col"] { + padding: 10px; +} + +.row-eq-height { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +figure { + text-align: center; + img { + margin: 0px auto; + } +} + .project-image{ background-color: #eee; - clear: both; - padding: 20px; - margin-top: 20px; - margin-bottom: 20px; - position: relative; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; + + button { + margin-bottom: 10px; + } } .contributors{ + padding: 20px; background-color: #eee; - margin-top: 20px; - padding: 0 20px 20px 40px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } .description{ + position: absolute; + top: 10px; + left: 10px; + right: 10px; + bottom: 10px; + text-align: justify; + overflow-y: auto; background-color: #eee; padding: 20px; -webkit-border-radius: 5px; @@ -52,7 +79,7 @@ } .project-image { - padding-bottom: 50px; + padding: 2%; } .slide { @@ -64,6 +91,7 @@ //change carousel transition to fade instead of slide .carousel { + margin-bottom: 10px; .carousel-inner { .item { opacity: 0; @@ -99,34 +127,14 @@ } } -// hide the file upload input -#upload { - position: absolute; - top: 0; - right: 0; - margin: 0; - padding: 0; - font-size: 20px; - cursor: pointer; - opacity: 0; - filter: alpha(opacity=0); -} - -.fileUpload { - position: relative; - overflow: hidden; - margin-top: -10px; - margin-bottom: 5px; - margin-left: -10px; -} - .remove-photo { float: right; position: relative; overflow: hidden; - margin-top: -10px; - margin-bottom: 5px; - margin-left: -10px; +} + +.glyphicon-remove { + cursor: pointer; } desc textarea{ @@ -134,8 +142,6 @@ desc textarea{ height:300px; } - - .description-buttons { margin-top: -10px; margin-bottom: 8px; @@ -151,9 +157,28 @@ desc textarea{ } .tech-tags { - background-color: #eee; padding: 10px 10px 10px 10px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; + + span { + padding: 10px; + display: inline-block; + background-color: #eee; + margin-right: 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 10px; + } +} + +.tech-boxes { + white-space: nowrap; + overflow-x: auto; +} + +g { + padding: 3px; +} + +input[type="file"] { + display: none; } diff --git a/client/app/projects/projects.html b/client/app/projects/projects.html index d2f6cd33..b4361b0c 100644 --- a/client/app/projects/projects.html +++ b/client/app/projects/projects.html @@ -4,8 +4,6 @@

{{ past ? "Past" : "Active" }} Projects

-
-
@@ -36,9 +34,9 @@

{{ past ? "Past" : "Active" }} Projects

{{ project.name}}

diff --git a/client/assets/images/projectplaceholder.png b/client/assets/images/projectplaceholder.png new file mode 100644 index 0000000000000000000000000000000000000000..950c8cc0469d8289f8e0747d81a7ff7a7ec9d3c7 GIT binary patch literal 24509 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%0AZdo+kr_%9 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 literal 0 HcmV?d00001 From cd92fb45d816a15293c9ad61511f68bd6f05500d Mon Sep 17 00:00:00 2001 From: Kiana McNellis Date: Tue, 19 Apr 2016 17:09:29 -0400 Subject: [PATCH 2/2] Fix styling on project page --- client/app/projectchooser/projectchooser.less | 12 +- .../projects/profile/profile.controller.js | 1 - client/app/projects/profile/profile.html | 55 +-- client/app/projects/profile/profile.less | 346 ++++++++++-------- client/app/user/user.html | 2 +- 5 files changed, 234 insertions(+), 182 deletions(-) diff --git a/client/app/projectchooser/projectchooser.less b/client/app/projectchooser/projectchooser.less index 459ae5e6..e532ea5f 100644 --- a/client/app/projectchooser/projectchooser.less +++ b/client/app/projectchooser/projectchooser.less @@ -11,5 +11,15 @@ height: auto; width: auto; max-height: 100%; - max-width: 100% + max-width: 100%; + background-color: #eee; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + + button { + margin-bottom: 10px; + } + + } diff --git a/client/app/projects/profile/profile.controller.js b/client/app/projects/profile/profile.controller.js index c1c78853..fab19fb6 100644 --- a/client/app/projects/profile/profile.controller.js +++ b/client/app/projects/profile/profile.controller.js @@ -6,7 +6,6 @@ angular.module('observatory3App') $scope.imgPrefix = '/uploads/' + $stateParams.username + '/' + $stateParams.project + '/'; $scope.userOnProject = false; $scope.project = {}; - console.log(Auth); var updateProject = function(){ Project.getProject($stateParams.username, $stateParams.project).then(function(result) { $scope.project = result.data; diff --git a/client/app/projects/profile/profile.html b/client/app/projects/profile/profile.html index 300a35cc..c201904c 100644 --- a/client/app/projects/profile/profile.html +++ b/client/app/projects/profile/profile.html @@ -1,6 +1,6 @@
-
+

{{project.name}}

@@ -42,24 +42,26 @@

{{project.name}}

-
-
-
- - - - - +
+
+
+
+ + + + + - - - + + + +
-
-
-
-

About

-
+
+
+

About

+
+
@@ -70,14 +72,17 @@

About

Contributors

-
- diff --git a/client/app/projects/profile/profile.less b/client/app/projects/profile/profile.less index 15cb31a6..2be884e9 100644 --- a/client/app/projects/profile/profile.less +++ b/client/app/projects/profile/profile.less @@ -1,184 +1,222 @@ -h3 { - margin-top: 0px; -} +.project-profile{ + // h3 { + // margin-top: 0px; + // } -.page div[class*="col"] { - padding: 10px; -} + div[class*="col"] { + padding: 10px; + } -.row-eq-height { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} + .row-eq-height { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + } -figure { - text-align: center; - img { - margin: 0px auto; + figure { + text-align: center; + img { + margin: 0px auto; + } } -} -.project-image{ - background-color: #eee; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; + .project-image{ + background-color: #eee; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + margin-bottom: 15px; + } - button { - margin-bottom: 10px; - } -} + .contributors{ + padding: 20px; + background-color: #eee; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + } -.contributors{ - padding: 20px; - background-color: #eee; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} + .description{ + // position: absolute; + padding-top: 0; + padding-left: 15px; + padding-right: 15px; + padding-bottom: 15px; + text-align: justify; + overflow-y: auto; + word-wrap: break-word; + background-color: #eee; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + } -.description{ - position: absolute; - top: 10px; - left: 10px; - right: 10px; - bottom: 10px; - text-align: justify; - overflow-y: auto; - background-color: #eee; - padding: 20px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; -} + .contributor-name{ + margin-top: 20px; + } -.contributor-name{ - margin-top: 20px; -} + .header-buttons{ + padding-top: 20px; + } -.header-buttons{ - padding-top: 20px; -} + .carousel-indicators li { + border: 1px solid #444; + } -.carousel-indicators li { - border: 1px solid #444; -} + .carousel-indicators { + bottom: -45px; + } -.carousel-indicators { - bottom: -45px; -} + .carousel-control { + background-image: none !important; /* remove background gradients on controls */ + } -.carousel-control { - background-image: none !important; /* remove background gradients on controls */ -} + .carousel-indicators .active { + background-color: #444; + } -.carousel-indicators .active { - background-color: #444; -} + .project-image { + padding: 2%; + } -.project-image { - padding: 2%; -} + .slide { + height: 350px; + margin: 0 auto; + background-size: contain !important; + background-repeat: no-repeat !important; + } -.slide { - height: 350px; - margin: 0 auto; - background-size: contain !important; - background-repeat: no-repeat !important; -} + //change carousel transition to fade instead of slide + .carousel { + margin-bottom: 10px; + .carousel-inner { + .item { + opacity: 0; + -webkit-transition-property: opacity; + -moz-transition-property: opacity; + -o-transition-property: opacity; + transition-property: opacity; + -webkit-transition-duration: 300ms; + -moz-transition-duration: 300ms; + -o-transition-duration: 300ms; + transition-duration: 300ms; + } + + .active { + opacity: 1; + } + + .active.left, + .active.right { + left: 0; + opacity: 0; + z-index: 1; + } + + .next.left, + .prev.right { + opacity: 1; + } + } + + .carousel-control { + z-index: 2; + } + } -//change carousel transition to fade instead of slide -.carousel { - margin-bottom: 10px; - .carousel-inner { - .item { - opacity: 0; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; - -webkit-transition-duration: 300ms; - -moz-transition-duration: 300ms; - -o-transition-duration: 300ms; - transition-duration: 300ms; - } - - .active { - opacity: 1; - } - - .active.left, - .active.right { - left: 0; - opacity: 0; - z-index: 1; - } - - .next.left, - .prev.right { - opacity: 1; - } - } + .remove-photo { + float: right; + position: relative; + overflow: hidden; + padding: 5px; + } - .carousel-control { - z-index: 2; - } -} + .glyphicon-remove { + cursor: pointer; + } -.remove-photo { - float: right; - position: relative; - overflow: hidden; -} + desc textarea{ + width:100%; + height:300px; + } -.glyphicon-remove { - cursor: pointer; -} + .description-buttons { + margin-top: -10px; + margin-bottom: 8px; + margin-left: -10px; + } -desc textarea{ - width:100%; - height:300px; -} + #nameDiv { + margin-top: 30px + } -.description-buttons { - margin-top: -10px; - margin-bottom: 8px; - margin-left: -10px; -} + #repos { + display: block; + } -#nameDiv { - margin-top: 30px -} + .tech-tags { + padding: 10px 10px 10px 10px; + + span { + padding: 10px; + display: inline-block; + background-color: #eee; + margin-right: 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 10px; + } + } -#repos { - display: block; -} + .tech-boxes { + white-space: nowrap; + overflow-x: auto; + } -.tech-tags { - padding: 10px 10px 10px 10px; + g { + padding: 3px; + } - span { - padding: 10px; - display: inline-block; - background-color: #eee; - margin-right: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 10px; - } -} + input[type="file"] { + display: none; + } -.tech-boxes { - white-space: nowrap; - overflow-x: auto; -} + .image-row{ + padding-top: 10px; + } -g { - padding: 3px; -} + .profile-img{ + display: inline; + } + .user-box{ + overflow:hidden; + word-break: normal; + -webkit-hyphens: auto; + -moz-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + margin-bottom: 10px; + padding-left: 1%; + padding-right: 1%; + } + .user-name{ + height: 2em; + line-height: 1em; + margin-top: 5%; + } + + .user-avatar{ + padding-bottom:100%; + height:0; + position:relative; + display: block; + line-height: 1.42857143; + transition: all 0.2s ease-in-out; + } + + p{ + margin: 0 0 0px; + } -input[type="file"] { - display: none; } diff --git a/client/app/user/user.html b/client/app/user/user.html index a4f23d8e..0a2a2a8d 100644 --- a/client/app/user/user.html +++ b/client/app/user/user.html @@ -45,7 +45,7 @@

{{ past ? "Past " : "" }}RCOS Developers

-
+