diff --git a/lib/ex_rss_web/feed_live/index.ex b/lib/ex_rss_web/feed_live/index.ex
index f8405bd..80caaa7 100644
--- a/lib/ex_rss_web/feed_live/index.ex
+++ b/lib/ex_rss_web/feed_live/index.ex
@@ -186,10 +186,11 @@ defmodule ExRssWeb.FeedLive.Index do
end
attr :entry, Entry, required: true
+ attr :dom_id, :string, required: true
def entry(assigns) do
~H"""
-
+
-
{@entry.title}
@@ -201,12 +202,16 @@ defmodule ExRssWeb.FeedLive.Index do
href={@entry.url}
target="_blank"
aria-label={"View entry #{@entry.title}"}
- phx-click="mark_as_read"
+ phx-click={JS.push("mark_as_read", loading: "##{@dom_id}")}
phx-value-entry-id={@entry.id}
>
<.icon name="hero-arrow-top-right-on-square-solid" />
-
@@ -228,11 +233,11 @@ defmodule ExRssWeb.FeedLive.Index do
~H"""
"""
@@ -240,7 +245,7 @@ defmodule ExRssWeb.FeedLive.Index do
~H"""
-
- <.entry entry={entry} />
+ <.entry entry={entry} dom_id={"entry-#{entry.id}"} />
"""
diff --git a/lib/ex_rss_web/feed_live/index.html.heex b/lib/ex_rss_web/feed_live/index.html.heex
index cac3c1e..ea65006 100644
--- a/lib/ex_rss_web/feed_live/index.html.heex
+++ b/lib/ex_rss_web/feed_live/index.html.heex
@@ -76,7 +76,7 @@
<%= if @oldest_unread_entry do %>
- <.entry entry={@oldest_unread_entry} />
+ <.entry entry={@oldest_unread_entry} dom_id="entry-oldest-unread" />
<% else %>
No entry found
<% end %>