Packages
phoenix_webcomponent
2.1.0
3.2.4
3.2.3
3.2.2
3.2.1
3.2.0
3.1.5
3.1.4
3.1.3
3.1.2
3.1.1
3.1.0
2.8.0
2.7.0
2.6.0
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.0
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.2.3
2.2.2
2.2.1
2.2.0
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.0
1.6.3
1.6.2
1.6.1
1.6.0
1.5.1
1.5.0
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.0
1.1.1
1.1.0
1.0.0
1.0.0-beta.4
1.0.0-beta.3
1.0.0-beta.2
0.0.0
Phoenix view functions for working with WebComponent
Current section
Files
Jump to
Current section
Files
lib/phoenix_webcomponent/appbar.ex
defmodule Phoenix.WebComponent.Appbar do
@moduledoc """
render appbar
"""
use Phoenix.WebComponent, :component
import Phoenix.WebComponent.Helpers.Link
@doc """
Generates a html customElement appbar.
## Attributes
- `title` binary
example: "App Title"
- `menus` List
example: [ %{ label: "Menu Name", to: Routes.index_path(@conn, :index) } ]
## Slots
- `logo`
- `user_profile`
"""
def wc_appbar(assigns) do
assigns =
assigns
|> assign_new(:id, fn -> false end)
|> assign_new(:class, fn -> "" end)
|> assign_new(:logo, fn -> [] end)
|> assign_new(:title, fn -> "GSMLG Title" end)
|> assign_new(:menus, fn -> [] end)
|> assign_new(:user_profile, fn -> [] end)
~H"""
<app-bar id={@id} class={@class} app-name={@title}>
<nav slot="logo" class="flex justify-center">
<%= render_slot(@logo) %>
</nav>
<%= for menu <- @menus do %>
<%= wc_link menu.label, to: menu.to, slot: "nav" %>
<% end %>
<span slot="user">
<%= render_slot(@user_profile) %>
</span>
</app-bar>
"""
end
end