From 508201e4afd03e0771de41914b189bb2e94118ba Mon Sep 17 00:00:00 2001 From: Matthew Parker Date: Mon, 12 Feb 2024 01:50:40 +0000 Subject: [PATCH 1/2] Caught up with layout and home page --- .../BlazorAutoNet8.Client.csproj | 4 ++ .../BlazorAutoNet8.Client/CodeExample.razor | 23 +++++++ .../InteractiveQRCode.razor | 30 ++++++++ .../BlazorAutoNet8.Client/Pages/Counter.razor | 27 -------- .../BlazorAutoNet8/Components/App.razor | 10 +++ .../Components/Layout/MainLayout.razor | 28 +++++++- .../Components/Layout/MainLayout.razor.css | 17 ++++- .../Components/Layout/NavMenu.razor | 10 +-- .../Components/Layout/NavMenu.razor.css | 8 +++ .../Components/Pages/Home.razor | 53 +++++++++++++-- .../Components/Pages/Weather.razor | 64 ------------------ src/BlazorAutoNet8/BlazorAutoNet8/Program.cs | 4 +- .../BlazorAutoNet8/wwwroot/app.css | 11 +++ .../BlazorAutoNet8/wwwroot/images/logo.png | Bin 0 -> 98058 bytes 14 files changed, 182 insertions(+), 107 deletions(-) create mode 100644 src/BlazorAutoNet8/BlazorAutoNet8.Client/CodeExample.razor create mode 100644 src/BlazorAutoNet8/BlazorAutoNet8.Client/InteractiveQRCode.razor delete mode 100644 src/BlazorAutoNet8/BlazorAutoNet8.Client/Pages/Counter.razor delete mode 100644 src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Weather.razor create mode 100644 src/BlazorAutoNet8/BlazorAutoNet8/wwwroot/images/logo.png diff --git a/src/BlazorAutoNet8/BlazorAutoNet8.Client/BlazorAutoNet8.Client.csproj b/src/BlazorAutoNet8/BlazorAutoNet8.Client/BlazorAutoNet8.Client.csproj index 82534a1..c3281fc 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8.Client/BlazorAutoNet8.Client.csproj +++ b/src/BlazorAutoNet8/BlazorAutoNet8.Client/BlazorAutoNet8.Client.csproj @@ -16,4 +16,8 @@ + + + + diff --git a/src/BlazorAutoNet8/BlazorAutoNet8.Client/CodeExample.razor b/src/BlazorAutoNet8/BlazorAutoNet8.Client/CodeExample.razor new file mode 100644 index 0000000..5026a30 --- /dev/null +++ b/src/BlazorAutoNet8/BlazorAutoNet8.Client/CodeExample.razor @@ -0,0 +1,23 @@ +@inject IJSRuntime JSRuntime +@rendermode RenderMode.InteractiveWebAssembly + +
+    
+        @Code
+    
+
+ +@code { + [Parameter, EditorRequired] public string Code { get; set; } = default!; + [Parameter] public string Language { get; set; } = "razor"; + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + await base.OnAfterRenderAsync(firstRender); + + if (firstRender) + { + await JSRuntime.InvokeVoidAsync("Prism.highlightAll"); + } + } +} \ No newline at end of file diff --git a/src/BlazorAutoNet8/BlazorAutoNet8.Client/InteractiveQRCode.razor b/src/BlazorAutoNet8/BlazorAutoNet8.Client/InteractiveQRCode.razor new file mode 100644 index 0000000..9f8e5f2 --- /dev/null +++ b/src/BlazorAutoNet8/BlazorAutoNet8.Client/InteractiveQRCode.razor @@ -0,0 +1,30 @@ +@rendermode RenderMode.InteractiveWebAssembly + + + + + + Change! + + + + +@code { + string Data { get; set; } = ""This is a QR code of size 150px by 150px""; + + void ChangeData() + { + Data = Guid.NewGuid().ToString(); + } +}")" /> + +@code { + string Data { get; set; } = "This is a QR code of size 150px by 150px"; + + void ChangeData() + { + Data = Guid.NewGuid().ToString(); + } +} diff --git a/src/BlazorAutoNet8/BlazorAutoNet8.Client/Pages/Counter.razor b/src/BlazorAutoNet8/BlazorAutoNet8.Client/Pages/Counter.razor deleted file mode 100644 index a07e647..0000000 --- a/src/BlazorAutoNet8/BlazorAutoNet8.Client/Pages/Counter.razor +++ /dev/null @@ -1,27 +0,0 @@ -@page "/counter" -@rendermode InteractiveAuto - -Counter - - - - - - - - - - - - - -@code { - string Data { get; set; } = "This is an image, with target size of 256"; - - void ChangeData() - { - Data = Guid.NewGuid().ToString(); - } -} \ No newline at end of file diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Components/App.razor b/src/BlazorAutoNet8/BlazorAutoNet8/Components/App.razor index 173a6b8..54eba68 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Components/App.razor +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Components/App.razor @@ -9,12 +9,22 @@ + + + + + + + + + + diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/MainLayout.razor b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/MainLayout.razor index 5a24bb1..dcec93f 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/MainLayout.razor +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/MainLayout.razor @@ -7,9 +7,35 @@
- About +

+ .Net 8.0 Static SSR & WASM +

+
@Body
diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/MainLayout.razor.css b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/MainLayout.razor.css index 038baf1..c5fa8be 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/MainLayout.razor.css +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/MainLayout.razor.css @@ -15,7 +15,7 @@ main { .top-row { background-color: #f7f7f7; border-bottom: 1px solid #d6d5d5; - justify-content: flex-end; + justify-content: flex-start; height: 3.5rem; display: flex; align-items: center; @@ -94,3 +94,18 @@ main { right: 0.75rem; top: 0.5rem; } + + +.badge-row { + position: sticky; + top: 3.5rem; + z-index: 1; + padding: 1rem 1.5rem; + background: rgb(247, 247, 247); + background: linear-gradient(0deg, rgba(247, 247, 247, 1) 0%, rgba(224, 224, 224, 1) 100%); + border-bottom: 1px solid #d6d5d5; + display: flex; + flex-wrap: wrap; + gap: 0.25rem; + row-gap: 0.5rem; +} \ No newline at end of file diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/NavMenu.razor b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/NavMenu.razor index dd8c3be..399de77 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/NavMenu.razor +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/NavMenu.razor @@ -1,6 +1,6 @@  @@ -15,14 +15,14 @@ diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/NavMenu.razor.css b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/NavMenu.razor.css index 4e15395..f7f1231 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/NavMenu.razor.css +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Layout/NavMenu.razor.css @@ -46,6 +46,14 @@ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E"); } +.bi-sliders { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M9.05 3a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0V3zM4.5 7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M2.05 8a2.5 2.5 0 0 1 4.9 0H16v1H6.95a2.5 2.5 0 0 1-4.9 0H0V8zm9.45 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m-2.45 1a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0v-1z'/%3E%3C/svg%3E"); +} + +.bi-file-text-fill { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M5 4h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1m-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5M5 8h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1m0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1'/%3E%3C/svg%3E"); +} + .nav-item { font-size: 0.9rem; padding-bottom: 0.5rem; diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Home.razor b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Home.razor index e0809ae..78192c1 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Home.razor +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Home.razor @@ -1,13 +1,52 @@ @page "/" -Home +PinguApps.Blazor.QRCode - +
+

+ 150px, encoded "Hello World!" +

- + - + ")" /> +
-@code { - string Data { get; set; } = "This is a QR code of size 150px by 150px"; -} \ No newline at end of file +
+

+ QR Code with image +

+ + + + ")" /> +
+ +
+

+ 150px, Hooked up to change button (will change the data to a new Guid each time) +

+

+ This is the only example on this page requiring WASM rendering, otherwise the change button would do nothing. the others all render using static SSR. +

+ + +
+ +
+

+ 250px, red and aqua, 4 padding cells +

+ + + ")" /> +
+ +
+

+ 250px, lots of encoded data +

+ + + ")" /> +
\ No newline at end of file diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Weather.razor b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Weather.razor deleted file mode 100644 index 43a1ecb..0000000 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Weather.razor +++ /dev/null @@ -1,64 +0,0 @@ -@page "/weather" -@attribute [StreamRendering] - -Weather - -

Weather

- -

This component demonstrates showing data.

- -@if (forecasts == null) -{ -

Loading...

-} -else -{ - - - - - - - - - - - @foreach (var forecast in forecasts) - { - - - - - - - } - -
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
-} - -@code { - private WeatherForecast[]? forecasts; - - protected override async Task OnInitializedAsync() - { - // Simulate asynchronous loading to demonstrate streaming rendering - await Task.Delay(500); - - var startDate = DateOnly.FromDateTime(DateTime.Now); - var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; - forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - Date = startDate.AddDays(index), - TemperatureC = Random.Shared.Next(-20, 55), - Summary = summaries[Random.Shared.Next(summaries.Length)] - }).ToArray(); - } - - private class WeatherForecast - { - public DateOnly Date { get; set; } - public int TemperatureC { get; set; } - public string? Summary { get; set; } - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - } -} diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Program.cs b/src/BlazorAutoNet8/BlazorAutoNet8/Program.cs index ebeaea9..b7e1ce5 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Program.cs +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Program.cs @@ -1,4 +1,4 @@ -using BlazorAutoNet8.Client.Pages; +//using BlazorAutoNet8.Client.Pages; using BlazorAutoNet8.Components; var builder = WebApplication.CreateBuilder(args); @@ -30,6 +30,6 @@ app.MapRazorComponents() .AddInteractiveServerRenderMode() .AddInteractiveWebAssemblyRenderMode() - .AddAdditionalAssemblies(typeof(Counter).Assembly); + ;//.AddAdditionalAssemblies(typeof(Counter).Assembly); app.Run(); diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/wwwroot/app.css b/src/BlazorAutoNet8/BlazorAutoNet8/wwwroot/app.css index 2bd9b78..2118748 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/wwwroot/app.css +++ b/src/BlazorAutoNet8/BlazorAutoNet8/wwwroot/app.css @@ -49,3 +49,14 @@ h1:focus { .darker-border-checkbox.form-check-input { border-color: #929292; } + +pre[class*="language-" ], +code[class*="language-"] { + white-space: pre-wrap !important; + overflow: auto !important; + word-break: break-word !important; +} + +.code-toolbar { + z-index: 0 !important; +} \ No newline at end of file diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/wwwroot/images/logo.png b/src/BlazorAutoNet8/BlazorAutoNet8/wwwroot/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5231665b957a82fdc99845d9761cc0c58cac3fec GIT binary patch literal 98058 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 IDt2-I2P#b)(*OVf literal 0 HcmV?d00001 From e32daf05876ea08cb58c7ba1ab14a3c1b14798d2 Mon Sep 17 00:00:00 2001 From: Matthew Parker Date: Mon, 12 Feb 2024 01:58:03 +0000 Subject: [PATCH 2/2] Added playground and docs pages --- .../BlazorAutoNet8.Client.csproj | 4 - .../Pages/Playground.razor | 123 ++++++++ .../Components/Pages/Docs.razor | 285 ++++++++++++++++++ src/BlazorAutoNet8/BlazorAutoNet8/Program.cs | 4 +- 4 files changed, 410 insertions(+), 6 deletions(-) create mode 100644 src/BlazorAutoNet8/BlazorAutoNet8.Client/Pages/Playground.razor create mode 100644 src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Docs.razor diff --git a/src/BlazorAutoNet8/BlazorAutoNet8.Client/BlazorAutoNet8.Client.csproj b/src/BlazorAutoNet8/BlazorAutoNet8.Client/BlazorAutoNet8.Client.csproj index c3281fc..82534a1 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8.Client/BlazorAutoNet8.Client.csproj +++ b/src/BlazorAutoNet8/BlazorAutoNet8.Client/BlazorAutoNet8.Client.csproj @@ -16,8 +16,4 @@ - - - - diff --git a/src/BlazorAutoNet8/BlazorAutoNet8.Client/Pages/Playground.razor b/src/BlazorAutoNet8/BlazorAutoNet8.Client/Pages/Playground.razor new file mode 100644 index 0000000..90d0c40 --- /dev/null +++ b/src/BlazorAutoNet8/BlazorAutoNet8.Client/Pages/Playground.razor @@ -0,0 +1,123 @@ +@page "/playground" +@rendermode RenderMode.InteractiveWebAssembly + +Playground | PinguApps.Blazor.QRCode + +

Playground

+ +

+ Changing the QR code requires an interactive rendering mode, and so this page is rendered using WASM. +

+ +
+ + + +
+
+
+ + +
+
+ + @foreach (var ecValue in Enum.GetValues(typeof(ErrorCorrection))) + { +
+ + +
+ } +
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ +
+ +@code { + Settings SettingsModel { get; set; } = new(); + + string Data { get; set; } = default!; + ErrorCorrection ErrorCorrection { get; set; } + string? Image { get; set; } + string Size { get; set; } = default!; + int PaddingCells { get; set; } + string ForeColor { get; set; } = default!; + string BackColor { get; set; } = default!; + string AriaDescription { get; set; } = default!; + string? Class { get; set; } + string? Id { get; set; } + + protected override void OnInitialized() + { + base.OnInitialized(); + + UpdateQRCode(); + } + + void UpdateQRCode() + { + Data = SettingsModel.Data; + ErrorCorrection = SettingsModel.ErrorCorrection; + Image = SettingsModel.Image; + Size = SettingsModel.Size; + PaddingCells = SettingsModel.PaddingCells; + ForeColor = SettingsModel.ForeColor; + BackColor = SettingsModel.BackColor; + AriaDescription = SettingsModel.AriaDescription; + Class = SettingsModel.Class; + Id = SettingsModel.Id; + } + + public class Settings + { + public string Data { get; set; } = "Welcome to the playground, where you are able to customise the QR code generated on this page to test the true capabilities of the library."; + public ErrorCorrection ErrorCorrection { get; set; } = ErrorCorrection.Quartile; + public string? Image { get; set; } + public string Size { get; set; } = "200px"; + public int PaddingCells { get; set; } = 1; + public string ForeColor { get; set; } = "#000000"; + public string BackColor { get; set; } = "#ffffff"; + public string AriaDescription { get; set; } = "QR Code"; + public string? Class { get; set; } + public string? Id { get; set; } + } +} \ No newline at end of file diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Docs.razor b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Docs.razor new file mode 100644 index 0000000..a4091d7 --- /dev/null +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Components/Pages/Docs.razor @@ -0,0 +1,285 @@ +@page "/docs" + +Docs | PinguApps.Blazor.QRCode + +

Docs

+ +

+ A Blazor component for generating QR codes. This component encodes specified data into a QR code image, which can be customized in terms of size, colors, and error correction level. The QR code is generated as an SVG for optimal scalability and clarity. +

+ +

+ 📃 Contents +

+ +
+ +

+ ✅ Features +

+ +
    +
  • JavaScript-Free: No dependency on JavaScript, ensuring full functionality even in environments where JavaScript is disabled or not supported.
  • +
  • Static SSR & Prerendering Compatibility: Seamlessly works with static SSR (Server-Side Rendering) and prerendering scenarios, making it suitable for the static SSR pages of the new .NET Identity template as a 2FA QR code generator.
  • +
  • Option to add logo or image: Allows the ability to add your own image to the center of the QR Code. If using this then favour selecting higher error correction values.
  • +
  • Adjustable Error Correction: Allows setting the error correction level (Low, Medium, Quartile, High) to make the QR code decodable even when partially damaged or obscured.
  • +
  • Dynamic Data Encoding: Capable of encoding provided string data into the QR code, facilitating versatile usage scenarios.
  • +
  • Customizable Size: Supports setting the width and height of the generated SVG QR code, with a default of "100%" for flexible integration into various UI designs.
  • +
  • Configurable Padding: Allows specifying the number of empty cells as padding around the QR code to adjust its appearance, with a default setting of 1.
  • +
  • Foreground and Background Color Customization: Offers options to set the foreground and background colors of the QR code, defaulting to black (#000000) and white (#ffffff), respectively.
  • +
  • Accessibility Support: Enhances usability for screen reader users with an accessible description for the QR code, which is used as the aria-label attribute value of the SVG element.
  • +
  • Styling Options: Supports optional CSS class and ID attributes for the QR code, enabling further customization and styling flexibility.
  • +
+ +

+ 🔧 Installation +

+ +

+ To install the package, you can either install with the following command: Install-Package PinguApps.Blazor.QRCode Or you can search in the Nuget package manager for PinguApps.Blazor.QRCode. +

+ +

+ 🚀 Usage +

+ +

+ Once the package is installed, you will want to add the following statement to your _Imports.razor: +

+ + + +

+ Now you can simply use the component: +

+ +")" /> + +

+ 🟣 Parameters +

+ +

+ Data +

+

+ The data to be encoded into the QR code. +

+ + + + + + + + + + + + + + + +
TypeRequired?Default Value
Stringstring.Empty
+ +

+ ErrorCorrection +

+

+ Sets the error correction level for the QR code, which enables it to be decoded even if partially damaged or obscured. +

+ + + + + + + + + + + + + + + + + +
TypeRequired?Default ValuePossible Values
ErrorCorrectionErrorCorrection.Low + ErrorCorrection.Low
+ ErrorCorrection.Medium
+ ErrorCorrection.Quartile
+ ErrorCorrection.High
+
+ +

+ Size +

+

+ Sets the width and height of the generated SVG. +

+ + + + + + + + + + + + + + + + + +
TypeRequired?Default ValuePossible Values
String100%Any valid html size for width & height
+ +

+ PaddingCells +

+

+ The number of empty cells as padding around the QR code. +

+ + + + + + + + + + + + + + + +
TypeRequired?Default Value
Int1
+ +

+ ForeColor +

+

+ Sets the foreground color of the QR code. +

+ + + + + + + + + + + + + + + + + +
TypeRequired?Default ValuePossible Values
String#000000Any valid html color
+ +

+ BackColor +

+

+ Sets the background color of the QR code. +

+ + + + + + + + + + + + + + + + + +
TypeRequired?Default ValuePossible Values
String#ffffffAny valid html color
+ +

+ AriaDescription +

+

+ Provides an accessible description for the QR code, enhancing usability for screen reader users. This description is used as the aria-label attribute value of the QR code's SVG element, offering context or details about the QR code's content or purpose. +

+ + + + + + + + + + + + + + + +
TypeRequired?Default Value
StringQR Code
+ +

+ Class +

+

+ Optional CSS class to be applied to the QR code. +

+ + + + + + + + + + + + + + + +
TypeRequired?Default Value
String?null
+ +

+ Id +

+

+ Optional ID to be applied to the QR code. +

+ + + + + + + + + + + + + + + +
TypeRequired?Default Value
String?null
\ No newline at end of file diff --git a/src/BlazorAutoNet8/BlazorAutoNet8/Program.cs b/src/BlazorAutoNet8/BlazorAutoNet8/Program.cs index b7e1ce5..9965a56 100644 --- a/src/BlazorAutoNet8/BlazorAutoNet8/Program.cs +++ b/src/BlazorAutoNet8/BlazorAutoNet8/Program.cs @@ -1,4 +1,4 @@ -//using BlazorAutoNet8.Client.Pages; +using BlazorAutoNet8.Client.Pages; using BlazorAutoNet8.Components; var builder = WebApplication.CreateBuilder(args); @@ -30,6 +30,6 @@ app.MapRazorComponents() .AddInteractiveServerRenderMode() .AddInteractiveWebAssemblyRenderMode() - ;//.AddAdditionalAssemblies(typeof(Counter).Assembly); + .AddAdditionalAssemblies(typeof(Playground).Assembly); app.Run();