diff --git a/lib/music_library_web/components/pagination.ex b/lib/music_library_web/components/pagination.ex new file mode 100644 index 00000000..8e515b42 --- /dev/null +++ b/lib/music_library_web/components/pagination.ex @@ -0,0 +1,112 @@ +defmodule MusicLibraryWeb.Pagination do + use Phoenix.Component + + # alias Phoenix.LiveView.JS + use Gettext, backend: MusicLibraryWeb.Gettext + + attr :entries, :list, required: true + + def card_footer(assigns) do + assigns = assign(assigns, page_size: Enum.count(assigns.entries)) + + ~H""" +
+
+ + Previous + + + Next + +
+ +
+ """ + end +end diff --git a/lib/music_library_web/live/record_live/index.ex b/lib/music_library_web/live/record_live/index.ex index b214b37d..8032d3e0 100644 --- a/lib/music_library_web/live/record_live/index.ex +++ b/lib/music_library_web/live/record_live/index.ex @@ -1,5 +1,6 @@ defmodule MusicLibraryWeb.RecordLive.Index do use MusicLibraryWeb, :live_view + import MusicLibraryWeb.Pagination alias MusicLibrary.Records alias MusicLibrary.Records.Record diff --git a/lib/music_library_web/live/record_live/index.html.heex b/lib/music_library_web/live/record_live/index.html.heex index 5c97e5d4..e719473b 100644 --- a/lib/music_library_web/live/record_live/index.html.heex +++ b/lib/music_library_web/live/record_live/index.html.heex @@ -54,3 +54,5 @@ patch={~p"/records"} /> + +<.card_footer entries={@streams.records} />