diff --git a/.github/workflows/azure-static-web-apps.yml b/.github/workflows/azure-static-web-apps-victorious-tree-0b68b6103.yml similarity index 92% rename from .github/workflows/azure-static-web-apps.yml rename to .github/workflows/azure-static-web-apps-victorious-tree-0b68b6103.yml index 2614012..d547411 100644 --- a/.github/workflows/azure-static-web-apps.yml +++ b/.github/workflows/azure-static-web-apps-victorious-tree-0b68b6103.yml @@ -23,7 +23,7 @@ jobs: id: builddeploy uses: Azure/static-web-apps-deploy@v1 with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_MANGO_PEBBLE_07630D403 }} + azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_VICTORIOUS_TREE_0B68B6103 }} repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) action: "upload" ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### @@ -42,5 +42,5 @@ jobs: id: closepullrequest uses: Azure/static-web-apps-deploy@v1 with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_MANGO_PEBBLE_07630D403 }} + azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_VICTORIOUS_TREE_0B68B6103 }} action: "close" diff --git a/BeauFindlay/src/BeauFindlay.Client/Layout/Footer.razor b/BeauFindlay/src/BeauFindlay.Client/Layout/Footer.razor index 23549bc..47af43c 100644 --- a/BeauFindlay/src/BeauFindlay.Client/Layout/Footer.razor +++ b/BeauFindlay/src/BeauFindlay.Client/Layout/Footer.razor @@ -7,9 +7,13 @@ - YouTube + LinkedIn + + Email + +

© @DateTime.UtcNow.Year Beau Findlay. All rights reserved. diff --git a/BeauFindlay/src/BeauFindlay.Client/Layout/MainLayout.razor b/BeauFindlay/src/BeauFindlay.Client/Layout/MainLayout.razor index 9a486ee..d7ef8e5 100644 --- a/BeauFindlay/src/BeauFindlay.Client/Layout/MainLayout.razor +++ b/BeauFindlay/src/BeauFindlay.Client/Layout/MainLayout.razor @@ -3,7 +3,7 @@

-
+
@Body
diff --git a/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor b/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor index c71ccbd..c4a4bf8 100644 --- a/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor +++ b/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor @@ -2,50 +2,63 @@ @inject IJSRuntime JSRuntime -@if (!hasPreviouslyRendered) +About - Beau Findlay + +@if (comingSoon) { -

- -

+
+

Coming soon...

+
} else { -

This app|

+ @if (!hasPreviouslyRendered) + { +

+ +

+ } + else + { +

This app|

+ } + +

Below is a brief outline of how this app is made and what technologies are used. If you'd like to dive straight in then full project is available on my GitHub.

+ +
+

Front-end

+ +

I wanted to create a decent, modern client-side experience for this app and given my (very...) limited front-end expertise I decided to choose .NET Blazor Webassembly. Blazor is Microsoft's take on component-based SPAs (single page applications) and offers us back-end focussed devs a way of producing decent client experiences without needing to dive into another front-end specific technology.

+ +

Blazor traditionally came in two flavours, server and webassembly with an additional third option (Blazor Web App) recently released with .NET 8 which is an amalgamation of both. Blazor Server initially generates content on the server and utilises web-sockets to communicate dynamic UI updates with the client without requiring a page load, whereas Blazor Webassembly downloads the entire app to the client browser on first load alongside a light-weight .NET run-time to execute code directly on the browsers UI thread.

+ +

As Blazor server requires a dedicated server to host the application, I chose Blazor webassembly to enable me to host this app for free using an Azure Static Web App. You can read more about this in the hosting section.

+
+ +
+

Back-end

+

As the

+
+ + +
+

Hosting

+

+
} -

Below is a brief outline of how this app is made and what technologies are used. If you'd like to dive straight in then full project is available on my GitHub.

-
-

Front-end

- -

I wanted to create a decent, modern client-side experience for this app and given my (very...) limited front-end expertise I decided to choose .NET Blazor Webassembly. Blazor is Microsoft's take on component-based SPAs (single page applications) and offers us back-end focussed devs a way of producing decent client experiences without needing to dive into another front-end specific technology.

- -

Blazor traditionally came in two flavours, server and webassembly with an additional third option (Blazor Web App) recently released with .NET 8 which is an amalgamation of both. Blazor Server initially generates content on the server and utilises web-sockets to communicate dynamic UI updates with the client without requiring a page load, whereas Blazor Webassembly downloads the entire app to the client browser on first load alongside a light-weight .NET run-time to execute code directly on the browsers UI thread.

- -

As Blazor server requires a dedicated server to host the application, I chose Blazor webassembly to enable me to host this app for free using an Azure Static Web App. You can read more about this in the hosting section.

-
- -
-

Back-end

-

As the

-
- - -
-

Hosting

-

-
- - + @code { - private const string ComponentKey = "ComponentRendered_About"; + private const string ComponentKey = "ComponentRendered_About"; private const string FrontEndSection = "front-end"; private const string BackEndSection = "back-end"; private const string HostingSection = "hosting"; - + private bool hasPreviouslyRendered; - + private bool comingSoon = true; + protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) @@ -59,7 +72,7 @@ else { await JSRuntime.InvokeVoidAsync("localStorage.setItem", ComponentKey, "true"); } - + if (previousValue != hasPreviouslyRendered) { StateHasChanged(); @@ -71,4 +84,5 @@ else { await JSRuntime.InvokeVoidAsync("scrollToElement", elementId); } + } \ No newline at end of file diff --git a/BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor b/BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor index a40cf8b..88ee399 100644 --- a/BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor +++ b/BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor @@ -3,6 +3,8 @@ @inject HttpClient HttpClient @inject IJSRuntime JSRuntime +Contact - Beau Findlay +

Contact

@@ -19,14 +21,14 @@
- +
- +
diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/css/app.min.css b/BeauFindlay/src/BeauFindlay.Client/wwwroot/css/app.min.css index 562a466..399f64d 100644 --- a/BeauFindlay/src/BeauFindlay.Client/wwwroot/css/app.min.css +++ b/BeauFindlay/src/BeauFindlay.Client/wwwroot/css/app.min.css @@ -666,6 +666,10 @@ video { max-width: 36rem; } +.flex-1 { + flex: 1 1 0%; +} + .flex-shrink-0 { flex-shrink: 0; } diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/apple-touch-icon.png b/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/apple-touch-icon.png new file mode 100644 index 0000000..c55fd27 Binary files /dev/null and b/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/apple-touch-icon.png differ diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/beaufindlay-logo.png b/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/beaufindlay-logo.png new file mode 100644 index 0000000..d78b212 Binary files /dev/null and b/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/beaufindlay-logo.png differ diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/favicon-16x16.png b/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/favicon-16x16.png new file mode 100644 index 0000000..f78dd85 Binary files /dev/null and b/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/favicon-16x16.png differ diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/favicon-32x32.png b/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/favicon-32x32.png new file mode 100644 index 0000000..64fcf31 Binary files /dev/null and b/BeauFindlay/src/BeauFindlay.Client/wwwroot/images/favicon-32x32.png differ diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html b/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html index a53ac4e..874083d 100644 --- a/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html +++ b/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html @@ -2,11 +2,24 @@ + + + + + + + Beau Findlay + + + + -
+

- Loading beaufindlay.com| + Loading + beaufindlay.com|

- diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/site.webmanifest b/BeauFindlay/src/BeauFindlay.Client/wwwroot/site.webmanifest new file mode 100644 index 0000000..74d0a9c --- /dev/null +++ b/BeauFindlay/src/BeauFindlay.Client/wwwroot/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "images/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "images/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +}