Clean up about page (#1282)

* Add InstancePresenter to expose site details

* Clean up about controller, use instance presenter
This commit is contained in:
Matt Jankowski 2017-04-09 08:47:25 -04:00 committed by Eugen
parent 53eb31f124
commit e5282e4ec0
8 changed files with 175 additions and 55 deletions

View file

@ -0,0 +1,30 @@
= simple_form_for(new_user, url: user_registration_path) do |f|
= f.simple_fields_for :account do |account_fields|
= account_fields.input :username,
autofocus: true,
placeholder: t('simple_form.labels.defaults.username'),
required: true,
input_html: { 'aria-label' => t('simple_form.labels.defaults.username') }
= f.input :email,
placeholder: t('simple_form.labels.defaults.email'),
required: true,
input_html: { 'aria-label' => t('simple_form.labels.defaults.email') }
= f.input :password,
autocomplete: "off",
placeholder: t('simple_form.labels.defaults.password'),
required: true,
input_html: { 'aria-label' => t('simple_form.labels.defaults.password') }
= f.input :password_confirmation,
autocomplete: "off",
placeholder: t('simple_form.labels.defaults.confirm_password'),
required: true,
input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password') }
.actions
= f.button :button, t('about.get_started'), type: :submit
.info
= link_to t('auth.login'), new_user_session_path, class: 'webapp-btn'
·
= link_to t('about.about_this'), about_more_path

View file

@ -7,42 +7,42 @@
.panel
%h2= Rails.configuration.x.local_domain
- unless @description.blank?
%p= @description.html_safe
- unless @instance_presenter.site_description.blank?
%p= @instance_presenter.site_description.html_safe
.information-board
.section
%span= t 'about.user_count_before'
%strong= number_with_delimiter @user_count
%strong= number_with_delimiter @instance_presenter.user_count
%span= t 'about.user_count_after'
.section
%span= t 'about.status_count_before'
%strong= number_with_delimiter @status_count
%strong= number_with_delimiter @instance_presenter.status_count
%span= t 'about.status_count_after'
.section
%span= t 'about.domain_count_before'
%strong= number_with_delimiter @domain_count
%strong= number_with_delimiter @instance_presenter.domain_count
%span= t 'about.domain_count_after'
- unless @extended_description.blank?
.panel= @extended_description.html_safe
- unless @instance_presenter.site_extended_description.blank?
.panel= @instance_presenter.site_extended_description.html_safe
.sidebar
.panel
.panel-header= t 'about.contact'
.panel-body
- if @contact_account
- if @instance_presenter.contact_account
.owner
.avatar= image_tag @contact_account.avatar.url
.avatar= image_tag @instance_presenter.contact_account.avatar.url
.name
= link_to TagManager.instance.url_for(@contact_account) do
%span.display_name.emojify= display_name(@contact_account)
%span.username= "@#{@contact_account.acct}"
= link_to TagManager.instance.url_for(@instance_presenter.contact_account) do
%span.display_name.emojify= display_name(@instance_presenter.contact_account)
%span.username= "@#{@instance_presenter.contact_account.acct}"
- unless @contact_email.blank?
- unless @instance_presenter.contact_email.blank?
.contact-email
= t 'about.business_email'
%strong= @contact_email
%strong= @instance_presenter.contact_email
.panel
.panel-header= t 'about.links'
.panel-list

View file

@ -8,7 +8,7 @@
%meta{ property: 'og:site_name', content: site_title }/
%meta{ property: 'og:type', content: 'website' }/
%meta{ property: 'og:title', content: Rails.configuration.x.local_domain }/
%meta{ property: 'og:description', content: @description.blank? ? "Mastodon is a free, open-source social network server. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly" : strip_tags(@description) }/
%meta{ property: 'og:description', content: strip_tags(@instance_presenter.site_description.blank? ? t('about.about_mastodon') : @instance_presenter.site_description) }/
%meta{ property: 'og:image', content: asset_url('mastodon_small.jpg') }/
%meta{ property: 'og:image:width', content: '400' }/
%meta{ property: 'og:image:height', content: '400' }/
@ -24,28 +24,14 @@
.screenshot-with-signup
.mascot= image_tag 'fluffy-elephant-friend.png'
- if @open_registrations
= simple_form_for(@user, url: user_registration_path) do |f|
= f.simple_fields_for :account do |ff|
= ff.input :username, autofocus: true, placeholder: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username') }
= f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email') }
= f.input :password, autocomplete: "off", placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password') }
= f.input :password_confirmation, autocomplete: "off", placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password') }
.actions
= f.button :button, t('about.get_started'), type: :submit
.info
= link_to t('auth.login'), new_user_session_path, class: 'webapp-btn'
·
= link_to t('about.about_this'), about_more_path
- if @instance_presenter.open_registrations
= render 'registration'
- else
.closed-registrations-message
- if @closed_registrations_message.blank?
- if @instance_presenter.closed_registrations_message.blank?
%p= t('about.closed_registrations')
- else
= @closed_registrations_message.html_safe
= @instance_presenter.closed_registrations_message.html_safe
.info
= link_to t('auth.login'), new_user_session_path, class: 'webapp-btn'
·
@ -85,9 +71,9 @@
= fa_icon('li check-square')
= t 'about.features.api'
- unless @description.blank?
- unless @instance_presenter.site_description.blank?
%h3= t('about.description_headline', domain: Rails.configuration.x.local_domain)
%p= @description.html_safe
%p= @instance_presenter.site_description.html_safe
.actions
.info