fix: resolve admin interactivity by unifying to Server render mode
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m17s
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m17s
Problem: Mixed WebAssembly (App) and Server (Login) render modes caused interaction breakage after login. Panels, accordions, and menu selections failed because render mode changed during page navigation. Solution: Unified all admin components to InteractiveServerRenderMode for consistent interactivity: - App.razor: Routes and HeadOutlet use InteractiveServerRenderMode - Login.razor: Already uses InteractiveServerRenderMode - Program.cs: Removed WebAssembly component registration Updated validation script to require Server mode instead of WebAssembly for admin shell. This ensures: ✅ Consistent render mode throughout admin UI ✅ Reliable component interactivity (panels, accordions, menus) ✅ Stable page navigation and state management Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -37,7 +37,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<MudThemeProvider @bind-IsDarkMode="isDarkMode" Theme="mudTheme" />
|
<MudThemeProvider @bind-IsDarkMode="isDarkMode" Theme="mudTheme" />
|
||||||
<Routes @rendermode="new InteractiveWebAssemblyRenderMode(prerender: true)" />
|
<Routes @rendermode="new InteractiveServerRenderMode(prerender: true)" />
|
||||||
<script src="/taxbaik/_content/MudBlazor/MudBlazor.min.js"></script>
|
<script src="/taxbaik/_content/MudBlazor/MudBlazor.min.js"></script>
|
||||||
<script src="/taxbaik/js/admin-session.js"></script>
|
<script src="/taxbaik/js/admin-session.js"></script>
|
||||||
<script src="/taxbaik/_framework/blazor.web.js"></script>
|
<script src="/taxbaik/_framework/blazor.web.js"></script>
|
||||||
|
|||||||
@@ -71,11 +71,10 @@ builder.Services.AddRateLimiter(options =>
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Razor Pages + Blazor Server/WebAssembly 통합
|
// Razor Pages + Blazor Server 통합
|
||||||
builder.Services.AddRazorPages();
|
builder.Services.AddRazorPages();
|
||||||
builder.Services.AddRazorComponents()
|
builder.Services.AddRazorComponents()
|
||||||
.AddInteractiveServerComponents()
|
.AddInteractiveServerComponents();
|
||||||
.AddInteractiveWebAssemblyComponents();
|
|
||||||
builder.Services.Configure<Microsoft.AspNetCore.Components.Server.CircuitOptions>(options =>
|
builder.Services.Configure<Microsoft.AspNetCore.Components.Server.CircuitOptions>(options =>
|
||||||
{
|
{
|
||||||
options.DetailedErrors = true;
|
options.DetailedErrors = true;
|
||||||
@@ -391,8 +390,6 @@ app.MapStaticAssets();
|
|||||||
// 인증은 Blazor AuthorizeRouteView → RedirectToLogin 에서 처리한다.
|
// 인증은 Blazor AuthorizeRouteView → RedirectToLogin 에서 처리한다.
|
||||||
app.MapRazorComponents<TaxBaik.Web.Components.Admin.App>()
|
app.MapRazorComponents<TaxBaik.Web.Components.Admin.App>()
|
||||||
.AddInteractiveServerRenderMode()
|
.AddInteractiveServerRenderMode()
|
||||||
.AddInteractiveWebAssemblyRenderMode()
|
|
||||||
.AddAdditionalAssemblies(typeof(TaxBaik.WasmClient._Imports).Assembly)
|
|
||||||
.AllowAnonymous();
|
.AllowAnonymous();
|
||||||
|
|
||||||
// 애플리케이션 시작/종료 로깅
|
// 애플리케이션 시작/종료 로깅
|
||||||
|
|||||||
@@ -11,12 +11,12 @@ for file in "$app_file" "$login_file"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if ! grep -nE "InteractiveWebAssemblyRenderMode\\(prerender: true\\)" "$app_file" >/dev/null; then
|
if ! grep -nE "InteractiveServerRenderMode\\(prerender: true\\)" "$app_file" >/dev/null; then
|
||||||
echo "Admin shell must use InteractiveWebAssemblyRenderMode(prerender: true)." >&2
|
echo "Admin shell must use InteractiveServerRenderMode(prerender: true)." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if grep -nE "InteractiveServerRenderMode|prerender: true" "$app_file" | grep -v "InteractiveWebAssemblyRenderMode(prerender: true)" >/dev/null; then
|
if grep -nE "InteractiveWebAssemblyRenderMode|prerender: true" "$app_file" | grep -v "InteractiveServerRenderMode(prerender: true)" >/dev/null; then
|
||||||
echo "Admin shell render mode violation detected." >&2
|
echo "Admin shell render mode violation detected." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user