defmodule MoonWeb.Pages.Components.SwitcherPage do
@moduledoc false
use MoonWeb, :live_view
alias Moon.Autolayouts.TopToDown
alias Moon.Components.Heading
alias Moon.Components.Link
alias Moon.Components.Switcher
alias MoonWeb.Components.ExampleAndCode
alias MoonWeb.Components.Page
data(breadcrumbs, :any,
default: [
%{
to: "#",
name: "Components v1"
},
%{
to: "/components/switcher",
name: "Switcher"
}
]
)
def mount(_params, _session, socket) do
socket =
assign(socket,
tabs: ~w(One Two Three),
selected_tab: "One"
)
{:ok, socket}
end
def handle_params(_params, uri, socket) do
{:noreply, assign(socket, uri: uri)}
end
def render(assigns) do
~F"""
Switcher
@selected_tab = {@selected_tab}
"""
end
def handle_event("tab_click", %{"selected-item" => selected_item}, socket) do
socket = assign(socket, selected_tab: selected_item)
{:noreply, socket}
end
def switcher_1_code do
"""
alias Moon.Components.Switcher
def handle_event("tab_click", %{"selected-item" => selected_item}, socket) do
socket = assign(socket, selected_tab: selected_item)
{:noreply, socket}
end
"""
end
end