Commit e3e43e8769ab23b83b57c678cf75b16c2717b997
1 parent
b7dae429
Exists in
master
and in
1 other branch
Added tabs and two columns main layout into profile-info component
Showing
7 changed files
with
154 additions
and
14 deletions
Show diff stats
gulp/styles.js
| @@ -27,7 +27,8 @@ var buildStyles = function() { | @@ -27,7 +27,8 @@ var buildStyles = function() { | ||
| 27 | 27 | ||
| 28 | var injectFiles = gulp.src([ | 28 | var injectFiles = gulp.src([ |
| 29 | path.join(conf.paths.src, '/app/**/*.scss'), | 29 | path.join(conf.paths.src, '/app/**/*.scss'), |
| 30 | - path.join('!' + conf.paths.src, '/app/index.scss') | 30 | + path.join('!' + conf.paths.src, '/app/index.scss'), |
| 31 | + path.join('!' + conf.paths.src, '/app/layout/scss/*.scss') | ||
| 31 | ], { read: false }); | 32 | ], { read: false }); |
| 32 | 33 | ||
| 33 | var injectOptions = { | 34 | var injectOptions = { |
src/app/index.scss
| @@ -16,6 +16,20 @@ $panel-default-text: rgb(44, 62, 80); | @@ -16,6 +16,20 @@ $panel-default-text: rgb(44, 62, 80); | ||
| 16 | $link-color: #007EBB; | 16 | $link-color: #007EBB; |
| 17 | $body-bg: #f5f8fa; | 17 | $body-bg: #f5f8fa; |
| 18 | $page-header-border-color: #eee; | 18 | $page-header-border-color: #eee; |
| 19 | + | ||
| 20 | +//global bg color | ||
| 21 | +$main-bg-color: #e7ebee; | ||
| 22 | + | ||
| 23 | +//primary colors | ||
| 24 | +$primary-color: #03a9f4; | ||
| 25 | +$primary-color-dark: #0288d1; | ||
| 26 | + | ||
| 27 | +//GRID - media queries breakpoints | ||
| 28 | +$break-xxs-min: 420px; | ||
| 29 | +$break-xs-min: 768px; | ||
| 30 | + | ||
| 31 | +$break-xxs-max: ($break-xxs-min - 1); | ||
| 32 | +$break-xs-max: ($break-xs-min - 1); | ||
| 19 | @import "../../bower_components/bootswatch/flatly/_variables.scss"; | 33 | @import "../../bower_components/bootswatch/flatly/_variables.scss"; |
| 20 | 34 | ||
| 21 | /** | 35 | /** |
| @@ -52,3 +66,5 @@ h1, h2, h3, h4, h5 { | @@ -52,3 +66,5 @@ h1, h2, h3, h4, h5 { | ||
| 52 | // endinjector | 66 | // endinjector |
| 53 | 67 | ||
| 54 | @import "../../bower_components/bootswatch/flatly/_bootswatch.scss"; | 68 | @import "../../bower_components/bootswatch/flatly/_bootswatch.scss"; |
| 69 | +@import "layout/scss/mixins"; | ||
| 70 | +@import "layout/scss/bootstrap-overrides"; |
| @@ -0,0 +1,94 @@ | @@ -0,0 +1,94 @@ | ||
| 1 | +/* MAINBOX */ | ||
| 2 | +.main-box { | ||
| 3 | + border: 1px solid #e7ebee; | ||
| 4 | + box-shadow: 0px 1px 1px rgba(0,0,0,0.1); | ||
| 5 | + margin-bottom: 16px; | ||
| 6 | + /* overflow: hidden; */ | ||
| 7 | + @include border-radius($border-radius-base); | ||
| 8 | + | ||
| 9 | + @media (max-width: $break-xs-max) { | ||
| 10 | + margin-bottom: 10px; | ||
| 11 | + } | ||
| 12 | + | ||
| 13 | + h2 { | ||
| 14 | + font-size: 1.3em; | ||
| 15 | + line-height: 29px; | ||
| 16 | + margin: 0; | ||
| 17 | + padding: 0; | ||
| 18 | + | ||
| 19 | + @media (max-width: $break-xxs-max) { | ||
| 20 | + margin-bottom: 5px; | ||
| 21 | + } | ||
| 22 | + } | ||
| 23 | + &.no-header { | ||
| 24 | + padding-top: 20px; | ||
| 25 | + } | ||
| 26 | + .main-box-header { | ||
| 27 | + min-height: 50px; | ||
| 28 | + padding: 10px 20px; | ||
| 29 | + | ||
| 30 | + &.with-border { | ||
| 31 | + border-bottom: 1px solid #ecf0f1; | ||
| 32 | + } | ||
| 33 | + } | ||
| 34 | + .main-box-body { | ||
| 35 | + padding: 0 20px 20px 20px; | ||
| 36 | + } | ||
| 37 | +} | ||
| 38 | + | ||
| 39 | +/* TABS */ | ||
| 40 | +.nav-tabs { | ||
| 41 | + background: #f9f9f9; | ||
| 42 | + border-color: transparent; | ||
| 43 | + margin-bottom: 15px; | ||
| 44 | + @include border-radius(3px 3px 0 0); | ||
| 45 | + | ||
| 46 | + > li > a { | ||
| 47 | + @include border-radius(0); | ||
| 48 | + font-size: 1.125em; | ||
| 49 | + font-weight: 300; | ||
| 50 | + outline: none; | ||
| 51 | + color: #555; | ||
| 52 | + margin-right: 3px; | ||
| 53 | + } | ||
| 54 | + > li > a:hover, | ||
| 55 | + > li > a:focus { | ||
| 56 | + border-color: transparent; | ||
| 57 | + @include border-radius(3px 3px 0 0); | ||
| 58 | + color: #555; | ||
| 59 | + border-bottom: 0; | ||
| 60 | + background: rgba(219, 221, 223, 0.46); | ||
| 61 | + } | ||
| 62 | + > li.active > a, | ||
| 63 | + > li.active > a:hover, | ||
| 64 | + > li.active > a:focus { | ||
| 65 | + @include border-radius(3px 3px 0 0); | ||
| 66 | + border-left: 0; | ||
| 67 | + border-top: 2px solid #03a9f4; | ||
| 68 | + border-right: 0; | ||
| 69 | + background: #fff; | ||
| 70 | + } | ||
| 71 | +} | ||
| 72 | +.nav .open > a, | ||
| 73 | +.nav .open > a:hover, | ||
| 74 | +.nav .open > a:focus { | ||
| 75 | + border-color: $main-bg-color; | ||
| 76 | +} | ||
| 77 | +.nav .caret { | ||
| 78 | + border-bottom-color: $primary-color; | ||
| 79 | + border-top-color: $primary-color; | ||
| 80 | +} | ||
| 81 | +.main-box .tabs-header { | ||
| 82 | + min-height: 50px; | ||
| 83 | + padding: 10px 20px; | ||
| 84 | +} | ||
| 85 | +.main-box .tab-content-body { | ||
| 86 | + padding: 0 20px 20px 20px; | ||
| 87 | + margin-bottom: 0; | ||
| 88 | +} | ||
| 89 | +.main-box .tab-content { | ||
| 90 | + padding: 0 10px; | ||
| 91 | +} | ||
| 92 | +.tabs-wrapper.tabs-no-header .tab-content { | ||
| 93 | + padding: 0 20px 20px; | ||
| 94 | +} |
src/app/profile/info/profile-info.html
| 1 | -<h3>{{vm.profile.name}}</h3> | ||
| 2 | - | ||
| 3 | <div class="profile-wall"> | 1 | <div class="profile-wall"> |
| 4 | - <h4>{{"profile.wall" | translate}}</h4> | ||
| 5 | - <noosfero-activities [activities]="vm.activities"></noosfero-activities> | 2 | + |
| 3 | + <div class="col-lg-3 col-md-4 col-sm-4"> | ||
| 4 | + <div class="main-box clearfix"> | ||
| 5 | + <header class="main-box-header clearfix"> | ||
| 6 | + <h2>{{vm.profile.name}}</h2> | ||
| 7 | + </header> | ||
| 8 | + <div class="main-box-body clearfix"> | ||
| 9 | + <noosfero-profile-image [profile]="vm.profile" class="img-responsive center-block"></noosfero-profile-image> | ||
| 10 | + <div class="profile-since"> | ||
| 11 | + {{"profile.member_since" | translate}}: {{vm.profile.created_at}} | ||
| 12 | + </div> | ||
| 13 | + </div> | ||
| 14 | + </div> | ||
| 15 | + </div> | ||
| 16 | + | ||
| 17 | + <div class="col-lg-9 col-md-8 col-sm-8"> | ||
| 18 | + <div class="main-box clearfix"> | ||
| 19 | + <uib-tabset active="active"> | ||
| 20 | + <uib-tab index="0" heading="{{ 'activities.title' | translate }}"> | ||
| 21 | + <noosfero-activities [activities]="vm.activities"></noosfero-activities> | ||
| 22 | + </uib-tab> | ||
| 23 | + <uib-tab index="0" heading="{{ 'profile.about' | translate }}"> | ||
| 24 | + <!-- Profile data here --> | ||
| 25 | + </uib-tab> | ||
| 26 | + </uib-tabset> | ||
| 27 | + </div> | ||
| 28 | + </div> | ||
| 6 | </div> | 29 | </div> |
src/languages/en.json
| 1 | -{ | 1 | +{ |
| 2 | "noosfero.name" : "Noosfero", | 2 | "noosfero.name" : "Noosfero", |
| 3 | "blocks.profile_image.control_panel": "Control Panel", | 3 | "blocks.profile_image.control_panel": "Control Panel", |
| 4 | "navbar.profile": "Profile", | 4 | "navbar.profile": "Profile", |
| @@ -9,7 +9,9 @@ | @@ -9,7 +9,9 @@ | ||
| 9 | "language.en": "English", | 9 | "language.en": "English", |
| 10 | "language.pt": "Portuguese", | 10 | "language.pt": "Portuguese", |
| 11 | "language.selector": "Language", | 11 | "language.selector": "Language", |
| 12 | - "profile.wall": "Profile Wall", | 12 | + "profile.member_since": "Member since", |
| 13 | + "profile.about": "About me", | ||
| 14 | + "activities.title": "Activities", | ||
| 13 | "activities.create_article.description": "has published on", | 15 | "activities.create_article.description": "has published on", |
| 14 | "activities.add_member_in_community.description": "has joined the community", | 16 | "activities.add_member_in_community.description": "has joined the community", |
| 15 | "activities.new_friendship.description": "has made {friends, plural, one{one new friend} other{# new friends}}:", | 17 | "activities.new_friendship.description": "has made {friends, plural, one{one new friend} other{# new friends}}:", |
| @@ -22,7 +24,5 @@ | @@ -22,7 +24,5 @@ | ||
| 22 | "notification.error.default.title": "Oops...", | 24 | "notification.error.default.title": "Oops...", |
| 23 | "notification.profile.not_found": "Page not found", | 25 | "notification.profile.not_found": "Page not found", |
| 24 | "notification.http_error.401.message": "Unauthorized", | 26 | "notification.http_error.401.message": "Unauthorized", |
| 25 | - "notification.http_error.500.message": "Server error", | ||
| 26 | - "comment.post": "Post", | ||
| 27 | - "comment.reply": "reply" | 27 | + "notification.http_error.500.message": "Server error" |
| 28 | } | 28 | } |
src/languages/pt.json
| 1 | -{ | 1 | +{ |
| 2 | "noosfero.name" : "Noosfero", | 2 | "noosfero.name" : "Noosfero", |
| 3 | "blocks.profile_image.control_panel": "Painel de Controle", | 3 | "blocks.profile_image.control_panel": "Painel de Controle", |
| 4 | "navbar.profile": "Perfil", | 4 | "navbar.profile": "Perfil", |
| @@ -10,6 +10,9 @@ | @@ -10,6 +10,9 @@ | ||
| 10 | "language.pt": "Português", | 10 | "language.pt": "Português", |
| 11 | "language.selector": "Idioma", | 11 | "language.selector": "Idioma", |
| 12 | "profile.wall": "Mural do Perfil", | 12 | "profile.wall": "Mural do Perfil", |
| 13 | + "profile.member_since": "Membro desde", | ||
| 14 | + "profile.about": "Meus dados", | ||
| 15 | + "activities.title": "Atividades", | ||
| 13 | "activities.create_article.description": "publicou em", | 16 | "activities.create_article.description": "publicou em", |
| 14 | "activities.add_member_in_community.description": "entrou na comunidade", | 17 | "activities.add_member_in_community.description": "entrou na comunidade", |
| 15 | "activities.new_friendship.description": "fez {friends, plural, one{um novo amigo} other{# novos amigos}}:", | 18 | "activities.new_friendship.description": "fez {friends, plural, one{um novo amigo} other{# novos amigos}}:", |
| @@ -22,7 +25,5 @@ | @@ -22,7 +25,5 @@ | ||
| 22 | "notification.error.default.title": "Oops...", | 25 | "notification.error.default.title": "Oops...", |
| 23 | "notification.profile.not_found": "Página não encontrada", | 26 | "notification.profile.not_found": "Página não encontrada", |
| 24 | "notification.http_error.401.message": "Não autorizado", | 27 | "notification.http_error.401.message": "Não autorizado", |
| 25 | - "notification.http_error.500.message": "Erro no servidor", | ||
| 26 | - "comment.post": "Postar", | ||
| 27 | - "comment.reply": "responder" | 28 | + "notification.http_error.500.message": "Erro no servidor" |
| 28 | } | 29 | } |