Migrate from channel to phoenix live view.

Move phoenix config to ui project.
Sync progress on page load.
This commit is contained in:
Pim Kunis 2019-10-23 14:38:11 +02:00
parent e888f1330b
commit ad24ec96ac
26 changed files with 120 additions and 164 deletions

View file

@ -0,0 +1,23 @@
defmodule UiWeb.MorseLive do
use Phoenix.LiveView
@topic "morse_progress"
def render(assigns) do
UiWeb.PageView.render("morse.html", assigns)
end
def mount(_session, socket) do
UiWeb.Endpoint.subscribe(@topic)
{:ok, assign(socket, progress: Morse.Server.progress())}
end
def handle_event("start_morse", _value, socket) do
Morse.Server.start_morse()
{:noreply, socket}
end
def handle_info(progress, socket) do
{:noreply, assign(socket, progress: progress)}
end
end