From b216ade3e02c1eb98e19637e9e24b2cfe6e6a8a6 Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Tue, 12 Mar 2024 19:27:28 +0000 Subject: [PATCH 1/9] Delete .github/workflows/azure-static-web-apps.yml --- .github/workflows/azure-static-web-apps.yml | 46 --------------------- 1 file changed, 46 deletions(-) delete mode 100644 .github/workflows/azure-static-web-apps.yml diff --git a/.github/workflows/azure-static-web-apps.yml b/.github/workflows/azure-static-web-apps.yml deleted file mode 100644 index 2614012..0000000 --- a/.github/workflows/azure-static-web-apps.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Azure Static Web Apps CI/CD - -on: - push: - branches: - - main - pull_request: - types: [opened, synchronize, reopened, closed] - branches: - - main - -jobs: - build_and_deploy_job: - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') - runs-on: ubuntu-latest - name: Build and Deploy Job - steps: - - uses: actions/checkout@v3 - with: - submodules: true - lfs: false - - name: Build And Deploy - 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 }} - 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. ###### - # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig - app_location: "/BeauFindlay/src/BeauFindlay.Client" # App source code path - api_location: "/BeauFindlay/src/BeauFindlay.Api" # Api source code path - optional - output_location: "wwwroot" # Built app content directory - optional - ###### End of Repository/Build Configurations ###### - - close_pull_request_job: - if: github.event_name == 'pull_request' && github.event.action == 'closed' - runs-on: ubuntu-latest - name: Close Pull Request Job - steps: - - name: Close Pull Request - 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 }} - action: "close" From 1868424c322633347f5881d4543ad9acc9d1cb28 Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Tue, 12 Mar 2024 19:27:41 +0000 Subject: [PATCH 2/9] ci: add Azure Static Web Apps workflow file on-behalf-of: @Azure opensource@microsoft.com --- ...tic-web-apps-victorious-tree-0b68b6103.yml | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/azure-static-web-apps-victorious-tree-0b68b6103.yml diff --git a/.github/workflows/azure-static-web-apps-victorious-tree-0b68b6103.yml b/.github/workflows/azure-static-web-apps-victorious-tree-0b68b6103.yml new file mode 100644 index 0000000..d547411 --- /dev/null +++ b/.github/workflows/azure-static-web-apps-victorious-tree-0b68b6103.yml @@ -0,0 +1,46 @@ +name: Azure Static Web Apps CI/CD + +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened, closed] + branches: + - main + +jobs: + build_and_deploy_job: + if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') + runs-on: ubuntu-latest + name: Build and Deploy Job + steps: + - uses: actions/checkout@v3 + with: + submodules: true + lfs: false + - name: Build And Deploy + id: builddeploy + uses: Azure/static-web-apps-deploy@v1 + with: + 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. ###### + # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig + app_location: "/BeauFindlay/src/BeauFindlay.Client" # App source code path + api_location: "/BeauFindlay/src/BeauFindlay.Api" # Api source code path - optional + output_location: "wwwroot" # Built app content directory - optional + ###### End of Repository/Build Configurations ###### + + close_pull_request_job: + if: github.event_name == 'pull_request' && github.event.action == 'closed' + runs-on: ubuntu-latest + name: Close Pull Request Job + steps: + - name: Close Pull Request + id: closepullrequest + uses: Azure/static-web-apps-deploy@v1 + with: + azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_VICTORIOUS_TREE_0B68B6103 }} + action: "close" From caf3718b0e506fb1bcef9800d0a0dec42ad547e6 Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Tue, 12 Mar 2024 22:32:14 +0000 Subject: [PATCH 3/9] Change about page to coming soon --- .../Layout/MainLayout.razor | 2 +- .../src/BeauFindlay.Client/Pages/About.razor | 76 +++++++++++-------- .../BeauFindlay.Client/Pages/Contact.razor | 4 +- .../wwwroot/css/app.min.css | 4 + 4 files changed, 51 insertions(+), 35 deletions(-) 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..bd8e300 100644 --- a/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor +++ b/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor @@ -2,50 +2,61 @@ @inject IJSRuntime JSRuntime -@if (!hasPreviouslyRendered) +@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 +70,7 @@ else { await JSRuntime.InvokeVoidAsync("localStorage.setItem", ComponentKey, "true"); } - + if (previousValue != hasPreviouslyRendered) { StateHasChanged(); @@ -71,4 +82,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..c84376c 100644 --- a/BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor +++ b/BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor @@ -19,14 +19,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; } From 0db28162c5aaf2078ac1982d4534050ab4f2f64f Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Tue, 12 Mar 2024 22:42:19 +0000 Subject: [PATCH 4/9] Add cookie banner --- .../src/BeauFindlay.Client/wwwroot/index.html | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html b/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html index a53ac4e..5805ed4 100644 --- a/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html +++ b/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html @@ -5,7 +5,8 @@ - Beau Findlay + Beau + Findlay @@ -17,18 +18,24 @@ -
+

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

- + From 4a339e565dca6aec31f2ac6e379ae79143ec9910 Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Tue, 12 Mar 2024 22:44:39 +0000 Subject: [PATCH 5/9] Update cookie script placement --- BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html b/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html index 5805ed4..0612792 100644 --- a/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html +++ b/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html @@ -2,6 +2,9 @@ + @@ -33,9 +36,6 @@ async defer> - From ca3deb0b3ed43d58eaa4898a4988066cdbf47a37 Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Tue, 12 Mar 2024 22:50:53 +0000 Subject: [PATCH 6/9] Add page titles --- BeauFindlay/src/BeauFindlay.Client/Pages/About.razor | 2 ++ BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor | 2 ++ 2 files changed, 4 insertions(+) diff --git a/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor b/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor index bd8e300..c4a4bf8 100644 --- a/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor +++ b/BeauFindlay/src/BeauFindlay.Client/Pages/About.razor @@ -2,6 +2,8 @@ @inject IJSRuntime JSRuntime +About - Beau Findlay + @if (comingSoon) {
diff --git a/BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor b/BeauFindlay/src/BeauFindlay.Client/Pages/Contact.razor index c84376c..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

From 3696ef8073468413cb584ee4341b2bd4474ac4c9 Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Wed, 13 Mar 2024 07:56:30 +0000 Subject: [PATCH 7/9] Add favicons and manifest --- .../wwwroot/images/apple-touch-icon.png | Bin 0 -> 5562 bytes .../wwwroot/images/favicon-16x16.png | Bin 0 -> 423 bytes .../wwwroot/images/favicon-32x32.png | Bin 0 -> 862 bytes .../src/BeauFindlay.Client/wwwroot/index.html | 4 ++++ .../wwwroot/site.webmanifest | 19 ++++++++++++++++++ 5 files changed, 23 insertions(+) create mode 100644 BeauFindlay/src/BeauFindlay.Client/wwwroot/images/apple-touch-icon.png create mode 100644 BeauFindlay/src/BeauFindlay.Client/wwwroot/images/favicon-16x16.png create mode 100644 BeauFindlay/src/BeauFindlay.Client/wwwroot/images/favicon-32x32.png create mode 100644 BeauFindlay/src/BeauFindlay.Client/wwwroot/site.webmanifest 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 0000000000000000000000000000000000000000..c55fd27c901cd68baabb68911df5f89b18777800 GIT binary patch literal 5562 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 Rv%dfU002ovPDHLkV1hp>$XNgY literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..64fcf31329ca958f733996185cca0bbadec45ba7 GIT binary patch literal 862 zcmV-k1EKthP)Px&7)eAyR9HvtmP;snQ5?s=gYwF27#3!d$!jPfS&_2PWHH6YLfP1vMv2rE8d(Qox-}#=;?|aU@DgZwG zVN)pr6aoqXg+MR@VPRp2j*iCD)6=h9QL(YHcz%9{*Xs?)7jO}o&1UrU^gyLjAt@>8 zR|MSN-ooeep{uJ4!^6WuPC-CiTpVt0ZctxekC~Yne13j%aBFKTa&mI``Q_yWtE;P+ zo}QKywY9Y&H#b*EOmQtOEj$(;9uAYqgvrTCBqt~1;o(7!6$EHB8eCppLZ{Q={QO)F zT3%jegqxe2P^;BwYHC7%e?PjryE$fQX$g0CcUWIvm*>2_ygq5yHpVoF6bYD}oyEYw zfUux{$6zq9!1(xhfvzARA|ir4P*zsPyY(-DzX?l9O0c`Til)qwyfI>ha@aF`+0DGN<5VBeau Findlay + + + + Date: Wed, 13 Mar 2024 09:21:28 +0000 Subject: [PATCH 8/9] Add meta data --- .../wwwroot/images/beaufindlay-logo.png | Bin 0 -> 12665 bytes .../src/BeauFindlay.Client/wwwroot/index.html | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 BeauFindlay/src/BeauFindlay.Client/wwwroot/images/beaufindlay-logo.png 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 0000000000000000000000000000000000000000..d78b212959ba88386e315dfefafe956c9d568b0d GIT binary patch literal 12665 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 + + + + + + Beau Findlay From 36981ca41dc343792d7a43c1149e5efcc0f8be6e Mon Sep 17 00:00:00 2001 From: Beau Findlay Date: Wed, 13 Mar 2024 21:14:09 +0000 Subject: [PATCH 9/9] Add mail link to footer --- BeauFindlay/src/BeauFindlay.Client/Layout/Footer.razor | 6 +++++- BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) 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/wwwroot/index.html b/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html index 3a03cb6..874083d 100644 --- a/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html +++ b/BeauFindlay/src/BeauFindlay.Client/wwwroot/index.html @@ -14,8 +14,7 @@ - Beau - Findlay + Beau Findlay