From 5978c5e341790c4908a9dcb39c7c1bb1784e350c Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 17 Mar 2026 19:55:36 -0400 Subject: [PATCH] fix: read ae_hide_menu URL param and apply to sys_menu.hide in layout The URL builder generates ae_hide_menu=true but nothing consumed it. Now layout.svelte reads the param on mount and sets $ae_loc.sys_menu.hide, which flows through bind:hide into E_app_sys_bar's class:hidden. Applies even for trusted_access users who bypass the iframe guard. Co-Authored-By: Claude Sonnet 4.6 --- src/routes/+layout.svelte | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index a14f7486..941b7580 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -254,6 +254,13 @@ if (iframe === 'true') $ae_loc.iframe = true; else if (iframe === 'false') $ae_loc.iframe = false; + // ae_hide_menu=true — suppress the AE system bar when embedding in Novi or + // other host pages with their own navigation. Applies even for trusted_access + // users who would otherwise always see the menu in iframe mode. + if (data.url.searchParams.get('ae_hide_menu') === 'true') { + $ae_loc.sys_menu.hide = true; + } + // Theme URL params — ?theme=AE_Firefly_SteelBlue&theme_mode=dark // Applied once on load, then silently removed from the URL (no history entry). const url_theme = data.url.searchParams.get('theme');