summaryrefslogtreecommitdiff
path: root/app/views/users/show.html.haml
blob: 94cbf8b234cdeb6eb724c6756ba8db017a69cbef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
- @hide_top_links = true
- @hide_breadcrumbs = true
- page_title       @user.name
- page_description @user.bio
- header_title     @user.name, user_path(@user)
- @no_container = true

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

.user-profile
  .cover-block.user-cover-block.top-area
    .cover-controls
      - if @user == current_user
        = link_to profile_path, class: 'btn btn-gray has-tooltip', title: 'Edit profile', 'aria-label': 'Edit profile' do
          = icon('pencil')
      - elsif current_user
        - if @user.abuse_report
          %button.btn.btn-danger{ title: 'Already reported for abuse',
            data: { toggle: 'tooltip', placement: 'bottom', 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: 'bottom', container: 'body' } do
            = icon('exclamation-circle')
      = link_to user_path(@user, rss_url_options), class: 'btn btn-gray has-tooltip', title: 'Subscribe', 'aria-label': 'Subscribe' do
        = icon('rss')
      - if current_user && current_user.admin?
        = link_to [:admin, @user], class: 'btn btn-gray', title: 'View user in admin area',
          data: {toggle: 'tooltip', placement: 'bottom', container: 'body'} do
          = icon('users')

    .profile-header
      .avatar-holder
        = link_to avatar_icon_for_user(@user, 400), target: '_blank', rel: 'noopener noreferrer' do
          = image_tag avatar_icon_for_user(@user, 90), class: "avatar s90", alt: ''

      .user-info
        .cover-title
          = @user.name

        .cover-desc.member-date
          %span.middle-dot-divider
            @#{@user.username}
          %span.middle-dot-divider
            Member since #{@user.created_at.to_date.to_s(:long)}

        .cover-desc
          - unless @user.public_email.blank?
            .profile-link-holder.middle-dot-divider
              = link_to @user.public_email, "mailto:#{@user.public_email}", class: 'text-link'
          - 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 linkedin_url(@user), title: "LinkedIn", target: '_blank', rel: 'noopener noreferrer nofollow' do
                = icon('linkedin-square')
          - unless @user.twitter.blank?
            .profile-link-holder.middle-dot-divider
              = link_to twitter_url(@user), title: "Twitter", target: '_blank', rel: 'noopener noreferrer nofollow' 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, class: 'text-link', target: '_blank', rel: 'noopener noreferrer nofollow'
          - unless @user.location.blank?
            .profile-link-holder.middle-dot-divider
              = icon('map-marker')
              = @user.location
          - unless @user.organization.blank?
            .profile-link-holder.middle-dot-divider
              = icon('briefcase')
              = @user.organization

    - if @user.bio.present?
      .cover-desc
        %p.profile-user-bio
          = @user.bio

    .scrolling-tabs-container
      .fade-left= icon('angle-left')
      .fade-right= icon('angle-right')
      %ul.nav-links.user-profile-nav.scrolling-tabs
        - if profile_tab?(:activity)
          %li.js-activity-tab
            = link_to user_path, data: { target: 'div#activity', action: 'activity', toggle: 'tab' } do
              Activity
        - if profile_tab?(:groups)
          %li.js-groups-tab
            = link_to user_groups_path, data: { target: 'div#groups', action: 'groups', toggle: 'tab', endpoint: user_groups_path(format: :json) } do
              Groups
        - if profile_tab?(:contributed)
          %li.js-contributed-tab
            = link_to user_contributed_projects_path, data: { target: 'div#contributed', action: 'contributed', toggle: 'tab', endpoint: user_contributed_projects_path(format: :json) } do
              Contributed projects
        - if profile_tab?(:projects)
          %li.js-projects-tab
            = link_to user_projects_path, data: { target: 'div#projects', action: 'projects', toggle: 'tab', endpoint: user_projects_path(format: :json) } do
              Personal projects
        - if profile_tab?(:snippets)
          %li.js-snippets-tab
            = link_to user_snippets_path, data: { target: 'div#snippets', action: 'snippets', toggle: 'tab', endpoint: user_snippets_path(format: :json) } do
              Snippets

  %div{ class: container_class }
    .tab-content
      - if profile_tab?(:activity)
        #activity.tab-pane
          .row-content-block.calender-block.white.second-block.d-none.d-sm-block
            .user-calendar{ data: { calendar_path: user_calendar_path(@user, :json), calendar_activities_path: user_calendar_activities_path, utc_offset: Time.zone.utc_offset } }
              %h4.center.light
                %i.fa.fa-spinner.fa-spin
            .user-calendar-activities

          - if can?(current_user, :read_cross_project)
            %h4.prepend-top-20
              Most Recent Activity
            .content_list{ data: { href: user_path } }
            = spinner

      - if profile_tab?(:groups)
        #groups.tab-pane
          -# This tab is always loaded via AJAX

      - if profile_tab?(:contributed)
        #contributed.tab-pane
          -# This tab is always loaded via AJAX

      - if profile_tab?(:projects)
        #projects.tab-pane
          -# This tab is always loaded via AJAX

      - if profile_tab?(:snippets)
        #snippets.tab-pane
          -# This tab is always loaded via AJAX

    .loading-status
      = spinner