<.header> All available servers to you <:actions> <.link patch={~p"/servers/new"}> <.button>Connect a Server <.table id="servers" rows={@streams.servers} row_click={fn {_id, server} -> JS.navigate(~p"/servers/#{server}") end} row_indicator={ fn {_id, %Servers.Server{status: :unregistered}} -> ~H(Awaiting registration) {_id, %Servers.Server{connection_status: nil, status: :registered}} -> ~H(Connecting...) {_id, %Servers.Server{connection_status: "Connected"}} -> ~H(Connected) {_id, %Servers.Server{connection_status: "Disconnected"}} -> ~H(Disconnected) end } indicator_label="Status" > <:col :let={{_id, server}} label="Name"><%= server.name %> <:col :let={{_id, server}} label="IP"><%= server.public_ip || "N/A" %> <:action :let={{id, server}}> <.link phx-click={JS.push("delete", value: %{id: server.id}) |> hide("##{id}")} data-confirm="Are you sure?" > Delete <.modal :if={@live_action == :new} id="server-modal" show on_cancel={JS.patch(~p"/servers")}> <.live_component module={PrymnWeb.ServerLive.NewServer} id={:new} patch={~p"/servers"} />