@@ -19,7 +19,9 @@ defmodule AlgoraWeb.Org.PreviewNav do
1919 |> assign ( :contacts , [ ] )
2020 |> attach_hook ( :active_tab , :handle_params , & handle_active_tab_params / 3 )
2121
22- if current_context && current_context . last_context == "repo/#{ repo_owner } /#{ repo_name } " do
22+ # checking if the socket is connected to avoid redirect loop that prevents og image from being fetched
23+ if ( current_context && current_context . last_context == "repo/#{ repo_owner } /#{ repo_name } " ) ||
24+ not connected? ( socket ) do
2325 { :cont , socket }
2426 else
2527 preview_user =
@@ -40,25 +42,19 @@ defmodule AlgoraWeb.Org.PreviewNav do
4042 user
4143 end
4244
43- cond do
44- is_nil ( preview_user ) ->
45- { :cont , put_flash ( socket , :error , "Failed to fetch repo" ) }
45+ if is_nil ( preview_user ) do
46+ { :cont , put_flash ( socket , :error , "Failed to fetch repo" ) }
47+ else
48+ token = AlgoraWeb.UserAuth . sign_preview_code ( preview_user . id )
4649
47- # this is needed to avoid redirect loop that prevents og image from being fetched
48- not connected? ( socket ) ->
49- { :cont , socket }
50+ return_to =
51+ if params [ "email" ] ,
52+ do: ~p" /go/#{ repo_owner } /#{ repo_name } ?email=#{ params [ "email" ] } " ,
53+ else: ~p" /go/#{ repo_owner } /#{ repo_name } "
5054
51- true ->
52- token = AlgoraWeb.UserAuth . sign_preview_code ( preview_user . id )
55+ preview_path = AlgoraWeb.UserAuth . preview_path ( preview_user . id , token , return_to )
5356
54- return_to =
55- if params [ "email" ] ,
56- do: ~p" /go/#{ repo_owner } /#{ repo_name } ?email=#{ params [ "email" ] } " ,
57- else: ~p" /go/#{ repo_owner } /#{ repo_name } "
58-
59- preview_path = AlgoraWeb.UserAuth . preview_path ( preview_user . id , token , return_to )
60-
61- { :halt , redirect ( socket , to: preview_path ) }
57+ { :halt , redirect ( socket , to: preview_path ) }
6258 end
6359 end
6460 end
0 commit comments