From f88c247a5c372989f410fe7fe624bdfb3b561db2 Mon Sep 17 00:00:00 2001 From: miraikumiko Date: Sat, 21 Jun 2025 10:23:49 +0200 Subject: [PATCH] Add auth templates --- .../templates/auth/sign_in.html.heex | 9 ++++++ .../templates/auth/sign_up.html.heex | 12 +++++++ lib/nulla_web/controllers/auth_controller.ex | 31 +++++++++++++++++-- 3 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 lib/nulla_web/components/templates/auth/sign_in.html.heex create mode 100644 lib/nulla_web/components/templates/auth/sign_up.html.heex diff --git a/lib/nulla_web/components/templates/auth/sign_in.html.heex b/lib/nulla_web/components/templates/auth/sign_in.html.heex new file mode 100644 index 0000000..1cdbb55 --- /dev/null +++ b/lib/nulla_web/components/templates/auth/sign_in.html.heex @@ -0,0 +1,9 @@ +
+
+ + + + + +
+
diff --git a/lib/nulla_web/components/templates/auth/sign_up.html.heex b/lib/nulla_web/components/templates/auth/sign_up.html.heex new file mode 100644 index 0000000..4685573 --- /dev/null +++ b/lib/nulla_web/components/templates/auth/sign_up.html.heex @@ -0,0 +1,12 @@ +
+
+ + + + + + + + +
+
diff --git a/lib/nulla_web/controllers/auth_controller.ex b/lib/nulla_web/controllers/auth_controller.ex index 3edddb1..a4df65d 100644 --- a/lib/nulla_web/controllers/auth_controller.ex +++ b/lib/nulla_web/controllers/auth_controller.ex @@ -1,12 +1,37 @@ defmodule NullaWeb.AuthController do use NullaWeb, :controller + alias Nulla.Models.User - def sign_in do + def sign_in_view(conn, _params) do + render(conn, :sign_in, layout: false) end - def sign_out do + def sign_in(conn, _params) do + conn + |> redirect(to: "/") end - def sign_up do + def sign_out(conn, _params) do + conn + |> configure_session(drop: true) + |> put_flash(:info, "You have been logged out.") + |> redirect(to: "/") + end + + def sign_up_view(conn, _params) do + render(conn, :sign_up, layout: false) + end + + def sign_up(conn, params) do + case User.create_user(params) do + {:ok, user} -> + conn + |> put_session(:user_id, user.id) + |> put_flash(:info, "You're registred!") + |> redirect(to: "/") + + {:error, %Ecto.Changeset{} = changeset} -> + render(conn, "sign_up.html", changeset: changeset) + end end end