fix(03): revise plans based on checker feedback
This commit is contained in:
@@ -3,7 +3,7 @@ phase: 03-interaction-quality-and-completeness
|
||||
plan: 01
|
||||
type: execute
|
||||
wave: 1
|
||||
depends_on: []
|
||||
depends_on: ["03-00"]
|
||||
files_modified:
|
||||
- frontend/src/components/InlineEditCell.tsx
|
||||
- frontend/src/components/InlineEditCell.test.tsx
|
||||
@@ -49,10 +49,12 @@ must_haves:
|
||||
---
|
||||
|
||||
<objective>
|
||||
Add pencil icon hover affordance and save/error callbacks to InlineEditCell, plus loading spinners to all four form submit buttons.
|
||||
Add pencil icon hover affordance and save/error callbacks to InlineEditCell, plus loading spinners to three form submit buttons (Login, Register, Budget Create).
|
||||
|
||||
Purpose: Make inline editing discoverable (pencil icon on hover) and prepare the callback interface for row-level flash feedback in downstream plans. Make form submissions feel responsive with spinner indicators.
|
||||
Output: Enhanced InlineEditCell with pencil + callbacks, spinner-enabled Login/Register/BudgetSetup forms.
|
||||
|
||||
Note: CONTEXT.md specifies spinners on "all four forms: Login, Register, Budget Create, Budget Edit." No Budget Edit form component exists in the codebase — only BudgetSetup (create-only). Budget Edit spinner is deferred until that form is built. This plan covers the 3 existing forms.
|
||||
</objective>
|
||||
|
||||
<execution_context>
|
||||
@@ -151,10 +153,12 @@ export function formatCurrency(value: number, currency: string): string
|
||||
- Add `className="min-w-[120px]"` to Button.
|
||||
- Replace button text with: `{saving ? <Spinner /> : t('budget.create')}`
|
||||
|
||||
Note: CONTEXT.md mentions "Budget Edit" as a fourth form, but no Budget Edit component exists in the codebase (BudgetSetup is create-only). Spinner for Budget Edit is deferred until that form is created.
|
||||
|
||||
Do NOT modify any other logic in these files — only the Button content and className.
|
||||
</action>
|
||||
<verify>
|
||||
<automated>cd /home/jean-luc-makiola/Development/projects/SimpleFinanceDash/frontend && bun vitest run src/pages/LoginPage.test.tsx src/pages/RegisterPage.test.tsx && bun run build</automated>
|
||||
<automated>cd /home/jean-luc-makiola/Development/projects/SimpleFinanceDash/frontend && bun vitest run src/pages/LoginPage.test.tsx src/pages/RegisterPage.test.tsx src/components/BudgetSetup.test.tsx && bun run build</automated>
|
||||
</verify>
|
||||
<done>All three form submit buttons show Spinner component when loading/saving state is true, buttons are disabled during loading, min-width prevents layout shift. Build passes with zero errors.</done>
|
||||
</task>
|
||||
@@ -171,6 +175,7 @@ export function formatCurrency(value: number, currency: string): string
|
||||
- Pencil icon renders in InlineEditCell display mode (opacity-0, visible on hover via CSS)
|
||||
- onSaveSuccess fires after successful save; onSaveError fires and reverts value on failure
|
||||
- Login, Register, BudgetSetup buttons show Spinner when loading, disabled to prevent double-submit
|
||||
- Budget Edit spinner is explicitly deferred (no form component exists yet)
|
||||
- All existing tests continue to pass; new tests cover the added behaviors
|
||||
</success_criteria>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user