Change edit profile page (#25413)
parent
39110d1d0a
commit
bca649ba79
151 changed files with 124 additions and 263 deletions
@ -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 |
||||
= t('settings.edit_profile') |
||||
|
||||
- content_for :heading_actions do |
||||
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_profile' |
||||
- content_for :heading do |
||||
%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| |
||||
= render 'shared/error_messages', object: @account |
||||
|
||||
.fields-row |
||||
.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 |
||||
= f.input :note, wrapper: :with_label, input_html: { maxlength: 500 }, hint: false |
||||
%p.lead= t('edit_profile.hint_html') |
||||
|
||||
%h4= t('edit_profile.basic_information') |
||||
|
||||
.fields-row |
||||
.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 |
||||
= f.input :display_name, wrapper: :with_block_label, input_html: { maxlength: 30, data: { default: @account.username } } |
||||
|
||||
.fields-group |
||||
= f.input :bot, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.bot') |
||||
|
||||
.fields-group |
||||
= f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable'), recommended: true |
||||
.fields-group |
||||
= f.input :note, wrapper: :with_block_label, input_html: { maxlength: 500 } |
||||
|
||||
.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/ |
||||
|
||||
.fields-row |
||||
.fields-row__column.fields-group.fields-row__column-6 |
||||
.input.with_block_label |
||||
%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| |
||||
.row |
||||
= 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-row__column.fields-group.fields-row__column-6 |
||||
%h6= t('verification.verification') |
||||
%p.hint= t('verification.explanation_html') |
||||
.fields-row |
||||
.fields-row__column.fields-row__column-6 |
||||
.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 |
||||
.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') |
||||
- if @account.avatar.present? |
||||
.fields-row__column.fields-row__column-6 |
||||
.fields-group |
||||
= 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 |
||||
= f.button :button, t('generic.save_changes'), type: :submit |
||||
.fields-row |
||||
.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') |
||||
%p.muted-hint= t('auth.migrate_account_html', path: settings_migration_path) |
||||
%h4= t('edit_profile.safety_and_privacy') |
||||
|
||||
%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' |
||||
%p.muted-hint= t('migrations.incoming_migrations_html', path: settings_aliases_path) |
||||
.fields-group |
||||
= f.input :locked, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.locked') |
||||
|
||||
%hr.spacer/ |
||||
.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') |
||||
|
||||
%h6= t('auth.delete_account') |
||||
%p.muted-hint= t('auth.delete_account_html', path: settings_delete_path) |
||||
%h4= t('edit_profile.other') |
||||
|
||||
.fields-group |
||||
= 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