defmodule SigmaKit.Components.Flair do
use Phoenix.LiveComponent
attr :success, :boolean, default: false
attr :primary, :boolean, default: false
attr :secondary, :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 = %{primary: true}) when assigns.label != nil do
~H"""
{@label}
"""
end
def indicator(assigns = %{secondary: true}) when assigns.label != nil do
~H"""
{@label}
"""
end
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 = %{primary: true}) when assigns.label == nil do
~H"""
"""
end
def indicator(assigns = %{secondary: 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