From 0e34143bec09085eaa88ac90aa03bbe53813cd53 Mon Sep 17 00:00:00 2001 From: Brian Hanson Date: Thu, 8 Oct 2026 10:16:32 -0500 Subject: [PATCH 1/2] Put nav into group --- src/Plugin.php | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/Plugin.php b/src/Plugin.php index 4dd152661e..427b1d5127 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -431,6 +431,7 @@ protected function cpNavIconPath(): ?string public function getCpNavItem(): NavItem|array|null { $item = parent::getCpNavItem(); + $item->group(true); if (!$item instanceof NavItem) { return $item; @@ -439,7 +440,10 @@ public function getCpNavItem(): NavItem|array|null $item->label(t('Commerce', category: 'commerce')); if (currentUser()?->can('commerce-manageOrders')) { - $item->add(new NavItem()->label(t('Orders', category: 'commerce'))->url('commerce/orders')); + $item->add(new NavItem() + ->icon('receipt') + ->label(t('Orders', category: 'commerce')) + ->url('commerce/orders')); } $viewableProductTypeIds = app(ProductTypes::class)->getViewableProductTypeIds(true); @@ -449,11 +453,17 @@ public function getCpNavItem(): NavItem|array|null if (count($viewableProductTypeIds) > 1) { $productNavItems = app(Navigation::class)->sourceSubnav(Product::class, 'commerce/products'); } elseif ($viewableProductTypeIds) { - $productNavItems[] = new NavItem()->label(t('Products', category: 'commerce'))->url('commerce/products'); + $productNavItems[] = new NavItem() + ->icon('cart-shopping') + ->label(t('Products', category: 'commerce')) + ->url('commerce/products'); } if (currentUser()?->can('commerce-manageDonationSettings')) { - $donationsNavItem = new NavItem()->label(t('Donations', category: 'commerce'))->url('commerce/donations'); + $donationsNavItem = new NavItem() + ->icon('circle-dollar-to-slot') + ->label(t('Donations', category: 'commerce')) + ->url('commerce/donations'); $lastProductNavItem = end($productNavItems); // Listed directly beneath the product types, under their heading when they have one. @@ -471,24 +481,35 @@ public function getCpNavItem(): NavItem|array|null $inventoryItems = []; if (currentUser()?->can('commerce-manageInventoryStockLevels')) { - $inventoryItems[] = new NavItem()->label(t('Manage Inventory', category: 'commerce'))->url('commerce/inventory'); + $inventoryItems[] = new NavItem() + ->label(t('Manage Inventory', category: 'commerce')) + ->url('commerce/inventory'); } if (currentUser()?->can('commerce-manageInventoryLocations')) { - $inventoryItems[] = new NavItem()->label(t('Inventory Locations', category: 'commerce'))->url('commerce/inventory-locations'); + $inventoryItems[] = new NavItem() + ->label(t('Inventory Locations', category: 'commerce')) + ->url('commerce/inventory-locations'); } $multipleLocations = app(InventoryLocations::class)->getAllInventoryLocations()->count() > 1; if ($multipleLocations && currentUser()?->can('commerce-manageInventoryTransfers')) { - $inventoryItems[] = new NavItem()->label(t('Inventory Transfers', category: 'commerce'))->url('commerce/inventory/transfers'); + $inventoryItems[] = new NavItem() + ->label(t('Inventory Transfers', category: 'commerce')) + ->url('commerce/inventory/transfers'); } if ($inventoryItems) { - $item->add(new NavItem()->label(t('Inventory', category: 'commerce'))->group(true)->subnav($inventoryItems)); + $item->add(new NavItem()->label(t('Inventory', category: 'commerce')) + ->icon('warehouse') + ->group(true)->subnav($inventoryItems)); } if (currentUser()?->can('commerce-manageStoreSettings')) { - $item->add(new NavItem()->label(t('Settings', category: 'app'))->group(true)->subnav([ + $item->add(new NavItem() + ->icon('gear') + ->label(t('Settings', category: 'app')) + ->group(true)->subnav([ new NavItem()->label(t('Store Management', category: 'commerce'))->url('commerce/store-management'), ])); } From 4c9f1204acec3b230637631e2da4ef29b2550073 Mon Sep 17 00:00:00 2001 From: Nathaniel Hammond Date: Fri, 9 Oct 2026 18:22:47 +0100 Subject: [PATCH 2/2] move order of operations --- src/Plugin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Plugin.php b/src/Plugin.php index 082d065bb3..4ed8f2ab0a 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -430,12 +430,12 @@ protected function cpNavIconPath(): ?string public function getCpNavItem(): NavItem|array|null { $item = parent::getCpNavItem(); - $item->group(true); if (!$item instanceof NavItem) { return $item; } + $item->group(true); $item->label(t('Commerce', category: 'commerce')); if (currentUser()?->can('commerce-manageOrders')) {