feat: hide AE menu by default in iframe mode; add show_menu override
iframe=true now hides the sys bar for all users (previously trusted_access users still saw it). Admins can pass show_menu=true to re-enable it while testing an embedded page like video_conferences. hide_menu=true remains for non-iframe hide use cases (kiosk, etc). Updated URL builder: hide_menu checkbox → show_menu checkbox. Updated GUIDE__Development.md URL params table. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -251,16 +251,23 @@
|
||||
|
||||
// Iframe Detection
|
||||
let iframe = data.url.searchParams.get('iframe');
|
||||
if (iframe === 'true') $ae_loc.iframe = true;
|
||||
else if (iframe === 'false') $ae_loc.iframe = false;
|
||||
|
||||
// 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('hide_menu') === 'true') {
|
||||
if (iframe === 'true') {
|
||||
$ae_loc.iframe = true;
|
||||
// Hide the AE system bar by default in iframe embeds — it's nav chrome
|
||||
// the host page doesn't need. Trusted admins can override with show_menu=true
|
||||
// to access the menu while testing an embedded page (e.g. video_conferences).
|
||||
$ae_loc.sys_menu.hide = true;
|
||||
} else if (iframe === 'false') {
|
||||
$ae_loc.iframe = false;
|
||||
}
|
||||
|
||||
// show_menu=true — override to show the AE system bar even inside an iframe.
|
||||
// Intended for trusted/admin users who need menu access while testing an embed.
|
||||
// hide_menu=true — explicitly hide the bar outside of iframe contexts.
|
||||
const menu_override = data.url.searchParams.get('show_menu');
|
||||
if (menu_override === 'true') $ae_loc.sys_menu.hide = false;
|
||||
else if (data.url.searchParams.get('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');
|
||||
|
||||
Reference in New Issue
Block a user