# Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 defmodule FlagdUiWeb.Dashboard do use FlagdUiWeb, :live_view alias FlagdUiWeb.CoreComponents alias FlagdUiWeb.Components.Navbar def mount(_, _, socket) do %{"flags" => flags} = GenServer.call(Storage, :read) {:ok, socket |> assign(:flags, flags)} end def render(assigns) do ~H"""
<.form for={@flags}>

{name}

{data["description"]}

""" end def handle_event("flag_changed", payload, socket) do %{"_target" => [target]} = payload variant = payload[target] GenServer.cast(Storage, {:write, target, variant}) new_socket = put_flash(socket, :info, "Saved: #{target}") {:noreply, new_socket} end defp get_variants(%{"variants" => variants}), do: Enum.map(variants, fn {key, _} -> key end) defp get_variants(_), do: [] end