| 123456789101112131415161718192021222324252627282930 |
- defmodule VaccinsWeb.LocationComponent do
- use VaccinsWeb, :live_component
- alias Vaccins.{LocationStore, Search}
- @impl true
- def mount(socket), do: {:ok, socket |> assign(availabilities: [])}
- @impl true
- def handle_event("trigger_query", _, socket = %{assigns: %{id: id, location: location}}) do
- ref = Search.async_trigger_query(location)
- send(self(), {:query_sent, id, ref})
- {:noreply, socket |> assign(availabilities: "...")}
- end
- @impl true
- def render(assigns) do
- ~L"""
- <dl class="show-metadata">
- <dt>id</dt>
- <dd><%= @location.id %></dd>
- <dt>booking page</dt>
- <dd><%= link @location.booking_page, to: @location.booking_page %></dd>
- <dt>Availabilities</dt>
- <dd><%= @availabilities |> inspect %></dd>
- <dt>test availability</dt>
- <dd><button phx-click="trigger_query" phx-target="<%= @myself %>">Trigger</button></dd>
- </dl>
- """
- end
- end
|