From bc16acef20b210d67dff4ab5204636843ae98215 Mon Sep 17 00:00:00 2001 From: msynk Date: Tue, 2 Jun 2026 18:57:54 +0330 Subject: [PATCH 1/5] add prerender support to Brouter --- .../BitScrollablePaneJsRuntimeExtensions.cs | 4 +- .../JsInterop/UtilsJsRuntimeExtensions.cs | 23 +++++--- src/Brouter/Bit.Brouter.NewDemo.slnf | 10 ++++ src/Brouter/Bit.Brouter.slnx | 3 + src/Brouter/Bit.Brouter/Brouter.cs | 59 ++++++++++++++++--- .../Bit.Brouter.NewDemo.Server.csproj | 15 +++++ .../Components/App.razor | 19 ++++++ .../Components/BlazorRoutes.razor | 14 +++++ .../Components/Pages/Error.razor | 27 +++++++++ .../Components/Pages/Host.razor | 20 +++++++ .../Components/_Imports.razor | 15 +++++ .../Bit.Brouter.NewDemo.Server/Program.cs | 38 ++++++++++++ .../Properties/launchSettings.json | 13 ++++ .../appsettings.json | 9 +++ src/Brouter/NewDemo/README.md | 51 ++++++++++++++++ 15 files changed, 301 insertions(+), 19 deletions(-) create mode 100644 src/Brouter/Bit.Brouter.NewDemo.slnf create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json create mode 100644 src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json create mode 100644 src/Brouter/NewDemo/README.md diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Surfaces/ScrollablePane/BitScrollablePaneJsRuntimeExtensions.cs b/src/BlazorUI/Bit.BlazorUI/Components/Surfaces/ScrollablePane/BitScrollablePaneJsRuntimeExtensions.cs index 33ccad3735..6e2b15a659 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Surfaces/ScrollablePane/BitScrollablePaneJsRuntimeExtensions.cs +++ b/src/BlazorUI/Bit.BlazorUI/Components/Surfaces/ScrollablePane/BitScrollablePaneJsRuntimeExtensions.cs @@ -2,8 +2,10 @@ internal static class BitScrollablePaneJsRuntimeExtensions { + // ScrollablePane.scrollToEnd is a synchronous, null-guarded DOM call (see BitScrollablePane.ts), + // so it is safe to run through FastInvokeVoid (synchronous on in-process runtimes, async fallback otherwise). internal static ValueTask BitScrollablePaneScrollToEnd(this IJSRuntime jsRuntime, ElementReference element) { - return jsRuntime.InvokeVoid("BitBlazorUI.ScrollablePane.scrollToEnd", element); + return jsRuntime.FastInvokeVoid("BitBlazorUI.ScrollablePane.scrollToEnd", element); } } diff --git a/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs b/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs index b57f48cdf7..f10ce70734 100644 --- a/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs +++ b/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs @@ -1,56 +1,61 @@ namespace Bit.BlazorUI; +// The Utils JS functions are pure, synchronous DOM operations and every one of them +// internally null-guards its target element (see Scripts/Utils.ts). That makes them safe +// to run through FastInvoke/FastInvokeVoid: on an in-process runtime (Blazor WASM/Hybrid) +// they execute synchronously without the async interop round-trip, and on other runtimes +// (Blazor Server/prerender) FastInvoke transparently falls back to the async path. internal static class UtilsJsRuntimeExtensions { internal static ValueTask BitUtilsGetBodyWidth(this IJSRuntime jsRuntime) { - return jsRuntime.Invoke("BitBlazorUI.Utils.getBodyWidth"); + return jsRuntime.FastInvoke("BitBlazorUI.Utils.getBodyWidth"); } internal static ValueTask BitUtilsSetProperty(this IJSRuntime jsRuntime, ElementReference element, string property, object? value) { - return jsRuntime.InvokeVoid("BitBlazorUI.Utils.setProperty", element, property, value); + return jsRuntime.FastInvokeVoid("BitBlazorUI.Utils.setProperty", element, property, value); } internal static ValueTask BitUtilsGetProperty(this IJSRuntime jsRuntime, ElementReference element, string property) { - return jsRuntime.Invoke("BitBlazorUI.Utils.getProperty", element, property); + return jsRuntime.FastInvoke("BitBlazorUI.Utils.getProperty", element, property); } internal static ValueTask BitUtilsGetBoundingClientRect(this IJSRuntime jsRuntime, ElementReference element) { - return jsRuntime.Invoke("BitBlazorUI.Utils.getBoundingClientRect", element); + return jsRuntime.FastInvoke("BitBlazorUI.Utils.getBoundingClientRect", element); } internal static ValueTask BitUtilsScrollElementIntoView(this IJSRuntime jsRuntime, string targetElementId) { - return jsRuntime.InvokeVoid("BitBlazorUI.Utils.scrollElementIntoView", targetElementId); + return jsRuntime.FastInvokeVoid("BitBlazorUI.Utils.scrollElementIntoView", targetElementId); } internal static ValueTask BitUtilsSelectText(this IJSRuntime jsRuntime, ElementReference element) { - return jsRuntime.InvokeVoid("BitBlazorUI.Utils.selectText", element); + return jsRuntime.FastInvokeVoid("BitBlazorUI.Utils.selectText", element); } internal static ValueTask BitUtilsSetStyle(this IJSRuntime jsRuntime, ElementReference element, string key, string value) { - return jsRuntime.InvokeVoid("BitBlazorUI.Utils.setStyle", element, key, value); + return jsRuntime.FastInvokeVoid("BitBlazorUI.Utils.setStyle", element, key, value); } internal static ValueTask BitUtilsToggleOverflow(this IJSRuntime jsRuntime, string scrollerSelector, bool isHidden) { - return jsRuntime.Invoke("BitBlazorUI.Utils.toggleOverflow", scrollerSelector, isHidden); + return jsRuntime.FastInvoke("BitBlazorUI.Utils.toggleOverflow", scrollerSelector, isHidden); } internal static ValueTask BitUtilsToggleOverflow(this IJSRuntime jsRuntime, ElementReference scrollerElement, bool isHidden) { - return jsRuntime.Invoke("BitBlazorUI.Utils.toggleOverflow", scrollerElement, isHidden); + return jsRuntime.FastInvoke("BitBlazorUI.Utils.toggleOverflow", scrollerElement, isHidden); } } diff --git a/src/Brouter/Bit.Brouter.NewDemo.slnf b/src/Brouter/Bit.Brouter.NewDemo.slnf new file mode 100644 index 0000000000..c8c38ffa4f --- /dev/null +++ b/src/Brouter/Bit.Brouter.NewDemo.slnf @@ -0,0 +1,10 @@ +{ + "solution": { + "path": "Bit.Brouter.slnx", + "projects": [ + "Bit.Brouter\\Bit.Brouter.csproj", + "Demo\\Bit.Brouter.Demo.Core\\Bit.Brouter.Demo.Core.csproj", + "NewDemo\\Bit.Brouter.NewDemo.Server\\Bit.Brouter.NewDemo.Server.csproj" + ] + } +} diff --git a/src/Brouter/Bit.Brouter.slnx b/src/Brouter/Bit.Brouter.slnx index d8cf2e4f43..8a2882ab03 100644 --- a/src/Brouter/Bit.Brouter.slnx +++ b/src/Brouter/Bit.Brouter.slnx @@ -13,6 +13,9 @@ + + + diff --git a/src/Brouter/Bit.Brouter/Brouter.cs b/src/Brouter/Bit.Brouter/Brouter.cs index 40f9c474ac..aec85fcffb 100644 --- a/src/Brouter/Bit.Brouter/Brouter.cs +++ b/src/Brouter/Bit.Brouter/Brouter.cs @@ -118,18 +118,45 @@ protected override void OnInitialized() CurrentLocation = ComputeLocation(); } + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + + // Yield once so ComponentBase performs the initial synchronous render of our + // ChildContent. That first render is what causes the declared children to + // register themselves with us (each one calls RegisterRoute from its own OnInitialized). + // Until they've registered there is nothing to match against, which is why the initial + // match cannot run any earlier than this. + // + // Doing the initial match here - rather than in OnAfterRenderAsync - is what enables + // static server prerendering. OnAfterRenderAsync never runs during prerender, so the old + // placement left the prerendered HTML empty (no route was ever matched server-side). + // OnInitializedAsync, by contrast, runs during prerender and the renderer awaits it - and + // the StateHasChanged it triggers - before serializing the HTML, so the matched route is + // included in the prerendered output. When the component later becomes interactive its + // lifecycle runs again and the match re-runs naturally. + await Task.Yield(); + + // Initial render: the From is Empty (we just mounted), the To is the URL we're at now. + await ProcessNavigationAsync(BrouterLocation.Empty, CurrentLocation); + } + protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender is false) return; - // Enabling navigation interception is best-effort: under prerender, on a disconnected - // circuit, or on an interop failure it can throw, but the navigation pipeline itself - // (and any subsequent reconnects / interactivity handoff) does not depend on it - // succeeding right now. Mirror the defensive style used in BrouterLink and - // BrouterService.BackAsync so a transient failure here can't kill the whole first - // navigation. Once the circuit/runtime is fully ready, Blazor will retry interception + // Enabling navigation interception genuinely requires an interactive runtime, so it stays + // in OnAfterRenderAsync, which only runs once interactivity is established. Under prerender + // this method doesn't run at all - that's fine: the initial match already happened in + // OnInitializedAsync, and interception is enabled here once the component goes interactive. + // + // Enabling navigation interception is best-effort: on a disconnected circuit or an interop + // failure it can throw, but the navigation pipeline itself (and any subsequent reconnects / + // interactivity handoff) does not depend on it succeeding right now. Mirror the defensive + // style used in BrouterLink and BrouterService.BackAsync so a transient failure here can't + // kill navigation. Once the circuit/runtime is fully ready, Blazor will retry interception // attachment naturally on the next user click via NavigationManager fallback paths. try { @@ -139,9 +166,6 @@ protected override async Task OnAfterRenderAsync(bool firstRender) catch (JSException) { /* JS interop failure; non-fatal */ } catch (InvalidOperationException) { /* interop unavailable during prerender */ } catch (TaskCanceledException) { /* component disposed mid-call */ } - - // Initial render: the From is Empty (we just mounted), the To is the URL we're at now. - await ProcessNavigationAsync(BrouterLocation.Empty, CurrentLocation); } protected override void BuildRenderTree(RenderTreeBuilder builder) @@ -551,6 +575,16 @@ private async ValueTask ProcessNavigationAsync(BrouterLocation from, BrouterLoca { return; } + catch (NavigationException) + { + // During static server rendering / prerender, NavigationManager.NavigateTo + // throws NavigationException as the framework's redirect signal (a loader may + // redirect, e.g. an auth gate). It must unwind out of OnInitializedAsync so the + // endpoint can issue the HTTP redirect; swallowing it into OnError would drop + // the redirect entirely. Interactive NavigateTo never throws, so this is inert + // outside SSR. + throw; + } catch (Exception ex) { await service.InvokeOnError(ctx, ex); @@ -583,6 +617,13 @@ private async ValueTask ProcessNavigationAsync(BrouterLocation from, BrouterLoca { // navigation was superseded; nothing to do } + catch (NavigationException) + { + // SSR/prerender redirect signal (see the loader catch above). Let it propagate out of + // OnInitializedAsync so the framework can turn it into an HTTP redirect. A guard or + // OnNavigating handler that redirects via NavigationManager during prerender lands here. + throw; + } catch (Exception ex) { await service.InvokeOnError(ctx, ex); diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj new file mode 100644 index 0000000000..d888687061 --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj @@ -0,0 +1,15 @@ + + + + net10.0 + enable + enable + + + + + + + + diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor new file mode 100644 index 0000000000..b9cf35a952 --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor @@ -0,0 +1,19 @@ + + + + + + + + Bit.Brouter - Prerendering demo + + + + + + + + + + + diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor new file mode 100644 index 0000000000..f9267b835a --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor @@ -0,0 +1,14 @@ +@* + Standard Blazor router. Its only job here is endpoint routing: it funnels every request to + the single catch-all Host page (see Host.razor). The actual route matching is done by + Bit.Brouter inside that page's . DefaultLayout points at the shared MainLayout + from the Core project so every demo head looks identical. + + Named BlazorRoutes (not Routes) to avoid colliding with Bit.Brouter.Demo.Core.Routes, which + is in scope via _Imports. +*@ + + + + + diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor new file mode 100644 index 0000000000..cbb9103a44 --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor @@ -0,0 +1,27 @@ +@page "/Error" +@using System.Diagnostics + +@* Static (non-interactive) error page used by app.UseExceptionHandler("/Error") in production. + A literal "/Error" route is more specific than Host.razor's catch-all, so the Blazor router + prefers this page when the exception handler re-executes the request. *@ + +
+

Error

+

An error occurred while processing your request.

+ + @if (string.IsNullOrEmpty(RequestId) is false) + { +

Request ID: @RequestId

+ } + + Back to home +
+ +@code { + [CascadingParameter] private HttpContext? HttpContext { get; set; } + + private string? RequestId { get; set; } + + protected override void OnInitialized() => + RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; +} diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor new file mode 100644 index 0000000000..c31c973411 --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor @@ -0,0 +1,20 @@ +@* + Catch-all host page. The Blazor router maps EVERY url to this single page; from here on + Bit.Brouter's takes over and matches the real route. The catch-all template is + what lets deep links (e.g. /counter/1234, /profile/saleh) be requested directly and still be + prerendered server-side - Brouter now matches them during OnInitializedAsync, so the matched + page's HTML is in the initial response. + + MainLayout is supplied by the Blazor router (Routes.razor -> RouteView DefaultLayout), so we + only render AppRouter here and do not wrap it in a layout again. +*@ +@page "/" +@page "/{*path}" + + + +@code { + // Captured but unused: Brouter reads the live URL from NavigationManager itself. The + // parameter only exists so the catch-all route template is satisfied for arbitrary depths. + [Parameter] public string? Path { get; set; } +} diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor new file mode 100644 index 0000000000..02b4d4c413 --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor @@ -0,0 +1,15 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Bit.Brouter +@using Bit.Brouter.Demo.Core +@using Bit.Brouter.Demo.Core.Pages +@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.NewDemo.Server +@using Bit.Brouter.NewDemo.Server.Components +@using Bit.Brouter.NewDemo.Server.Components.Pages diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs new file mode 100644 index 0000000000..187aa2abc6 --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs @@ -0,0 +1,38 @@ +using Bit.Brouter.NewDemo.Server.Components; + +var builder = WebApplication.CreateBuilder(args); + +// Blazor Web App with interactive server components. Prerendering is on by default for the +// InteractiveServer render mode, which is exactly what this demo is meant to showcase: the +// Brouter now matches the current URL during the server prerender pass (in OnInitializedAsync) +// instead of waiting for OnAfterRenderAsync, so the matched route's markup is present in the +// initial HTML response before the SignalR circuit connects. +builder.Services.AddRazorComponents() + .AddInteractiveServerComponents(); + +// Registers IBrouter / BrouterService and the Brouter options (via the shared Core extension). +builder.Services.AddCoreServices(); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment() is false) +{ + app.UseExceptionHandler("/Error", createScopeForErrors: true); + app.UseHsts(); +} + +app.UseHttpsRedirection(); + +app.UseAntiforgery(); + +// Registers the framework + project static web assets (blazor.web.js, _content/* css, etc.) as +// ENDPOINTS. This is essential here: Host.razor uses a catch-all "/{*path}" page route so Brouter +// can match any URL, and a catch-all endpoint would otherwise swallow requests for +// /_framework/blazor.web.js (returning HTML instead of JS, which kills hydration). MapStaticAssets +// gives those assets dedicated, higher-precedence endpoints so they win over the catch-all. +app.MapStaticAssets(); + +app.MapRazorComponents() + .AddInteractiveServerRenderMode(); + +app.Run(); diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json new file mode 100644 index 0000000000..7a5bda1bfc --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json @@ -0,0 +1,13 @@ +{ + "profiles": { + "Bit.Brouter.NewDemo.Server": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7180;http://localhost:5180", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json new file mode 100644 index 0000000000..10f68b8c8b --- /dev/null +++ b/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/src/Brouter/NewDemo/README.md b/src/Brouter/NewDemo/README.md new file mode 100644 index 0000000000..97bac619a7 --- /dev/null +++ b/src/Brouter/NewDemo/README.md @@ -0,0 +1,51 @@ +# Bit.Brouter NewDemo + +A Blazor Web App (interactive server render mode) that showcases **server pre-rendering** with +Bit.Brouter. + +## Why this demo exists + +The original demo heads (`Demo/Bit.Brouter.Demo.Web` and `...Maui`) run Brouter in a client-only +runtime (WebAssembly / BlazorWebView), where pre-rendering doesn't apply. This project hosts the +exact same routes - it references `Demo/Bit.Brouter.Demo.Core` - inside an ASP.NET Core server with +the `InteractiveServer` render mode, which pre-renders on the server by default. + +## What it proves + +`Brouter` runs its initial route match in `OnInitializedAsync` (not `OnAfterRenderAsync`). Because +the Blazor server awaits `OnInitializedAsync` during the pre-render pass, the matched route's markup +is part of the initial HTML response - before the SignalR circuit connects and before any JS runs. + +You can confirm this without a browser: + +```pwsh +# Run the server +dotnet run --project NewDemo/Bit.Brouter.NewDemo.Server + +# In another shell, request a deep link and inspect the RAW html (no JS executed). +# The matched page's content appears INSIDE the markers. +curl http://localhost:5180/counter/1234 +curl http://localhost:5180/profile/saleh +``` + +For `/counter/1234` the pre-rendered HTML already contains the counter heading, the bound +`init=1234` route parameter, and the `Counter` nav link marked `aria-current="page"`. + +## How it's wired + +- `Components/App.razor` - the host document. Loads the shared `app.css` from the Core project and + renders `BlazorRoutes` + `HeadOutlet` with `@rendermode="InteractiveServer"`. +- `Components/BlazorRoutes.razor` - the standard Blazor `Router`. Its only job is endpoint routing: + it funnels every request to the catch-all host page. (Named `BlazorRoutes` to avoid colliding with + `Bit.Brouter.Demo.Core.Routes`.) +- `Components/Pages/Host.razor` - a catch-all (`/{*path}`) page that renders the Core project's + `AppRouter` (which contains the ``). Brouter does the real route matching from here. +- `Program.cs` - standard Blazor Web App startup; `AddCoreServices()` registers `IBrouter`. + +## Run + +```pwsh +dotnet run --project NewDemo/Bit.Brouter.NewDemo.Server +``` + +Then browse to (or the HTTPS URL from `launchSettings.json`). From 7d723cb974e0dc0fd204767b080c1a9d81aea425 Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Tue, 2 Jun 2026 22:27:38 +0330 Subject: [PATCH 2/5] add new demos --- src/Brouter/Bit.Brouter.Demos.slnf | 14 ++++++++ src/Brouter/Bit.Brouter.slnx | 13 ++++++++ .../Bit.Brouter.Demos.Auto.Client.csproj | 17 ++++++++++ .../Components/BlazorRoutes.razor | 9 +++++ .../Components/Pages/Host.razor | 8 +++++ .../Components/_Imports.razor | 14 ++++++++ .../Bit.Brouter.Demos.Auto.Client/Program.cs | 7 ++++ .../_Imports.razor | 12 +++++++ .../Bit.Brouter.Demos.Auto.csproj | 16 +++++++++ .../Components/App.razor | 19 +++++++++++ .../Components/Pages/Error.razor | 23 +++++++++++++ .../Components/_Imports.razor | 13 ++++++++ .../Auto/Bit.Brouter.Demos.Auto/Program.cs | 33 +++++++++++++++++++ .../Properties/launchSettings.json | 14 ++++++++ .../Bit.Brouter.Demos.Auto/appsettings.json | 9 +++++ src/Brouter/Demos/README.md | 29 ++++++++++++++++ .../Bit.Brouter.Demos.Server.csproj | 14 ++++++++ .../Components/App.razor | 19 +++++++++++ .../Components/BlazorRoutes.razor | 14 ++++++++ .../Components/Pages/Error.razor | 23 +++++++++++++ .../Components/Pages/Host.razor | 13 ++++++++ .../Components/_Imports.razor | 15 +++++++++ .../Bit.Brouter.Demos.Server/Program.cs | 26 +++++++++++++++ .../Properties/launchSettings.json | 13 ++++++++ .../Bit.Brouter.Demos.Server/appsettings.json | 9 +++++ .../Bit.Brouter.Demos.Wasm.Client.csproj | 17 ++++++++++ .../Components/BlazorRoutes.razor | 12 +++++++ .../Components/Pages/Host.razor | 8 +++++ .../Components/_Imports.razor | 14 ++++++++ .../Bit.Brouter.Demos.Wasm.Client/Program.cs | 7 ++++ .../_Imports.razor | 12 +++++++ .../Bit.Brouter.Demos.Wasm.csproj | 16 +++++++++ .../Components/App.razor | 19 +++++++++++ .../Components/Pages/Error.razor | 23 +++++++++++++ .../Components/_Imports.razor | 13 ++++++++ .../Wasm/Bit.Brouter.Demos.Wasm/Program.cs | 32 ++++++++++++++++++ .../Properties/launchSettings.json | 14 ++++++++ .../Bit.Brouter.Demos.Wasm/appsettings.json | 9 +++++ 38 files changed, 592 insertions(+) create mode 100644 src/Brouter/Bit.Brouter.Demos.slnf create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json create mode 100644 src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json create mode 100644 src/Brouter/Demos/README.md create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Program.cs create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json create mode 100644 src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json create mode 100644 src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json diff --git a/src/Brouter/Bit.Brouter.Demos.slnf b/src/Brouter/Bit.Brouter.Demos.slnf new file mode 100644 index 0000000000..59e48cbbf4 --- /dev/null +++ b/src/Brouter/Bit.Brouter.Demos.slnf @@ -0,0 +1,14 @@ +{ + "solution": { + "path": "Bit.Brouter.slnx", + "projects": [ + "Bit.Brouter\\Bit.Brouter.csproj", + "Demo\\Bit.Brouter.Demo.Core\\Bit.Brouter.Demo.Core.csproj", + "Demos\\Server\\Bit.Brouter.Demos.Server\\Bit.Brouter.Demos.Server.csproj", + "Demos\\Wasm\\Bit.Brouter.Demos.Wasm\\Bit.Brouter.Demos.Wasm.csproj", + "Demos\\Wasm\\Bit.Brouter.Demos.Wasm.Client\\Bit.Brouter.Demos.Wasm.Client.csproj", + "Demos\\Auto\\Bit.Brouter.Demos.Auto\\Bit.Brouter.Demos.Auto.csproj", + "Demos\\Auto\\Bit.Brouter.Demos.Auto.Client\\Bit.Brouter.Demos.Auto.Client.csproj" + ] + } +} diff --git a/src/Brouter/Bit.Brouter.slnx b/src/Brouter/Bit.Brouter.slnx index 8a2882ab03..49dba442e6 100644 --- a/src/Brouter/Bit.Brouter.slnx +++ b/src/Brouter/Bit.Brouter.slnx @@ -13,6 +13,19 @@
+ + + + + + + + + + + + + diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj new file mode 100644 index 0000000000..ef00001ffc --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj @@ -0,0 +1,17 @@ + + + + net10.0 + enable + enable + true + Default + true + + + + + + + + diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor new file mode 100644 index 0000000000..d8328ff062 --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor @@ -0,0 +1,9 @@ +@* + Standard Blazor router funneling every URL to the catch-all Host page; Brouter matches inside AppRouter. + Lives in the Client assembly for InteractiveAuto / WebAssembly interactivity. +*@ + + + + + diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor new file mode 100644 index 0000000000..341809c965 --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor @@ -0,0 +1,8 @@ +@page "/" +@page "/{*path}" + + + +@code { + [Parameter] public string? Path { get; set; } +} diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor new file mode 100644 index 0000000000..fd1e222811 --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor @@ -0,0 +1,14 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Bit.Brouter +@using Bit.Brouter.Demo.Core +@using Bit.Brouter.Demo.Core.Pages +@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Auto.Client.Components +@using Bit.Brouter.Demos.Auto.Client.Components.Pages diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs new file mode 100644 index 0000000000..59f28a9c5a --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs @@ -0,0 +1,7 @@ +using Microsoft.AspNetCore.Components.WebAssembly.Hosting; + +var builder = WebAssemblyHostBuilder.CreateDefault(args); + +builder.Services.AddCoreServices(); + +await builder.Build().RunAsync(); diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor new file mode 100644 index 0000000000..a54cc81eef --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor @@ -0,0 +1,12 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Bit.Brouter +@using Bit.Brouter.Demo.Core +@using Bit.Brouter.Demo.Core.Pages +@using Bit.Brouter.Demo.Core.Shared diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj new file mode 100644 index 0000000000..a186d62497 --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj @@ -0,0 +1,16 @@ + + + + net10.0 + enable + enable + true + + + + + + + + + diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor new file mode 100644 index 0000000000..71587fe33b --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor @@ -0,0 +1,19 @@ + + + + + + + + Bit.Brouter - Auto demo (prerendering) + + + + + + + + + + + diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor new file mode 100644 index 0000000000..dc277451aa --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor @@ -0,0 +1,23 @@ +@page "/Error" +@using System.Diagnostics + +
+

Error

+

An error occurred while processing your request.

+ + @if (string.IsNullOrEmpty(RequestId) is false) + { +

Request ID: @RequestId

+ } + + Back to home +
+ +@code { + [CascadingParameter] private HttpContext? HttpContext { get; set; } + + private string? RequestId { get; set; } + + protected override void OnInitialized() => + RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; +} diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor new file mode 100644 index 0000000000..0dc00d950d --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor @@ -0,0 +1,13 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Bit.Brouter +@using Bit.Brouter.Demo.Core +@using Bit.Brouter.Demo.Core.Pages +@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Auto.Client.Components diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs new file mode 100644 index 0000000000..e97e61764f --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs @@ -0,0 +1,33 @@ +using Bit.Brouter.Demos.Auto.Components; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddRazorComponents() + .AddInteractiveServerComponents() + .AddInteractiveWebAssemblyComponents(); + +builder.Services.AddCoreServices(); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseWebAssemblyDebugging(); +} +else +{ + app.UseExceptionHandler("/Error", createScopeForErrors: true); + app.UseHsts(); +} + +app.UseHttpsRedirection(); +app.UseAntiforgery(); + +app.MapStaticAssets(); + +app.MapRazorComponents() + .AddInteractiveServerRenderMode() + .AddInteractiveWebAssemblyRenderMode() + .AddAdditionalAssemblies(typeof(Bit.Brouter.Demos.Auto.Client._Imports).Assembly); + +app.Run(); diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json new file mode 100644 index 0000000000..1bca23d48b --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json @@ -0,0 +1,14 @@ +{ + "profiles": { + "Bit.Brouter.Demos.Auto": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "https://localhost:7183;http://localhost:5183", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json new file mode 100644 index 0000000000..10f68b8c8b --- /dev/null +++ b/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/src/Brouter/Demos/README.md b/src/Brouter/Demos/README.md new file mode 100644 index 0000000000..500b1bdcec --- /dev/null +++ b/src/Brouter/Demos/README.md @@ -0,0 +1,29 @@ +# Bit.Brouter Demos + +Three Blazor Web App hosts that exercise the same routes and pages from `Demo/Bit.Brouter.Demo.Core` in every interactive render mode, with **server prerendering** enabled so Brouter matches the URL during `OnInitializedAsync` and the matched markup is in the initial HTML. + +| Folder | Render mode | Run | +|--------|-------------|-----| +| `Server/` | `InteractiveServer` | `dotnet run --project Demos/Server/Bit.Brouter.Demos.Server` | +| `Wasm/` | `InteractiveWebAssembly` | `dotnet run --project Demos/Wasm/Bit.Brouter.Demos.Wasm` | +| `Auto/` | `InteractiveAuto` | `dotnet run --project Demos/Auto/Bit.Brouter.Demos.Auto` | + +## Verify prerendering + +```pwsh +dotnet run --project Demos/Server/Bit.Brouter.Demos.Server +# In another shell (no JS): +curl http://localhost:5181/counter/1234 +curl http://localhost:5181/profile/saleh +``` + +The response HTML should already contain the matched page content inside the Blazor prerender markers. + +## Wiring (all hosts) + +- `Components/App.razor` — host document; shared `app.css` from Core. +- `Components/BlazorRoutes.razor` — ASP.NET Core `Router` funneling every URL to the catch-all host page. +- `Components/Pages/Host.razor` — catch-all page rendering Core `AppRouter` (``). +- `Program.cs` — `AddCoreServices()` registers Brouter; `MapStaticAssets()` keeps `/_framework/*` out of the catch-all. + +`Wasm` and `Auto` include a `.Client` project so WebAssembly interactivity can load the same Core assembly in the browser. `BlazorRoutes` and the catch-all `Host` page live in the **Client** project (not the host), because components with `InteractiveWebAssembly` / `InteractiveAuto` must be defined in the WASM assembly. diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj new file mode 100644 index 0000000000..5cb098c63a --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj @@ -0,0 +1,14 @@ + + + + net10.0 + enable + enable + true + + + + + + + diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor new file mode 100644 index 0000000000..dc43755849 --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor @@ -0,0 +1,19 @@ + + + + + + + + Bit.Brouter - Server demo (prerendering) + + + + + + + + + + + diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor new file mode 100644 index 0000000000..f9267b835a --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor @@ -0,0 +1,14 @@ +@* + Standard Blazor router. Its only job here is endpoint routing: it funnels every request to + the single catch-all Host page (see Host.razor). The actual route matching is done by + Bit.Brouter inside that page's . DefaultLayout points at the shared MainLayout + from the Core project so every demo head looks identical. + + Named BlazorRoutes (not Routes) to avoid colliding with Bit.Brouter.Demo.Core.Routes, which + is in scope via _Imports. +*@ + + + + + diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor new file mode 100644 index 0000000000..dc277451aa --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor @@ -0,0 +1,23 @@ +@page "/Error" +@using System.Diagnostics + +
+

Error

+

An error occurred while processing your request.

+ + @if (string.IsNullOrEmpty(RequestId) is false) + { +

Request ID: @RequestId

+ } + + Back to home +
+ +@code { + [CascadingParameter] private HttpContext? HttpContext { get; set; } + + private string? RequestId { get; set; } + + protected override void OnInitialized() => + RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; +} diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor new file mode 100644 index 0000000000..8d4e809c05 --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor @@ -0,0 +1,13 @@ +@* + Catch-all host page. The Blazor router maps EVERY url to this single page; from here on + Bit.Brouter's takes over and matches the real route. Brouter matches during + OnInitializedAsync so the matched page's HTML is in the initial prerendered response. +*@ +@page "/" +@page "/{*path}" + + + +@code { + [Parameter] public string? Path { get; set; } +} diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor new file mode 100644 index 0000000000..df51ce0b7d --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor @@ -0,0 +1,15 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Bit.Brouter +@using Bit.Brouter.Demo.Core +@using Bit.Brouter.Demo.Core.Pages +@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Server +@using Bit.Brouter.Demos.Server.Components +@using Bit.Brouter.Demos.Server.Components.Pages diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Program.cs b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Program.cs new file mode 100644 index 0000000000..e1419c35c2 --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Program.cs @@ -0,0 +1,26 @@ +using Bit.Brouter.Demos.Server.Components; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddRazorComponents() + .AddInteractiveServerComponents(); + +builder.Services.AddCoreServices(); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment() is false) +{ + app.UseExceptionHandler("/Error", createScopeForErrors: true); + app.UseHsts(); +} + +app.UseHttpsRedirection(); +app.UseAntiforgery(); + +app.MapStaticAssets(); + +app.MapRazorComponents() + .AddInteractiveServerRenderMode(); + +app.Run(); diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json new file mode 100644 index 0000000000..76f6d415e6 --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json @@ -0,0 +1,13 @@ +{ + "profiles": { + "Bit.Brouter.Demos.Server": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7181;http://localhost:5181", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json new file mode 100644 index 0000000000..10f68b8c8b --- /dev/null +++ b/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj new file mode 100644 index 0000000000..ef00001ffc --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj @@ -0,0 +1,17 @@ + + + + net10.0 + enable + enable + true + Default + true + + + + + + + + diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor new file mode 100644 index 0000000000..2d0d0e844b --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor @@ -0,0 +1,12 @@ +@* + Standard Blazor router. Its only job here is endpoint routing: it funnels every request to + the single catch-all Host page (see Host.razor). The actual route matching is done by + Bit.Brouter inside that page's . + + Lives in the Client assembly so InteractiveWebAssembly can resolve this root component. +*@ + + + + + diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor new file mode 100644 index 0000000000..341809c965 --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor @@ -0,0 +1,8 @@ +@page "/" +@page "/{*path}" + + + +@code { + [Parameter] public string? Path { get; set; } +} diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor new file mode 100644 index 0000000000..34b2f9d63d --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor @@ -0,0 +1,14 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Bit.Brouter +@using Bit.Brouter.Demo.Core +@using Bit.Brouter.Demo.Core.Pages +@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Wasm.Client.Components +@using Bit.Brouter.Demos.Wasm.Client.Components.Pages diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs new file mode 100644 index 0000000000..59f28a9c5a --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs @@ -0,0 +1,7 @@ +using Microsoft.AspNetCore.Components.WebAssembly.Hosting; + +var builder = WebAssemblyHostBuilder.CreateDefault(args); + +builder.Services.AddCoreServices(); + +await builder.Build().RunAsync(); diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor new file mode 100644 index 0000000000..a54cc81eef --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor @@ -0,0 +1,12 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Bit.Brouter +@using Bit.Brouter.Demo.Core +@using Bit.Brouter.Demo.Core.Pages +@using Bit.Brouter.Demo.Core.Shared diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj new file mode 100644 index 0000000000..0a5ec7623c --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj @@ -0,0 +1,16 @@ + + + + net10.0 + enable + enable + true + + + + + + + + + diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor new file mode 100644 index 0000000000..3ab2cf21c9 --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor @@ -0,0 +1,19 @@ + + + + + + + + Bit.Brouter - WebAssembly demo (prerendering) + + + + + + + + + + + diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor new file mode 100644 index 0000000000..dc277451aa --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor @@ -0,0 +1,23 @@ +@page "/Error" +@using System.Diagnostics + +
+

Error

+

An error occurred while processing your request.

+ + @if (string.IsNullOrEmpty(RequestId) is false) + { +

Request ID: @RequestId

+ } + + Back to home +
+ +@code { + [CascadingParameter] private HttpContext? HttpContext { get; set; } + + private string? RequestId { get; set; } + + protected override void OnInitialized() => + RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; +} diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor new file mode 100644 index 0000000000..573a7654d2 --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor @@ -0,0 +1,13 @@ +@using System.Net.Http +@using System.Net.Http.Json +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using static Microsoft.AspNetCore.Components.Web.RenderMode +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using Bit.Brouter +@using Bit.Brouter.Demo.Core +@using Bit.Brouter.Demo.Core.Pages +@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Wasm.Client.Components diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs new file mode 100644 index 0000000000..43ec7e2499 --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs @@ -0,0 +1,32 @@ +using Bit.Brouter.Demos.Wasm.Components; +using Bit.Brouter.Demos.Wasm.Client; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddRazorComponents() + .AddInteractiveWebAssemblyComponents(); + +builder.Services.AddCoreServices(); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseWebAssemblyDebugging(); +} +else +{ + app.UseExceptionHandler("/Error", createScopeForErrors: true); + app.UseHsts(); +} + +app.UseHttpsRedirection(); +app.UseAntiforgery(); + +app.MapStaticAssets(); + +app.MapRazorComponents() + .AddInteractiveWebAssemblyRenderMode() + .AddAdditionalAssemblies(typeof(Bit.Brouter.Demos.Wasm.Client._Imports).Assembly); + +app.Run(); diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json new file mode 100644 index 0000000000..2fb501c404 --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json @@ -0,0 +1,14 @@ +{ + "profiles": { + "Bit.Brouter.Demos.Wasm": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "https://localhost:7182;http://localhost:5182", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json new file mode 100644 index 0000000000..10f68b8c8b --- /dev/null +++ b/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} From 733031ceda159521f4befbd390b4100e47310be5 Mon Sep 17 00:00:00 2001 From: msynk Date: Wed, 3 Jun 2026 14:13:42 +0330 Subject: [PATCH 3/5] move demos to internaltests --- src/Bit.CI.Release.slnx | 6 +-- src/Bit.slnx | 8 ++-- src/Brouter/Bit.Brouter.Demos.slnf | 14 ------- src/Brouter/Bit.Brouter.NewDemo.slnf | 10 ----- src/Brouter/Bit.Brouter.Web.slnf | 10 ----- src/Brouter/Bit.Brouter.slnx | 40 ++++++++++--------- .../Bit.Brouter.Demo.Core/AppRouter.razor | 0 .../Bit.Brouter.Demo.Core.csproj | 2 +- .../IServiceCollectionExtensions.cs | 0 .../Pages/CounterPage.razor | 0 .../Pages/FetchDataPage.razor | 0 .../Pages/HomePage.razor | 0 .../Bit.Brouter.Demo.Core/Pages/Nested.razor | 0 .../Bit.Brouter.Demo.Core/Pages/Nested2.razor | 0 .../Pages/PostPage.razor | 0 .../Pages/ProfilePage.razor | 0 .../Demo/Bit.Brouter.Demo.Core/Routes.razor | 0 .../Bit.Brouter.Demo.Core/Shared/Header.razor | 0 .../Shared/Header.razor.css | 0 .../Shared/MainLayout.razor | 0 .../Shared/MainLayout.razor.css | 0 .../Demo/Bit.Brouter.Demo.Core/_Imports.razor | 0 .../Bit.Brouter.Demo.Core/wwwroot/app.css | 0 .../Demo/Bit.Brouter.Demo.Maui/App.xaml | 0 .../Demo/Bit.Brouter.Demo.Maui/App.xaml.cs | 0 .../Bit.Brouter.Demo.Maui.csproj | 0 .../IServiceCollectionExtensions.cs | 0 .../Demo/Bit.Brouter.Demo.Maui/MainPage.xaml | 0 .../Bit.Brouter.Demo.Maui/MainPage.xaml.cs | 0 .../Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs | 0 .../Platforms/Android/AndroidManifest.xml | 0 .../Platforms/Android/MainActivity.cs | 0 .../Platforms/Android/MainApplication.cs | 0 .../Android/Resources/values/colors.xml | 0 .../Platforms/MacCatalyst/AppDelegate.cs | 0 .../Platforms/MacCatalyst/Entitlements.plist | 0 .../Platforms/MacCatalyst/Info.plist | 0 .../Platforms/MacCatalyst/Program.cs | 0 .../Platforms/Tizen/Main.cs | 0 .../Platforms/Tizen/tizen-manifest.xml | 0 .../Platforms/Windows/App.xaml | 0 .../Platforms/Windows/App.xaml.cs | 0 .../Platforms/Windows/Package.appxmanifest | 0 .../Platforms/Windows/app.manifest | 0 .../Platforms/iOS/AppDelegate.cs | 0 .../Platforms/iOS/Info.plist | 0 .../Platforms/iOS/Program.cs | 0 .../Properties/launchSettings.json | 0 .../Resources/AppIcon/appicon.svg | 0 .../Resources/AppIcon/appiconfg.svg | 0 .../Resources/Splash/splash.svg | 0 .../Bit.Brouter.Demo.Maui/wwwroot/index.html | 0 .../Bit.Brouter.Demo.Web.csproj | 0 .../IServiceCollectionExtensions.cs | 0 .../Demo/Bit.Brouter.Demo.Web/Program.cs | 0 .../Properties/launchSettings.json | 0 .../Bit.Brouter.Demo.Web/wwwroot/index.html | 0 .../Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js | 0 .../Bit.Brouter.Demos.Auto.Client.csproj | 0 .../Components/BlazorRoutes.razor | 0 .../Components/Pages/Host.razor | 0 .../Components/_Imports.razor | 0 .../Bit.Brouter.Demos.Auto.Client/Program.cs | 0 .../_Imports.razor | 0 .../Bit.Brouter.Demos.Auto.csproj | 0 .../Components/App.razor | 0 .../Components/Pages/Error.razor | 0 .../Components/_Imports.razor | 0 .../Auto/Bit.Brouter.Demos.Auto/Program.cs | 0 .../Properties/launchSettings.json | 0 .../Bit.Brouter.Demos.Auto/appsettings.json | 0 .../{ => InteralTests}/Demos/README.md | 10 ++--- .../Bit.Brouter.Demos.Server.csproj | 0 .../Components/App.razor | 0 .../Components/BlazorRoutes.razor | 0 .../Components/Pages/Error.razor | 0 .../Components/Pages/Host.razor | 0 .../Components/_Imports.razor | 0 .../Bit.Brouter.Demos.Server/Program.cs | 0 .../Properties/launchSettings.json | 0 .../Bit.Brouter.Demos.Server/appsettings.json | 0 .../Bit.Brouter.Demos.Wasm.Client.csproj | 0 .../Components/BlazorRoutes.razor | 0 .../Components/Pages/Host.razor | 0 .../Components/_Imports.razor | 0 .../Bit.Brouter.Demos.Wasm.Client/Program.cs | 0 .../_Imports.razor | 0 .../Bit.Brouter.Demos.Wasm.csproj | 0 .../Components/App.razor | 0 .../Components/Pages/Error.razor | 0 .../Components/_Imports.razor | 0 .../Wasm/Bit.Brouter.Demos.Wasm/Program.cs | 0 .../Properties/launchSettings.json | 0 .../Bit.Brouter.Demos.Wasm/appsettings.json | 0 .../Bit.Brouter.NewDemo.Server.csproj | 0 .../Components/App.razor | 0 .../Components/BlazorRoutes.razor | 0 .../Components/Pages/Error.razor | 0 .../Components/Pages/Host.razor | 0 .../Components/_Imports.razor | 0 .../Bit.Brouter.NewDemo.Server/Program.cs | 0 .../Properties/launchSettings.json | 0 .../appsettings.json | 0 .../{ => InteralTests}/NewDemo/README.md | 8 ++-- 104 files changed, 38 insertions(+), 70 deletions(-) delete mode 100644 src/Brouter/Bit.Brouter.Demos.slnf delete mode 100644 src/Brouter/Bit.Brouter.NewDemo.slnf delete mode 100644 src/Brouter/Bit.Brouter.Web.slnf rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/AppRouter.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj (79%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Extensions/IServiceCollectionExtensions.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Pages/CounterPage.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Pages/FetchDataPage.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Pages/HomePage.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Pages/Nested.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Pages/Nested2.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Pages/PostPage.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Pages/ProfilePage.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Routes.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor.css (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor.css (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Core/wwwroot/app.css (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/App.xaml (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Web/Program.cs (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html (100%) rename src/Brouter/{ => InteralTests}/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json (100%) rename src/Brouter/{ => InteralTests}/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json (100%) rename src/Brouter/{ => InteralTests}/Demos/README.md (64%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj (100%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/Program.cs (100%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json (100%) rename src/Brouter/{ => InteralTests}/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json (100%) rename src/Brouter/{ => InteralTests}/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json (100%) rename src/Brouter/{ => InteralTests}/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json (100%) rename src/Brouter/{ => InteralTests}/NewDemo/README.md (84%) diff --git a/src/Bit.CI.Release.slnx b/src/Bit.CI.Release.slnx index a29293e919..7424f31a00 100644 --- a/src/Bit.CI.Release.slnx +++ b/src/Bit.CI.Release.slnx @@ -50,9 +50,9 @@ - - - + + + diff --git a/src/Bit.slnx b/src/Bit.slnx index eb506164d0..c6934a20b3 100644 --- a/src/Bit.slnx +++ b/src/Bit.slnx @@ -81,12 +81,12 @@ - - - + + + - + diff --git a/src/Brouter/Bit.Brouter.Demos.slnf b/src/Brouter/Bit.Brouter.Demos.slnf deleted file mode 100644 index 59e48cbbf4..0000000000 --- a/src/Brouter/Bit.Brouter.Demos.slnf +++ /dev/null @@ -1,14 +0,0 @@ -{ - "solution": { - "path": "Bit.Brouter.slnx", - "projects": [ - "Bit.Brouter\\Bit.Brouter.csproj", - "Demo\\Bit.Brouter.Demo.Core\\Bit.Brouter.Demo.Core.csproj", - "Demos\\Server\\Bit.Brouter.Demos.Server\\Bit.Brouter.Demos.Server.csproj", - "Demos\\Wasm\\Bit.Brouter.Demos.Wasm\\Bit.Brouter.Demos.Wasm.csproj", - "Demos\\Wasm\\Bit.Brouter.Demos.Wasm.Client\\Bit.Brouter.Demos.Wasm.Client.csproj", - "Demos\\Auto\\Bit.Brouter.Demos.Auto\\Bit.Brouter.Demos.Auto.csproj", - "Demos\\Auto\\Bit.Brouter.Demos.Auto.Client\\Bit.Brouter.Demos.Auto.Client.csproj" - ] - } -} diff --git a/src/Brouter/Bit.Brouter.NewDemo.slnf b/src/Brouter/Bit.Brouter.NewDemo.slnf deleted file mode 100644 index c8c38ffa4f..0000000000 --- a/src/Brouter/Bit.Brouter.NewDemo.slnf +++ /dev/null @@ -1,10 +0,0 @@ -{ - "solution": { - "path": "Bit.Brouter.slnx", - "projects": [ - "Bit.Brouter\\Bit.Brouter.csproj", - "Demo\\Bit.Brouter.Demo.Core\\Bit.Brouter.Demo.Core.csproj", - "NewDemo\\Bit.Brouter.NewDemo.Server\\Bit.Brouter.NewDemo.Server.csproj" - ] - } -} diff --git a/src/Brouter/Bit.Brouter.Web.slnf b/src/Brouter/Bit.Brouter.Web.slnf deleted file mode 100644 index d79d26b9dd..0000000000 --- a/src/Brouter/Bit.Brouter.Web.slnf +++ /dev/null @@ -1,10 +0,0 @@ -{ - "solution": { - "path": "Bit.Brouter.slnx", - "projects": [ - "Bit.Brouter\\Bit.Brouter.csproj", - "Demo\\Bit.Brouter.Demo.Core\\Bit.Brouter.Demo.Core.csproj", - "Demo\\Bit.Brouter.Demo.Web\\Bit.Brouter.Demo.Web.csproj" - ] - } -} diff --git a/src/Brouter/Bit.Brouter.slnx b/src/Brouter/Bit.Brouter.slnx index 49dba442e6..9540aa6ebd 100644 --- a/src/Brouter/Bit.Brouter.slnx +++ b/src/Brouter/Bit.Brouter.slnx @@ -6,29 +6,31 @@ - - - - - - - - - - - + + + + + + + - - + + + + + + + + + + + + - - - + + - - - diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/AppRouter.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/AppRouter.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/AppRouter.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/AppRouter.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj similarity index 79% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj index b165cf3c4b..c438ec1b3c 100644 --- a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj +++ b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Extensions/IServiceCollectionExtensions.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Extensions/IServiceCollectionExtensions.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Extensions/IServiceCollectionExtensions.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Extensions/IServiceCollectionExtensions.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/CounterPage.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/CounterPage.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/CounterPage.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/CounterPage.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/FetchDataPage.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/FetchDataPage.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/FetchDataPage.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/FetchDataPage.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/HomePage.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/HomePage.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/HomePage.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/HomePage.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/Nested.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/Nested.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/Nested.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/Nested.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/Nested2.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/Nested2.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/Nested2.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/Nested2.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/PostPage.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/PostPage.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/PostPage.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/PostPage.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/ProfilePage.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/ProfilePage.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Pages/ProfilePage.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/ProfilePage.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Routes.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Routes.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Routes.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Routes.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor.css b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor.css similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor.css rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor.css diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor.css b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor.css similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor.css rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor.css diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/_Imports.razor b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/_Imports.razor similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/_Imports.razor rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/_Imports.razor diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Core/wwwroot/app.css b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/wwwroot/app.css similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Core/wwwroot/app.css rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/wwwroot/app.css diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/App.xaml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/App.xaml rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Web/Program.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Program.cs similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Web/Program.cs rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Program.cs diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html diff --git a/src/Brouter/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js similarity index 100% rename from src/Brouter/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js rename to src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json diff --git a/src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json similarity index 100% rename from src/Brouter/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json rename to src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json diff --git a/src/Brouter/Demos/README.md b/src/Brouter/InteralTests/Demos/README.md similarity index 64% rename from src/Brouter/Demos/README.md rename to src/Brouter/InteralTests/Demos/README.md index 500b1bdcec..cca879e4df 100644 --- a/src/Brouter/Demos/README.md +++ b/src/Brouter/InteralTests/Demos/README.md @@ -1,17 +1,17 @@ # Bit.Brouter Demos -Three Blazor Web App hosts that exercise the same routes and pages from `Demo/Bit.Brouter.Demo.Core` in every interactive render mode, with **server prerendering** enabled so Brouter matches the URL during `OnInitializedAsync` and the matched markup is in the initial HTML. +Three Blazor Web App hosts that exercise the same routes and pages from `InteralTests/Demo/Bit.Brouter.Demo.Core` in every interactive render mode, with **server prerendering** enabled so Brouter matches the URL during `OnInitializedAsync` and the matched markup is in the initial HTML. | Folder | Render mode | Run | |--------|-------------|-----| -| `Server/` | `InteractiveServer` | `dotnet run --project Demos/Server/Bit.Brouter.Demos.Server` | -| `Wasm/` | `InteractiveWebAssembly` | `dotnet run --project Demos/Wasm/Bit.Brouter.Demos.Wasm` | -| `Auto/` | `InteractiveAuto` | `dotnet run --project Demos/Auto/Bit.Brouter.Demos.Auto` | +| `Server/` | `InteractiveServer` | `dotnet run --project InteralTests/Demos/Server/Bit.Brouter.Demos.Server` | +| `Wasm/` | `InteractiveWebAssembly` | `dotnet run --project InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm` | +| `Auto/` | `InteractiveAuto` | `dotnet run --project InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto` | ## Verify prerendering ```pwsh -dotnet run --project Demos/Server/Bit.Brouter.Demos.Server +dotnet run --project InteralTests/Demos/Server/Bit.Brouter.Demos.Server # In another shell (no JS): curl http://localhost:5181/counter/1234 curl http://localhost:5181/profile/saleh diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Program.cs b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Program.cs similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Program.cs rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Program.cs diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json diff --git a/src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json similarity index 100% rename from src/Brouter/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json rename to src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json diff --git a/src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json similarity index 100% rename from src/Brouter/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json rename to src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json diff --git a/src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json similarity index 100% rename from src/Brouter/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json rename to src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json diff --git a/src/Brouter/NewDemo/README.md b/src/Brouter/InteralTests/NewDemo/README.md similarity index 84% rename from src/Brouter/NewDemo/README.md rename to src/Brouter/InteralTests/NewDemo/README.md index 97bac619a7..a246db11e4 100644 --- a/src/Brouter/NewDemo/README.md +++ b/src/Brouter/InteralTests/NewDemo/README.md @@ -5,9 +5,9 @@ Bit.Brouter. ## Why this demo exists -The original demo heads (`Demo/Bit.Brouter.Demo.Web` and `...Maui`) run Brouter in a client-only +The original demo heads (`InteralTests/Demo/Bit.Brouter.Demo.Web` and `...Maui`) run Brouter in a client-only runtime (WebAssembly / BlazorWebView), where pre-rendering doesn't apply. This project hosts the -exact same routes - it references `Demo/Bit.Brouter.Demo.Core` - inside an ASP.NET Core server with +exact same routes - it references `InteralTests/Demo/Bit.Brouter.Demo.Core` - inside an ASP.NET Core server with the `InteractiveServer` render mode, which pre-renders on the server by default. ## What it proves @@ -20,7 +20,7 @@ You can confirm this without a browser: ```pwsh # Run the server -dotnet run --project NewDemo/Bit.Brouter.NewDemo.Server +dotnet run --project InteralTests/NewDemo/Bit.Brouter.NewDemo.Server # In another shell, request a deep link and inspect the RAW html (no JS executed). # The matched page's content appears INSIDE the markers. @@ -45,7 +45,7 @@ For `/counter/1234` the pre-rendered HTML already contains the counter heading, ## Run ```pwsh -dotnet run --project NewDemo/Bit.Brouter.NewDemo.Server +dotnet run --project InteralTests/NewDemo/Bit.Brouter.NewDemo.Server ``` Then browse to (or the HTTPS URL from `launchSettings.json`). From 8ec89eb2b9dbced89c44dfe79de86aa63c1a22cc Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Wed, 3 Jun 2026 19:46:57 +0330 Subject: [PATCH 4/5] revert unrelated changes --- .../BitScrollablePaneJsRuntimeExtensions.cs | 4 +--- .../JsInterop/UtilsJsRuntimeExtensions.cs | 23 ++++++++----------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Surfaces/ScrollablePane/BitScrollablePaneJsRuntimeExtensions.cs b/src/BlazorUI/Bit.BlazorUI/Components/Surfaces/ScrollablePane/BitScrollablePaneJsRuntimeExtensions.cs index 6e2b15a659..33ccad3735 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Surfaces/ScrollablePane/BitScrollablePaneJsRuntimeExtensions.cs +++ b/src/BlazorUI/Bit.BlazorUI/Components/Surfaces/ScrollablePane/BitScrollablePaneJsRuntimeExtensions.cs @@ -2,10 +2,8 @@ internal static class BitScrollablePaneJsRuntimeExtensions { - // ScrollablePane.scrollToEnd is a synchronous, null-guarded DOM call (see BitScrollablePane.ts), - // so it is safe to run through FastInvokeVoid (synchronous on in-process runtimes, async fallback otherwise). internal static ValueTask BitScrollablePaneScrollToEnd(this IJSRuntime jsRuntime, ElementReference element) { - return jsRuntime.FastInvokeVoid("BitBlazorUI.ScrollablePane.scrollToEnd", element); + return jsRuntime.InvokeVoid("BitBlazorUI.ScrollablePane.scrollToEnd", element); } } diff --git a/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs b/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs index f10ce70734..b57f48cdf7 100644 --- a/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs +++ b/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs @@ -1,61 +1,56 @@ namespace Bit.BlazorUI; -// The Utils JS functions are pure, synchronous DOM operations and every one of them -// internally null-guards its target element (see Scripts/Utils.ts). That makes them safe -// to run through FastInvoke/FastInvokeVoid: on an in-process runtime (Blazor WASM/Hybrid) -// they execute synchronously without the async interop round-trip, and on other runtimes -// (Blazor Server/prerender) FastInvoke transparently falls back to the async path. internal static class UtilsJsRuntimeExtensions { internal static ValueTask BitUtilsGetBodyWidth(this IJSRuntime jsRuntime) { - return jsRuntime.FastInvoke("BitBlazorUI.Utils.getBodyWidth"); + return jsRuntime.Invoke("BitBlazorUI.Utils.getBodyWidth"); } internal static ValueTask BitUtilsSetProperty(this IJSRuntime jsRuntime, ElementReference element, string property, object? value) { - return jsRuntime.FastInvokeVoid("BitBlazorUI.Utils.setProperty", element, property, value); + return jsRuntime.InvokeVoid("BitBlazorUI.Utils.setProperty", element, property, value); } internal static ValueTask BitUtilsGetProperty(this IJSRuntime jsRuntime, ElementReference element, string property) { - return jsRuntime.FastInvoke("BitBlazorUI.Utils.getProperty", element, property); + return jsRuntime.Invoke("BitBlazorUI.Utils.getProperty", element, property); } internal static ValueTask BitUtilsGetBoundingClientRect(this IJSRuntime jsRuntime, ElementReference element) { - return jsRuntime.FastInvoke("BitBlazorUI.Utils.getBoundingClientRect", element); + return jsRuntime.Invoke("BitBlazorUI.Utils.getBoundingClientRect", element); } internal static ValueTask BitUtilsScrollElementIntoView(this IJSRuntime jsRuntime, string targetElementId) { - return jsRuntime.FastInvokeVoid("BitBlazorUI.Utils.scrollElementIntoView", targetElementId); + return jsRuntime.InvokeVoid("BitBlazorUI.Utils.scrollElementIntoView", targetElementId); } internal static ValueTask BitUtilsSelectText(this IJSRuntime jsRuntime, ElementReference element) { - return jsRuntime.FastInvokeVoid("BitBlazorUI.Utils.selectText", element); + return jsRuntime.InvokeVoid("BitBlazorUI.Utils.selectText", element); } internal static ValueTask BitUtilsSetStyle(this IJSRuntime jsRuntime, ElementReference element, string key, string value) { - return jsRuntime.FastInvokeVoid("BitBlazorUI.Utils.setStyle", element, key, value); + return jsRuntime.InvokeVoid("BitBlazorUI.Utils.setStyle", element, key, value); } internal static ValueTask BitUtilsToggleOverflow(this IJSRuntime jsRuntime, string scrollerSelector, bool isHidden) { - return jsRuntime.FastInvoke("BitBlazorUI.Utils.toggleOverflow", scrollerSelector, isHidden); + return jsRuntime.Invoke("BitBlazorUI.Utils.toggleOverflow", scrollerSelector, isHidden); } internal static ValueTask BitUtilsToggleOverflow(this IJSRuntime jsRuntime, ElementReference scrollerElement, bool isHidden) { - return jsRuntime.FastInvoke("BitBlazorUI.Utils.toggleOverflow", scrollerElement, isHidden); + return jsRuntime.Invoke("BitBlazorUI.Utils.toggleOverflow", scrollerElement, isHidden); } } From 6082f1a30222defadf52baea6b2986d6d82e1f2f Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Wed, 3 Jun 2026 20:36:29 +0330 Subject: [PATCH 5/5] simplify internal demos --- src/Brouter/Bit.Brouter.slnx | 37 ++++------- .../Bit.Brouter.Demos.Auto.Client.csproj | 2 +- .../Components/Pages/Host.razor | 0 .../Components/_Imports.razor | 6 +- .../Bit.Brouter.Demos.Auto.Client/Program.cs | 0 .../_Imports.razor | 6 +- .../Bit.Brouter.Demos.Auto.csproj | 4 +- .../Components/App.razor | 4 +- .../Components/Pages/Error.razor | 0 .../Components/_Imports.razor | 6 +- .../Auto/Bit.Brouter.Demos.Auto/Program.cs | 0 .../Properties/launchSettings.json | 0 .../Bit.Brouter.Demos.Auto/appsettings.json | 0 .../Core}/AppRouter.razor | 0 .../Core/Bit.Brouter.Demos.Core.csproj} | 2 +- .../IServiceCollectionExtensions.cs | 0 .../Core}/Pages/CounterPage.razor | 0 .../Core}/Pages/FetchDataPage.razor | 0 .../Core}/Pages/HomePage.razor | 0 .../Core}/Pages/Nested.razor | 0 .../Core}/Pages/Nested2.razor | 0 .../Core}/Pages/PostPage.razor | 0 .../Core}/Pages/ProfilePage.razor | 0 .../Core}/Routes.razor | 0 .../Core}/Shared/Header.razor | 0 .../Core}/Shared/Header.razor.css | 0 .../Core}/Shared/MainLayout.razor | 0 .../Core}/Shared/MainLayout.razor.css | 0 .../Core}/_Imports.razor | 6 +- .../Core}/wwwroot/app.css | 0 .../Server}/Bit.Brouter.Demos.Server.csproj | 2 +- .../Server}/Components/App.razor | 4 +- .../Server}/Components/Pages/Error.razor | 0 .../Server}/Components/Pages/Host.razor | 0 .../Server}/Components/_Imports.razor | 6 +- .../Server}/Program.cs | 0 .../Server}/Properties/launchSettings.json | 0 .../Server}/appsettings.json | 0 .../Bit.Brouter.Demos.Wasm.Client.csproj | 2 +- .../Components/Pages/Host.razor | 0 .../Components/_Imports.razor | 6 +- .../Bit.Brouter.Demos.Wasm.Client/Program.cs | 0 .../_Imports.razor | 6 +- .../Bit.Brouter.Demos.Wasm.csproj | 4 +- .../Components/App.razor | 4 +- .../Components/Pages/Error.razor | 0 .../Components/_Imports.razor | 6 +- .../Wasm/Bit.Brouter.Demos.Wasm/Program.cs | 0 .../Properties/launchSettings.json | 0 .../Bit.Brouter.Demos.Wasm/appsettings.json | 0 .../Demo/Bit.Brouter.Demo.Maui/App.xaml | 17 ----- .../Demo/Bit.Brouter.Demo.Maui/App.xaml.cs | 11 ---- .../Bit.Brouter.Demo.Maui.csproj | 62 ------------------- .../IServiceCollectionExtensions.cs | 14 ----- .../Demo/Bit.Brouter.Demo.Maui/MainPage.xaml | 15 ----- .../Bit.Brouter.Demo.Maui/MainPage.xaml.cs | 9 --- .../Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs | 22 ------- .../Platforms/Android/AndroidManifest.xml | 6 -- .../Platforms/Android/MainActivity.cs | 9 --- .../Platforms/Android/MainApplication.cs | 14 ----- .../Android/Resources/values/colors.xml | 6 -- .../Platforms/MacCatalyst/AppDelegate.cs | 8 --- .../Platforms/MacCatalyst/Entitlements.plist | 13 ---- .../Platforms/MacCatalyst/Info.plist | 25 -------- .../Platforms/MacCatalyst/Program.cs | 14 ----- .../Platforms/Tizen/Main.cs | 16 ----- .../Platforms/Tizen/tizen-manifest.xml | 15 ----- .../Platforms/Windows/App.xaml | 6 -- .../Platforms/Windows/App.xaml.cs | 22 ------- .../Platforms/Windows/Package.appxmanifest | 46 -------------- .../Platforms/Windows/app.manifest | 11 ---- .../Platforms/iOS/AppDelegate.cs | 8 --- .../Platforms/iOS/Info.plist | 32 ---------- .../Platforms/iOS/Program.cs | 14 ----- .../Properties/launchSettings.json | 8 --- .../Resources/AppIcon/appicon.svg | 4 -- .../Resources/AppIcon/appiconfg.svg | 4 -- .../Resources/Splash/splash.svg | 4 -- .../Bit.Brouter.Demo.Maui/wwwroot/index.html | 18 ------ .../Bit.Brouter.Demo.Web.csproj | 18 ------ .../IServiceCollectionExtensions.cs | 14 ----- .../Demo/Bit.Brouter.Demo.Web/Program.cs | 12 ---- .../Properties/launchSettings.json | 14 ----- .../Bit.Brouter.Demo.Web/wwwroot/index.html | 23 ------- .../Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js | 14 ----- .../Components/BlazorRoutes.razor | 9 --- src/Brouter/InteralTests/Demos/README.md | 29 --------- .../Components/BlazorRoutes.razor | 14 ----- .../Components/BlazorRoutes.razor | 12 ---- .../Bit.Brouter.NewDemo.Server.csproj | 15 ----- .../Components/App.razor | 19 ------ .../Components/BlazorRoutes.razor | 14 ----- .../Components/Pages/Error.razor | 27 -------- .../Components/Pages/Host.razor | 20 ------ .../Components/_Imports.razor | 15 ----- .../Bit.Brouter.NewDemo.Server/Program.cs | 38 ------------ .../Properties/launchSettings.json | 13 ---- .../appsettings.json | 9 --- src/Brouter/InteralTests/NewDemo/README.md | 51 --------------- 99 files changed, 51 insertions(+), 895 deletions(-) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj (85%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor (81%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs (100%) rename src/Brouter/{InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client => InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client}/_Imports.razor (77%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj (84%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto/Components/App.razor (77%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor (79%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto/Program.cs (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Auto/Bit.Brouter.Demos.Auto/appsettings.json (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/AppRouter.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj => InteralDemos/Core/Bit.Brouter.Demos.Core.csproj} (79%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Extensions/IServiceCollectionExtensions.cs (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Pages/CounterPage.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Pages/FetchDataPage.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Pages/HomePage.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Pages/Nested.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Pages/Nested2.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Pages/PostPage.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Pages/ProfilePage.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Routes.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Shared/Header.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Shared/Header.razor.css (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Shared/MainLayout.razor (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/Shared/MainLayout.razor.css (100%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/_Imports.razor (79%) rename src/Brouter/{InteralTests/Demo/Bit.Brouter.Demo.Core => InteralDemos/Core}/wwwroot/app.css (100%) rename src/Brouter/{InteralTests/Demos/Server/Bit.Brouter.Demos.Server => InteralDemos/Server}/Bit.Brouter.Demos.Server.csproj (76%) rename src/Brouter/{InteralTests/Demos/Server/Bit.Brouter.Demos.Server => InteralDemos/Server}/Components/App.razor (77%) rename src/Brouter/{InteralTests/Demos/Server/Bit.Brouter.Demos.Server => InteralDemos/Server}/Components/Pages/Error.razor (100%) rename src/Brouter/{InteralTests/Demos/Server/Bit.Brouter.Demos.Server => InteralDemos/Server}/Components/Pages/Host.razor (100%) rename src/Brouter/{InteralTests/Demos/Server/Bit.Brouter.Demos.Server => InteralDemos/Server}/Components/_Imports.razor (82%) rename src/Brouter/{InteralTests/Demos/Server/Bit.Brouter.Demos.Server => InteralDemos/Server}/Program.cs (100%) rename src/Brouter/{InteralTests/Demos/Server/Bit.Brouter.Demos.Server => InteralDemos/Server}/Properties/launchSettings.json (100%) rename src/Brouter/{InteralTests/Demos/Server/Bit.Brouter.Demos.Server => InteralDemos/Server}/appsettings.json (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj (85%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor (81%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs (100%) rename src/Brouter/{InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client => InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client}/_Imports.razor (77%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj (84%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor (76%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor (79%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm/Program.cs (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json (100%) rename src/Brouter/{InteralTests/Demos => InteralDemos}/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json (100%) delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Program.cs delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html delete mode 100644 src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js delete mode 100644 src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor delete mode 100644 src/Brouter/InteralTests/Demos/README.md delete mode 100644 src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor delete mode 100644 src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json delete mode 100644 src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json delete mode 100644 src/Brouter/InteralTests/NewDemo/README.md diff --git a/src/Brouter/Bit.Brouter.slnx b/src/Brouter/Bit.Brouter.slnx index 9540aa6ebd..02b10d1206 100644 --- a/src/Brouter/Bit.Brouter.slnx +++ b/src/Brouter/Bit.Brouter.slnx @@ -6,30 +6,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj similarity index 85% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj index ef00001ffc..9c1c394755 100644 --- a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj +++ b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Bit.Brouter.Demos.Auto.Client.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor similarity index 100% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Components/Pages/Host.razor diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor similarity index 81% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor index fd1e222811..ca38b1d741 100644 --- a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor +++ b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Components/_Imports.razor @@ -7,8 +7,8 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Core +@using Bit.Brouter.Demos.Core.Pages +@using Bit.Brouter.Demos.Core.Shared @using Bit.Brouter.Demos.Auto.Client.Components @using Bit.Brouter.Demos.Auto.Client.Components.Pages diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs similarity index 100% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/Program.cs diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor similarity index 77% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor index a54cc81eef..8401f6aae6 100644 --- a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor +++ b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor @@ -7,6 +7,6 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Core +@using Bit.Brouter.Demos.Core.Pages +@using Bit.Brouter.Demos.Core.Shared diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj similarity index 84% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj index a186d62497..376ef8ca7d 100644 --- a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj +++ b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Bit.Brouter.Demos.Auto.csproj @@ -8,9 +8,9 @@ - - + + diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor similarity index 77% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor index 71587fe33b..0fd68e2374 100644 --- a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor +++ b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Components/App.razor @@ -6,13 +6,13 @@ Bit.Brouter - Auto demo (prerendering) - + - + diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor similarity index 100% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Components/Pages/Error.razor diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor similarity index 79% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor index 0dc00d950d..62caad6ade 100644 --- a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor +++ b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Components/_Imports.razor @@ -7,7 +7,7 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Core +@using Bit.Brouter.Demos.Core.Pages +@using Bit.Brouter.Demos.Core.Shared @using Bit.Brouter.Demos.Auto.Client.Components diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Program.cs similarity index 100% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Program.cs rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Program.cs diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json similarity index 100% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/Properties/launchSettings.json diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json b/src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/appsettings.json similarity index 100% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto/appsettings.json rename to src/Brouter/InteralDemos/Auto/Bit.Brouter.Demos.Auto/appsettings.json diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/AppRouter.razor b/src/Brouter/InteralDemos/Core/AppRouter.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/AppRouter.razor rename to src/Brouter/InteralDemos/Core/AppRouter.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj b/src/Brouter/InteralDemos/Core/Bit.Brouter.Demos.Core.csproj similarity index 79% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj rename to src/Brouter/InteralDemos/Core/Bit.Brouter.Demos.Core.csproj index c438ec1b3c..b165cf3c4b 100644 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Bit.Brouter.Demo.Core.csproj +++ b/src/Brouter/InteralDemos/Core/Bit.Brouter.Demos.Core.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Extensions/IServiceCollectionExtensions.cs b/src/Brouter/InteralDemos/Core/Extensions/IServiceCollectionExtensions.cs similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Extensions/IServiceCollectionExtensions.cs rename to src/Brouter/InteralDemos/Core/Extensions/IServiceCollectionExtensions.cs diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/CounterPage.razor b/src/Brouter/InteralDemos/Core/Pages/CounterPage.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/CounterPage.razor rename to src/Brouter/InteralDemos/Core/Pages/CounterPage.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/FetchDataPage.razor b/src/Brouter/InteralDemos/Core/Pages/FetchDataPage.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/FetchDataPage.razor rename to src/Brouter/InteralDemos/Core/Pages/FetchDataPage.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/HomePage.razor b/src/Brouter/InteralDemos/Core/Pages/HomePage.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/HomePage.razor rename to src/Brouter/InteralDemos/Core/Pages/HomePage.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/Nested.razor b/src/Brouter/InteralDemos/Core/Pages/Nested.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/Nested.razor rename to src/Brouter/InteralDemos/Core/Pages/Nested.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/Nested2.razor b/src/Brouter/InteralDemos/Core/Pages/Nested2.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/Nested2.razor rename to src/Brouter/InteralDemos/Core/Pages/Nested2.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/PostPage.razor b/src/Brouter/InteralDemos/Core/Pages/PostPage.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/PostPage.razor rename to src/Brouter/InteralDemos/Core/Pages/PostPage.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/ProfilePage.razor b/src/Brouter/InteralDemos/Core/Pages/ProfilePage.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Pages/ProfilePage.razor rename to src/Brouter/InteralDemos/Core/Pages/ProfilePage.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Routes.razor b/src/Brouter/InteralDemos/Core/Routes.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Routes.razor rename to src/Brouter/InteralDemos/Core/Routes.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor b/src/Brouter/InteralDemos/Core/Shared/Header.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor rename to src/Brouter/InteralDemos/Core/Shared/Header.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor.css b/src/Brouter/InteralDemos/Core/Shared/Header.razor.css similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/Header.razor.css rename to src/Brouter/InteralDemos/Core/Shared/Header.razor.css diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor b/src/Brouter/InteralDemos/Core/Shared/MainLayout.razor similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor rename to src/Brouter/InteralDemos/Core/Shared/MainLayout.razor diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor.css b/src/Brouter/InteralDemos/Core/Shared/MainLayout.razor.css similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/Shared/MainLayout.razor.css rename to src/Brouter/InteralDemos/Core/Shared/MainLayout.razor.css diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/_Imports.razor b/src/Brouter/InteralDemos/Core/_Imports.razor similarity index 79% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/_Imports.razor rename to src/Brouter/InteralDemos/Core/_Imports.razor index 0d455ed585..e4e461d2ae 100644 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/_Imports.razor +++ b/src/Brouter/InteralDemos/Core/_Imports.razor @@ -10,6 +10,6 @@ @using Microsoft.AspNetCore.Components.Forms @using Microsoft.AspNetCore.Components.Web.Virtualization @using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Core +@using Bit.Brouter.Demos.Core.Pages +@using Bit.Brouter.Demos.Core.Shared diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/wwwroot/app.css b/src/Brouter/InteralDemos/Core/wwwroot/app.css similarity index 100% rename from src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Core/wwwroot/app.css rename to src/Brouter/InteralDemos/Core/wwwroot/app.css diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj b/src/Brouter/InteralDemos/Server/Bit.Brouter.Demos.Server.csproj similarity index 76% rename from src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj rename to src/Brouter/InteralDemos/Server/Bit.Brouter.Demos.Server.csproj index 5cb098c63a..7f7a03c056 100644 --- a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Bit.Brouter.Demos.Server.csproj +++ b/src/Brouter/InteralDemos/Server/Bit.Brouter.Demos.Server.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor b/src/Brouter/InteralDemos/Server/Components/App.razor similarity index 77% rename from src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor rename to src/Brouter/InteralDemos/Server/Components/App.razor index dc43755849..d406a50375 100644 --- a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/App.razor +++ b/src/Brouter/InteralDemos/Server/Components/App.razor @@ -6,13 +6,13 @@ Bit.Brouter - Server demo (prerendering) - + - + diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor b/src/Brouter/InteralDemos/Server/Components/Pages/Error.razor similarity index 100% rename from src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Error.razor rename to src/Brouter/InteralDemos/Server/Components/Pages/Error.razor diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor b/src/Brouter/InteralDemos/Server/Components/Pages/Host.razor similarity index 100% rename from src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/Pages/Host.razor rename to src/Brouter/InteralDemos/Server/Components/Pages/Host.razor diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor b/src/Brouter/InteralDemos/Server/Components/_Imports.razor similarity index 82% rename from src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor rename to src/Brouter/InteralDemos/Server/Components/_Imports.razor index df51ce0b7d..db2980d8f9 100644 --- a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/_Imports.razor +++ b/src/Brouter/InteralDemos/Server/Components/_Imports.razor @@ -7,9 +7,9 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Core +@using Bit.Brouter.Demos.Core.Pages +@using Bit.Brouter.Demos.Core.Shared @using Bit.Brouter.Demos.Server @using Bit.Brouter.Demos.Server.Components @using Bit.Brouter.Demos.Server.Components.Pages diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Program.cs b/src/Brouter/InteralDemos/Server/Program.cs similarity index 100% rename from src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Program.cs rename to src/Brouter/InteralDemos/Server/Program.cs diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json b/src/Brouter/InteralDemos/Server/Properties/launchSettings.json similarity index 100% rename from src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Properties/launchSettings.json rename to src/Brouter/InteralDemos/Server/Properties/launchSettings.json diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json b/src/Brouter/InteralDemos/Server/appsettings.json similarity index 100% rename from src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/appsettings.json rename to src/Brouter/InteralDemos/Server/appsettings.json diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj similarity index 85% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj index ef00001ffc..9c1c394755 100644 --- a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj +++ b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Bit.Brouter.Demos.Wasm.Client.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor similarity index 100% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/Pages/Host.razor diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor similarity index 81% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor index 34b2f9d63d..de7d38b47b 100644 --- a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor +++ b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/_Imports.razor @@ -7,8 +7,8 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Core +@using Bit.Brouter.Demos.Core.Pages +@using Bit.Brouter.Demos.Core.Shared @using Bit.Brouter.Demos.Wasm.Client.Components @using Bit.Brouter.Demos.Wasm.Client.Components.Pages diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs similarity index 100% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/Program.cs diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor similarity index 77% rename from src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor index a54cc81eef..8401f6aae6 100644 --- a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/_Imports.razor +++ b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm.Client/_Imports.razor @@ -7,6 +7,6 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Core +@using Bit.Brouter.Demos.Core.Pages +@using Bit.Brouter.Demos.Core.Shared diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj similarity index 84% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj index 0a5ec7623c..c943775470 100644 --- a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj +++ b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Bit.Brouter.Demos.Wasm.csproj @@ -8,9 +8,9 @@ - - + + diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor similarity index 76% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor index 3ab2cf21c9..8279f7d823 100644 --- a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor +++ b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Components/App.razor @@ -6,13 +6,13 @@ Bit.Brouter - WebAssembly demo (prerendering) - + - + diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor similarity index 100% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Components/Pages/Error.razor diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor similarity index 79% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor index 573a7654d2..46bfc74d8b 100644 --- a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor +++ b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Components/_Imports.razor @@ -7,7 +7,7 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared +@using Bit.Brouter.Demos.Core +@using Bit.Brouter.Demos.Core.Pages +@using Bit.Brouter.Demos.Core.Shared @using Bit.Brouter.Demos.Wasm.Client.Components diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs similarity index 100% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Program.cs diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json similarity index 100% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/Properties/launchSettings.json diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json b/src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json similarity index 100% rename from src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json rename to src/Brouter/InteralDemos/Wasm/Bit.Brouter.Demos.Wasm/appsettings.json diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml deleted file mode 100644 index 749a854d81..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs deleted file mode 100644 index 0095bdf3e1..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/App.xaml.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Bit.Brouter.Demo.Maui; - -public partial class App : Application -{ - public App() - { - InitializeComponent(); - - MainPage = new MainPage(); - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj deleted file mode 100644 index 45bafa9c64..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Bit.Brouter.Demo.Maui.csproj +++ /dev/null @@ -1,62 +0,0 @@ - - - - net10.0-android;net10.0-ios;net10.0-maccatalyst - $(TargetFrameworks);net10.0-windows10.0.19041.0 - net10.0-android - - - Exe - true - true - enable - false - - - Brouter Demo - - - com.bitplatform.brouter.demo - - - 1.0.0 - 1 - - - True - - $(NoWarn);ClassWithoutModifierAnalyzer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs deleted file mode 100644 index e748a80620..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Extensions/IServiceCollectionExtensions.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Microsoft.Extensions.DependencyInjection; - -public static class IServiceCollectionExtensions -{ - public static IServiceCollection AddMauiServices(this IServiceCollection services) - { - ArgumentNullException.ThrowIfNull(services); - - // Services registered in this class can be injected in Android, iOS, Windows, and macOS. - services.AddCoreServices(); - - return services; - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml deleted file mode 100644 index 8d0f1d6ca6..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs deleted file mode 100644 index fcc3270bdf..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MainPage.xaml.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Bit.Brouter.Demo.Maui; - -public partial class MainPage -{ - public MainPage() - { - InitializeComponent(); - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs deleted file mode 100644 index d01bb205a8..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/MauiProgram.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.Extensions.Logging; - -namespace Bit.Brouter.Demo.Maui; -public static class MauiProgram -{ - public static MauiApp CreateMauiApp() - { - var builder = MauiApp.CreateBuilder(); - builder.UseMauiApp(); - - builder.Services.AddMauiBlazorWebView(); - -#if DEBUG - builder.Services.AddBlazorWebViewDeveloperTools(); - builder.Logging.AddDebug(); -#endif - - builder.Services.AddMauiServices(); - - return builder.Build(); - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml deleted file mode 100644 index 37c84642ba..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/AndroidManifest.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs deleted file mode 100644 index 985d4d0285..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainActivity.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Android.App; -using Android.Content.PM; -using Android.OS; - -namespace Bit.Brouter.Demo.Maui; -[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] -public class MainActivity : MauiAppCompatActivity -{ -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs deleted file mode 100644 index 19c5cfaa07..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/MainApplication.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Android.App; -using Android.Runtime; - -namespace Bit.Brouter.Demo.Maui; -[Application] -public class MainApplication : MauiApplication -{ - public MainApplication(IntPtr handle, JniHandleOwnership ownership) - : base(handle, ownership) - { - } - - protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml deleted file mode 100644 index bac402e4d3..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Android/Resources/values/colors.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - #0065EF - #0065EF - #0065EF - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs deleted file mode 100644 index 628e637c75..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/AppDelegate.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Foundation; - -namespace Bit.Brouter.Demo.Maui; -[Register("AppDelegate")] -public class AppDelegate : MauiUIApplicationDelegate -{ - protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist deleted file mode 100644 index d87da40f14..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Entitlements.plist +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - com.apple.security.app-sandbox - - - com.apple.security.network.client - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist deleted file mode 100644 index 6fd53ea22d..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Info.plist +++ /dev/null @@ -1,25 +0,0 @@ - - - - - UIDeviceFamily - - 2 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - XSAppIconAssets - Assets.xcassets/appicon.appiconset - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs deleted file mode 100644 index c0a60264f2..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/MacCatalyst/Program.cs +++ /dev/null @@ -1,14 +0,0 @@ -using ObjCRuntime; -using UIKit; - -namespace Bit.Brouter.Demo.Maui; -public class Program -{ - // This is the main entry point of the application. - static void Main(string[] args) - { - // if you want to use a different Application Delegate class from "AppDelegate" - // you can specify it here. - UIApplication.Main(args, null, typeof(AppDelegate)); - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs deleted file mode 100644 index 947332c64e..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/Main.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using Microsoft.Maui; -using Microsoft.Maui.Hosting; - -namespace Bit.Brouter.Demo.Maui; - -internal class Program : MauiApplication -{ - protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); - - static void Main(string[] args) - { - var app = new Program(); - app.Run(args); - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml deleted file mode 100644 index 8449966265..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Tizen/tizen-manifest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - maui-appicon-placeholder - - - - - http://tizen.org/privilege/internet - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml deleted file mode 100644 index c0606d11f9..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs deleted file mode 100644 index 6747f04630..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/App.xaml.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.UI.Xaml; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace Bit.Brouter.Demo.Maui.WinUI; -/// -/// Provides application-specific behavior to supplement the default Application class. -/// -public partial class App : MauiWinUIApplication -{ - /// - /// Initializes the singleton application object. This is the first line of authored code - /// executed, and as such is the logical equivalent of main() or WinMain(). - /// - public App() - { - this.InitializeComponent(); - } - - protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest deleted file mode 100644 index b447c8609e..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/Package.appxmanifest +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - $placeholder$ - User Name - $placeholder$.png - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest deleted file mode 100644 index bfccd4cde2..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/Windows/app.manifest +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - true/PM - PerMonitorV2, PerMonitor - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs deleted file mode 100644 index 628e637c75..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/AppDelegate.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Foundation; - -namespace Bit.Brouter.Demo.Maui; -[Register("AppDelegate")] -public class AppDelegate : MauiUIApplicationDelegate -{ - protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist deleted file mode 100644 index ecb7f719bd..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - LSRequiresIPhoneOS - - UIDeviceFamily - - 1 - 2 - - UIRequiredDeviceCapabilities - - arm64 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - XSAppIconAssets - Assets.xcassets/appicon.appiconset - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs deleted file mode 100644 index c0a60264f2..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Platforms/iOS/Program.cs +++ /dev/null @@ -1,14 +0,0 @@ -using ObjCRuntime; -using UIKit; - -namespace Bit.Brouter.Demo.Maui; -public class Program -{ - // This is the main entry point of the application. - static void Main(string[] args) - { - // if you want to use a different Application Delegate class from "AppDelegate" - // you can specify it here. - UIApplication.Main(args, null, typeof(AppDelegate)); - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json deleted file mode 100644 index bc20df0c32..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Properties/launchSettings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "profiles": { - "Windows Machine": { - "commandName": "MsixPackage", - "nativeDebugging": false - } - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg deleted file mode 100644 index 184f4df738..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appicon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg deleted file mode 100644 index 4f2de530df..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/AppIcon/appiconfg.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - Br - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg deleted file mode 100644 index 246e0a2f6c..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/Resources/Splash/splash.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - Br - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html deleted file mode 100644 index c2ea20817a..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Maui/wwwroot/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - Bit.Brouter.Demo - - - - - - -
- - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj deleted file mode 100644 index 59a60e0ff0..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Bit.Brouter.Demo.Web.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - net10.0 - enable - enable - - - - - - - - - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs deleted file mode 100644 index 4c9e2a366a..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Extensions/IServiceCollectionExtensions.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Microsoft.Extensions.DependencyInjection; - -public static class IServiceCollectionExtensions -{ - public static IServiceCollection AddWebServices(this IServiceCollection services) - { - ArgumentNullException.ThrowIfNull(services); - - // Services being registered here can get injected in web (blazor web assembly & blazor server) - services.AddCoreServices(); - - return services; - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Program.cs b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Program.cs deleted file mode 100644 index c8c03af273..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Program.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Bit.Brouter.Demo.Core; -using Microsoft.AspNetCore.Components.Web; -using Microsoft.AspNetCore.Components.WebAssembly.Hosting; - -var builder = WebAssemblyHostBuilder.CreateDefault(args); - -builder.Services.AddWebServices(); - -builder.RootComponents.Add("#app"); -builder.RootComponents.Add("head::after"); - -await builder.Build().RunAsync(); diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json deleted file mode 100644 index eeebd1ea15..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/Properties/launchSettings.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "profiles": { - "Bit.Brouter.Demo.Web": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": true, - "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", - "applicationUrl": "http://localhost:5050;https://localhost:5051", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html deleted file mode 100644 index c9300ab7e2..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - Bit.Brouter.Demo - - - - - - -
- - - - - - diff --git a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js b/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js deleted file mode 100644 index 9ee1e923e4..0000000000 --- a/src/Brouter/InteralTests/Demo/Bit.Brouter.Demo.Web/wwwroot/sw.js +++ /dev/null @@ -1,14 +0,0 @@ -self.addEventListener('install', e => { - console.log('sw install'); - // Tell the browser to keep this worker alive until install work is done. - // Calling skipWaiting inside waitUntil makes the new worker activate as - // soon as install completes, without waiting for existing clients to close. - e.waitUntil(self.skipWaiting()); -}); - -self.addEventListener('activate', e => { - console.log('sw activate'); - // Take control of any already-open clients (tabs) so they start using this - // new worker immediately, without requiring a reload. - e.waitUntil(self.clients.claim()); -}); diff --git a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor b/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor deleted file mode 100644 index d8328ff062..0000000000 --- a/src/Brouter/InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto.Client/Components/BlazorRoutes.razor +++ /dev/null @@ -1,9 +0,0 @@ -@* - Standard Blazor router funneling every URL to the catch-all Host page; Brouter matches inside AppRouter. - Lives in the Client assembly for InteractiveAuto / WebAssembly interactivity. -*@ - - - - - diff --git a/src/Brouter/InteralTests/Demos/README.md b/src/Brouter/InteralTests/Demos/README.md deleted file mode 100644 index cca879e4df..0000000000 --- a/src/Brouter/InteralTests/Demos/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Bit.Brouter Demos - -Three Blazor Web App hosts that exercise the same routes and pages from `InteralTests/Demo/Bit.Brouter.Demo.Core` in every interactive render mode, with **server prerendering** enabled so Brouter matches the URL during `OnInitializedAsync` and the matched markup is in the initial HTML. - -| Folder | Render mode | Run | -|--------|-------------|-----| -| `Server/` | `InteractiveServer` | `dotnet run --project InteralTests/Demos/Server/Bit.Brouter.Demos.Server` | -| `Wasm/` | `InteractiveWebAssembly` | `dotnet run --project InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm` | -| `Auto/` | `InteractiveAuto` | `dotnet run --project InteralTests/Demos/Auto/Bit.Brouter.Demos.Auto` | - -## Verify prerendering - -```pwsh -dotnet run --project InteralTests/Demos/Server/Bit.Brouter.Demos.Server -# In another shell (no JS): -curl http://localhost:5181/counter/1234 -curl http://localhost:5181/profile/saleh -``` - -The response HTML should already contain the matched page content inside the Blazor prerender markers. - -## Wiring (all hosts) - -- `Components/App.razor` — host document; shared `app.css` from Core. -- `Components/BlazorRoutes.razor` — ASP.NET Core `Router` funneling every URL to the catch-all host page. -- `Components/Pages/Host.razor` — catch-all page rendering Core `AppRouter` (``). -- `Program.cs` — `AddCoreServices()` registers Brouter; `MapStaticAssets()` keeps `/_framework/*` out of the catch-all. - -`Wasm` and `Auto` include a `.Client` project so WebAssembly interactivity can load the same Core assembly in the browser. `BlazorRoutes` and the catch-all `Host` page live in the **Client** project (not the host), because components with `InteractiveWebAssembly` / `InteractiveAuto` must be defined in the WASM assembly. diff --git a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor b/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor deleted file mode 100644 index f9267b835a..0000000000 --- a/src/Brouter/InteralTests/Demos/Server/Bit.Brouter.Demos.Server/Components/BlazorRoutes.razor +++ /dev/null @@ -1,14 +0,0 @@ -@* - Standard Blazor router. Its only job here is endpoint routing: it funnels every request to - the single catch-all Host page (see Host.razor). The actual route matching is done by - Bit.Brouter inside that page's . DefaultLayout points at the shared MainLayout - from the Core project so every demo head looks identical. - - Named BlazorRoutes (not Routes) to avoid colliding with Bit.Brouter.Demo.Core.Routes, which - is in scope via _Imports. -*@ - - - - - diff --git a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor b/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor deleted file mode 100644 index 2d0d0e844b..0000000000 --- a/src/Brouter/InteralTests/Demos/Wasm/Bit.Brouter.Demos.Wasm.Client/Components/BlazorRoutes.razor +++ /dev/null @@ -1,12 +0,0 @@ -@* - Standard Blazor router. Its only job here is endpoint routing: it funnels every request to - the single catch-all Host page (see Host.razor). The actual route matching is done by - Bit.Brouter inside that page's . - - Lives in the Client assembly so InteractiveWebAssembly can resolve this root component. -*@ - - - - - diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj deleted file mode 100644 index d888687061..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Bit.Brouter.NewDemo.Server.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - net10.0 - enable - enable - - - - - - - - diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor deleted file mode 100644 index b9cf35a952..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/App.razor +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - Bit.Brouter - Prerendering demo - - - - - - - - - - - diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor deleted file mode 100644 index f9267b835a..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/BlazorRoutes.razor +++ /dev/null @@ -1,14 +0,0 @@ -@* - Standard Blazor router. Its only job here is endpoint routing: it funnels every request to - the single catch-all Host page (see Host.razor). The actual route matching is done by - Bit.Brouter inside that page's . DefaultLayout points at the shared MainLayout - from the Core project so every demo head looks identical. - - Named BlazorRoutes (not Routes) to avoid colliding with Bit.Brouter.Demo.Core.Routes, which - is in scope via _Imports. -*@ - - - - - diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor deleted file mode 100644 index cbb9103a44..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Error.razor +++ /dev/null @@ -1,27 +0,0 @@ -@page "/Error" -@using System.Diagnostics - -@* Static (non-interactive) error page used by app.UseExceptionHandler("/Error") in production. - A literal "/Error" route is more specific than Host.razor's catch-all, so the Blazor router - prefers this page when the exception handler re-executes the request. *@ - -
-

Error

-

An error occurred while processing your request.

- - @if (string.IsNullOrEmpty(RequestId) is false) - { -

Request ID: @RequestId

- } - - Back to home -
- -@code { - [CascadingParameter] private HttpContext? HttpContext { get; set; } - - private string? RequestId { get; set; } - - protected override void OnInitialized() => - RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; -} diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor deleted file mode 100644 index c31c973411..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/Pages/Host.razor +++ /dev/null @@ -1,20 +0,0 @@ -@* - Catch-all host page. The Blazor router maps EVERY url to this single page; from here on - Bit.Brouter's takes over and matches the real route. The catch-all template is - what lets deep links (e.g. /counter/1234, /profile/saleh) be requested directly and still be - prerendered server-side - Brouter now matches them during OnInitializedAsync, so the matched - page's HTML is in the initial response. - - MainLayout is supplied by the Blazor router (Routes.razor -> RouteView DefaultLayout), so we - only render AppRouter here and do not wrap it in a layout again. -*@ -@page "/" -@page "/{*path}" - - - -@code { - // Captured but unused: Brouter reads the live URL from NavigationManager itself. The - // parameter only exists so the catch-all route template is satisfied for arbitrary depths. - [Parameter] public string? Path { get; set; } -} diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor deleted file mode 100644 index 02b4d4c413..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Components/_Imports.razor +++ /dev/null @@ -1,15 +0,0 @@ -@using System.Net.Http -@using System.Net.Http.Json -@using Microsoft.AspNetCore.Components.Forms -@using Microsoft.AspNetCore.Components.Routing -@using Microsoft.AspNetCore.Components.Web -@using static Microsoft.AspNetCore.Components.Web.RenderMode -@using Microsoft.AspNetCore.Components.Web.Virtualization -@using Microsoft.JSInterop -@using Bit.Brouter -@using Bit.Brouter.Demo.Core -@using Bit.Brouter.Demo.Core.Pages -@using Bit.Brouter.Demo.Core.Shared -@using Bit.Brouter.NewDemo.Server -@using Bit.Brouter.NewDemo.Server.Components -@using Bit.Brouter.NewDemo.Server.Components.Pages diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs deleted file mode 100644 index 187aa2abc6..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Program.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Bit.Brouter.NewDemo.Server.Components; - -var builder = WebApplication.CreateBuilder(args); - -// Blazor Web App with interactive server components. Prerendering is on by default for the -// InteractiveServer render mode, which is exactly what this demo is meant to showcase: the -// Brouter now matches the current URL during the server prerender pass (in OnInitializedAsync) -// instead of waiting for OnAfterRenderAsync, so the matched route's markup is present in the -// initial HTML response before the SignalR circuit connects. -builder.Services.AddRazorComponents() - .AddInteractiveServerComponents(); - -// Registers IBrouter / BrouterService and the Brouter options (via the shared Core extension). -builder.Services.AddCoreServices(); - -var app = builder.Build(); - -if (app.Environment.IsDevelopment() is false) -{ - app.UseExceptionHandler("/Error", createScopeForErrors: true); - app.UseHsts(); -} - -app.UseHttpsRedirection(); - -app.UseAntiforgery(); - -// Registers the framework + project static web assets (blazor.web.js, _content/* css, etc.) as -// ENDPOINTS. This is essential here: Host.razor uses a catch-all "/{*path}" page route so Brouter -// can match any URL, and a catch-all endpoint would otherwise swallow requests for -// /_framework/blazor.web.js (returning HTML instead of JS, which kills hydration). MapStaticAssets -// gives those assets dedicated, higher-precedence endpoints so they win over the catch-all. -app.MapStaticAssets(); - -app.MapRazorComponents() - .AddInteractiveServerRenderMode(); - -app.Run(); diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json deleted file mode 100644 index 7a5bda1bfc..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/Properties/launchSettings.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "profiles": { - "Bit.Brouter.NewDemo.Server": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": true, - "applicationUrl": "https://localhost:7180;http://localhost:5180", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json b/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json deleted file mode 100644 index 10f68b8c8b..0000000000 --- a/src/Brouter/InteralTests/NewDemo/Bit.Brouter.NewDemo.Server/appsettings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/src/Brouter/InteralTests/NewDemo/README.md b/src/Brouter/InteralTests/NewDemo/README.md deleted file mode 100644 index a246db11e4..0000000000 --- a/src/Brouter/InteralTests/NewDemo/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# Bit.Brouter NewDemo - -A Blazor Web App (interactive server render mode) that showcases **server pre-rendering** with -Bit.Brouter. - -## Why this demo exists - -The original demo heads (`InteralTests/Demo/Bit.Brouter.Demo.Web` and `...Maui`) run Brouter in a client-only -runtime (WebAssembly / BlazorWebView), where pre-rendering doesn't apply. This project hosts the -exact same routes - it references `InteralTests/Demo/Bit.Brouter.Demo.Core` - inside an ASP.NET Core server with -the `InteractiveServer` render mode, which pre-renders on the server by default. - -## What it proves - -`Brouter` runs its initial route match in `OnInitializedAsync` (not `OnAfterRenderAsync`). Because -the Blazor server awaits `OnInitializedAsync` during the pre-render pass, the matched route's markup -is part of the initial HTML response - before the SignalR circuit connects and before any JS runs. - -You can confirm this without a browser: - -```pwsh -# Run the server -dotnet run --project InteralTests/NewDemo/Bit.Brouter.NewDemo.Server - -# In another shell, request a deep link and inspect the RAW html (no JS executed). -# The matched page's content appears INSIDE the markers. -curl http://localhost:5180/counter/1234 -curl http://localhost:5180/profile/saleh -``` - -For `/counter/1234` the pre-rendered HTML already contains the counter heading, the bound -`init=1234` route parameter, and the `Counter` nav link marked `aria-current="page"`. - -## How it's wired - -- `Components/App.razor` - the host document. Loads the shared `app.css` from the Core project and - renders `BlazorRoutes` + `HeadOutlet` with `@rendermode="InteractiveServer"`. -- `Components/BlazorRoutes.razor` - the standard Blazor `Router`. Its only job is endpoint routing: - it funnels every request to the catch-all host page. (Named `BlazorRoutes` to avoid colliding with - `Bit.Brouter.Demo.Core.Routes`.) -- `Components/Pages/Host.razor` - a catch-all (`/{*path}`) page that renders the Core project's - `AppRouter` (which contains the ``). Brouter does the real route matching from here. -- `Program.cs` - standard Blazor Web App startup; `AddCoreServices()` registers `IBrouter`. - -## Run - -```pwsh -dotnet run --project InteralTests/NewDemo/Bit.Brouter.NewDemo.Server -``` - -Then browse to (or the HTTPS URL from `launchSettings.json`).