Remote following success page (#4129)
* Added a success page to remote following Includes follow-through links to web (the old redirect target) and back to the remote user's profile * Use Account.new in spec instead of a fake with only id (fixes spec) * Fabricate(:account) over Account.new * Remove self from the success text (and all HTML with it)
This commit is contained in:
		
							parent
							
								
									d081d4a422
								
							
						
					
					
						commit
						7a889a8e12
					
				
					 5 changed files with 34 additions and 3 deletions
				
			
		|  | @ -15,7 +15,7 @@ class AuthorizeFollowsController < ApplicationController | |||
|     if @account.nil? | ||||
|       render :error | ||||
|     else | ||||
|       redirect_to web_url("accounts/#{@account.id}") | ||||
|       render :success | ||||
|     end | ||||
|   rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError | ||||
|     render :error | ||||
|  |  | |||
|  | @ -375,3 +375,12 @@ code { | |||
|     width: 50%; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| .post-follow-actions { | ||||
|   text-align: center; | ||||
|   color: $ui-primary-color; | ||||
| 
 | ||||
|   div { | ||||
|     margin-bottom: 4px; | ||||
|   } | ||||
| } | ||||
|  |  | |||
							
								
								
									
										16
									
								
								app/views/authorize_follows/success.html.haml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								app/views/authorize_follows/success.html.haml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| - content_for :page_title do | ||||
|   = t('authorize_follow.title', acct: @account.acct) | ||||
| 
 | ||||
| .form-container | ||||
|   .follow-prompt | ||||
|     - if @account.locked? | ||||
|       %h2= t('authorize_follow.follow_request') | ||||
|     - else | ||||
|       %h2= t('authorize_follow.following') | ||||
| 
 | ||||
|     = render 'card', account: @account | ||||
| 
 | ||||
|   .post-follow-actions | ||||
|     %div= link_to t('authorize_follow.post_follow.web'), web_url("accounts/#{@account.id}"), class: 'button button--block' | ||||
|     %div= link_to t('authorize_follow.post_follow.return'), @account.url, class: 'button button--block' | ||||
|     %div= t('authorize_follow.post_follow.close') | ||||
|  | @ -221,6 +221,12 @@ en: | |||
|   authorize_follow: | ||||
|     error: Unfortunately, there was an error looking up the remote account | ||||
|     follow: Follow | ||||
|     following: 'Success! You are now following:' | ||||
|     follow_request: 'You have sent a follow request to:' | ||||
|     post_follow: | ||||
|       web: Go to web | ||||
|       return: Return to the user's profile | ||||
|       close: Or, you can just close this window. | ||||
|     prompt_html: 'You (<strong>%{self}</strong>) have requested to follow:' | ||||
|     title: Follow %{acct} | ||||
|   datetime: | ||||
|  |  | |||
|  | @ -94,7 +94,7 @@ describe AuthorizeFollowsController do | |||
|       end | ||||
| 
 | ||||
|       it 'follows account when found' do | ||||
|         target_account = double(id: '123') | ||||
|         target_account = Fabricate(:account) | ||||
|         result_account = double(target_account: target_account) | ||||
|         service = double | ||||
|         allow(FollowService).to receive(:new).and_return(service) | ||||
|  | @ -103,7 +103,7 @@ describe AuthorizeFollowsController do | |||
|         post :create, params: { acct: 'acct:user@hostname' } | ||||
| 
 | ||||
|         expect(service).to have_received(:call).with(account, 'user@hostname') | ||||
|         expect(response).to redirect_to(web_url('accounts/123')) | ||||
|         expect(response).to render_template(:success) | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue