defmodule Web.AdminDashboardLive do
use Web, :live_view
def mount(_params, _session, socket) do
statuses = Core.Posts.get_all_recent_statuses()
blogs = Core.Posts.get_all_recent_blogs()
socket =
socket
|> stream(:statuses, statuses)
|> stream(:blogs, blogs)
{:ok, socket}
end
def render(assigns) do
~H"""
dashboard
recent statuses
<.link navigate={~p"/admin/posts/new?kind=status"}>new status
<.post_list :let={status} id="recent-statuses" posts={@streams.statuses}>
<.link navigate={~p"/admin/posts/#{status}"}>{status.body}
recent blogs
<.link navigate={~p"/admin/posts/new?kind=blog"}>new blog
<.post_list :let={blog} id="recent-blogs" posts={@streams.blogs}>
<.link navigate={~p"/admin/posts/#{blog}"}>{blog.title}
"""
end
end