File tree 2 files changed +19
-3
lines changed
2 files changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -17,13 +17,21 @@ defmodule ExRssWeb.FeedLive.Index do
17
17
|> assign ( :current_user , current_user )
18
18
|> assign ( :form , to_form ( % { } ) )
19
19
|> assign ( :discovered_feeds , [ ] )
20
+ |> assign ( :filter , :all )
20
21
|> assign_feeds ( )
21
22
22
23
{ :ok , socket }
23
24
end
24
25
25
26
@ impl true
26
- def handle_params ( _params , _url , socket ) do
27
+ def handle_params ( params , _url , socket ) do
28
+ socket =
29
+ case params [ "filter" ] do
30
+ "unread" -> assign ( socket , :filter , :unread )
31
+ _ -> assign ( socket , :filter , :all )
32
+ end
33
+ |> assign_feeds ( reset: true )
34
+
27
35
{ :noreply , socket }
28
36
end
29
37
@@ -74,6 +82,12 @@ defmodule ExRssWeb.FeedLive.Index do
74
82
number_of_feeds_with_error =
75
83
feeds |> Enum . count ( & & 1 . has_error )
76
84
85
+ feeds =
86
+ case socket . assigns . filter do
87
+ :unread -> feeds |> Enum . filter ( & ( & 1 . unread_entries_count > 0 ) )
88
+ :all -> feeds
89
+ end
90
+
77
91
socket
78
92
|> assign ( :page_title , "#{ number_of_unread_entries } unread" )
79
93
|> assign ( :newest_unread_entry , newest_unread_entry )
Original file line number Diff line number Diff line change 65
65
66
66
< ul class = "my-2 flex flex-wrap gap-x-2 gap-y-2 " >
67
67
< li class = "inline-block px-3 py-1 border rounded-full border-blue-500 bg-blue-200 " >
68
- { @ number_of_unread_entries + @ number_of_read_entries } entries
68
+ < . link patch = { ~p" /feeds?filter=all" } >
69
+ { @ number_of_unread_entries + @ number_of_read_entries } entries
70
+ </ . link >
69
71
</ li >
70
72
< li class = "inline-block px-3 py-1 border rounded-full border-lime-400 bg-lime-100 " >
71
- { @ number_of_unread_entries } unread
73
+ < . link patch = { ~p " /feeds?filter=unread " } > { @ number_of_unread_entries } unread</ . link >
72
74
</ li >
73
75
< li
74
76
:if = { @ number_of_feeds_with_error > 0 }
You can’t perform that action at this time.
0 commit comments