This commit is contained in:
Pim Kunis 2022-10-09 08:09:42 +02:00
parent ba8f072d23
commit 2c935df494
110 changed files with 1350 additions and 8011 deletions

View file

@ -0,0 +1,39 @@
defmodule EisromUiWeb.MorseLive do
use Phoenix.LiveView
require Logger
@topic "morse_progress"
def render(assigns) do
EisromUiWeb.PageView.render("morse.html", assigns)
end
def mount(_params, _session, socket) do
EisromUiWeb.Endpoint.subscribe(@topic)
{:ok, assign(socket, default_assigns())}
end
def handle_event("toggle_morse", _value, socket) do
Logger.info("Button pressed!")
Eisrom.Morse.Server.toggle_morse()
{:noreply, socket}
end
def handle_event("toggle_hint", _value, socket) do
{:noreply, update(socket, :hints_visible, &(not &1))}
end
def handle_info(progress, socket) do
{:noreply, assign(socket, progress: progress, in_progress?: Eisrom.Morse.Server.in_progress?())}
end
defp default_assigns do
[
progress: Eisrom.Morse.Server.progress(),
in_progress?: Eisrom.Morse.Server.in_progress?(),
hints_visible: false
]
end
end