Basic onboading flow (#24)

* removed unused file

* [WIP] Created onboarding form

* Finished basic onboarding flow; added tests

* Improved onboarding language
This commit is contained in:
Kieran
2024-02-20 17:37:17 -08:00
committed by GitHub
parent 1f56db01a5
commit 69c47c2c65
27 changed files with 313 additions and 244 deletions
@@ -11,18 +11,30 @@ defmodule PinchflatWeb.MediaProfiles.MediaProfileController do
def new(conn, _params) do
changeset = Profiles.change_media_profile(%MediaProfile{})
render(conn, :new, changeset: changeset)
if get_session(conn, :onboarding) do
render(conn, :new, changeset: changeset, layout: {Layouts, :onboarding})
else
render(conn, :new, changeset: changeset)
end
end
def create(conn, %{"media_profile" => media_profile_params}) do
case Profiles.create_media_profile(media_profile_params) do
{:ok, media_profile} ->
redirect_location =
if get_session(conn, :onboarding), do: ~p"/?onboarding=1", else: ~p"/media_profiles/#{media_profile}"
conn
|> put_flash(:info, "Media profile created successfully.")
|> redirect(to: ~p"/media_profiles/#{media_profile}")
|> redirect(to: redirect_location)
{:error, %Ecto.Changeset{} = changeset} ->
render(conn, :new, changeset: changeset)
if get_session(conn, :onboarding) do
render(conn, :new, changeset: changeset, layout: {Layouts, :onboarding})
else
render(conn, :new, changeset: changeset)
end
end
end