28 lines
824 B
Elixir
28 lines
824 B
Elixir
defmodule Web.AdminSyndicationLive do
|
|
use Web, :live_view
|
|
|
|
def mount(_params, _session, socket) do
|
|
mastodon_account = Core.Syndication.get_mastodon_account(socket.assigns.current_user)
|
|
bluesky_account = Core.Syndication.get_bluesky_account(socket.assigns.current_user)
|
|
|
|
socket =
|
|
socket
|
|
|> assign(:mastodon_account, mastodon_account)
|
|
|> assign(:bluesky_account, bluesky_account)
|
|
|
|
{:ok, socket}
|
|
end
|
|
|
|
def handle_event(
|
|
"save_bluesky_account",
|
|
%{"bluesky_account" => %{"identifier" => identifier, "password" => password}},
|
|
socket
|
|
) do
|
|
{:ok, bluesky_account} =
|
|
Core.Syndication.save_bluesky_account(socket.assigns.current_user, identifier, password)
|
|
|
|
socket = assign(socket, bluesky_account: bluesky_account)
|
|
|
|
{:noreply, socket}
|
|
end
|
|
end
|