fix: color contrast dark mode and keyboard moadals
This commit is contained in:
parent
5516c7fe62
commit
c71c7d6ed6
14 changed files with 1067 additions and 740 deletions
|
|
@ -19,9 +19,32 @@ defmodule MvWeb.DatafieldsLive do
|
|||
socket
|
||||
|> assign(:page_title, gettext("Datafields"))
|
||||
|> assign(:settings, settings)
|
||||
|> assign(:active_editing_section, nil)}
|
||||
|> assign(:active_editing_section, nil)
|
||||
|> assign(:custom_field_delete_modal_open, false)}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_event("window_keydown", %{"key" => key}, socket)
|
||||
when key in ["Escape", "Esc"] do
|
||||
if socket.assigns[:custom_field_delete_modal_open] do
|
||||
send_update(MvWeb.CustomFieldLive.IndexComponent,
|
||||
id: "custom-fields-component",
|
||||
show_delete_modal: false,
|
||||
custom_field_to_delete: nil,
|
||||
slug_confirmation: ""
|
||||
)
|
||||
|
||||
{:noreply,
|
||||
socket
|
||||
|> assign(:custom_field_delete_modal_open, false)
|
||||
|> push_event("focus_restore", %{id: "delete-custom-field-trigger"})}
|
||||
else
|
||||
{:noreply, socket}
|
||||
end
|
||||
end
|
||||
|
||||
def handle_event("window_keydown", _params, socket), do: {:noreply, socket}
|
||||
|
||||
@impl true
|
||||
def render(assigns) do
|
||||
~H"""
|
||||
|
|
@ -35,8 +58,14 @@ defmodule MvWeb.DatafieldsLive do
|
|||
</:subtitle>
|
||||
</.header>
|
||||
|
||||
<%!-- Overview: both sections with form_section wrappers --%>
|
||||
<div :if={@active_editing_section == nil} class="mt-6 space-y-6">
|
||||
<%!-- Overview: both sections with form_section wrappers; FocusRestore for custom field delete modal --%>
|
||||
<div
|
||||
:if={@active_editing_section == nil}
|
||||
id="datafields-focus-root"
|
||||
class="mt-6 space-y-6"
|
||||
phx-hook="FocusRestore"
|
||||
phx-window-keydown={if @custom_field_delete_modal_open, do: "window_keydown", else: nil}
|
||||
>
|
||||
<.form_section title={gettext("Personal Data")}>
|
||||
<.live_component
|
||||
module={MvWeb.MemberFieldLive.IndexComponent}
|
||||
|
|
@ -63,7 +92,13 @@ defmodule MvWeb.DatafieldsLive do
|
|||
/>
|
||||
</div>
|
||||
|
||||
<div :if={@active_editing_section == :custom_fields} class="mt-6">
|
||||
<div
|
||||
:if={@active_editing_section == :custom_fields}
|
||||
id="datafields-focus-root"
|
||||
class="mt-6"
|
||||
phx-hook="FocusRestore"
|
||||
phx-window-keydown={if @custom_field_delete_modal_open, do: "window_keydown", else: nil}
|
||||
>
|
||||
<.live_component
|
||||
module={MvWeb.CustomFieldLive.IndexComponent}
|
||||
id="custom-fields-component"
|
||||
|
|
@ -74,6 +109,11 @@ defmodule MvWeb.DatafieldsLive do
|
|||
"""
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_info({:custom_field_delete_modal_open, open}, socket) do
|
||||
{:noreply, assign(socket, :custom_field_delete_modal_open, open)}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_info({:custom_field_saved, _custom_field, action}, socket) do
|
||||
send_update(MvWeb.CustomFieldLive.IndexComponent,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue