<.header> {gettext("Listing Users")} <:actions> <.button variant="primary" navigate={~p"/users/new"}> <.icon name="hero-plus" /> {gettext("New User")} <.table id="users" rows={@users} row_click={fn user -> JS.navigate(~p"/users/#{user}") end}> <:col :let={user} label={ ~H""" <.input type="checkbox" name="select_all" phx-click="select_all" checked={Enum.sort(@selected_users) == Enum.map(@users, & &1.id) |> Enum.sort()} aria-label={gettext("Select all users")} role="checkbox" /> """ } > <.input type="checkbox" name={user.id} phx-click="select_user" phx-value-id={user.id} checked={user.id in @selected_users} phx-capture-click phx-stop-propagation aria-label={gettext("Select user")} role="checkbox" /> <:col :let={user} label={ sort_button(%{ field: :email, label: gettext("Email"), sort_field: @sort_field, sort_order: @sort_order }) } > {user.email} <:col :let={user} label={gettext("OIDC ID")}>{user.oidc_id} <:action :let={user}>
<.link navigate={~p"/users/#{user}"}>{gettext("Show")}
<.link navigate={~p"/users/#{user}/edit"}>{gettext("Edit")} <:action :let={user}> <.link phx-click={JS.push("delete", value: %{id: user.id}) |> hide("#row-#{user.id}")} data-confirm={gettext("Are you sure?")} > {gettext("Delete")}