Added column for tracking if media was manually ignored
This commit is contained in:
parent
80207083be
commit
a6715b968d
2 changed files with 24 additions and 2 deletions
|
|
@ -30,6 +30,9 @@ defmodule Pinchflat.Sources.MediaItemTableLive do
|
||||||
<%= StringUtils.truncate(media_item.title, 50) %>
|
<%= StringUtils.truncate(media_item.title, 50) %>
|
||||||
</.subtle_link>
|
</.subtle_link>
|
||||||
</:col>
|
</:col>
|
||||||
|
<:col :let={media_item} :if={@media_state == "other"} label="Manually Ignored?">
|
||||||
|
<.icon name={if media_item.prevent_download, do: "hero-check", else: "hero-x-mark"} />
|
||||||
|
</:col>
|
||||||
<:col :let={media_item} label="" class="flex justify-end">
|
<:col :let={media_item} label="" class="flex justify-end">
|
||||||
<.icon_link href={~p"/sources/#{@source.id}/media/#{media_item.id}/edit"} icon="hero-pencil-square" class="mr-4" />
|
<.icon_link href={~p"/sources/#{@source.id}/media/#{media_item.id}/edit"} icon="hero-pencil-square" class="mr-4" />
|
||||||
</:col>
|
</:col>
|
||||||
|
|
@ -42,14 +45,25 @@ defmodule Pinchflat.Sources.MediaItemTableLive do
|
||||||
end
|
end
|
||||||
|
|
||||||
def mount(_params, session, socket) do
|
def mount(_params, session, socket) do
|
||||||
|
PinchflatWeb.Endpoint.subscribe("media_table")
|
||||||
|
|
||||||
page = 1
|
page = 1
|
||||||
media_state = session["media_state"]
|
media_state = session["media_state"]
|
||||||
source = Sources.get_source!(session["source_id"])
|
source = Sources.get_source!(session["source_id"])
|
||||||
base_query = generate_base_query(source, media_state)
|
base_query = generate_base_query(source, media_state)
|
||||||
pagination_attrs = fetch_pagination_attributes(base_query, page)
|
pagination_attrs = fetch_pagination_attributes(base_query, page)
|
||||||
PinchflatWeb.Endpoint.subscribe("media_table")
|
|
||||||
|
|
||||||
{:ok, assign(socket, Map.merge(pagination_attrs, %{base_query: base_query, source: source}))}
|
new_assigns =
|
||||||
|
Map.merge(
|
||||||
|
pagination_attrs,
|
||||||
|
%{
|
||||||
|
base_query: base_query,
|
||||||
|
source: source,
|
||||||
|
media_state: media_state
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
{:ok, assign(socket, new_assigns)}
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_event("page_change", %{"direction" => direction}, %{assigns: assigns} = socket) do
|
def handle_event("page_change", %{"direction" => direction}, %{assigns: assigns} = socket) do
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,14 @@ defmodule PinchflatWeb.Sources.MediaItemTableLiveTest do
|
||||||
refute html =~ downloaded_media_item.title
|
refute html =~ downloaded_media_item.title
|
||||||
refute html =~ pending_media_item.title
|
refute html =~ pending_media_item.title
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "shows 'Manually Ignored' column when other", %{conn: conn, source: source} do
|
||||||
|
_media_item = media_item_fixture(source_id: source.id, prevent_download: true, media_filepath: nil)
|
||||||
|
|
||||||
|
{:ok, _view, html} = live_isolated(conn, MediaItemTableLive, session: create_session(source, "other"))
|
||||||
|
|
||||||
|
assert html =~ "Manually Ignored?"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp create_session(source, media_state \\ "pending") do
|
defp create_session(source, media_state \\ "pending") do
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue