Merge branch 'improve-profile-page'
This commit is contained in:
commit
482a17089f
9 changed files with 109 additions and 50 deletions
|
@ -25,6 +25,7 @@ v 8.2.0 (unreleased)
|
|||
|
||||
v 8.1.3
|
||||
- Spread out runner contacted_at updates
|
||||
- New design for user profile page
|
||||
|
||||
v 8.1.1
|
||||
- Fix cloning Wiki repositories via HTTP (Stan Hu)
|
||||
|
|
|
@ -25,7 +25,7 @@ class @Calendar
|
|||
30
|
||||
]
|
||||
legendCellPadding: 3
|
||||
cellSize: $('.user-calendar').width() / 80
|
||||
cellSize: $('.user-calendar').width() / 76
|
||||
onClick: (date, count) ->
|
||||
formated_date = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate()
|
||||
$.ajax
|
||||
|
|
|
@ -100,7 +100,7 @@
|
|||
}
|
||||
|
||||
.cover-desc {
|
||||
padding: 0 $gl-padding;
|
||||
padding: 0 $gl-padding 3px;
|
||||
color: $gl-text-color;
|
||||
}
|
||||
|
||||
|
|
|
@ -387,6 +387,16 @@ table {
|
|||
}
|
||||
}
|
||||
|
||||
.center-middle-menu {
|
||||
@include nav-menu;
|
||||
text-align: center;
|
||||
margin: -$gl-padding;
|
||||
height: auto;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
border-bottom: 1px solid $border-color;
|
||||
}
|
||||
|
||||
.dropzone .dz-preview .dz-progress {
|
||||
border-color: $border-color !important;
|
||||
}
|
||||
|
|
|
@ -53,3 +53,29 @@
|
|||
float: right;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.profile-link-holder {
|
||||
display: inline;
|
||||
|
||||
&:after {
|
||||
content: "\00B7";
|
||||
padding: 0px 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
&:after {
|
||||
content: "";
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: $blue-dark;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.cal-heatmap-container {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
- if local_assigns.has_key?(:contributed_projects) && contributed_projects.present?
|
||||
.panel.panel-default.contributed-projects
|
||||
.panel-heading Projects contributed to
|
||||
= render 'shared/projects/list',
|
||||
projects: contributed_projects.sort_by(&:star_count).reverse,
|
||||
projects_limit: 5, stars: true, avatar: false
|
||||
|
||||
- if local_assigns.has_key?(:projects) && projects.present?
|
||||
.panel.panel-default
|
||||
.panel-heading Personal projects
|
||||
= render 'shared/projects/list',
|
||||
projects: projects.sort_by(&:star_count).reverse,
|
||||
projects_limit: 10, stars: true, avatar: false
|
|
@ -24,22 +24,27 @@
|
|||
|
||||
.cover-desc
|
||||
- unless @user.public_email.blank?
|
||||
= link_to @user.public_email, "mailto:#{@user.public_email}"
|
||||
.profile-link-holder
|
||||
= link_to @user.public_email, "mailto:#{@user.public_email}"
|
||||
- unless @user.skype.blank?
|
||||
·
|
||||
= link_to "Skype", "skype:#{@user.skype}"
|
||||
.profile-link-holder
|
||||
= link_to "skype:#{@user.skype}", title: "Skype" do
|
||||
= icon('skype')
|
||||
- unless @user.linkedin.blank?
|
||||
·
|
||||
= link_to "LinkedIn", "http://www.linkedin.com/in/#{@user.linkedin}"
|
||||
.profile-link-holder
|
||||
= link_to "http://www.linkedin.com/in/#{@user.linkedin}", title: "LinkedIn" do
|
||||
= icon('linkedin-square')
|
||||
- unless @user.twitter.blank?
|
||||
·
|
||||
= link_to "Twitter", "http://www.twitter.com/#{@user.twitter}"
|
||||
.profile-link-holder
|
||||
= link_to "http://www.twitter.com/#{@user.twitter}", title: "Twitter" do
|
||||
= icon('twitter-square')
|
||||
- unless @user.website_url.blank?
|
||||
·
|
||||
= link_to @user.short_website_url, @user.full_website_url
|
||||
.profile-link-holder
|
||||
= link_to @user.short_website_url, @user.full_website_url
|
||||
- unless @user.location.blank?
|
||||
·
|
||||
= @user.location
|
||||
.profile-link-holder
|
||||
= icon('map-marker')
|
||||
= @user.location
|
||||
|
||||
|
||||
.cover-controls
|
||||
|
@ -47,7 +52,7 @@
|
|||
= link_to profile_path, class: 'btn btn-gray' do
|
||||
= icon('pencil')
|
||||
- elsif current_user
|
||||
.report-abuse
|
||||
%span.report-abuse
|
||||
- if @user.abuse_report
|
||||
%button.btn.btn-danger{ title: 'Already reported for abuse',
|
||||
data: { toggle: 'tooltip', placement: 'left', container: 'body' }}
|
||||
|
@ -56,6 +61,10 @@
|
|||
= link_to new_abuse_report_path(user_id: @user.id), class: 'btn btn-gray',
|
||||
title: 'Report abuse', data: {toggle: 'tooltip', placement: 'left', container: 'body'} do
|
||||
= icon('exclamation-circle')
|
||||
- if current_user
|
||||
|
||||
= link_to user_path(@user, :atom, { private_token: current_user.private_token }), class: 'btn btn-gray' do
|
||||
= icon('rss')
|
||||
|
||||
.gray-content-block.second-block
|
||||
.user-calendar
|
||||
|
@ -64,27 +73,47 @@
|
|||
.user-calendar-activities
|
||||
|
||||
|
||||
.row.prepend-top-20
|
||||
%section.col-md-7
|
||||
- if @groups.any?
|
||||
.prepend-top-20
|
||||
%h4 Groups
|
||||
= render 'groups', groups: @groups
|
||||
%hr
|
||||
|
||||
%h4
|
||||
User Activity
|
||||
|
||||
- if current_user
|
||||
%span.rss-icon.pull-right
|
||||
= link_to user_path(@user, :atom, { private_token: current_user.private_token }) do
|
||||
%strong
|
||||
%i.fa.fa-rss
|
||||
%ul.nav.center-middle-menu
|
||||
%li.active
|
||||
= link_to "#activity", 'data-toggle' => 'tab' do
|
||||
Activity
|
||||
- if @groups.any?
|
||||
%li
|
||||
= link_to "#groups", 'data-toggle' => 'tab' do
|
||||
Groups
|
||||
- if @contributed_projects.present?
|
||||
%li
|
||||
= link_to "#contributed", 'data-toggle' => 'tab' do
|
||||
Contributed projects
|
||||
- if @projects.present?
|
||||
%li
|
||||
= link_to "#personal", 'data-toggle' => 'tab' do
|
||||
Personal projects
|
||||
|
||||
.tab-content
|
||||
.tab-pane.active#activity
|
||||
.content_list
|
||||
= spinner
|
||||
%aside.col-md-5
|
||||
= render 'projects', projects: @projects, contributed_projects: @contributed_projects
|
||||
|
||||
- if @groups.any?
|
||||
.tab-pane#groups
|
||||
%ul.content-list
|
||||
- @groups.each do |group|
|
||||
= render 'shared/groups/group', group: group
|
||||
|
||||
- if @contributed_projects.present?
|
||||
.tab-pane#contributed
|
||||
.contributed-projects
|
||||
= render 'shared/projects/list',
|
||||
projects: @contributed_projects.sort_by(&:star_count).reverse,
|
||||
projects_limit: 5, stars: true, avatar: false
|
||||
|
||||
- if @projects.present?
|
||||
.tab-pane#personal
|
||||
.personal-projects
|
||||
= render 'shared/projects/list',
|
||||
projects: @projects.sort_by(&:star_count).reverse,
|
||||
projects_limit: 10, stars: true, avatar: false
|
||||
|
||||
:coffeescript
|
||||
$(".user-calendar").load("#{user_calendar_path}")
|
||||
|
|
|
@ -7,6 +7,7 @@ Feature: Profile
|
|||
Given I visit profile page
|
||||
Then I should see my profile info
|
||||
|
||||
@javascript
|
||||
Scenario: I can see groups I belong to
|
||||
Given I have group with projects
|
||||
When I visit profile page
|
||||
|
|
|
@ -59,7 +59,7 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
|
|||
step 'I should not see the "Remove avatar" button' do
|
||||
expect(page).not_to have_link("Remove avatar")
|
||||
end
|
||||
|
||||
|
||||
step 'I should see the gravatar host link' do
|
||||
expect(page).to have_link("gravatar.com")
|
||||
end
|
||||
|
@ -159,10 +159,9 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
|
|||
end
|
||||
|
||||
step 'I should see my user page' do
|
||||
expect(page).to have_content "User Activity"
|
||||
|
||||
page.within '.navbar-gitlab' do
|
||||
page.within ".cover-block" do
|
||||
expect(page).to have_content current_user.name
|
||||
expect(page).to have_content current_user.username
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -176,7 +175,13 @@ class Spinach::Features::Profile < Spinach::FeatureSteps
|
|||
end
|
||||
|
||||
step 'I should see groups I belong to' do
|
||||
expect(page).to have_css('.profile-groups-avatars', visible: true)
|
||||
page.within ".content" do
|
||||
click_link "Groups"
|
||||
end
|
||||
|
||||
page.within "#groups" do
|
||||
expect(page).to have_content @group.name
|
||||
end
|
||||
end
|
||||
|
||||
step 'I click on new application button' do
|
||||
|
|
Loading…
Reference in a new issue