2017-07-06 12:24:03 -04:00
|
|
|
- @hide_top_links = true
|
|
|
|
- @hide_breadcrumbs = true
|
2015-12-23 16:56:27 -05:00
|
|
|
- page_title @user.name
|
|
|
|
- page_description @user.bio
|
|
|
|
- header_title @user.name, user_path(@user)
|
2016-01-13 10:26:40 -05:00
|
|
|
- @no_container = true
|
2015-05-01 05:33:54 -04:00
|
|
|
|
2015-04-21 10:31:40 -04:00
|
|
|
= content_for :meta_tags do
|
2015-04-21 11:03:23 -04:00
|
|
|
= auto_discovery_link_tag(:atom, user_url(@user, format: :atom), title: "#{@user.name} activity")
|
2015-04-21 10:31:40 -04:00
|
|
|
|
2016-03-02 14:08:03 -05:00
|
|
|
.user-profile
|
2017-05-17 18:22:32 -04:00
|
|
|
.cover-block.user-cover-block.layout-nav
|
2016-03-02 14:08:03 -05:00
|
|
|
.cover-controls
|
|
|
|
- if @user == current_user
|
2017-03-23 19:35:50 -04:00
|
|
|
= link_to profile_path, class: 'btn btn-gray has-tooltip', title: 'Edit profile', 'aria-label': 'Edit profile' do
|
2016-03-02 14:08:03 -05:00
|
|
|
= icon('pencil')
|
|
|
|
- elsif current_user
|
2016-09-16 14:31:55 -04:00
|
|
|
- if @user.abuse_report
|
|
|
|
%button.btn.btn-danger{ title: 'Already reported for abuse',
|
2016-12-26 05:47:16 -05:00
|
|
|
data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } }
|
2016-09-16 14:31:55 -04:00
|
|
|
= icon('exclamation-circle')
|
|
|
|
- else
|
|
|
|
= link_to new_abuse_report_path(user_id: @user.id, ref_url: request.referrer), class: 'btn btn-gray',
|
2016-12-26 05:47:16 -05:00
|
|
|
title: 'Report abuse', data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } do
|
2016-09-16 14:31:55 -04:00
|
|
|
= icon('exclamation-circle')
|
2017-03-23 19:35:50 -04:00
|
|
|
= link_to user_path(@user, rss_url_options), class: 'btn btn-gray has-tooltip', title: 'Subscribe', 'aria-label': 'Subscribe' do
|
2017-02-28 15:50:57 -05:00
|
|
|
= 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')
|
2016-03-02 14:08:03 -05:00
|
|
|
|
2016-09-16 14:31:55 -04:00
|
|
|
.profile-header
|
|
|
|
.avatar-holder
|
2017-03-15 17:21:48 -04:00
|
|
|
= link_to avatar_icon(@user, 400), target: '_blank', rel: 'noopener noreferrer' do
|
2016-09-16 14:31:55 -04:00
|
|
|
= image_tag avatar_icon(@user, 90), class: "avatar s90", alt: ''
|
2016-09-26 12:33:35 -04:00
|
|
|
|
2016-09-16 14:31:55 -04:00
|
|
|
.user-info
|
|
|
|
.cover-title
|
|
|
|
= @user.name
|
2016-02-29 16:40:34 -05:00
|
|
|
|
2016-09-16 14:31:55 -04:00
|
|
|
.cover-desc.member-date
|
2016-10-04 19:42:47 -04:00
|
|
|
%span.middle-dot-divider
|
|
|
|
@#{@user.username}
|
2016-09-16 14:31:55 -04:00
|
|
|
%span.middle-dot-divider
|
2017-03-23 05:23:23 -04:00
|
|
|
Member since #{@user.created_at.to_date.to_s(:long)}
|
2016-09-08 17:38:14 -04:00
|
|
|
|
2016-09-16 14:31:55 -04:00
|
|
|
.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
|
2017-05-08 09:23:22 -04:00
|
|
|
= link_to linkedin_url(@user), title: "LinkedIn" do
|
2016-09-16 14:31:55 -04:00
|
|
|
= icon('linkedin-square')
|
|
|
|
- unless @user.twitter.blank?
|
|
|
|
.profile-link-holder.middle-dot-divider
|
2017-05-08 09:23:22 -04:00
|
|
|
= link_to twitter_url(@user), title: "Twitter" do
|
2016-09-16 14:31:55 -04:00
|
|
|
= 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
|
2016-09-26 12:33:35 -04:00
|
|
|
- unless @user.organization.blank?
|
|
|
|
.profile-link-holder.middle-dot-divider
|
2017-05-24 15:46:39 -04:00
|
|
|
= icon('briefcase')
|
2016-09-26 12:33:35 -04:00
|
|
|
= @user.organization
|
2016-02-24 11:08:00 -05:00
|
|
|
|
2016-03-02 14:08:03 -05:00
|
|
|
- if @user.bio.present?
|
|
|
|
.cover-desc
|
|
|
|
%p.profile-user-bio
|
|
|
|
= @user.bio
|
2016-02-24 11:08:00 -05:00
|
|
|
|
2017-03-24 06:16:29 -04:00
|
|
|
.scrolling-tabs-container
|
|
|
|
.fade-left= icon('angle-left')
|
|
|
|
.fade-right= icon('angle-right')
|
2017-05-17 18:22:32 -04:00
|
|
|
%ul.nav-links.user-profile-nav.scrolling-tabs
|
2017-03-24 06:16:29 -04:00
|
|
|
%li.js-activity-tab
|
2017-03-30 16:36:02 -04:00
|
|
|
= link_to user_path, data: { target: 'div#activity', action: 'activity', toggle: 'tab' } do
|
2017-03-24 06:16:29 -04:00
|
|
|
Activity
|
|
|
|
%li.js-groups-tab
|
2017-03-30 16:36:02 -04:00
|
|
|
= link_to user_groups_path, data: { target: 'div#groups', action: 'groups', toggle: 'tab', endpoint: user_groups_path(format: :json) } do
|
2017-03-24 06:16:29 -04:00
|
|
|
Groups
|
|
|
|
%li.js-contributed-tab
|
2017-03-30 16:36:02 -04:00
|
|
|
= link_to user_contributed_projects_path, data: { target: 'div#contributed', action: 'contributed', toggle: 'tab', endpoint: user_contributed_projects_path(format: :json) } do
|
2017-03-24 06:16:29 -04:00
|
|
|
Contributed projects
|
|
|
|
%li.js-projects-tab
|
2017-03-30 16:36:02 -04:00
|
|
|
= link_to user_projects_path, data: { target: 'div#projects', action: 'projects', toggle: 'tab', endpoint: user_projects_path(format: :json) } do
|
2017-03-24 06:16:29 -04:00
|
|
|
Personal projects
|
|
|
|
%li.js-snippets-tab
|
2017-03-30 16:36:02 -04:00
|
|
|
= link_to user_snippets_path, data: { target: 'div#snippets', action: 'snippets', toggle: 'tab', endpoint: user_snippets_path(format: :json) } do
|
2017-03-24 06:16:29 -04:00
|
|
|
Snippets
|
2017-02-23 16:23:33 -05:00
|
|
|
|
2016-03-02 14:08:03 -05:00
|
|
|
%div{ class: container_class }
|
2017-05-24 06:25:44 -04:00
|
|
|
- if @user == current_user && show_callout?('user_callout_dismissed')
|
2017-03-24 08:41:42 -04:00
|
|
|
= render 'shared/user_callout'
|
2017-02-16 17:02:40 -05:00
|
|
|
.tab-content
|
2016-03-02 14:08:03 -05:00
|
|
|
#activity.tab-pane
|
2016-04-25 16:02:15 -04:00
|
|
|
.row-content-block.calender-block.white.second-block.hidden-xs
|
2017-07-27 18:49:49 -04:00
|
|
|
.user-calendar{ data: { calendar_path: user_calendar_path(@user, :json), calendar_activities_path: user_calendar_activities_path, utc_offset: Time.zone.utc_offset } }
|
2016-04-27 06:07:46 -04:00
|
|
|
%h4.center.light
|
|
|
|
%i.fa.fa-spinner.fa-spin
|
2016-03-02 14:08:03 -05:00
|
|
|
.user-calendar-activities
|
|
|
|
|
2017-02-13 12:30:26 -05:00
|
|
|
%h4.prepend-top-20
|
|
|
|
Most Recent Activity
|
2016-12-26 05:47:16 -05:00
|
|
|
.content_list{ data: { href: user_path } }
|
2016-03-02 14:08:03 -05:00
|
|
|
= spinner
|
|
|
|
|
|
|
|
#groups.tab-pane
|
2017-01-16 09:57:33 -05:00
|
|
|
-# This tab is always loaded via AJAX
|
2016-03-02 14:08:03 -05:00
|
|
|
|
2016-04-27 07:36:04 -04:00
|
|
|
#contributed.tab-pane
|
2017-01-16 09:57:33 -05:00
|
|
|
-# This tab is always loaded via AJAX
|
2016-03-02 14:08:03 -05:00
|
|
|
|
|
|
|
#projects.tab-pane
|
2017-01-16 09:57:33 -05:00
|
|
|
-# This tab is always loaded via AJAX
|
2016-03-02 14:08:03 -05:00
|
|
|
|
2016-05-02 05:37:12 -04:00
|
|
|
#snippets.tab-pane
|
2017-01-16 09:57:33 -05:00
|
|
|
-# This tab is always loaded via AJAX
|
2016-05-02 05:37:12 -04:00
|
|
|
|
2016-03-02 14:08:03 -05:00
|
|
|
.loading-status
|
|
|
|
= spinner
|