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
|
.user-profile-sidebar
.profile-header.gl-pb-5.gl-pt-3.gl-overflow-y-auto.sm:gl-pr-4
.gl-align-top.gl-text-left.gl-max-w-80.gl-wrap-anywhere
.user-info
- if @user.confirmed?
.gl-flex.gl-gap-4.gl-flex-col
- if @user.pronouns.present? || @user.pronunciation.present? || @user.bio.present?
%div
%h2.gl-text-base.gl-mb-2.gl-mt-4= s_('UserProfile|About')
.gl-flex.gl-gap-2.gl-flex-col
- if @user.pronouns.present? || @user.pronunciation.present?
.gl-mb-2
- if @user.pronunciation.present?
%p.gl-m-0
= s_("UserProfile|Pronounced as:")
%span.gl-text-sm.gl-text-secondary.gl-inline-flex= @user.pronunciation
- if @user.pronouns.present?
%p.gl-m-0
= s_("UserProfile|Pronouns:")
%span.gl-text-sm.gl-text-secondary.gl-inline-flex= @user.pronouns
- if @user.bio.present?
%p.profile-user-bio.gl-mb-0
= @user.bio
- if @user.achievements_enabled && Ability.allowed?(current_user, :read_user_profile, @user)
#js-user-achievements{ data: { root_url: root_url, user_id: @user.id } }
- user_local_time = local_time(@user.timezone)
%div{ itemprop: 'address', itemscope: true, itemtype: 'https://schema.org/PostalAddress' }
- unless @user.private_profile?
%h2.gl-text-base.gl-mb-2.gl-mt-4= s_('UserProfile|Info')
- if work_information(@user).present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('work', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
%span
= work_information(@user, with_schema_markup: true)
- if @user.location.present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('location', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
%span{ itemprop: 'addressLocality' }
= @user.location
- if user_local_time.present?
.gl-flex.gl-gap-2.gl-mb-2{ data: { testid: 'user-local-time' } }
= sprite_icon('clock', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
%span
= user_local_time
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('calendar', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
%span= s_('Member since %{date}') % { date: l(@user.created_at.to_date, format: :long) }
- if has_contact_info?(@user)
.gl-text-gray-900
%h2.gl-text-base.gl-mb-2.gl-mt-4= s_('UserProfile|Contact')
- if @user.website_url.present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('earth', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
= link_to @user.short_website_url, @user.full_website_url, class: 'gl-text-gray-900', target: '_blank', rel: 'me noopener noreferrer nofollow', itemprop: 'url'
- if display_public_email?(@user)
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('mail', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
= link_to @user.public_email, "mailto:#{@user.public_email}", class: 'gl-text-gray-900', itemprop: 'email'
- if @user.skype.present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('skype', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
= link_to @user.skype, "skype:#{@user.skype}", class: 'gl-text-gray-900', title: "Skype"
- if @user.linkedin.present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('linkedin', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
= link_to linkedin_name(@user), linkedin_url(@user), class: 'gl-text-gray-900', title: "LinkedIn", target: '_blank', rel: 'noopener noreferrer nofollow'
- if @user.twitter.present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('x', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
= link_to @user.twitter, twitter_url(@user), class: 'gl-text-gray-900', title: _("X (formerly Twitter)"), target: '_blank', rel: 'noopener noreferrer nofollow'
- if @user.bluesky.present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('at', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
= link_to @user.bluesky, bluesky_url(@user), class: 'gl-text-gray-900', title: "Bluesky", target: '_blank', rel: 'noopener noreferrer nofollow'
- if @user.mastodon.present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('mastodon', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
= link_to @user.mastodon, mastodon_url(@user), class: 'gl-text-gray-900', title: "Mastodon", target: '_blank', rel: 'noopener noreferrer nofollow me'
- if @user.discord.present?
.gl-flex.gl-gap-2.gl-mb-2
= sprite_icon('discord', css_class: 'gl-fill-icon-subtle gl-mt-1 flex-shrink-0')
= link_to @user.discord, discord_url(@user), class: 'gl-text-gray-900', title: "Discord", target: '_blank', rel: 'noopener noreferrer nofollow'
|