defmodule MicrowavepropWeb.LiveTableFooter do @moduledoc false use Phoenix.Component def render(assigns) do options = assigns.options table_options = assigns.table_options paginate? = get_in(options, ["pagination", "paginate?"]) mode = get_in(table_options, [:pagination, :mode]) assigns = assigns |> assign(:show_pagination?, paginate? && mode != :infinite_scroll) |> assign(:page, parse_page(get_in(options, ["pagination", "page"]))) |> assign(:has_next_page?, get_in(options, ["pagination", :has_next_page]) || false) ~H""" """ end defp parse_page(page) when is_integer(page), do: page defp parse_page(page) when is_binary(page), do: String.to_integer(page) defp parse_page(_), do: 1 end