Change edit profile page (#25413)
parent
39110d1d0a
commit
bca649ba79
@ -0,0 +1,15 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Settings::VerificationsController < Settings::BaseController
|
||||||
|
before_action :set_account
|
||||||
|
|
||||||
|
def show
|
||||||
|
@verified_links = @account.fields.select(&:verified?)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def set_account
|
||||||
|
@account = current_account
|
||||||
|
end
|
||||||
|
end
|
@ -1,76 +1,76 @@
|
|||||||
- content_for :page_title do
|
- content_for :page_title do
|
||||||
= t('settings.edit_profile')
|
= t('settings.edit_profile')
|
||||||
|
|
||||||
- content_for :heading_actions do
|
- content_for :heading do
|
||||||
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_profile'
|
%h2= t('settings.profile')
|
||||||
|
= render partial: 'settings/shared/profile_navigation'
|
||||||
|
|
||||||
= simple_form_for @account, url: settings_profile_path, html: { method: :put, id: 'edit_profile' } do |f|
|
= simple_form_for @account, url: settings_profile_path, html: { method: :put, id: 'edit_profile' } do |f|
|
||||||
= render 'shared/error_messages', object: @account
|
= render 'shared/error_messages', object: @account
|
||||||
|
|
||||||
.fields-row
|
%p.lead= t('edit_profile.hint_html')
|
||||||
.fields-row__column.fields-group.fields-row__column-6
|
|
||||||
= f.input :display_name, wrapper: :with_label, input_html: { maxlength: 30, data: { default: @account.username } }, hint: false
|
%h4= t('edit_profile.basic_information')
|
||||||
= f.input :note, wrapper: :with_label, input_html: { maxlength: 500 }, hint: false
|
|
||||||
|
|
||||||
.fields-row
|
.fields-row
|
||||||
.fields-row__column.fields-row__column-6
|
.fields-row__column.fields-row__column-6
|
||||||
= render 'application/card', account: @account
|
|
||||||
|
|
||||||
.fields-row__column.fields-group.fields-row__column-6
|
|
||||||
= f.input :header, wrapper: :with_label, input_html: { accept: AccountHeader::IMAGE_MIME_TYPES.join(',') }, hint: picture_hint(t('simple_form.hints.defaults.header', dimensions: '1500x500', size: number_to_human_size(AccountHeader::LIMIT)), @account.header)
|
|
||||||
|
|
||||||
= f.input :avatar, wrapper: :with_label, input_html: { accept: AccountAvatar::IMAGE_MIME_TYPES.join(',') }, hint: picture_hint(t('simple_form.hints.defaults.avatar', dimensions: '400x400', size: number_to_human_size(AccountAvatar::LIMIT)), @account.avatar)
|
|
||||||
|
|
||||||
%hr.spacer/
|
|
||||||
|
|
||||||
.fields-group
|
|
||||||
= f.input :locked, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.locked')
|
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :bot, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.bot')
|
= f.input :display_name, wrapper: :with_block_label, input_html: { maxlength: 30, data: { default: @account.username } }
|
||||||
|
|
||||||
.fields-group
|
|
||||||
= f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable'), recommended: true
|
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :hide_collections, as: :boolean, wrapper: :with_label, label: t('simple_form.labels.defaults.setting_hide_network'), hint: t('simple_form.hints.defaults.setting_hide_network')
|
= f.input :note, wrapper: :with_block_label, input_html: { maxlength: 500 }
|
||||||
|
|
||||||
%hr.spacer/
|
|
||||||
|
|
||||||
.fields-row
|
|
||||||
.fields-row__column.fields-group.fields-row__column-6
|
.fields-row__column.fields-group.fields-row__column-6
|
||||||
.input.with_block_label
|
.input.with_block_label
|
||||||
%label= t('simple_form.labels.defaults.fields')
|
%label= t('simple_form.labels.defaults.fields')
|
||||||
%span.hint= t('simple_form.hints.defaults.fields')
|
%span.hint= t('simple_form.hints.account.fields')
|
||||||
|
|
||||||
= f.simple_fields_for :fields do |fields_f|
|
= f.simple_fields_for :fields do |fields_f|
|
||||||
.row
|
.row
|
||||||
= fields_f.input :name, placeholder: t('simple_form.labels.account.fields.name'), input_html: { maxlength: 255 }
|
= fields_f.input :name, placeholder: t('simple_form.labels.account.fields.name'), input_html: { maxlength: 255 }
|
||||||
= fields_f.input :value, placeholder: t('simple_form.labels.account.fields.value'), input_html: { maxlength: 255 }
|
= fields_f.input :value, placeholder: t('simple_form.labels.account.fields.value'), input_html: { maxlength: 255 }
|
||||||
|
|
||||||
.fields-row__column.fields-group.fields-row__column-6
|
.fields-row
|
||||||
%h6= t('verification.verification')
|
.fields-row__column.fields-row__column-6
|
||||||
%p.hint= t('verification.explanation_html')
|
.fields-group
|
||||||
|
= f.input :avatar, wrapper: :with_block_label, input_html: { accept: AccountAvatar::IMAGE_MIME_TYPES.join(',') }, hint: t('simple_form.hints.defaults.avatar', dimensions: '400x400', size: number_to_human_size(AccountAvatar::LIMIT))
|
||||||
|
|
||||||
.input-copy
|
- if @account.avatar.present?
|
||||||
.input-copy__wrapper
|
.fields-row__column.fields-row__column-6
|
||||||
%input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: link_to('Mastodon', ActivityPub::TagManager.instance.url_for(@account), rel: 'me').to_str }
|
.fields-group
|
||||||
%button{ type: :button }= t('generic.copy')
|
= image_tag @account.avatar.url, class: 'fields-group__thumbnail', width: 90, height: 90
|
||||||
|
= link_to settings_profile_picture_path('avatar'), data: { method: :delete }, class: 'link-button link-button--destructive' do
|
||||||
|
= fa_icon 'trash fw'
|
||||||
|
= t('generic.delete')
|
||||||
|
|
||||||
.actions
|
.fields-row
|
||||||
= f.button :button, t('generic.save_changes'), type: :submit
|
.fields-row__column.fields-row__column-6
|
||||||
|
.fields-group
|
||||||
|
= f.input :header, wrapper: :with_block_label, input_html: { accept: AccountHeader::IMAGE_MIME_TYPES.join(',') }, hint: t('simple_form.hints.defaults.header', dimensions: '1500x500', size: number_to_human_size(AccountHeader::LIMIT))
|
||||||
|
|
||||||
%hr/
|
- if @account.header.present?
|
||||||
|
.fields-row__column.fields-row__column-6
|
||||||
|
.fields-group
|
||||||
|
= image_tag @account.header.url, class: 'fields-group__thumbnail'
|
||||||
|
= link_to settings_profile_picture_path('header'), data: { method: :delete }, class: 'link-button link-button--destructive' do
|
||||||
|
= fa_icon 'trash fw'
|
||||||
|
= t('generic.delete')
|
||||||
|
|
||||||
%h6= t('auth.migrate_account')
|
%h4= t('edit_profile.safety_and_privacy')
|
||||||
%p.muted-hint= t('auth.migrate_account_html', path: settings_migration_path)
|
|
||||||
|
|
||||||
%hr.spacer/
|
.fields-group
|
||||||
|
= f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable'), recommended: true
|
||||||
|
|
||||||
%h6= t 'migrations.incoming_migrations'
|
.fields-group
|
||||||
%p.muted-hint= t('migrations.incoming_migrations_html', path: settings_aliases_path)
|
= f.input :locked, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.locked')
|
||||||
|
|
||||||
|
.fields-group
|
||||||
|
= f.input :hide_collections, as: :boolean, wrapper: :with_label, label: t('simple_form.labels.defaults.setting_hide_network'), hint: t('simple_form.hints.defaults.setting_hide_network')
|
||||||
|
|
||||||
%hr.spacer/
|
%h4= t('edit_profile.other')
|
||||||
|
|
||||||
%h6= t('auth.delete_account')
|
.fields-group
|
||||||
%p.muted-hint= t('auth.delete_account_html', path: settings_delete_path)
|
= f.input :bot, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.bot')
|
||||||
|
|
||||||
|
.actions
|
||||||
|
= f.button :button, t('generic.save_changes'), type: :submit
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
%ul.no-list
|
|
||||||
- if controller_name != 'profiles'
|
|
||||||
%li= link_to t('settings.edit_profile'), settings_profile_path
|
|
||||||
- if controller_name != 'preferences'
|
|
||||||
%li= link_to t('settings.preferences'), settings_preferences_path
|
|
||||||
- if controller_name != 'registrations'
|
|
||||||
%li= link_to t('auth.change_password'), edit_user_registration_path
|
|
||||||
- if controller_name != 'two_factor_authentications'
|
|
||||||
%li= link_to t('settings.two_factor_authentication'), settings_two_factor_authentication_path
|
|
||||||
%li= link_to t('settings.back'), root_path
|
|
@ -0,0 +1,6 @@
|
|||||||
|
.content__heading__tabs
|
||||||
|
= render_navigation renderer: :links do |primary|
|
||||||
|
:ruby
|
||||||
|
primary.item :profile, safe_join([fa_icon('user fw'), t('settings.edit_profile')]), settings_profile_path
|
||||||
|
primary.item :verification, safe_join([fa_icon('check fw'), t('verification.verification')]), settings_verification_path
|
||||||
|
primary.item :featured_tags, safe_join([fa_icon('hashtag fw'), t('settings.featured_tags')]), settings_featured_tags_path
|
@ -0,0 +1,30 @@
|
|||||||
|
- content_for :page_title do
|
||||||
|
= t('verification.verification')
|
||||||
|
|
||||||
|
- content_for :heading do
|
||||||
|
%h2= t('settings.profile')
|
||||||
|
= render partial: 'settings/shared/profile_navigation'
|
||||||
|
|
||||||
|
.simple_form
|
||||||
|
%p.lead= t('verification.hint_html')
|
||||||
|
|
||||||
|
%h4= t('verification.here_is_how')
|
||||||
|
|
||||||
|
%p.lead= t('verification.instructions_html')
|
||||||
|
|
||||||
|
.input-copy.lead
|
||||||
|
.input-copy__wrapper
|
||||||
|
%input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: link_to('Mastodon', ActivityPub::TagManager.instance.url_for(@account), rel: 'me').to_str }
|
||||||
|
%button{ type: :button }= t('generic.copy')
|
||||||
|
|
||||||
|
%p.lead= t('verification.extra_instructions_html')
|
||||||
|
|
||||||
|
- if @verified_links.any?
|
||||||
|
%h4= t('verification.verified_links')
|
||||||
|
|
||||||
|
%ul.lead
|
||||||
|
- @verified_links.each do |field|
|
||||||
|
%li
|
||||||
|
%span.verified-badge
|
||||||
|
= fa_icon 'check', class: 'verified-badge__mark'
|
||||||
|
%span= field.value
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue