feature: implement persistent login username and remember-me checkbox
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m42s

Problem: Login form showed remembered username from localStorage, but didn't
restore the 'remember me' checkbox state. Users had to re-check the box on
each login attempt, defeating the purpose of the remember feature.

Solution:
1. AdminLoginForm: Add isRememberChecked field and RememberedCheckboxKey constant
2. OnInitializedAsync: Restore both username AND checkbox state from localStorage
3. admin-session.js bindLoginForm: Restore checkbox.checked from localStorage
4. admin-session.js submit handler: Save checkbox state alongside username

Result: Complete round-trip persistence - when user checks 'remember me' and
logs in, both username and checkbox state persist until explicitly cleared.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-07-03 11:19:55 +09:00
parent 29910d4d1b
commit e044acea17
2 changed files with 20 additions and 0 deletions
@@ -40,18 +40,23 @@
@code {
private string rememberedUsername = "";
private bool isRememberChecked = false;
private bool isReady;
private const string RememberedUsernameKey = "admin-remembered-username";
private const string RememberedCheckboxKey = "admin-remember-checkbox";
protected override async Task OnInitializedAsync()
{
try
{
rememberedUsername = await LocalStorageService.GetItemAsStringAsync(RememberedUsernameKey) ?? "";
var checkboxValue = await LocalStorageService.GetItemAsStringAsync(RememberedCheckboxKey) ?? "false";
isRememberChecked = checkboxValue == "true" && !string.IsNullOrEmpty(rememberedUsername);
}
catch
{
rememberedUsername = "";
isRememberChecked = false;
}
}