defmodule SigmaKit.Components.Flair do use Phoenix.LiveComponent attr :success, :boolean, default: false attr :danger, :boolean, default: false attr :warning, :boolean, default: false attr :info, :boolean, default: false attr :label, :string, default: nil def indicator(assigns = %{success: true}) when assigns.label != nil do ~H""" {@label} """ end def indicator(assigns = %{danger: true}) when assigns.label != nil do ~H""" {@label} """ end def indicator(assigns = %{info: true}) when assigns.label != nil do ~H""" {@label} """ end def indicator(assigns = %{warning: true}) when assigns.label != nil do ~H""" {@label} """ end def indicator(assigns) when assigns.label != nil do ~H""" {@label} """ end def indicator(assigns = %{success: true}) when assigns.label == nil do ~H""" """ end def indicator(assigns = %{danger: true}) when assigns.label == nil do ~H""" """ end def indicator(assigns = %{info: true}) when assigns.label == nil do ~H""" """ end def indicator(assigns = %{warning: true}) when assigns.label == nil do ~H""" """ end def indicator(assigns) do ~H""" """ end end