From 7d47109e95d85e40603682f0199f8f61f6140a7f Mon Sep 17 00:00:00 2001
From: Jorge Lapa <2780099+heyjorgedev@users.noreply.github.com>
Date: Mon, 22 Sep 2025 08:27:27 +0100
Subject: [PATCH 1/2] fix header menu selection indicator not showing
---
 resources/js/components/app-header.tsx | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/resources/js/components/app-header.tsx b/resources/js/components/app-header.tsx
index 6f3ab8fb6..a164139a5 100644
--- a/resources/js/components/app-header.tsx
+++ b/resources/js/components/app-header.tsx
@@ -182,7 +182,10 @@ export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) {
                                             )}
                                             {item.title}
                                         
-                                        {page.url === item.href && (
+                                        {page.url ===
+                                            (typeof item.href === 'string'
+                                                ? item.href
+                                                : item.href.url) && (
                                             
                                         )}
                                     
From dd94db290e0235b07ae60fc8f06c5ed86a6aac2f Mon Sep 17 00:00:00 2001
From: Joe Tannenbaum 
Date: Mon, 20 Oct 2025 13:56:29 -0400
Subject: [PATCH 2/2] isSameUrl and resolveUrl helpers
---
 resources/js/components/app-header.tsx   | 31 ++++++------------------
 resources/js/components/nav-footer.tsx   |  7 ++----
 resources/js/components/nav-main.tsx     |  5 ++--
 resources/js/layouts/settings/layout.tsx | 13 +++++-----
 resources/js/lib/utils.ts                | 12 +++++++++
 5 files changed, 30 insertions(+), 38 deletions(-)
diff --git a/resources/js/components/app-header.tsx b/resources/js/components/app-header.tsx
index a164139a5..1f6371926 100644
--- a/resources/js/components/app-header.tsx
+++ b/resources/js/components/app-header.tsx
@@ -28,7 +28,7 @@ import {
 } from '@/components/ui/tooltip';
 import { UserMenuContent } from '@/components/user-menu-content';
 import { useInitials } from '@/hooks/use-initials';
-import { cn } from '@/lib/utils';
+import { cn, isSameUrl, resolveUrl } from '@/lib/utils';
 import { dashboard } from '@/routes';
 import { type BreadcrumbItem, type NavItem, type SharedData } from '@/types';
 import { Link, usePage } from '@inertiajs/react';
@@ -118,12 +118,7 @@ export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) {
                                             {rightNavItems.map((item) => (
                                                 
@@ -182,10 +175,7 @@ export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) {
                                             )}
                                             {item.title}
                                         
-                                        {page.url ===
-                                            (typeof item.href === 'string'
-                                                ? item.href
-                                                : item.href.url) && (
+                                        {isSameUrl(page.url, item.href) && (
                                             
                                         )}
                                     
@@ -212,12 +202,7 @@ export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) {
                                         
                                             
                                                 
                                 
diff --git a/resources/js/components/nav-main.tsx b/resources/js/components/nav-main.tsx
index a1c574cac..61a134232 100644
--- a/resources/js/components/nav-main.tsx
+++ b/resources/js/components/nav-main.tsx
@@ -5,6 +5,7 @@ import {
     SidebarMenuButton,
     SidebarMenuItem,
 } from '@/components/ui/sidebar';
+import { resolveUrl } from '@/lib/utils';
 import { type NavItem } from '@/types';
 import { Link, usePage } from '@inertiajs/react';
 
@@ -19,9 +20,7 @@ export function NavMain({ items = [] }: { items: NavItem[] }) {
                         
diff --git a/resources/js/layouts/settings/layout.tsx b/resources/js/layouts/settings/layout.tsx
index c128d82c5..b51813b9f 100644
--- a/resources/js/layouts/settings/layout.tsx
+++ b/resources/js/layouts/settings/layout.tsx
@@ -1,7 +1,7 @@
 import Heading from '@/components/heading';
 import { Button } from '@/components/ui/button';
 import { Separator } from '@/components/ui/separator';
-import { cn } from '@/lib/utils';
+import { cn, isSameUrl, resolveUrl } from '@/lib/utils';
 import { edit as editAppearance } from '@/routes/appearance';
 import { edit as editPassword } from '@/routes/password';
 import { edit } from '@/routes/profile';
@@ -53,16 +53,15 @@ export default function SettingsLayout({ children }: PropsWithChildren) {