diff --git a/.project-docs/30-worklog/tasks/20260821-remember-below-login-4a7c91d2.md b/.project-docs/30-worklog/tasks/20260821-remember-below-login-4a7c91d2.md new file mode 100644 index 0000000..f74908f --- /dev/null +++ b/.project-docs/30-worklog/tasks/20260821-remember-below-login-4a7c91d2.md @@ -0,0 +1,47 @@ +# Task: Move remember password below login button + +## Identity + +- Task ID: 20260821-remember-below-login-4a7c91d2 +- Mode: Feature +- Branch: codex/20260821-remember-below-login-4a7c91d2-remember-below-login +- Worktree: D:\w\makelore-remember-below-login-4a7c91d2 +- Base commit: eedd20d0618f64b525c53a3362a74eddeebd4421 +- Owner: codex +- Status: Ready for Integration + +## Scope + +- Move the password-login “记住密码” control directly below the login button and above the shared agreement control. +- Preserve the existing remembered-password state, availability, submission, and secure-storage behavior. +- Add focused unit and Electron smoke coverage for the new control order. + +## Intent And Constraints + +- Treat the supplied login screenshot as the visual reference: password field → login button → remember-password control → agreement. +- Keep this as a Renderer layout-only change; do not alter Main-owned credential persistence, Works Square authentication, form validation, or spacing tokens. +- Work only in the isolated feature worktree because local `main` remains owned by the existing remember-password integration task. + +## Outcome + +- Reordered the existing login button and remember-password label in the password form. +- Added a DOM-order assertion to the login-page unit test. +- Extended the shared Electron login smoke with a rendered-bounds assertion proving that the remember-password checkbox appears below the login button. +- No authentication, persistence, API, or styling behavior changed. + +## Verification + +- `pnpm exec vitest run tests/unit/login-page.test.tsx` — 1 file / 13 tests passed. +- `pnpm exec eslint src/pages/Login/index.tsx tests/unit/login-page.test.tsx tests/e2e/app-smoke.spec.ts` — passed. +- `pnpm run typecheck` — passed. +- `pnpm run build:vite` — Renderer, Electron Main, preload, and utility worker builds passed; existing dynamic-import and large-chunk advisory warnings remain. +- `pnpm exec playwright test tests/e2e/app-smoke.spec.ts --grep 'can skip setup and open the native login surface'` — 1 Electron smoke passed. +- `git diff --check` — passed with repository line-ending conversion notices only. + +## Follow-ups + +- Integrate the isolated feature branch into local `main` when its current integration ownership and documentation-drift blocker are resolved or explicitly taken over. + +## Promotion Candidates + +- None. This is a local presentation-order correction and does not change the canonical remember-password boundary or product behavior. diff --git a/src/pages/Login/index.tsx b/src/pages/Login/index.tsx index 75965fb..4df35e0 100644 --- a/src/pages/Login/index.tsx +++ b/src/pages/Login/index.tsx @@ -392,6 +392,10 @@ export function Login() { setPassword(event.target.value)} /> + 记住密码 - ) : (