diff --git a/CommunityToolkit.App.Shared/Helpers/NavigationViewHelper.cs b/CommunityToolkit.App.Shared/Helpers/NavigationViewHelper.cs index 8c1c0aa3..7c8aca87 100644 --- a/CommunityToolkit.App.Shared/Helpers/NavigationViewHelper.cs +++ b/CommunityToolkit.App.Shared/Helpers/NavigationViewHelper.cs @@ -14,25 +14,18 @@ public static class NavigationViewHelper foreach (var navData in categoryData) { - // Make subcategories - var subcategoryData = GenerateSubcategoryNavItems(navData.SampleMetadata ?? Enumerable.Empty()); + var samplesBySubcategory = navData.SampleMetadata!.GroupBy(x => x.Subcategory) + .OrderBy(g => g.Key.ToString()); - foreach (var subcategoryItemData in subcategoryData) + foreach (var subcategoryGroup in samplesBySubcategory) { - // Make samples - var sampleNavigationItems = GenerateSampleNavItems(subcategoryItemData.SampleMetadata ?? Enumerable.Empty()); - subcategoryItemData.NavItem.MenuItems.Add(new MUXC.NavigationViewItemSeparator()); - foreach (var item in sampleNavigationItems) + navData.NavItem.MenuItems.Add(new MUXC.NavigationViewItemHeader() { Content = subcategoryGroup.Key.ToString() }); + foreach (var sampleNavItem in GenerateSampleNavItems(subcategoryGroup)) { - // Add sample to subcategory - subcategoryItemData.NavItem.MenuItems.Add(item); + navData.NavItem.MenuItems.Add(sampleNavItem); } - - // Add subcategory to category - navData.NavItem.MenuItems.Add(subcategoryItemData.NavItem); } - // Return category yield return navData.NavItem; } } @@ -61,23 +54,6 @@ public static class NavigationViewHelper } } - private static IEnumerable GenerateSubcategoryNavItems(IEnumerable sampleMetadata) - { - var samplesBySubcategory = sampleMetadata.GroupBy(x => x.Subcategory) - .OrderBy(g => g.Key.ToString()); - - foreach (var subcategoryGroup in samplesBySubcategory) - { - yield return new GroupNavigationItemData(new MUXC.NavigationViewItem - { - Content = subcategoryGroup.Key, - SelectsOnInvoked = false, - IsExpanded = false, - Style = (Style)App.Current.Resources["SubcategoryNavigationViewItemStyle"], - }, subcategoryGroup.ToArray()); - } - } - private static IEnumerable GenerateCategoryNavItems(IEnumerable sampleMetadata) { var samplesByCategory = sampleMetadata.GroupBy(x => x.Category) @@ -97,5 +73,4 @@ private static IEnumerable GenerateCategoryNavItems(IEn /// A navigation item to contain items in this group. /// The samples that belong under . private record GroupNavigationItemData(MUXC.NavigationViewItem NavItem, IEnumerable SampleMetadata); - } diff --git a/CommunityToolkit.App.Shared/Pages/Shell.xaml b/CommunityToolkit.App.Shared/Pages/Shell.xaml index c0430f29..13bbfae3 100644 --- a/CommunityToolkit.App.Shared/Pages/Shell.xaml +++ b/CommunityToolkit.App.Shared/Pages/Shell.xaml @@ -39,7 +39,8 @@ Grid.Row="1" IsBackButtonVisible="Collapsed" IsPaneToggleButtonVisible="False" - ItemInvoked="NavView_ItemInvoked"> + ItemInvoked="NavView_ItemInvoked" + PaneDisplayMode="Top"> diff --git a/CommunityToolkit.App.Shared/Styles/Buttons.xaml b/CommunityToolkit.App.Shared/Styles/Buttons.xaml index 2ec6102f..f79ed483 100644 --- a/CommunityToolkit.App.Shared/Styles/Buttons.xaml +++ b/CommunityToolkit.App.Shared/Styles/Buttons.xaml @@ -1,4 +1,4 @@ - - + @@ -447,12 +447,12 @@ -