Change edit profile page (#25413)
This commit is contained in:
		
							parent
							
								
									39110d1d0a
								
							
						
					
					
						commit
						bca649ba79
					
				
					 151 changed files with 128 additions and 267 deletions
				
			
		|  | @ -1,13 +1,15 @@ | |||
| - content_for :page_title do | ||||
|   = t('settings.featured_tags') | ||||
| 
 | ||||
| %p= t('featured_tags.hint_html') | ||||
| 
 | ||||
| %hr.spacer/ | ||||
| - content_for :heading do | ||||
|   %h2= t('settings.profile') | ||||
|   = render partial: 'settings/shared/profile_navigation' | ||||
| 
 | ||||
| = simple_form_for @featured_tag, url: settings_featured_tags_path do |f| | ||||
|   = render 'shared/error_messages', object: @featured_tag | ||||
| 
 | ||||
|   %p.lead= t('featured_tags.hint_html') | ||||
| 
 | ||||
|   .fields-group | ||||
|     = f.input :name, wrapper: :with_block_label, hint: safe_join([t('simple_form.hints.featured_tag.name'), safe_join(@recently_used_tags.map { |tag| link_to("##{tag.display_name}", settings_featured_tags_path(featured_tag: { name: tag.name }), method: :post) }, ', ')], ' ') | ||||
| 
 | ||||
|  |  | |||
|  | @ -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-group | ||||
|         = f.input :display_name, wrapper: :with_block_label, input_html: { maxlength: 30, data: { default: @account.username } } | ||||
| 
 | ||||
|     .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) | ||||
|       .fields-group | ||||
|         = f.input :note, wrapper: :with_block_label, input_html: { maxlength: 500 } | ||||
| 
 | ||||
|       = 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 :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 :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') | ||||
| 
 | ||||
|   .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)) | ||||
| 
 | ||||
|     - 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') | ||||
| 
 | ||||
|   %h4= t('edit_profile.safety_and_privacy') | ||||
| 
 | ||||
|   .fields-group | ||||
|     = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable'), recommended: true | ||||
| 
 | ||||
|   .fields-group | ||||
|     = 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') | ||||
| 
 | ||||
|   %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 | ||||
| 
 | ||||
| %hr/ | ||||
| 
 | ||||
| %h6= t('auth.migrate_account') | ||||
| %p.muted-hint= t('auth.migrate_account_html', path: settings_migration_path) | ||||
| 
 | ||||
| %hr.spacer/ | ||||
| 
 | ||||
| %h6= t 'migrations.incoming_migrations' | ||||
| %p.muted-hint= t('migrations.incoming_migrations_html', path: settings_aliases_path) | ||||
| 
 | ||||
| %hr.spacer/ | ||||
| 
 | ||||
| %h6= t('auth.delete_account') | ||||
| %p.muted-hint= t('auth.delete_account_html', path: settings_delete_path) | ||||
|  |  | |||
|  | @ -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 | ||||
							
								
								
									
										6
									
								
								app/views/settings/shared/_profile_navigation.html.haml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								app/views/settings/shared/_profile_navigation.html.haml
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
							
								
								
									
										30
									
								
								app/views/settings/verifications/show.html.haml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								app/views/settings/verifications/show.html.haml
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
		Reference in a new issue