• Operand
  • # (b)ring mi - belles.

gram:op

> ./lib/op_web/live/chronicle/index.ex

Lenses
(coming soon!)


defmodule OpWeb.Chronicle.Index do
  import LiveMotion
  use OpWeb, :live_view

  @impl true
  def mount(_params, _session, socket) do
    model = Press
    {:ok, socket
    |> assign(:label, model.label())
    |> stream_configure(:chronicles, dom_id: &("#{model.label()}-#{&1.day}.#{&1.key}"))
    |> stream(:chronicles, model.query_pages())
    }
  end

  @impl true
  def handle_params(params, _url, socket) do
    {:noreply, apply_action(socket, socket.assigns.live_action, params)}
  end

  defp apply_action(socket, :index, _params) do
    socket
    |> assign(:page_title, "Chronicles")
    |> assign(:chronicle, nil)
  end
end