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