diff --git a/TaxBaik.Web/Components/Admin/App.razor b/TaxBaik.Web/Components/Admin/App.razor
index cd8ce64..2c1706d 100644
--- a/TaxBaik.Web/Components/Admin/App.razor
+++ b/TaxBaik.Web/Components/Admin/App.razor
@@ -20,7 +20,7 @@
window.location.pathname.toLowerCase().endsWith('/admin/login'));
-
+
@@ -37,7 +37,7 @@
-
+
diff --git a/TaxBaik.Web/Components/Admin/Pages/Login.razor b/TaxBaik.Web/Components/Admin/Pages/Login.razor
index c04af83..3c7a02d 100644
--- a/TaxBaik.Web/Components/Admin/Pages/Login.razor
+++ b/TaxBaik.Web/Components/Admin/Pages/Login.razor
@@ -1,6 +1,6 @@
@page "/admin/login"
@layout TaxBaik.Web.Components.Admin.Layout.BlankLayout
@attribute [AllowAnonymous]
-@rendermode @(new InteractiveServerRenderMode(prerender: true))
+@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: true))
로그인
diff --git a/TaxBaik.Web/Program.cs b/TaxBaik.Web/Program.cs
index 7330d89..d533011 100644
--- a/TaxBaik.Web/Program.cs
+++ b/TaxBaik.Web/Program.cs
@@ -71,10 +71,10 @@ builder.Services.AddRateLimiter(options =>
});
});
-// Razor Pages + Blazor Server 통합
+// Razor Pages + Blazor WebAssembly 통합
builder.Services.AddRazorPages();
builder.Services.AddRazorComponents()
- .AddInteractiveServerComponents();
+ .AddInteractiveWebAssemblyComponents();
builder.Services.Configure(options =>
{
options.DetailedErrors = true;
@@ -389,7 +389,8 @@ app.MapStaticAssets();
// AllowAnonymous: JWT 미들웨어가 Blazor 셸 요청을 401로 차단하지 않도록 한다.
// 인증은 Blazor AuthorizeRouteView → RedirectToLogin 에서 처리한다.
app.MapRazorComponents()
- .AddInteractiveServerRenderMode()
+ .AddInteractiveWebAssemblyRenderMode()
+ .AddAdditionalAssemblies(typeof(TaxBaik.WasmClient._Imports).Assembly)
.AllowAnonymous();
// 애플리케이션 시작/종료 로깅
diff --git a/scripts/validate_admin_render.sh b/scripts/validate_admin_render.sh
index dcfee91..489ae2f 100644
--- a/scripts/validate_admin_render.sh
+++ b/scripts/validate_admin_render.sh
@@ -11,18 +11,18 @@ for file in "$app_file" "$login_file"; do
fi
done
-if ! grep -nE "InteractiveServerRenderMode\\(prerender: true\\)" "$app_file" >/dev/null; then
- echo "Admin shell must use InteractiveServerRenderMode(prerender: true)." >&2
+if ! grep -nE "InteractiveWebAssemblyRenderMode\\(prerender: true\\)" "$app_file" >/dev/null; then
+ echo "Admin shell must use InteractiveWebAssemblyRenderMode(prerender: true)." >&2
exit 1
fi
-if grep -nE "InteractiveWebAssemblyRenderMode|prerender: true" "$app_file" | grep -v "InteractiveServerRenderMode(prerender: true)" >/dev/null; then
+if grep -nE "InteractiveServerRenderMode|prerender: true" "$app_file" | grep -v "InteractiveWebAssemblyRenderMode(prerender: true)" >/dev/null; then
echo "Admin shell render mode violation detected." >&2
exit 1
fi
-if ! grep -nE "InteractiveServerRenderMode\\(prerender: true\\)" "$login_file" >/dev/null; then
- echo "Login page must allow server prerender." >&2
+if ! grep -nE "InteractiveWebAssemblyRenderMode\\(prerender: true\\)" "$login_file" >/dev/null; then
+ echo "Login page must use InteractiveWebAssemblyRenderMode(prerender: true)." >&2
exit 1
fi