Skip to content

Commit 5aa4b4e

Browse files
committed
Make base entrypoint dynamic
1 parent 372ee53 commit 5aa4b4e

File tree

3 files changed

+8
-15
lines changed

3 files changed

+8
-15
lines changed

packages/framework/src/Framework/Features/Navigation/BaseMenuGenerator.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,14 @@ protected function __construct(string $menuType)
5050
$this->usesGroups = $this->usesGroups();
5151
}
5252

53-
public static function handle(): NavigationMenu
53+
/** @param class-string<\Hyde\Framework\Features\Navigation\NavigationMenu> $menuType */
54+
public static function handle(string $menuType): NavigationMenu
5455
{
55-
$menu = new static(NavigationMenu::class);
56+
$menu = new static($menuType);
5657

5758
$menu->generate();
5859

59-
return new NavigationMenu($menu->items);
60+
return new $menuType($menu->items);
6061
}
6162

6263
protected function generate(): void

packages/framework/src/Framework/Features/Navigation/GeneratesDocumentationSidebarMenu.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@
1111
*/
1212
class GeneratesDocumentationSidebarMenu extends BaseMenuGenerator
1313
{
14-
public static function handle(): DocumentationSidebar
14+
public static function handle(string $menuType = DocumentationSidebar::class): DocumentationSidebar
1515
{
16-
$menu = new static(DocumentationSidebar::class);
17-
18-
$menu->generate();
19-
20-
return new DocumentationSidebar($menu->items);
16+
return parent::handle($menuType);
2117
}
2218
}

packages/framework/src/Framework/Features/Navigation/GeneratesMainNavigationMenu.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@
1111
*/
1212
class GeneratesMainNavigationMenu extends BaseMenuGenerator
1313
{
14-
public static function handle(): NavigationMenu
14+
public static function handle(string $menuType = NavigationMenu::class): NavigationMenu
1515
{
16-
$menu = new static(NavigationMenu::class);
17-
18-
$menu->generate();
19-
20-
return new NavigationMenu($menu->items);
16+
return parent::handle($menuType);
2117
}
2218
}

0 commit comments

Comments
 (0)