defmodule Oban.Web.SortComponent do
use Oban.Web, :html
attr :id, :string, default: "job-sort"
attr :by, :list, required: true
attr :page, :atom, default: :jobs
attr :params, :map, required: true
def select(assigns) do
~H"""
"""
end
attr :link, :any, required: true
attr :selected, :string, required: true
attr :value, :string, required: true
defp option(assigns) do
~H"""
<.link
class="block w-full flex items-center py-1 px-2 cursor-pointer select-none space-x-2 hover:bg-gray-50 hover:dark:bg-gray-600/30"
id={"sort-#{@value}"}
patch={@link}
phx-click-away={JS.hide(to: "#sort-menu")}
phx-click={JS.hide(to: "#sort-menu")}
role="option"
>
<%= if @value == @selected do %>
<% else %>
<% end %>
{String.replace(@value, "_", " ")}
"""
end
end