defmodule PostlandWeb.TimelineLive do use PostlandWeb, :live_view def render(assigns) do ~H""" <.post_form post_content={@post} />
<.post_card post={post} />
""" end def mount(_params, _session, socket) do {:ok, socket |> assign(:post, "") |> stream(:posts, Postland.Timeline.timeline())} end def handle_event("create_post", %{"post" => post}, socket) do {:ok, post} = Postland.Activities.record_markdown_post(post) {:noreply, socket |> assign(:post, "") |> stream_insert(:posts, post, at: 0)} end def handle_event("change_post", %{"post" => post}, socket) do {:noreply, socket |> assign(:post, post)} end end