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.

141 lines
5.9 KiB

  1. - content_for :page_title do
  2. = t('admin.dashboard.title')
  3. - unless @system_checks.empty?
  4. .flash-message-stack
  5. - @system_checks.each do |message|
  6. .flash-message.warning
  7. = t("admin.system_checks.#{message.key}.message_html", message.value ? { value: content_tag(:strong, message.value) } : {})
  8. - if message.action
  9. = link_to t("admin.system_checks.#{message.key}.action"), message.action
  10. .dashboard__counters
  11. %div
  12. = link_to admin_accounts_url(local: 1, recent: 1) do
  13. .dashboard__counters__num{ title: number_with_delimiter(@users_count, strip_insignificant_zeros: true) }
  14. = number_to_human @users_count, strip_insignificant_zeros: true
  15. .dashboard__counters__label= t 'admin.dashboard.total_users'
  16. %div
  17. %div
  18. .dashboard__counters__num{ title: number_with_delimiter(@registrations_week, strip_insignificant_zeros: true) }
  19. = number_to_human @registrations_week, strip_insignificant_zeros: true
  20. .dashboard__counters__label= t 'admin.dashboard.week_users_new'
  21. %div
  22. %div
  23. .dashboard__counters__num{ title: number_with_delimiter(@logins_week, strip_insignificant_zeros: true) }
  24. = number_to_human @logins_week, strip_insignificant_zeros: true
  25. .dashboard__counters__label= t 'admin.dashboard.week_users_active'
  26. %div
  27. = link_to admin_pending_accounts_path do
  28. .dashboard__counters__num{ title: number_with_delimiter(@pending_users_count, strip_insignificant_zeros: true) }
  29. = number_to_human @pending_users_count, strip_insignificant_zeros: true
  30. .dashboard__counters__label= t 'admin.dashboard.pending_users'
  31. %div
  32. = link_to admin_reports_url do
  33. .dashboard__counters__num{ title: number_with_delimiter(@reports_count, strip_insignificant_zeros: true) }
  34. = number_to_human @reports_count, strip_insignificant_zeros: true
  35. .dashboard__counters__label= t 'admin.dashboard.open_reports'
  36. %div
  37. = link_to admin_tags_path(pending_review: '1') do
  38. .dashboard__counters__num{ title: number_with_delimiter(@pending_tags_count, strip_insignificant_zeros: true) }
  39. = number_to_human @pending_tags_count, strip_insignificant_zeros: true
  40. .dashboard__counters__label= t 'admin.dashboard.pending_tags'
  41. %div
  42. %div
  43. .dashboard__counters__num{ title: number_with_delimiter(@interactions_week, strip_insignificant_zeros: true) }
  44. = number_to_human @interactions_week, strip_insignificant_zeros: true
  45. .dashboard__counters__label= t 'admin.dashboard.week_interactions'
  46. %div
  47. = link_to sidekiq_url do
  48. .dashboard__counters__num{ title: number_with_delimiter(@queue_backlog, strip_insignificant_zeros: true) }
  49. = number_to_human @queue_backlog, strip_insignificant_zeros: true
  50. .dashboard__counters__label= t 'admin.dashboard.backlog'
  51. .dashboard__widgets
  52. .dashboard__widgets__users
  53. %div
  54. %h4= t 'admin.dashboard.recent_users'
  55. %ul
  56. - @recent_users.each do |user|
  57. %li= admin_account_link_to(user.account)
  58. .dashboard__widgets__features
  59. %div
  60. %h4= t 'admin.dashboard.features'
  61. %ul
  62. %li
  63. = feature_hint(link_to(t('admin.dashboard.feature_registrations'), edit_admin_settings_path), @registrations_enabled)
  64. %li
  65. = feature_hint(link_to(t('admin.dashboard.feature_invites'), edit_admin_settings_path), @invites_enabled)
  66. %li
  67. = feature_hint(link_to(t('admin.dashboard.feature_deletions'), edit_admin_settings_path), @deletions_enabled)
  68. %li
  69. = feature_hint(link_to(t('admin.dashboard.feature_profile_directory'), edit_admin_settings_path), @profile_directory)
  70. %li
  71. = feature_hint(link_to(t('admin.dashboard.feature_timeline_preview'), edit_admin_settings_path), @timeline_preview)
  72. %li
  73. = feature_hint(link_to(t('admin.dashboard.trends'), edit_admin_settings_path), @trends_enabled)
  74. %li
  75. = feature_hint(link_to(t('admin.dashboard.feature_relay'), admin_relays_path), @relay_enabled)
  76. %li
  77. = feature_hint(link_to(t('admin.dashboard.feature_spam_check'), edit_admin_settings_path), @spam_check_enabled)
  78. .dashboard__widgets__versions
  79. %div
  80. %h4= t 'admin.dashboard.software'
  81. %ul
  82. %li
  83. Mastodon
  84. %span.pull-right= @version
  85. %li
  86. Ruby
  87. %span.pull-right= "#{RUBY_VERSION}p#{RUBY_PATCHLEVEL}"
  88. %li
  89. PostgreSQL
  90. %span.pull-right= @database_version
  91. %li
  92. Redis
  93. %span.pull-right= @redis_version
  94. .dashboard__widgets__space
  95. %div
  96. %h4= t 'admin.dashboard.space'
  97. %ul
  98. %li
  99. PostgreSQL
  100. %span.pull-right= number_to_human_size @database_size
  101. %li
  102. Redis
  103. %span.pull-right= number_to_human_size @redis_size
  104. .dashboard__widgets__config
  105. %div
  106. %h4= t 'admin.dashboard.config'
  107. %ul
  108. %li
  109. = feature_hint(t('admin.dashboard.search'), @search_enabled)
  110. %li
  111. = feature_hint(t('admin.dashboard.single_user_mode'), @single_user_mode)
  112. %li
  113. = feature_hint(t('admin.dashboard.authorized_fetch_mode'), @authorized_fetch)
  114. %li
  115. = feature_hint(t('admin.dashboard.whitelist_mode'), @whitelist_enabled)
  116. %li
  117. = feature_hint('LDAP', @ldap_enabled)
  118. %li
  119. = feature_hint('CAS', @cas_enabled)
  120. %li
  121. = feature_hint('SAML', @saml_enabled)
  122. %li
  123. = feature_hint('PAM', @pam_enabled)
  124. %li
  125. = feature_hint(t('admin.dashboard.hidden_service'), @hidden_service)
  126. .dashboard__widgets__trends
  127. %div
  128. %h4= t 'admin.dashboard.trends'
  129. %ul
  130. - @trending_hashtags.each do |tag|
  131. %li
  132. = link_to content_tag(:span, "##{tag.name}", class: !tag.trendable? && !tag.reviewed? ? 'warning-hint' : (!tag.trendable? ? 'negative-hint' : nil)), admin_tag_path(tag.id)
  133. %span.pull-right= number_with_delimiter(tag.history[0][:accounts].to_i)