Skip to content

Commit dae119d

Browse files
committed
Add filter for feeds with error
1 parent 30d61a0 commit dae119d

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

lib/ex_rss_web/feed_live/index.ex

+2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ defmodule ExRssWeb.FeedLive.Index do
3636
defp assign_filter(socket, filter) do
3737
case filter do
3838
"unread" -> assign(socket, :filter, :unread)
39+
"with_error" -> assign(socket, :filter, :with_error)
3940
_ -> assign(socket, :filter, :all)
4041
end
4142
end
@@ -90,6 +91,7 @@ defmodule ExRssWeb.FeedLive.Index do
9091
feeds =
9192
case socket.assigns.filter do
9293
:unread -> feeds |> Enum.filter(&(&1.unread_entries_count > 0))
94+
:with_error -> feeds |> Enum.filter(& &1.has_error)
9395
:all -> feeds
9496
end
9597

lib/ex_rss_web/feed_live/index.html.heex

+8-6
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,14 @@
7676
:if={@number_of_feeds_with_error > 0}
7777
class="inline-block px-3 py-1 border rounded-full border-red-500 bg-red-200"
7878
>
79-
<%= if @number_of_feeds_with_error == 1 do %>
80-
1 feed had errors when it was last updated
81-
<% end %>
82-
<%= if @number_of_feeds_with_error > 1 do %>
83-
{@number_of_feeds_with_error} feeds had errors when they were last updated
84-
<% end %>
79+
<.link patch={~p"/feeds?filter=with_error"}>
80+
<%= if @number_of_feeds_with_error == 1 do %>
81+
1 feed had errors when it was last updated
82+
<% end %>
83+
<%= if @number_of_feeds_with_error > 1 do %>
84+
{@number_of_feeds_with_error} feeds had errors when they were last updated
85+
<% end %>
86+
</.link>
8587
</li>
8688
</ul>
8789

0 commit comments

Comments
 (0)