From 4b62e5265c323b6693d5487aceef0ddfee0d3efa Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Wed, 10 Aug 2022 21:05:38 +0200 Subject: [PATCH] Finished the navigation menu - Added a NavItem component - Replaced the navbar toggle icon - Made the navbar tighter - Fixed the navbar's padding - Render the nav items dynamically --- .../UI MAUI/Components/NavItem.razor | 9 +++++++ .../UI MAUI/Components/NavItem.razor.cs | 20 +++++++++++++++ I18N Commander/UI MAUI/NavigationTarget.cs | 15 +++++++++++ .../UI MAUI/Shared/MainLayout.razor | 25 ++++++++----------- .../UI MAUI/wwwroot/icons/nav-toggle.svg | 1 + 5 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 I18N Commander/UI MAUI/Components/NavItem.razor create mode 100644 I18N Commander/UI MAUI/Components/NavItem.razor.cs create mode 100644 I18N Commander/UI MAUI/NavigationTarget.cs create mode 100644 I18N Commander/UI MAUI/wwwroot/icons/nav-toggle.svg diff --git a/I18N Commander/UI MAUI/Components/NavItem.razor b/I18N Commander/UI MAUI/Components/NavItem.razor new file mode 100644 index 0000000..40f4a8f --- /dev/null +++ b/I18N Commander/UI MAUI/Components/NavItem.razor @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/I18N Commander/UI MAUI/Components/NavItem.razor.cs b/I18N Commander/UI MAUI/Components/NavItem.razor.cs new file mode 100644 index 0000000..66767ef --- /dev/null +++ b/I18N Commander/UI MAUI/Components/NavItem.razor.cs @@ -0,0 +1,20 @@ +using Microsoft.AspNetCore.Components; + +namespace UI_MAUI.Components; + +public partial class NavItem : ComponentBase +{ + [Parameter] + public string Route { get; set; } + + [Parameter] + public string Text { get; set; } + + [Parameter] + public bool ShowIcon { get; set; } = false; + + [Parameter] + public string IconFilename { get; set; } = string.Empty; + + private string AltText => $"Navigation: {this.Text}"; +} \ No newline at end of file diff --git a/I18N Commander/UI MAUI/NavigationTarget.cs b/I18N Commander/UI MAUI/NavigationTarget.cs new file mode 100644 index 0000000..b50c842 --- /dev/null +++ b/I18N Commander/UI MAUI/NavigationTarget.cs @@ -0,0 +1,15 @@ +namespace UI_MAUI; + +public readonly record struct NavigationTarget(string Text, string Route, string IconFilename) +{ + private static readonly NavigationTarget SETTINGS = new NavigationTarget("Settings", "settings", "settings.svg"); + private static readonly NavigationTarget TRANSLATION = new NavigationTarget("Translation", "translation", "translation.svg"); + private static readonly NavigationTarget LOAD_PROJECT = new NavigationTarget("Load Project", "load", "load.svg"); + + public static IEnumerable GetAll() + { + yield return SETTINGS; + yield return LOAD_PROJECT; + yield return TRANSLATION; + } +}; \ No newline at end of file diff --git a/I18N Commander/UI MAUI/Shared/MainLayout.razor b/I18N Commander/UI MAUI/Shared/MainLayout.razor index 54a03ee..b52cf20 100644 --- a/I18N Commander/UI MAUI/Shared/MainLayout.razor +++ b/I18N Commander/UI MAUI/Shared/MainLayout.razor @@ -1,25 +1,20 @@ @inherits LayoutComponentBase -