show.html.haml 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. - content_for :page_title do
  2. = "#{display_name(@account)} (#{acct(@account)})"
  3. - content_for :header_tags do
  4. - if @account.user&.setting_noindex
  5. %meta{ name: 'robots', content: 'noindex, noarchive' }/
  6. %link{ rel: 'alternate', type: 'application/rss+xml', href: @rss_url }/
  7. %link{ rel: 'alternate', type: 'application/activity+json', href: ActivityPub::TagManager.instance.uri_for(@account) }/
  8. - if @older_url
  9. %link{ rel: 'next', href: @older_url }/
  10. - if @newer_url
  11. %link{ rel: 'prev', href: @newer_url }/
  12. = opengraph 'og:type', 'profile'
  13. = render 'og', account: @account, url: short_account_url(@account, only_path: false)
  14. = render 'header', account: @account, with_bio: true
  15. .grid
  16. .column-0
  17. .h-feed
  18. %data.p-name{ value: "#{@account.username} on #{site_hostname}" }/
  19. .account__section-headline
  20. = active_link_to t('accounts.posts_tab_heading'), short_account_url(@account)
  21. = active_link_to t('accounts.posts_with_replies'), short_account_with_replies_url(@account)
  22. = active_link_to t('accounts.media'), short_account_media_url(@account)
  23. - if user_signed_in? && @account.blocking?(current_account)
  24. .nothing-here.nothing-here--under-tabs= t('accounts.unavailable')
  25. - elsif @statuses.empty?
  26. = nothing_here 'nothing-here--under-tabs'
  27. - else
  28. .activity-stream.activity-stream--under-tabs
  29. - if params[:page].to_i.zero?
  30. = render partial: 'statuses/status', collection: @pinned_statuses, as: :status, locals: { pinned: true }
  31. - if @newer_url
  32. .entry= link_to_newer @newer_url
  33. = render partial: 'statuses/status', collection: @statuses, as: :status
  34. - if @older_url
  35. .entry= link_to_older @older_url
  36. .column-1
  37. - if @account.memorial?
  38. .memoriam-widget= t('in_memoriam_html')
  39. - elsif @account.moved?
  40. = render 'moved', account: @account
  41. = render 'bio', account: @account
  42. - if @endorsed_accounts.empty? && @account.id == current_account&.id
  43. .placeholder-widget= t('accounts.endorsements_hint')
  44. - elsif !@endorsed_accounts.empty?
  45. .endorsements-widget
  46. %h4= t 'accounts.choices_html', name: content_tag(:bdi, display_name(@account, custom_emojify: true))
  47. - @endorsed_accounts.each do |account|
  48. = account_link_to account
  49. - if @featured_hashtags.empty? && @account.id == current_account&.id
  50. .placeholder-widget
  51. = t('accounts.featured_tags_hint')
  52. = link_to settings_featured_tags_path do
  53. = t('featured_tags.add_new')
  54. = fa_icon 'chevron-right fw'
  55. - else
  56. - @featured_hashtags.each do |featured_tag|
  57. .directory__tag{ class: params[:tag] == featured_tag.name ? 'active' : nil }
  58. = link_to short_account_tag_path(@account, featured_tag.tag) do
  59. %h4
  60. = fa_icon 'hashtag'
  61. = featured_tag.name
  62. %small
  63. - if featured_tag.last_status_at.nil?
  64. = t('accounts.nothing_here')
  65. - else
  66. %time.formatted{ datetime: featured_tag.last_status_at.iso8601, title: l(featured_tag.last_status_at) }= l featured_tag.last_status_at
  67. .trends__item__current= friendly_number_to_human featured_tag.statuses_count
  68. = render 'application/sidebar'