defmodule Web.AdminDashboardLive do use Web, :live_view def mount(_params, _session, socket) do {:ok, socket} end def handle_params(params, _uri, socket) do kind = socket.assigns.live_action {:ok, {posts, meta}} = Core.Posts.list_posts(kind, params) socket = socket |> assign( kind: kind, meta: meta ) |> stream(:posts, posts, reset: true) {:noreply, socket} end attr :post, Schema.Post, required: true defp post_status(%{post: %{published_at: nil, deleted_at: nil}} = assigns) do ~H""" draft """ end defp post_status(%{post: %{published_at: _, deleted_at: nil}} = assigns) do ~H""" published """ end defp post_status(assigns) do ~H""" deleted """ end attr :post, Schema.Post, required: true defp post_actions(assigns) do ~H"""