Commit e3e43e8769ab23b83b57c678cf75b16c2717b997
1 parent
b7dae429
Exists in
master
and in
30 other branches
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 | 27 | |
28 | 28 | var injectFiles = gulp.src([ |
29 | 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 | 32 | ], { read: false }); |
32 | 33 | |
33 | 34 | var injectOptions = { | ... | ... |
src/app/index.scss
... | ... | @@ -16,6 +16,20 @@ $panel-default-text: rgb(44, 62, 80); |
16 | 16 | $link-color: #007EBB; |
17 | 17 | $body-bg: #f5f8fa; |
18 | 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 | 33 | @import "../../bower_components/bootswatch/flatly/_variables.scss"; |
20 | 34 | |
21 | 35 | /** |
... | ... | @@ -52,3 +66,5 @@ h1, h2, h3, h4, h5 { |
52 | 66 | // endinjector |
53 | 67 | |
54 | 68 | @import "../../bower_components/bootswatch/flatly/_bootswatch.scss"; |
69 | +@import "layout/scss/mixins"; | |
70 | +@import "layout/scss/bootstrap-overrides"; | ... | ... |
... | ... | @@ -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 | 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 | 29 | </div> | ... | ... |
src/languages/en.json
1 | -{ | |
1 | +{ | |
2 | 2 | "noosfero.name" : "Noosfero", |
3 | 3 | "blocks.profile_image.control_panel": "Control Panel", |
4 | 4 | "navbar.profile": "Profile", |
... | ... | @@ -9,7 +9,9 @@ |
9 | 9 | "language.en": "English", |
10 | 10 | "language.pt": "Portuguese", |
11 | 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 | 15 | "activities.create_article.description": "has published on", |
14 | 16 | "activities.add_member_in_community.description": "has joined the community", |
15 | 17 | "activities.new_friendship.description": "has made {friends, plural, one{one new friend} other{# new friends}}:", |
... | ... | @@ -22,7 +24,5 @@ |
22 | 24 | "notification.error.default.title": "Oops...", |
23 | 25 | "notification.profile.not_found": "Page not found", |
24 | 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 | 2 | "noosfero.name" : "Noosfero", |
3 | 3 | "blocks.profile_image.control_panel": "Painel de Controle", |
4 | 4 | "navbar.profile": "Perfil", |
... | ... | @@ -10,6 +10,9 @@ |
10 | 10 | "language.pt": "Português", |
11 | 11 | "language.selector": "Idioma", |
12 | 12 | "profile.wall": "Mural do Perfil", |
13 | + "profile.member_since": "Membro desde", | |
14 | + "profile.about": "Meus dados", | |
15 | + "activities.title": "Atividades", | |
13 | 16 | "activities.create_article.description": "publicou em", |
14 | 17 | "activities.add_member_in_community.description": "entrou na comunidade", |
15 | 18 | "activities.new_friendship.description": "fez {friends, plural, one{um novo amigo} other{# novos amigos}}:", |
... | ... | @@ -22,7 +25,5 @@ |
22 | 25 | "notification.error.default.title": "Oops...", |
23 | 26 | "notification.profile.not_found": "Página não encontrada", |
24 | 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 | } | ... | ... |