diff --git a/Oqtane.Client/Themes/Controls/MenuHorizontal.razor b/Oqtane.Client/Themes/Controls/MenuHorizontal.razor
index 575a513b..c4c45f16 100644
--- a/Oqtane.Client/Themes/Controls/MenuHorizontal.razor
+++ b/Oqtane.Client/Themes/Controls/MenuHorizontal.razor
@@ -1,4 +1,5 @@
@namespace Oqtane.Themes.Controls
+
@inherits MenuBase
@if (MenuPages.Any())
@@ -10,35 +11,7 @@
}
diff --git a/Oqtane.Client/Themes/Controls/MenuItemsBase.cs b/Oqtane.Client/Themes/Controls/MenuItemsBase.cs
new file mode 100644
index 00000000..bfdd3cd4
--- /dev/null
+++ b/Oqtane.Client/Themes/Controls/MenuItemsBase.cs
@@ -0,0 +1,27 @@
+using System.Collections.Generic;
+using System.Linq;
+
+using Microsoft.AspNetCore.Components;
+
+using Oqtane.Models;
+using Oqtane.UI;
+
+namespace Oqtane.Themes.Controls
+{
+ public abstract class MenuItemsBase : MenuBase
+ {
+ [Parameter()]
+ public Page ParentPage { get; set; }
+
+ [Parameter()]
+ public IEnumerable Pages { get; set; }
+
+ protected IEnumerable GetChildPages()
+ {
+ return Pages
+ .Where(e => e.ParentId == ParentPage?.PageId)
+ .OrderBy(e => e.Order)
+ .AsEnumerable();
+ }
+ }
+}
diff --git a/Oqtane.Client/Themes/Controls/MenuItemsHorizontal.razor b/Oqtane.Client/Themes/Controls/MenuItemsHorizontal.razor
new file mode 100644
index 00000000..3a54c855
--- /dev/null
+++ b/Oqtane.Client/Themes/Controls/MenuItemsHorizontal.razor
@@ -0,0 +1,80 @@
+@namespace Oqtane.Themes.Controls
+
+@inherits MenuItemsBase
+
+@if (ParentPage != null)
+{
+
+}
+else
+{
+
+}
\ No newline at end of file
diff --git a/Oqtane.Client/Themes/Controls/MenuItemsHorizontal.razor.cs b/Oqtane.Client/Themes/Controls/MenuItemsHorizontal.razor.cs
new file mode 100644
index 00000000..30226bfb
--- /dev/null
+++ b/Oqtane.Client/Themes/Controls/MenuItemsHorizontal.razor.cs
@@ -0,0 +1,6 @@
+namespace Oqtane.Themes.Controls
+{
+ public partial class MenuItemsHorizontal : MenuItemsBase
+ {
+ }
+}