build('primary'); } if (!isset($secondary_navigation)) { $secondary_navigation = Navi::make()->build('secondary'); } $enable_hamburger = get_field('enable_hamburger', 'option'); $hamburger_style = get_field('hamburger_style', 'option'); $mobile_menu_effect = get_field('mobile_menu_effect', 'option') ?: 'slide_up'; $mobile_menu_width = get_field('mobile_menu_width', 'option') ?: 100; $mobile_menu_bg = get_field('mobile_menu_background', 'option') ?: '#FFFFFF'; $sticky_menu = get_field('sticky_menu', 'option'); // Sticky menu toggle // Map effects to transition classes $effect_classes = [ 'slide_up' => 'translate-y-full', 'slide_left' => '-translate-x-full', 'slide_right' => 'translate-x-full', 'fullscreen' => 'translate-y-full', ]; $transition_class = $effect_classes[$mobile_menu_effect] ?? 'translate-y-full'; // Define additional styles for non-fullscreen menus $menu_width_style = $mobile_menu_effect !== 'fullscreen' ? "width: {$mobile_menu_width}%; left: 0;" : "width: 100%;"; // Validate the hamburger style to prevent invalid classes $valid_styles = [ 'hamburger--3dx', 'hamburger--3dx-r', 'hamburger--3dy', 'hamburger--3dy-r', 'hamburger--3dxy', 'hamburger--3dxy-r', 'hamburger--arrow', 'hamburger--arrow-r', 'hamburger--arrowalt', 'hamburger--arrowalt-r', 'hamburger--arrowturn', 'hamburger--arrowturn-r', 'hamburger--boring', 'hamburger--collapse', 'hamburger--collapse-r', 'hamburger--elastic', 'hamburger--elastic-r', 'hamburger--emphatic', 'hamburger--emphatic-r', 'hamburger--minus', 'hamburger--slider', 'hamburger--slider-r', 'hamburger--spin', 'hamburger--spin-r', 'hamburger--spring', 'hamburger--spring-r', 'hamburger--stand', 'hamburger--stand-r', 'hamburger--squeeze', 'hamburger--vortex', 'hamburger--vortex-r', ]; if (!in_array($hamburger_style, $valid_styles)) { $hamburger_style = 'hamburger--spin'; // Fallback to default style } ?> isNotEmpty()): ?>