From c8bf8efced3dab7aa74014a550bbe5421e0a5a04 Mon Sep 17 00:00:00 2001 From: codevictory Date: Wed, 2 Jun 2021 00:43:32 +0300 Subject: [PATCH] Performers index and detailed info page. --- assets/css/app.scss | 1 + assets/css/pages/performer.scss | 41 +++++++++++++++++++ .../controllers/performer_controller.ex | 2 +- lib/runosaari_web/router.ex | 4 +- .../templates/performer/admin.html.eex | 2 +- .../templates/performer/index.html.eex | 9 ++-- .../templates/performer/show.html.eex | 31 ++------------ .../controllers/performer_controller_test.exs | 6 +-- 8 files changed, 57 insertions(+), 39 deletions(-) create mode 100644 assets/css/pages/performer.scss diff --git a/assets/css/app.scss b/assets/css/app.scss index 97a672b..0fddf38 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -6,6 +6,7 @@ @import './pages/performance.scss'; @import './pages/admin.scss'; @import './pages/privacy.scss'; +@import './pages/performer.scss'; /* Alerts and form errors */ .alert { display: flex; diff --git a/assets/css/pages/performer.scss b/assets/css/pages/performer.scss new file mode 100644 index 0000000..0b29704 --- /dev/null +++ b/assets/css/pages/performer.scss @@ -0,0 +1,41 @@ +.performer-img { + max-width: 57%; +} + +@media screen and (max-width: 600px) { + .performer-img { + max-width: 100%; + } +} + +.performers-container { + display: flex; + flex-wrap: wrap; + width: 80%; + justify-content: space-between; + align-items: baseline; + + .performer-name { + width: 30%; + font-size: x-large; + border-right: solid 1px; + border-left: solid 1px; + margin-bottom: 4%; + border-radius: 3px; + } +} + +@media screen and (max-width: 600px) { + .performers-container { + .performer-name { + width: 100%; + margin-bottom: 10%; + text-align: left; + padding-left: 5%; + } + + .performer-name::before { + content: '>> '; + } + } +} diff --git a/lib/runosaari_web/controllers/performer_controller.ex b/lib/runosaari_web/controllers/performer_controller.ex index e0c26e9..18146b8 100644 --- a/lib/runosaari_web/controllers/performer_controller.ex +++ b/lib/runosaari_web/controllers/performer_controller.ex @@ -71,7 +71,7 @@ defmodule RunosaariWeb.PerformerController do {:ok, performer} -> conn |> put_flash(:info, "Esiintyjän tiedot päivitetty.") - |> redirect(to: Routes.admin_performer_path(conn, :show, performer)) + |> redirect(to: Routes.performer_path(conn, :show, performer)) {:error, %Ecto.Changeset{} = changeset} -> render(conn, "edit.html", performer: performer, changeset: changeset) diff --git a/lib/runosaari_web/router.ex b/lib/runosaari_web/router.ex index 2738575..50a899d 100644 --- a/lib/runosaari_web/router.ex +++ b/lib/runosaari_web/router.ex @@ -20,7 +20,7 @@ defmodule RunosaariWeb.Router do get "/info", PageController, :info get "/covid19", PageController, :covid19 get "/privacy", PageController, :privacy - resources "/performers", PerformerController, only: [:index] + resources "/performers", PerformerController, only: [:index, :show] resources "/performances", PerformanceController, only: [:index] resources "/visitors", VisitorController, only: [:new, :create] get "/confirmation", VisitorController, :confirmation @@ -33,7 +33,7 @@ defmodule RunosaariWeb.Router do resources "/index", IndexController, except: [:index] get "/performers", PerformerController, :admin get "/performances", PerformanceController, :admin - resources "/performers", PerformerController, except: [:index] + resources "/performers", PerformerController, except: [:index, :show] resources "/performances", PerformanceController, except: [:index] resources "/visitors", VisitorController, except: [:new, :create] end diff --git a/lib/runosaari_web/templates/performer/admin.html.eex b/lib/runosaari_web/templates/performer/admin.html.eex index 0073390..7ff3464 100644 --- a/lib/runosaari_web/templates/performer/admin.html.eex +++ b/lib/runosaari_web/templates/performer/admin.html.eex @@ -17,7 +17,7 @@ <%= performer.seqnum %> - <%= link "Lisätietoja", to: Routes.admin_performer_path(@conn, :show, performer) %> + <%= link "Esiintyjäsivu", to: Routes.performer_path(@conn, :show, performer) %> <%= link "Muokkaa", to: Routes.admin_performer_path(@conn, :edit, performer) %> <%= link "Poista", to: Routes.admin_performer_path(@conn, :delete, performer), method: :delete, data: [confirm: "Haluatko poistaa esiintyjän #{performer.name}?"] %> diff --git a/lib/runosaari_web/templates/performer/index.html.eex b/lib/runosaari_web/templates/performer/index.html.eex index 3a27e1f..cacea36 100644 --- a/lib/runosaari_web/templates/performer/index.html.eex +++ b/lib/runosaari_web/templates/performer/index.html.eex @@ -4,8 +4,9 @@ <%= if length(@performers) == 0 do %> Lisätietoja tulossa myöhemmin! <% end %> - <%= for performer <- @performers do %> -

<%= performer.name %>

-

<%= performer.desc %>

- <% end %> +
+ <%= for performer <- @performers do %> + <%= link "#{performer.name}", to: Routes.performer_path(@conn, :show, performer), class: "performer-name" %> + <% end %> +
diff --git a/lib/runosaari_web/templates/performer/show.html.eex b/lib/runosaari_web/templates/performer/show.html.eex index b6235d5..7fb395c 100644 --- a/lib/runosaari_web/templates/performer/show.html.eex +++ b/lib/runosaari_web/templates/performer/show.html.eex @@ -1,30 +1,5 @@
-

Esiintyjän tiedot

- - - - <%= link "Muokkaa", to: Routes.admin_performer_path(@conn, :edit, @performer) %> - <%= link "Takaisin", to: Routes.admin_performer_path(@conn, :admin) %> +

<%= @performer.name %>

+

<%= @performer.desc %>

+ Esiintyjän kuva
diff --git a/test/runosaari_web/controllers/performer_controller_test.exs b/test/runosaari_web/controllers/performer_controller_test.exs index 4a70053..bdec751 100644 --- a/test/runosaari_web/controllers/performer_controller_test.exs +++ b/test/runosaari_web/controllers/performer_controller_test.exs @@ -70,9 +70,9 @@ defmodule RunosaariWeb.PerformerControllerTest do conn = put(conn, Routes.admin_performer_path(conn, :update, performer), performer: @update_attrs) - assert redirected_to(conn) == Routes.admin_performer_path(conn, :show, performer) + assert redirected_to(conn) == Routes.performer_path(conn, :show, performer) - conn = get(conn, Routes.admin_performer_path(conn, :show, performer)) + conn = get(conn, Routes.performer_path(conn, :show, performer)) assert html_response(conn, 200) =~ "some updated name" end @@ -92,7 +92,7 @@ defmodule RunosaariWeb.PerformerControllerTest do assert redirected_to(conn) == Routes.admin_performer_path(conn, :admin) assert_error_sent 404, fn -> - get(conn, Routes.admin_performer_path(conn, :show, performer)) + get(conn, Routes.performer_path(conn, :show, performer)) end end end