diff --git a/src/Templates/src/templates/maui-blazor-solution/.template.config/template.json b/src/Templates/src/templates/maui-blazor-solution/.template.config/template.json index 0254c7879659..2e3cbeb02fae 100644 --- a/src/Templates/src/templates/maui-blazor-solution/.template.config/template.json +++ b/src/Templates/src/templates/maui-blazor-solution/.template.config/template.json @@ -65,7 +65,8 @@ "copyOnly": [ "**/wwwroot/lib/bootstrap/**", "**/*.svg", - "**/*.ttf" + "**/*.ttf", + "**/*.razor.js" ], "modifiers": [ { @@ -289,7 +290,10 @@ "sourceVariableName": "kestrelHttpPort", "fallbackVariableName": "kestrelHttpPortGenerated" }, - "replaces": "5500" + "replaces": "5500", + "onlyIf": [{ + "after": "localhost:" + }] }, "kestrelHttpsPort": { "type": "parameter", @@ -311,7 +315,10 @@ "sourceVariableName": "kestrelHttpsPort", "fallbackVariableName": "kestrelHttpsPortGenerated" }, - "replaces": "5501" + "replaces": "5501", + "onlyIf": [{ + "after": "localhost:" + }] }, "iisHttpPort": { "type": "parameter", diff --git a/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Shared/Layout/NavMenu.razor b/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Shared/Layout/NavMenu.razor index 0f946f9fccef..278de4ae610c 100644 --- a/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Shared/Layout/NavMenu.razor +++ b/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Shared/Layout/NavMenu.razor @@ -4,6 +4,7 @@ @inject NavigationManager NavigationManager ##endif*@ +@* NavMenu.razor.js is also loaded early from index.html so the document-level delegated collapse handler is ready before Hybrid renders this menu (no SSR prerender). The module is idempotent via globalThis.__mauiNavMenuCollapseInitialized, so listeners register once. *@ diff --git a/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Web/Components/Layout/ReconnectModal.razor.css b/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Web/Components/Layout/ReconnectModal.razor.css index 3ad3773f39db..77e79175b2bb 100644 --- a/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Web/Components/Layout/ReconnectModal.razor.css +++ b/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Web/Components/Layout/ReconnectModal.razor.css @@ -31,13 +31,10 @@ opacity: 0; transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete; animation: components-reconnect-modal-fadeOutOpacity 0.5s both; - &[open] - -{ - animation: components-reconnect-modal-slideUp 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity 0.5s ease-in-out 0.3s; - animation-fill-mode: both; -} - + &[open] { + animation: components-reconnect-modal-slideUp 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity 0.5s ease-in-out 0.3s; + animation-fill-mode: both; + } } #components-reconnect-modal::backdrop { diff --git a/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Web/Components/Layout/ReconnectModal.razor.js b/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Web/Components/Layout/ReconnectModal.razor.js index e52a190bacbb..a44de78d836d 100644 --- a/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Web/Components/Layout/ReconnectModal.razor.js +++ b/src/Templates/src/templates/maui-blazor-solution/MauiApp.1.Web/Components/Layout/ReconnectModal.razor.js @@ -52,7 +52,7 @@ async function resume() { location.reload(); } } catch { - location.reload(); + reconnectModal.classList.replace("components-reconnect-paused", "components-reconnect-resume-failed"); } } diff --git a/src/Templates/src/templates/maui-blazor-solution/MauiApp.1/wwwroot/index.html b/src/Templates/src/templates/maui-blazor-solution/MauiApp.1/wwwroot/index.html index 95bdeebf0c9a..6fdb4e39525c 100644 --- a/src/Templates/src/templates/maui-blazor-solution/MauiApp.1/wwwroot/index.html +++ b/src/Templates/src/templates/maui-blazor-solution/MauiApp.1/wwwroot/index.html @@ -21,6 +21,10 @@
Loading...
+ + + + diff --git a/src/Templates/src/templates/maui-blazor/.template.config/template.json b/src/Templates/src/templates/maui-blazor/.template.config/template.json index 94d323cf9e67..f92039123c61 100644 --- a/src/Templates/src/templates/maui-blazor/.template.config/template.json +++ b/src/Templates/src/templates/maui-blazor/.template.config/template.json @@ -52,7 +52,8 @@ "copyOnly": [ "**/wwwroot/lib/bootstrap/**", "**/*.svg", - "**/*.ttf" + "**/*.ttf", + "**/*.razor.js" ], "modifiers": [ { diff --git a/src/Templates/src/templates/maui-blazor/Components/Layout/NavMenu.razor b/src/Templates/src/templates/maui-blazor/Components/Layout/NavMenu.razor index 5934a7f29966..b854f1613107 100644 --- a/src/Templates/src/templates/maui-blazor/Components/Layout/NavMenu.razor +++ b/src/Templates/src/templates/maui-blazor/Components/Layout/NavMenu.razor @@ -1,4 +1,5 @@ - +@* NavMenu.razor.js is also loaded early from index.html so the document-level delegated collapse handler is ready before Hybrid renders this menu (no SSR prerender). The module is idempotent via globalThis.__mauiNavMenuCollapseInitialized, so listeners register once. *@ +