defmodule PostlandWeb.FollowersLive do
use PostlandWeb, :live_view
alias Postland.Actors
alias Postland.Follows
def render(assigns) do
~H"""
Followers
No one follows you.
<.profile_card
id={dom_id}
dom_id={dom_id}
account={account}
status={if confirmed, do: :follower_confirmed, else: :follower_pending}
/>
"""
end
def mount(_params, _session, socket) do
followers =
Follows.all_followers()
|> Enum.map(fn follow ->
%{
id: follow.follower,
confirmed: !!follow.confirmed_at,
account: Actors.actor(follow.follower)
}
end)
|> Enum.reject(&is_nil(&1.account))
account_count = Enum.count(followers)
{:ok, socket |> stream(:accounts, followers) |> assign(count: account_count)}
end
end