The Cybre.Space fork of Mastodon -- https://github.com/tootsuite/mastodon https://cybre.space
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

show.html.haml 6.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. - content_for :page_title do
  2. = site_hostname
  3. - content_for :header_tags do
  4. %link{ rel: 'canonical', href: about_url }/
  5. = render partial: 'shared/og'
  6. .landing-page.alternative
  7. .header{ style: 'display: none' }
  8. = image_tag asset_pack_path('header-cybre-alt.jpg'), alt: @instance_presenter.site_title
  9. .container
  10. .grid
  11. .column-0
  12. .brand
  13. = link_to root_url do
  14. = image_tag asset_pack_path('logo-cybre.png')
  15. = Setting.site_title
  16. - if Setting.timeline_preview
  17. .column-1
  18. .landing-page__forms
  19. .brand
  20. = link_to root_url do
  21. = image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon'
  22. = render 'forms'
  23. - else
  24. .column-1.non-preview
  25. .landing-page__forms
  26. .brand
  27. = link_to root_url do
  28. = image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon'
  29. = render 'forms'
  30. - if Setting.timeline_preview
  31. .column-2
  32. .landing-page__hero
  33. = image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('background-cybre.png'), alt: @instance_presenter.site_title
  34. .landing-page__information
  35. .landing-page__short-description
  36. .row
  37. .landing-page__logo
  38. = image_tag asset_pack_path('logo-cybre.png'), alt: 'Cybrespace'
  39. %h1
  40. = @instance_presenter.site_title
  41. %small!= t 'about.hosted_on', domain: content_tag(:span, site_hostname)
  42. %p= @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
  43. .landing-page__call-to-action{ dir: 'ltr' }
  44. .row
  45. .row__information-board
  46. .information-board__section
  47. %span= t 'about.user_count_before'
  48. %strong= number_with_delimiter @instance_presenter.user_count
  49. %span= t 'about.user_count_after', count: @instance_presenter.user_count
  50. .information-board__section
  51. %span= t 'about.status_count_before'
  52. %strong= number_with_delimiter @instance_presenter.status_count
  53. %span= t 'about.status_count_after', count: @instance_presenter.status_count
  54. .row__mascot
  55. .landing-page__mascot
  56. .floats.float-1
  57. = image_tag asset_pack_path('floppy-3.svg')
  58. .floats.float-2
  59. = image_tag asset_pack_path('floppy-1.svg')
  60. .floats.float-3
  61. = image_tag asset_pack_path('floppy-2.svg')
  62. - else
  63. .column-2.non-preview
  64. .landing-page__hero
  65. = image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('preview.jpg'), alt: @instance_presenter.site_title
  66. .landing-page__information
  67. .landing-page__short-description
  68. .row
  69. .landing-page__logo
  70. = image_tag asset_pack_path('logo_transparent.svg'), alt: 'Mastodon'
  71. %h1
  72. = @instance_presenter.site_title
  73. %small!= t 'about.hosted_on', domain: content_tag(:span, site_hostname)
  74. %p= @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
  75. .landing-page__call-to-action
  76. .row
  77. .row__information-board
  78. .information-board__section
  79. %span= t 'about.user_count_before'
  80. %strong= number_with_delimiter @instance_presenter.user_count
  81. %span= t 'about.user_count_after', count: @instance_presenter.user_count
  82. .information-board__section
  83. %span= t 'about.status_count_before'
  84. %strong= number_with_delimiter @instance_presenter.status_count
  85. %span= t 'about.status_count_after', count: @instance_presenter.status_count
  86. .row__mascot
  87. .landing-page__mascot
  88. = image_tag @instance_presenter.mascot&.file&.url || asset_pack_path('elephant_ui_plane.svg'), alt: ''
  89. - if Setting.timeline_preview
  90. .column-3
  91. #mastodon-timeline{ data: { props: Oj.dump(default_props) } }
  92. - if Setting.timeline_preview
  93. .column-4.landing-page__information
  94. .landing-page__features
  95. .features-list
  96. %div
  97. %h3= t 'about.what_is_mastodon'
  98. %p= t 'about.about_mastodon_html'
  99. %div.contact
  100. %h3= t 'about.administered_by'
  101. = account_link_to(@instance_presenter.contact_account, link_to(t('about.learn_more'), about_more_path, class: 'button button-alternative'))
  102. = render 'features'
  103. .landing-page__features__action
  104. = link_to t('about.learn_more'), 'https://joinmastodon.org/', class: 'button button-alternative'
  105. .landing-page__footer
  106. %p
  107. = @instance_presenter.site_short_description.html_safe.presence
  108. = link_to about_more_path do
  109. = t('about.learn_more')
  110. = fa_icon 'angle-double-right'
  111. .hero-widget__footer
  112. .hero-widget__footer__column
  113. %h4= t 'about.administered_by'
  114. = account_link_to @instance_presenter.contact_account
  115. .hero-widget__footer__column
  116. %h4= t 'about.server_stats'
  117. %div{ style: 'display: flex' }
  118. .hero-widget__counter{ style: 'width: 50%' }
  119. %strong= number_to_human @instance_presenter.user_count, strip_insignificant_zeros: true
  120. %span= t 'about.user_count_after', count: @instance_presenter.user_count
  121. .hero-widget__counter{ style: 'width: 50%' }
  122. %strong= number_to_human @instance_presenter.active_user_count, strip_insignificant_zeros: true
  123. %span
  124. = t 'about.active_count_after'
  125. %abbr{ title: t('about.active_footnote') } *