From 25ed3f53d3273a44cc4fa6cf90d7e0623ededba0 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Wed, 31 Mar 2021 20:00:44 -0400 Subject: [PATCH] Add Read/Unread buttons to item tables --- lib/frenzy_web/controllers/item_controller.ex | 12 +++++++----- lib/frenzy_web/templates/feed/show.html.eex | 13 +++++++++++++ lib/frenzy_web/templates/group/read.html.eex | 13 +++++++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/lib/frenzy_web/controllers/item_controller.ex b/lib/frenzy_web/controllers/item_controller.ex index 6061ed7..a1266ad 100644 --- a/lib/frenzy_web/controllers/item_controller.ex +++ b/lib/frenzy_web/controllers/item_controller.ex @@ -32,7 +32,7 @@ defmodule FrenzyWeb.ItemController do }) end - def read(conn, _params) do + def read(conn, params) do item = conn.assigns[:item] |> Repo.preload(:feed) changeset = @@ -42,10 +42,11 @@ defmodule FrenzyWeb.ItemController do }) {:ok, item} = Repo.update(changeset) - redirect(conn, to: Routes.item_path(Endpoint, :show, item.id)) + path = Map.get(params, "redirect") || Routes.item_path(Endpoint, :show, item.id) + redirect(conn, to: path) end - def unread(conn, _params) do + def unread(conn, params) do item = conn.assigns[:item] |> Repo.preload(:feed) changeset = @@ -54,7 +55,8 @@ defmodule FrenzyWeb.ItemController do read_date: nil }) - Repo.update(changeset) - redirect(conn, to: Routes.item_path(Endpoint, :show, item.id)) + {:ok, item} = Repo.update(changeset) + path = Map.get(params, "redirect") || Routes.item_path(Endpoint, :show, item.id) + redirect(conn, to: path) end end diff --git a/lib/frenzy_web/templates/feed/show.html.eex b/lib/frenzy_web/templates/feed/show.html.eex index 87237ee..9a34eb4 100644 --- a/lib/frenzy_web/templates/feed/show.html.eex +++ b/lib/frenzy_web/templates/feed/show.html.eex @@ -38,6 +38,19 @@ <%= date %> <% end %> + + <%= if item.read do %> + <%= form_tag Routes.item_path(@conn, :unread, item.id), method: :post do %> + + <%= submit "Unread", class: "btn btn-sm btn-secondary" %> + <% end %> + <% else %> + <%= form_tag Routes.item_path(@conn, :read, item.id), method: :post do %> + + <%= submit "Read", class: "btn btn-sm btn-secondary" %> + <% end %> + <% end %> + <% end %> diff --git a/lib/frenzy_web/templates/group/read.html.eex b/lib/frenzy_web/templates/group/read.html.eex index f3297c5..17b8bdd 100644 --- a/lib/frenzy_web/templates/group/read.html.eex +++ b/lib/frenzy_web/templates/group/read.html.eex @@ -29,6 +29,19 @@ <%= date %> <% end %> + + <%= if item.read do %> + <%= form_tag Routes.item_path(@conn, :unread, item.id), method: :post do %> + + <%= submit "Unread", class: "btn btn-sm btn-secondary" %> + <% end %> + <% else %> + <%= form_tag Routes.item_path(@conn, :read, item.id), method: :post do %> + + <%= submit "Read", class: "btn btn-sm btn-secondary" %> + <% end %> + <% end %> + <% end %>