defmodule AshHqWeb.Components.VersionPills do @moduledoc "Renders pills for selected versions" use Surface.LiveComponent alias Surface.Components.Form alias Surface.Components.Form.Select prop(selected_versions, :map, default: %{}) prop(libraries, :list, default: []) prop(add_version, :event) prop(remove_version, :event) prop(change_version, :event) prop(editable, :boolean, default: true) data(adding_version, :boolean, default: false) def render(assigns) do ~F"""
{#for library <- @libraries} {selected_version = @selected_versions[library.id] nil} {#if selected_version not in [nil, ""]} {version_name = selected_version(library, selected_version) nil}
{library.name}{#if version_name != "latest"} | {version_name} {/if} {#if @editable} {/if}
{/if} {/for} {#if @editable && can_be_added?(@selected_versions) && !@adding_version} {/if} {#if @adding_version}