defmodule MoonWeb.Pages.Components.Dialog.ModalPage do
@moduledoc false
use MoonWeb, :live_view
alias Moon.Autolayouts.PullAside
alias Moon.Autolayouts.LeftToRight
alias Moon.Components.Button
alias Moon.Components.Dialog.Modal
alias Moon.Components.Select.SingleSelect
alias MoonWeb.Components.ExampleAndCode
alias MoonWeb.Components.Page
alias MoonWeb.Components.ComponentPageDescription
alias MoonWeb.Components.Facing.DeprecationWarning
data(breadcrumbs, :any,
default: [
%{
to: "#",
name: "Components"
},
%{
to: "#",
name: "Dialog"
},
%{
to: "/components/dialog/modal",
name: "Modal"
}
]
)
data(modal_is_open, :boolean, default: true)
def render(assigns) do
~F"""
<:example>
<:title>Title text
<:content>
<:footer>
<:left>
<:right>
<:code>{get_example_code_1()}
<:state>{get_state(assigns)}
"""
end
def handle_params(_params, uri, socket) do
{:noreply, assign(socket, uri: uri)}
end
def handle_event("set_open", _params, socket) do
socket = assign(socket, modal_is_open: true)
{:noreply, socket}
end
def handle_event("set_close", _params, socket) do
socket = assign(socket, modal_is_open: false)
{:noreply, socket}
end
def get_example_code_1() do
"""
<:title>Title text
<:content>Content here
<:footer>
<:left>
<:right>
"""
end
def get_state(assigns) do
inspect(%{modal_is_open: assigns.modal_is_open})
end
end