Skip to content

Commit 2a69fcf

Browse files
committed
feat: add email parameter handling for login changeset and update preview path redirection
1 parent 3aa1cfd commit 2a69fcf

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

lib/algora_web/live/org/dashboard_live.ex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,15 @@ defmodule AlgoraWeb.Org.DashboardLive do
152152
socket
153153
end
154154

155+
# Create login changeset with email from params if present
156+
socket =
157+
if email = params["email"] do
158+
login_changeset = User.login_changeset(%User{}, %{email: email})
159+
assign_login_form(socket, login_changeset)
160+
else
161+
socket
162+
end
163+
155164
{:noreply,
156165
socket
157166
|> assign(:current_status, current_status)

lib/algora_web/live/org/preview_nav.ex

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ defmodule AlgoraWeb.Org.PreviewNav do
77

88
alias Algora.Organizations
99

10-
def on_mount(:default, %{"repo_owner" => repo_owner, "repo_name" => repo_name}, _session, socket) do
10+
def on_mount(:default, %{"repo_owner" => repo_owner, "repo_name" => repo_name} = params, _session, socket) do
1111
current_context = socket.assigns[:current_context]
1212

1313
socket =
@@ -44,7 +44,14 @@ defmodule AlgoraWeb.Org.PreviewNav do
4444

4545
true ->
4646
token = AlgoraWeb.UserAuth.sign_preview_code(preview_user.id)
47-
preview_path = AlgoraWeb.UserAuth.preview_path(preview_user.id, token, ~p"/go/#{repo_owner}/#{repo_name}")
47+
48+
return_to =
49+
if params["email"],
50+
do: ~p"/go/#{repo_owner}/#{repo_name}?email=#{params["email"]}",
51+
else: ~p"/go/#{repo_owner}/#{repo_name}"
52+
53+
preview_path = AlgoraWeb.UserAuth.preview_path(preview_user.id, token, return_to)
54+
4855
{:halt, redirect(socket, to: preview_path)}
4956
end
5057
end

0 commit comments

Comments
 (0)