diff --git a/lib/nulla_web/components/templates.ex b/lib/nulla_web/components/templates.ex index 3ba56db..be2365a 100644 --- a/lib/nulla_web/components/templates.ex +++ b/lib/nulla_web/components/templates.ex @@ -1,3 +1,15 @@ +defmodule NullaWeb.PageHTML do + use NullaWeb, :html + + embed_templates "templates/page/*" +end + +defmodule NullaWeb.AuthHTML do + use NullaWeb, :html + + embed_templates "templates/auth/*" +end + defmodule NullaWeb.ActorHTML do use NullaWeb, :html diff --git a/lib/nulla_web/components/templates/page/home.html.heex b/lib/nulla_web/components/templates/page/home.html.heex new file mode 100644 index 0000000..e69de29 diff --git a/lib/nulla_web/controllers/page_controller.ex b/lib/nulla_web/controllers/page_controller.ex new file mode 100644 index 0000000..5d3e868 --- /dev/null +++ b/lib/nulla_web/controllers/page_controller.ex @@ -0,0 +1,7 @@ +defmodule NullaWeb.PageController do + use NullaWeb, :controller + + def home(conn, _params) do + render(conn, :home, layout: false) + end +end diff --git a/lib/nulla_web/router.ex b/lib/nulla_web/router.ex index d912802..811ff54 100644 --- a/lib/nulla_web/router.ex +++ b/lib/nulla_web/router.ex @@ -17,6 +17,8 @@ defmodule NullaWeb.Router do scope "/", NullaWeb do pipe_through :browser + get "/", PageController, :home + get "/.well-known/host-meta", HostmetaController, :index get "/.well-known/webfinger", WebfingerController, :index get "/.well-known/nodeinfo", NodeinfoController, :index @@ -24,9 +26,11 @@ defmodule NullaWeb.Router do post "/inbox", InboxController, :inbox scope "/auth" do - get "/sign_in", AuthController, :sign_in - post "/sign_out", AuthController, :sign_out - get "/sign_up", AuthController, :sign_up + get "/sign_in", AuthController, :sign_in_view + post "/sign_in", AuthController, :sign_in + delete "/sign_out", AuthController, :sign_out + get "/sign_up", AuthController, :sign_up_view + post "/sign_up", AuthController, :sign_up end scope "/users/:username" do diff --git a/test/nulla_web/controllers/page_controller_test.exs b/test/nulla_web/controllers/page_controller_test.exs new file mode 100644 index 0000000..48fa534 --- /dev/null +++ b/test/nulla_web/controllers/page_controller_test.exs @@ -0,0 +1,9 @@ +defmodule NullaWeb.PageControllerTest do + use NullaWeb.ConnCase + + test "GET /", %{conn: conn} do + conn = get(conn, ~p"/") + + assert String.length(html_response(conn, 200)) > 0 + end +end