<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="356138" data-post-id="356138">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="bennydreamtech23" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/bennydreamtech23/120/37302_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  bennydreamtech23
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It been resolved now, the issue was with the hook. I had a file for external hooks so I didn’t add the live_select hooks but everything works fine now. Thank you</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="356138" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveselect-dynamic-selection-input-component-for-liveview/49538/102">Post #101</a>
	                </div>
	            </div>
              <div id="likers-container-356138" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="356138"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #101"></div>
  </section>
</div>
    <div class="postbit" id="357709" data-post-id="357709">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Chrichton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Chrichton/120/34984_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Chrichton
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi all.</p>
<p>I am new to LiveSelect.<br>
I am building an Admin App for Music.<br>
It has Artists and Albums.<br>
Every Album has an Artist.</p>
<p>The Album-Form is a LiveComponent.</p>
<p>I have zwo cases:</p>
<ol>
<li>I create an Album → I don´t have an Artist</li>
<li>I edit an Album → I have an Artist</li>
</ol>
<pre data-code-wrap="elixir"><code class="lang-elixir">@impl true
  def update(assigns, socket) do
    {:ok,
     socket
     |&gt; assign(assigns)
     |&gt; assign_form()}
  end

defp assign_form(%{assigns: %{album: album}} = socket) do
    if album do
      # case 2
      artist = Tuneshg.Music.get_artist_by_id!(album.artist_id)
      form = Tuneshg.Music.form_to_update_album(album)
      # populate the LiveSelect with the name of the Artist
      send_update(LiveSelect.Component, id: "live_select_id", value: {artist.name, artist.id}) 
      socket
      |&gt; assign(artist: artist)
      |&gt; assign(form: to_form(form))
    else
      # case 1
      form = Tuneshg.Music.form_to_create_album()
      assign(socket, form: to_form(form))
    end
  end
</code></pre>
<p>Here the Form:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">@impl true
  def render(assigns) do
    ~H"""
    &lt;div&gt;
      &lt;.header&gt;
        {@title}
        &lt;:subtitle&gt;Use this form to manage album records in your database.&lt;/:subtitle&gt;
      &lt;/.header&gt;

      &lt;.simple_form
        for={@form}
        id="album-form"
        phx-target={@myself}
        phx-change="validate"
        phx-submit="save"
      &gt;
        &lt;%= if @form.source.type == :create do %&gt;
          &lt;.input field={@form[:name]} type="text" label="Name" /&gt;
          &lt;.input field={@form[:year_released]} type="number" label="Year released" /&gt;
          &lt;.input field={@form[:cover_image_url]} type="text" label="Cover image url" /&gt;
          &lt;.form :let={f} for={@form} phx-change="change"&gt;
            &lt;.live_select
              field={f[:artist_id]}
              id="live_select_id"
              phx-target={@myself}
              label="Artist"
            /&gt;
          &lt;/.form&gt;
        &lt;% end %&gt;
        &lt;%= if @form.source.type == :update do %&gt;
          &lt;.input field={@form[:name]} type="text" label="Name" /&gt;
          &lt;.input field={@form[:year_released]} type="number" label="Year released" /&gt;
          &lt;.input field={@form[:cover_image_url]} type="text" label="Cover image url" /&gt;
          &lt;.form :let={f} for={@form} phx-change="change"&gt;
            &lt;.live_select
              field={f[:artist_id]}
              id="live_select_id"
              phx-target={@myself}
              label="Artist"
            /&gt;
          &lt;/.form&gt;
        &lt;% end %&gt;

        &lt;:actions&gt;
          &lt;.button phx-disable-with="Saving..."&gt;Save Album&lt;/.button&gt;
        &lt;/:actions&gt;
      &lt;/.simple_form&gt;
    &lt;/div&gt;
    """
  end
</code></pre>
<p>When the user types into the Artist-field the is  <strong>handle_event(“live_select_change”</strong> called</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">@impl true
  def handle_event("live_select_change", %{"text" =&gt; text, "id" =&gt; live_select_id}, socket) do
    artists =
      Tuneshg.Music.search_artists!(text)
      |&gt; Enum.map(fn artist -&gt; {artist.name, artist.id} end)

    send_update(LiveSelect.Component, id: live_select_id, options: artists)

    {:noreply, socket}
  end
</code></pre>
<p>When the <strong>submit botton</strong> is clicked, <strong>handle_event(“save”</strong> is called</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">def handle_event("save", %{"form" =&gt; form_data}, socket) do
    IO.inspect(form_data, label: "form_data")
    IO.inspect(socket.assigns.form, label: "form")

    case AshPhoenix.Form.submit(socket.assigns.form, params: form_data) do
      {:ok, album} -&gt;
        notify_parent({:saved, album})

        socket =
          socket
          |&gt; put_flash(:info, "Album #{socket.assigns.form.source.type} saved successfully")
          |&gt; push_patch(to: socket.assigns.patch)

        {:noreply, socket}

      {:error, form} -&gt;
        {:noreply, assign(socket, form: form)}
    end
  end
</code></pre>
<p>That works well for case 1 (Create an Album), although the <strong>Artist-Field flashes shortly</strong>, when the Artist name is inserted.<br>
<strong>Is there a better way to do the insert?</strong></p>
<p>My real problem is the case 2 (edit an exiting Album which already has an Artist.<br>
I changed the Artist name from Heiko to “Zombie Kittens!!”</p>
<p>When I change the Artist and submit, <strong>the Artist is NOT changed!</strong></p>
<p>I did an IO.inspect on the form_data and socket.assigns.form.<br>
The form_data is correct:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">form_data: %{
  "artist_id" =&gt; "f1cec0aa-50bd-4913-aad7-33b56df8b8eb",
  "artist_id_text_input" =&gt; "Zombie Kittens!!",
  "cover_image_url" =&gt; "",
  "name" =&gt; "Heikos Album",
  "year_released" =&gt; "2025"
}
</code></pre>
<p>The form looks this way:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">form: %Phoenix.HTML.Form{
  source: #AshPhoenix.Form&lt;
    resource: Tuneshg.Music.Album,
    action: :update,
    type: :update,
    params: %{
      "_unused_cover_image_url" =&gt; "",
      "_unused_name" =&gt; "",
      "_unused_year_released" =&gt; "",
      "artist_id" =&gt; "f1cec0aa-50bd-4913-aad7-33b56df8b8eb",
      "artist_id_text_input" =&gt; "Zombie Kittens!!",
      "cover_image_url" =&gt; "",
      "name" =&gt; "Heikos Album",
      "year_released" =&gt; "2025"
    },
    source: #Ash.Changeset&lt;
      domain: Tuneshg.Music,
      action_type: :update,
      action: :update,
      attributes: %{},
      relationships: %{},
      errors: [],
      data: #Tuneshg.Music.Album&lt;
        artist: #Ash.NotLoaded&lt;:relationship, field: :artist&gt;,
        __meta__: #Ecto.Schema.Metadata&lt;:loaded, "albums"&gt;,
        id: "321b9718-79c0-404b-b5ed-0c43f2845aa2",
        name: "Heikos Album",
        year_released: 2025,
        cover_image_url: nil,
        inserted_at: ~U[2025-02-28 05:25:17.727489Z],
        updated_at: ~U[2025-03-01 09:27:11.285160Z],
        artist_id: "e71d98b5-2eee-478c-ad2d-cfcbd4d02f1f",
        aggregates: %{},
        calculations: %{},
        ...
      &gt;,
      valid?: true
    &gt;,
    name: "form",
    data: #Tuneshg.Music.Album&lt;
      artist: #Ash.NotLoaded&lt;:relationship, field: :artist&gt;,
      __meta__: #Ecto.Schema.Metadata&lt;:loaded, "albums"&gt;,
      id: "321b9718-79c0-404b-b5ed-0c43f2845aa2",
      name: "Heikos Album",
      year_released: 2025,
      cover_image_url: nil,
      inserted_at: ~U[2025-02-28 05:25:17.727489Z],
      updated_at: ~U[2025-03-01 09:27:11.285160Z],
      artist_id: "e71d98b5-2eee-478c-ad2d-cfcbd4d02f1f",
      aggregates: %{},
      calculations: %{},
      ...
    &gt;,
    form_keys: [],
    forms: %{},
    domain: Tuneshg.Music,
    method: "put",
    submit_errors: nil,
    id: "form",
    transform_errors: nil,
    original_data: #Tuneshg.Music.Album&lt;
      artist: #Ash.NotLoaded&lt;:relationship, field: :artist&gt;,
      __meta__: #Ecto.Schema.Metadata&lt;:loaded, "albums"&gt;,
      id: "321b9718-79c0-404b-b5ed-0c43f2845aa2",
      name: "Heikos Album",
      year_released: 2025,
      cover_image_url: nil,
      inserted_at: ~U[2025-02-28 05:25:17.727489Z],
      updated_at: ~U[2025-03-01 09:27:11.285160Z],
      artist_id: "e71d98b5-2eee-478c-ad2d-cfcbd4d02f1f",
      aggregates: %{},
      calculations: %{},
      ...
    &gt;,
    transform_params: nil,
    prepare_params: nil,
    prepare_source: nil,
    raw_params: %{
      "_unused_cover_image_url" =&gt; "",
      "_unused_name" =&gt; "",
      "_unused_year_released" =&gt; "",
      "artist_id" =&gt; "f1cec0aa-50bd-4913-aad7-33b56df8b8eb",
      "artist_id_text_input" =&gt; "Zombie Kittens!!",
      "cover_image_url" =&gt; "",
      "name" =&gt; "Heikos Album",
      "year_released" =&gt; "2025"
    },
    warn_on_unhandled_errors?: true,
    any_removed?: false,
    added?: false,
    changed?: false,
    touched_forms: MapSet.new(["_unused_artist_id_text_input",
     "_unused_cover_image_url", "_unused_name", "_unused_year_released",
     "artist_id", "artist_id_text_input", "cover_image_url", "name",
     "year_released"]),
    valid?: true,
    errors: true,
    submitted_once?: false,
    just_submitted?: false,
    ...
  &gt;,
  impl: Phoenix.HTML.FormData.AshPhoenix.Form,
  id: "form",
  name: "form",
  data: #Tuneshg.Music.Album&lt;
    artist: #Ash.NotLoaded&lt;:relationship, field: :artist&gt;,
    __meta__: #Ecto.Schema.Metadata&lt;:loaded, "albums"&gt;,
    id: "321b9718-79c0-404b-b5ed-0c43f2845aa2",
    name: "Heikos Album",
    year_released: 2025,
    cover_image_url: nil,
    inserted_at: ~U[2025-02-28 05:25:17.727489Z],
    updated_at: ~U[2025-03-01 09:27:11.285160Z],
    artist_id: "e71d98b5-2eee-478c-ad2d-cfcbd4d02f1f",
    aggregates: %{},
    calculations: %{},
    ...
  &gt;,
  action: nil,
  hidden: [
    _touched: "_unused_artist_id_text_input,_unused_cover_image_url,_unused_name,_unused_year_released,artist_id,artist_id_text_input,cover_image_url,name,year_released",
    _form_type: "update",
    id: "321b9718-79c0-404b-b5ed-0c43f2845aa2"
  ],
  params: %{
    "_unused_cover_image_url" =&gt; "",
    "_unused_name" =&gt; "",
    "_unused_year_released" =&gt; "",
    "artist_id" =&gt; "f1cec0aa-50bd-4913-aad7-33b56df8b8eb",
    "artist_id_text_input" =&gt; "Zombie Kittens!!",
    "cover_image_url" =&gt; "",
    "name" =&gt; "Heikos Album",
    "year_released" =&gt; "2025"
  },
  errors: [],
  options: [method: "put"],
  index: nil
}
</code></pre>
<p>Can anybody tell me please, what I am doing wrong and to fix my problem<br>
or<br>
Is there an easier way accomplishing the edit?<br>
If yes, what do I have to do?</p>
<p>Thank you for your reply, Heiko</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="357709" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveselect-dynamic-selection-input-component-for-liveview/49538/104">Post #103</a>
	                </div>
	            </div>
              <div id="likers-container-357709" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="357709"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #103"></div>
  </section>
</div>
    <div class="postbit" id="357722" data-post-id="357722">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sevenseacat" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sevenseacat/120/23153_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sevenseacat
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Ash Framework</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi Heiko,</p>
<p>This doesn’t look related to LiveSelect at all - it’s doing its thing and giving you the data in your params.</p>
<p>I’d recommend you to check the update action in your resource - if it’s the same as the one we wrote in the book, it doesn’t accept the <code>artist_id</code> attribute so it cannot be changed via an update.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="357722" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveselect-dynamic-selection-input-component-for-liveview/49538/105">Post #104</a>
	                </div>
	            </div>
              <div id="likers-container-357722" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="357722"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #104"></div>
  </section>
</div>
    <div class="postbit" id="357725" data-post-id="357725">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Chrichton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Chrichton/120/34984_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Chrichton
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi Rebecca.</p>
<p>Of course, you were right <img src="https://forum.elixirforum.com/images/emoji/apple/+1.png?v=15" title=":+1:" class="emoji" alt=":+1:" loading="lazy" width="20" height="20"></p>
<p>I added <strong>artist_id</strong> to the update action of the Album resource:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">update :update do
      accept [:name, :year_released, :cover_image_url, :artist_id]
    end
</code></pre>
<p>and everything works.</p>
<p>I would never have looked there..<br>
But I learned a lot by adding the LiveSelect component to my code <img src="https://forum.elixirforum.com/images/emoji/apple/innocent.png?v=15" title=":innocent:" class="emoji" alt=":innocent:" loading="lazy" width="20" height="20"></p>
<p>So, thanks a lot again for your time and your effort…<br>
Cheers, Heiko</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="357725" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveselect-dynamic-selection-input-component-for-liveview/49538/106">Post #105</a>
	                </div>
	            </div>
              <div id="likers-container-357725" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="357725"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #105"></div>
  </section>
</div>
    <div class="postbit" id="374520" data-post-id="374520">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="marschro" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/marschro/120/23466_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  marschro
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>OMG !!! <a class="mention" href="/u/trisolaran" rel="nofollow">@trisolaran</a><br>
I already wanted to take a week off for implementing something like this. Because I know.. building something like this is not easy… with so many options !!</p>
<p>THANK YOU ! That is just great !!!</p>
<p>I dropped it in, configured it with the Showcase App, asked a bit chatGPT and was done within 30 minutes!!!</p>
<p>That is awesome. great work!!! I appreciate !!!</p>
<p>did I already say, that it works like a charm ???<br>
Great ! Thanks !!!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="374520" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveselect-dynamic-selection-input-component-for-liveview/49538/107">Post #106</a>
	                </div>
	            </div>
              <div id="likers-container-374520" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="374520"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #106"></div>
  </section>
</div>
    <div class="postbit" id="375042" data-post-id="375042">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ashkan117" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ashkan117/120/32373_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ashkan117
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi everyone. Really appreciate this library and it’s been really useful and simple to use. I have found myself wanting slightly more complex use case that helps show the user a “Create option”, when we find something typed that does not exist. I’m using live_select with user_defined_options={true} to allow users to create new items by typing text that doesn’t match existing options but I feel like it could be better UX to make it more visual.</p>
<p>This works great, but I’m finding myself repeating the same pattern in every<br>
```elixir</p>
<p>handle_event(“live_select_change”, …) handler:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">def handle_event(“live_select_change”, %{“id” =&gt; “project_select”, “text” =&gt; text} = params, socket) do
  base_options = get_options(socket)
  filtered = filter_by_text(base_options, text)
  # Add "Create" option if no match
  options = if text != "" &amp;&amp; !exact_match?(base_options, text) do
    [{"Create \"#{text}\"", text} | filtered]
  else
    filtered
  end

  send_update(LiveSelect.Component, id: params["id"], options: options)
  {:noreply, socket}
end
</code></pre>
<p>Is there a recommended pattern for making this reusable? Ideally, I’d like to configure which LiveSelects should have this behavior and have the logic happen automatically, rather than writing the same handler for each select.</p>
<p>Has anyone implemented something like a behavior module or component wrapper that handles this generically? I think this pattern trips me up because it wants to hook into the <code>handle_event</code> so I’m thinking of using <code>attach_hook</code> but I can’t use that since I’d need to make sure that the option does not exist</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375042" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveselect-dynamic-selection-input-component-for-liveview/49538/108">Post #107</a>
	                </div>
	            </div>
              <div id="likers-container-375042" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375042"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #107"></div>
  </section>
</div>
    <div class="postbit" id="379593" data-post-id="379593">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="bennydreamtech23" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/bennydreamtech23/120/37302_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  bennydreamtech23
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yeah the library is cool and help select becomes easier and great to show</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="379593" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveselect-dynamic-selection-input-component-for-liveview/49538/109">Post #108</a>
	                </div>
	            </div>
              <div id="likers-container-379593" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="379593"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>