show.html.haml 4.63 KB
Newer Older
1 2
- page_title       @user.name
- page_description @user.bio
3
- content_for :page_specific_javascripts do
4 5
  = page_specific_javascript_tag('lib/d3.js')
  = page_specific_javascript_tag('users/application.js')
6
- header_title     @user.name, user_path(@user)
7
- @no_container = true
Douwe Maan's avatar
Douwe Maan committed
8

9
= content_for :meta_tags do
10
  = auto_discovery_link_tag(:atom, user_url(@user, format: :atom), title: "#{@user.name} activity")
11

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
.user-profile
  .cover-block
    .cover-controls
      - if @user == current_user
        = link_to profile_path, class: 'btn btn-gray' do
          = icon('pencil')
      - elsif current_user
        %span.report-abuse
          - if @user.abuse_report
            %button.btn.btn-danger{ title: 'Already reported for abuse',
              data: { toggle: 'tooltip', placement: 'left', container: 'body' }}
              = icon('exclamation-circle')
          - else
            = link_to new_abuse_report_path(user_id: @user.id, ref_url: request.referrer), 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')
32 33
        - if current_user.admin?
           
34
          = link_to [:admin, @user], class: 'btn btn-gray', title: 'View user in admin area',
35 36
            data: {toggle: 'tooltip', placement: 'bottom', container: 'body'} do
            = icon('users')
37 38 39 40 41 42

    .avatar-holder
      = link_to avatar_icon(@user, 400), target: '_blank' do
        = image_tag avatar_icon(@user, 90), class: "avatar s90", alt: ''
    .cover-title
      = @user.name
Alfredo Sumaran's avatar
Alfredo Sumaran committed
43

44 45 46 47 48
    .cover-desc
      %span.middle-dot-divider
        @#{@user.username}
      %span.middle-dot-divider
        Member since #{@user.created_at.to_s(:medium)}
49

50 51 52 53
    - if @user.bio.present?
      .cover-desc
        %p.profile-user-bio
          = @user.bio
54

55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
    .cover-desc
      - unless @user.public_email.blank?
        .profile-link-holder.middle-dot-divider
          = link_to @user.public_email, "mailto:#{@user.public_email}"
      - unless @user.skype.blank?
        .profile-link-holder.middle-dot-divider
          = link_to "skype:#{@user.skype}", title: "Skype" do
            = icon('skype')
      - unless @user.linkedin.blank?
        .profile-link-holder.middle-dot-divider
          = link_to "https://www.linkedin.com/in/#{@user.linkedin}", title: "LinkedIn" do
            = icon('linkedin-square')
      - unless @user.twitter.blank?
        .profile-link-holder.middle-dot-divider
          = link_to "https://twitter.com/#{@user.twitter}", title: "Twitter" do
            = icon('twitter-square')
      - unless @user.website_url.blank?
        .profile-link-holder.middle-dot-divider
          = link_to @user.short_website_url, @user.full_website_url
      - unless @user.location.blank?
        .profile-link-holder.middle-dot-divider
          = icon('map-marker')
          = @user.location

    %ul.nav-links.center.user-profile-nav
80
      %li.js-activity-tab
Long Nguyen's avatar
Long Nguyen committed
81
        = link_to user_calendar_activities_path, data: {target: 'div#activity', action: 'activity', toggle: 'tab'} do
82
          Activity
83
      %li.js-groups-tab
Long Nguyen's avatar
Long Nguyen committed
84
        = link_to user_groups_path, data: {target: 'div#groups', action: 'groups', toggle: 'tab'} do
85
          Groups
86
      %li.js-contributed-tab
Long Nguyen's avatar
Long Nguyen committed
87
        = link_to user_contributed_projects_path, data: {target: 'div#contributed', action: 'contributed', toggle: 'tab'} do
88
          Contributed projects
89
      %li.js-projects-tab
Long Nguyen's avatar
Long Nguyen committed
90
        = link_to user_projects_path, data: {target: 'div#projects', action: 'projects', toggle: 'tab'} do
91
          Personal projects
92
      %li.js-snippets-tab
Long Nguyen's avatar
Long Nguyen committed
93
        = link_to user_snippets_path, data: {target: 'div#snippets', action: 'snippets', toggle: 'tab'} do
94
          Snippets
95 96 97 98

  %div{ class: container_class }
    .tab-content
      #activity.tab-pane
Annabel Dunstone's avatar
Annabel Dunstone committed
99
        .row-content-block.calender-block.white.second-block.hidden-xs
100 101 102
          .user-calendar{data: {href: user_calendar_path}}
            %h4.center.light
              %i.fa.fa-spinner.fa-spin
103 104 105 106 107 108 109 110
          .user-calendar-activities

        .content_list{ data: {href: user_path} }
        = spinner

      #groups.tab-pane
        - # This tab is always loaded via AJAX

111
      #contributed.tab-pane
112 113 114 115 116
        - # This tab is always loaded via AJAX

      #projects.tab-pane
        - # This tab is always loaded via AJAX

117 118 119
      #snippets.tab-pane
        - # This tab is always loaded via AJAX

120 121
    .loading-status
      = spinner
122 123 124 125 126 127 128

:javascript
  var userProfile;

  userProfile = new User({
    action: "#{controller.action_name}"
  });