defmodule Observer.Web.Components.Icons do @moduledoc false use Observer.Web, :html # Helpers attr :name, :atom, required: true def content(assigns) do ~H""" <%= case @name do %> <% :logo -> %> <% :tracing -> %> <% :profiling -> %> <% :crashdump -> %> <% :network -> %> <% :ets -> %> <% :system -> %> <% :processes -> %> <% :metrics -> %> <% :applications -> %> <% :root -> %> <% end %> """ end attr :rest, :global, default: %{ "stroke-width": "1.5", class: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" } slot :inner_block, required: true defp svg_outline(assigns) do ~H""" {render_slot(@inner_block)} """ end attr :rest, :global def check_circle(assigns) do ~H""" <.svg_outline {@rest}> """ end attr :rest, :global def x_mark(assigns) do ~H""" <.svg_outline {@rest}> """ end attr :rest, :global def x_circle(assigns) do ~H""" <.svg_outline {@rest}> """ end attr :rest, :global def moon(assigns) do ~H""" <.svg_outline {@rest}> """ end attr :rest, :global def sun(assigns) do ~H""" <.svg_outline {@rest}> """ end attr :rest, :global def computer_desktop(assigns) do ~H""" <.svg_outline {@rest}> """ end attr :rest, :global def exclamation_circle(assigns) do ~H""" <.svg_outline {@rest}> """ end end