use phoenix component modal
This commit is contained in:
@ -1,43 +0,0 @@
|
||||
defmodule CanneryWeb.Components.Modal do
|
||||
@moduledoc """
|
||||
Livecomponent that displays a floating modal window
|
||||
"""
|
||||
|
||||
use CanneryWeb, :live_component
|
||||
|
||||
@impl true
|
||||
def render(assigns) do
|
||||
~H"""
|
||||
<div
|
||||
id={@id}
|
||||
class="fixed z-10 left-0 top-0
|
||||
w-full h-full overflow-hidden
|
||||
p-8 flex flex-col justify-center items-center"
|
||||
style="opacity: 1 !important; background-color: rgba(0,0,0,0.4);"
|
||||
phx-capture-click="close"
|
||||
phx-window-keydown="close"
|
||||
phx-key="escape"
|
||||
phx-target={"#{@id}"}
|
||||
phx-page-loading
|
||||
>
|
||||
<div class="w-full max-w-3xl max-h-128 relative overflow-y-auto
|
||||
flex flex-col justify-start items-center
|
||||
bg-white border-2 rounded-lg">
|
||||
<%= live_patch to: @return_to,
|
||||
class:
|
||||
"absolute top-8 right-10 text-gray-500 hover:text-gray-800 transition-all duration-500 ease-in-out" do %>
|
||||
<i class="fa-fw fa-lg fas fa-times"></i>
|
||||
<% end %>
|
||||
<div class="p-8 flex flex-col space-y-4 justify-start items-center">
|
||||
<%= live_component(@component, @opts) %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("close", _, socket) do
|
||||
{:noreply, push_patch(socket, to: socket.assigns.return_to)}
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user