From 2105d3b85d299d80c094de15d77c4acef89f843c Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Sat, 31 Jan 2026 15:51:29 +0000 Subject: [PATCH] Migrate components --- src/BlazorApp/BlazorApp.csproj | 16 +- .../Components/AnchorLink/AnchorLink.razor | 25 + src/BlazorApp/Components/App.razor | 67 +- .../Components/Contact/Contact.razor | 10 + src/BlazorApp/Components/Icons/Icon.razor | 125 ++++ src/BlazorApp/Components/Icons/IconType.cs | 16 + .../Components/Icons/SocialIcons.razor | 19 + src/BlazorApp/Components/Layout/Footer.razor | 14 + .../Components/Layout/MainLayout.razor | 20 +- src/BlazorApp/Components/Layout/NavBar.razor | 70 ++ src/BlazorApp/Components/Layout/NavMenu.razor | 23 +- src/BlazorApp/Components/Pages/About.razor | 41 ++ src/BlazorApp/Components/Pages/Error.razor | 12 +- .../Components/Pages/Experience.razor | 107 +++ src/BlazorApp/Components/Pages/Home.razor | 19 +- src/BlazorApp/Components/Pages/NotFound.razor | 14 +- src/BlazorApp/Components/Pages/Weather.razor | 64 -- src/BlazorApp/Components/Routes.razor | 8 +- .../Typography/Subtitle/Subtitle.razor | 17 + .../Components/Typography/Text/Text.razor | 17 + .../Components/Typography/Title/Title.razor | 17 + src/BlazorApp/Components/_Imports.razor | 6 + src/BlazorApp/Program.cs | 9 +- src/BlazorApp/Properties/launchSettings.json | 36 +- src/BlazorApp/wwwroot/css/animations.css | 110 +-- src/BlazorApp/wwwroot/css/app.css | 1 + src/BlazorApp/wwwroot/css/base.css | 60 +- src/BlazorApp/wwwroot/css/components.css | 635 +++++++++++++---- src/BlazorApp/wwwroot/css/layout.css | 242 +------ src/BlazorApp/wwwroot/css/reset.css | 64 +- src/BlazorApp/wwwroot/css/utilities.css | 641 ++++++++++++++++++ src/BlazorApp/wwwroot/css/variables.css | 170 ++--- 32 files changed, 2003 insertions(+), 692 deletions(-) create mode 100644 src/BlazorApp/Components/AnchorLink/AnchorLink.razor create mode 100644 src/BlazorApp/Components/Contact/Contact.razor create mode 100644 src/BlazorApp/Components/Icons/Icon.razor create mode 100644 src/BlazorApp/Components/Icons/IconType.cs create mode 100644 src/BlazorApp/Components/Icons/SocialIcons.razor create mode 100644 src/BlazorApp/Components/Layout/Footer.razor create mode 100644 src/BlazorApp/Components/Layout/NavBar.razor create mode 100644 src/BlazorApp/Components/Pages/About.razor create mode 100644 src/BlazorApp/Components/Pages/Experience.razor delete mode 100644 src/BlazorApp/Components/Pages/Weather.razor create mode 100644 src/BlazorApp/Components/Typography/Subtitle/Subtitle.razor create mode 100644 src/BlazorApp/Components/Typography/Text/Text.razor create mode 100644 src/BlazorApp/Components/Typography/Title/Title.razor create mode 100644 src/BlazorApp/wwwroot/css/utilities.css diff --git a/src/BlazorApp/BlazorApp.csproj b/src/BlazorApp/BlazorApp.csproj index b5f6af0..c1fef06 100644 --- a/src/BlazorApp/BlazorApp.csproj +++ b/src/BlazorApp/BlazorApp.csproj @@ -1,10 +1,14 @@ - - net10.0 - enable - enable - true - + + net10.0 + enable + enable + true + + + + <_ContentIncludedByDefault Remove="Components\Shared\Icon.razor"/> + diff --git a/src/BlazorApp/Components/AnchorLink/AnchorLink.razor b/src/BlazorApp/Components/AnchorLink/AnchorLink.razor new file mode 100644 index 0000000..f048729 --- /dev/null +++ b/src/BlazorApp/Components/AnchorLink/AnchorLink.razor @@ -0,0 +1,25 @@ +@* External link component *@ + +@ChildContent + +@code { + + [Parameter] + public RenderFragment? ChildContent { get; set; } + + [Parameter] + public string? Href { get; set; } + + [Parameter] + public string Target { get; set; } = "_blank"; + + [Parameter] + public string? CssClass { get; set; } + + private string CombinedClasses => string.IsNullOrEmpty(CssClass) + ? "underline underline-offset-2" + : $"underline underline-offset-2 {CssClass}"; + +} diff --git a/src/BlazorApp/Components/App.razor b/src/BlazorApp/Components/App.razor index c5fff8c..a7b0caf 100644 --- a/src/BlazorApp/Components/App.razor +++ b/src/BlazorApp/Components/App.razor @@ -2,19 +2,66 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + diff --git a/src/BlazorApp/Components/Contact/Contact.razor b/src/BlazorApp/Components/Contact/Contact.razor new file mode 100644 index 0000000..de671a1 --- /dev/null +++ b/src/BlazorApp/Components/Contact/Contact.razor @@ -0,0 +1,10 @@ +@* Contact call-to-action *@ + +
+ If you think I can help with your project... + + Get in touch + + +
diff --git a/src/BlazorApp/Components/Icons/Icon.razor b/src/BlazorApp/Components/Icons/Icon.razor new file mode 100644 index 0000000..b08e58a --- /dev/null +++ b/src/BlazorApp/Components/Icons/Icon.razor @@ -0,0 +1,125 @@ +@switch (Type) +{ + case IconType.Github: + + + + break; + case IconType.LinkedIn: + + + + break; + case IconType.Email: + + + + break; + case IconType.Code: + + + + break; + case IconType.Hosting: + + + + break; + case IconType.Blazor: + + + + break; + case IconType.React: + + + + + + + break; + case IconType.Database: + + + + break; + case IconType.Docker: + + + + break; + case IconType.SendArrow: + + + + break; + case IconType.Menu: + + break; +} + +@code { + + [Parameter] + public IconType Type { get; set; } + +} \ No newline at end of file diff --git a/src/BlazorApp/Components/Icons/IconType.cs b/src/BlazorApp/Components/Icons/IconType.cs new file mode 100644 index 0000000..89d0f3d --- /dev/null +++ b/src/BlazorApp/Components/Icons/IconType.cs @@ -0,0 +1,16 @@ +namespace BlazorApp.Components.Icons; + +public enum IconType +{ + Github, + LinkedIn, + Email, + Code, + Hosting, + Blazor, + React, + Database, + Docker, + SendArrow, + Menu +} \ No newline at end of file diff --git a/src/BlazorApp/Components/Icons/SocialIcons.razor b/src/BlazorApp/Components/Icons/SocialIcons.razor new file mode 100644 index 0000000..701f4b5 --- /dev/null +++ b/src/BlazorApp/Components/Icons/SocialIcons.razor @@ -0,0 +1,19 @@ +@* Social media links *@ + + diff --git a/src/BlazorApp/Components/Layout/Footer.razor b/src/BlazorApp/Components/Layout/Footer.razor new file mode 100644 index 0000000..9459d1e --- /dev/null +++ b/src/BlazorApp/Components/Layout/Footer.razor @@ -0,0 +1,14 @@ +@* Footer component *@ + + diff --git a/src/BlazorApp/Components/Layout/MainLayout.razor b/src/BlazorApp/Components/Layout/MainLayout.razor index 7cd63fe..5aa2bbd 100644 --- a/src/BlazorApp/Components/Layout/MainLayout.razor +++ b/src/BlazorApp/Components/Layout/MainLayout.razor @@ -1,17 +1,11 @@ @inherits LayoutComponentBase -
- - -
-
- About -
- -
+
+
+ +
@Body -
-
+
+