Show a dynamically updated list of NTS servers #1

Merged
mike merged 21 commits from liveview into main 2024-07-26 09:35:19 -04:00
3 changed files with 33 additions and 0 deletions
Showing only changes of commit 3786df57c3 - Show all commits

View File

@ -0,0 +1,21 @@
defmodule ChronoscopeWeb.IndexLive do
use ChronoscopeWeb, :live_view
@topic "test"
def mount(_params, _session, socket) do
ChronoscopeWeb.Endpoint.subscribe(@topic)
ChronoscopeWeb.Endpoint.broadcast_from(self(), @topic, "", %{temperature: 100})
{:ok, assign(socket, :temperature, 100)}
end
def handle_event("inc_temperature", _params, socket) do
updated = socket.assigns.temperature + 1
ChronoscopeWeb.Endpoint.broadcast_from(self(), @topic, "", %{temperature: updated})
{:noreply, assign(socket, :temperature, updated)}
end
def handle_info(%{topic: @topic, payload: state}, socket) do
{:noreply, assign(socket, state)}
end
end

View File

@ -0,0 +1,6 @@
<div>
Live!
<br />
Current temperature: <%= @temperature %>°F
<button phx-click="inc_temperature">+</button>
</div>

View File

@ -14,6 +14,12 @@ defmodule ChronoscopeWeb.Router do
plug :accepts, ["json"]
end
scope "/test", ChronoscopeWeb do
pipe_through :browser
live "/", IndexLive
end
scope "/", ChronoscopeWeb do
pipe_through :browser