From 878b2796556466b3b59a3ac420318e3b43da21b7 Mon Sep 17 00:00:00 2001 From: Max Don Date: Wed, 4 Mar 2026 01:32:44 +0200 Subject: [PATCH 1/2] Move post title to full-width above editor columns Co-Authored-By: Claude Opus 4.6 --- lib/modules/publishing/web/editor.html.heex | 42 ++++++++++----------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/modules/publishing/web/editor.html.heex b/lib/modules/publishing/web/editor.html.heex index e56dcf1b..f2394e93 100644 --- a/lib/modules/publishing/web/editor.html.heex +++ b/lib/modules/publishing/web/editor.html.heex @@ -639,6 +639,27 @@
<.form for={@form} id="publishing-meta" phx-change="update_meta" phx-submit="noop"> + <%!-- Title field — full width above the editor columns --%> +
+ +

+ <%= if @is_primary_language do %> + {gettext("Auto-populated from the first heading. Edit to override.")} + <% else %> + {gettext("Leave empty to use the primary language title.")} + <% end %> +

+
+
@@ -950,27 +971,6 @@
- <%!-- Title field --%> -
- -

- <%= if @is_primary_language do %> - {gettext("Auto-populated from the first heading. Edit to override.")} - <% else %> - {gettext("Leave empty to use the primary language title.")} - <% end %> -

-
-

{gettext("Content")}

From 2af4021cdaad19ea7e9c3e8968fd642832bc8791 Mon Sep 17 00:00:00 2001 From: Max Don Date: Wed, 4 Mar 2026 23:56:34 +0200 Subject: [PATCH 2/2] Fix admin chrome flag persisting across plugin LiveView re-renders Only set the process dictionary flag from non-layout calls, preventing the layout's own call from incorrectly short-circuiting on subsequent re-renders for plugin views. Co-Authored-By: Claude Opus 4.6 --- lib/phoenix_kit_web/components/layout_wrapper.ex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/phoenix_kit_web/components/layout_wrapper.ex b/lib/phoenix_kit_web/components/layout_wrapper.ex index 22c54bcb..58e1a5d2 100644 --- a/lib/phoenix_kit_web/components/layout_wrapper.ex +++ b/lib/phoenix_kit_web/components/layout_wrapper.ex @@ -215,7 +215,11 @@ defmodule PhoenixKitWeb.Components.LayoutWrapper do if admin_page?(assigns) do # Mark that admin chrome is being rendered by this (LiveView) call. # The layout's call (from_layout=true) will detect this and short-circuit. - Process.put(:phoenix_kit_admin_chrome_rendered, true) + # Only set the flag for non-layout calls (core views that call app_layout directly). + # Plugin views never call app_layout, so the layout's own call should NOT set + # the flag — otherwise it persists in the process dictionary and causes the + # layout to incorrectly short-circuit on subsequent LiveView re-renders. + unless assigns[:from_layout], do: Process.put(:phoenix_kit_admin_chrome_rendered, true) # Create new inner_block slot that wraps original content with admin navigation original_inner_block = assigns[:inner_block]