| @@ -5,8 +5,13 @@ | ||
| 5 | 5 | * @package |
| 6 | 6 | */ |
| 7 | 7 | use WPFunnels\Wpfnl_functions; |
| 8 | 8 | |
| 9 | +/* | |
| 10 | + * `route` is for the screens that live in the React admin: they are all one | |
| 11 | + * WordPress page with the screen in the hash, so a plain `page` would only | |
| 12 | + * reach the dashboard. The entries without one are still their own page. | |
| 13 | + */ | |
| 9 | 14 | $nav_menus = apply_filters('wpfnl_dashboard_nav_lists', [ |
| 10 | 15 | 'dashboard' => [ |
| 11 | 16 | 'title' => __('Dashboard', 'wpfnl'), |
| 12 | 17 | 'icon' => 'dashboard-icon', |
| @@ -14,9 +19,10 @@ | ||
| 14 | 19 | ], |
| 15 | 20 | 'overview' => [ |
| 16 | 21 | 'title' => __('Funnels', 'wpfnl'), |
| 17 | 22 | 'icon' => 'overview-icon', |
| 18 | - 'page' => WPFNL_FUNNEL_PAGE_SLUG, | |
| 23 | + 'page' => WPFNL_MAIN_PAGE_SLUG, | |
| 24 | + 'route' => '#/funnels', | |
| 19 | 25 | ], |
| 20 | 26 | 'store_checkout' => [ |
| 21 | 27 | 'title' => __('Store Checkout', 'wpfnl'), |
| 22 | 28 | 'icon' => 'storewide-checkout-icon', |
| @@ -34,9 +40,10 @@ | ||
| 34 | 40 | ], |
| 35 | 41 | 'templates' => [ |
| 36 | 42 | 'title' => __('Templates', 'wpfnl'), |
| 37 | 43 | 'icon' => 'templates-icon', |
| 38 | - 'page' => WPFNL_TEMPLATE_PAGE_SLUG, | |
| 44 | + 'page' => WPFNL_MAIN_PAGE_SLUG, | |
| 45 | + 'route' => '#/funnel-templates', | |
| 39 | 46 | ], |
| 40 | 47 | // 'addons' => [ |
| 41 | 48 | // 'title' => __('Add-ons', 'wpfnl'), |
| 42 | 49 | // 'icon' => 'addons-icon', |
| @@ -41,13 +48,10 @@ | ||
| 41 | 48 | // 'title' => __('Add-ons', 'wpfnl'), |
| 42 | 49 | // 'icon' => 'addons-icon', |
| 43 | 50 | // 'page' => WPFNL_ADDONS_SLUG, |
| 44 | 51 | // ], |
| 45 | - 'settings' => [ | |
| 46 | - 'title' => __('Settings', 'wpfnl'), | |
| 47 | - 'icon' => 'settings-icon-2x', | |
| 48 | - 'page' => WPFNL_GLOBAL_SETTINGS_SLUG, | |
| 49 | - ], | |
| 52 | + // Settings is not listed here — it is reached from the gear button in | |
| 53 | + // the header action group rendered into #wpfnl-header-actions below. | |
| 50 | 54 | ]); |
| 51 | 55 | ?> |
| 52 | 56 | |
| 53 | 57 | <ul class="wpfnl-dashboard__nav-ul"> |
| @@ -64,8 +68,13 @@ | ||
| 64 | 68 | 'page' => $menu['page'], |
| 65 | 69 | ], |
| 66 | 70 | admin_url('admin.php') |
| 67 | 71 | ); |
| 72 | + | |
| 73 | + if (!empty($menu['route'])) { | |
| 74 | + $link .= $menu['route']; | |
| 75 | + } | |
| 76 | + | |
| 68 | 77 | if($key === 'create_funnel') $link='#'; ?> |
| 69 | 78 | |
| 70 | 79 | <li class="wpfnl-dashboard__nav-li <?php echo $key .' '. $active_class; ?>"> |
| 71 | 80 | <a id="<?php echo "wpfnl-tab-".$key ?>" href="<?php echo esc_url($link); ?>"> |
| @@ -75,4 +84,9 @@ | ||
| 75 | 84 | <?php |
| 76 | 85 | } |
| 77 | 86 | ?> |
| 78 | 87 | </ul> |
| 88 | + | |
| 89 | +<!-- Header action group (Knowledge Base, AI Assistant, Settings, Upgrade). | |
| 90 | + Rendered by admin/src/global-ai-drawer/HeaderActions.vue so every page | |
| 91 | + that includes this nav gets the same right-hand controls. --> | |
| 92 | +<div id="wpfnl-header-actions" class="wpfnl-dashboard__nav-right"></div> | |