defmodule MoonWeb.Examples.Parts.SidebarExample.Generic do @moduledoc false use Moon.StatefulComponent use MoonWeb, :example alias Moon.Parts.Sidebar alias Moon.Icon prop(active_page, :any) prop(menu_items, :list, default: MoonWeb.Schema.Link.menu()) def render(assigns) do ~F"""
Section 1 • Generic
{#for menu_item <- @menu_items, menu_item[:icon] != nil} {menu_item[:key]} {/for}
Section 2 • Components {#for menu_item <- @menu_items, menu_item[:icon] == nil} {#if menu_item[:children]} {#for child_menu_item <- menu_item[:children]} {child_menu_item[:key]} {/for} {#else} {menu_item[:key]} {/if} {/for}
""" end def handle_event("open_sidebar", _, socket) do Moon.Design.Drawer.open("generic_sidebar") {:noreply, socket} end def code() do """ """ end end