Groom wizard steps 1-15: critique/harden/polish pass

- [P0] CrematoriumStep: Fix <option> → <MenuItem> in priority select
- [P1] All form steps: Add aria-busy={loading} + loading guard on submit
- [P1] Error messages: Replace color="error" (red) with copper
  (var(--fa-color-text-brand)) across ProvidersStep, PackagesStep,
  VenueStep, CrematoriumStep, CemeteryStep, CoffinsStep, PaymentStep
- [P2] IntroStep: "Has the person died?" → "Has this person passed away?"
- [P2] DateTimeStep: "About the person who died" → "who has passed"
- [P2] ProvidersStep: "Showing results from X" → "X providers found"
- [P2] Empty states: Add guidance text for ProvidersStep, PackagesStep,
  VenueStep, CoffinsStep empty results

Steps 4, 13, 15 passed with no issues.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-29 15:33:01 +11:00
parent 826496e645
commit 87249b6d9b
12 changed files with 112 additions and 29 deletions

View File

@@ -221,7 +221,11 @@ export const PackagesStep: React.FC<PackagesStepProps> = ({
{/* Error message */}
{error && (
<Typography variant="body2" color="error" sx={{ mb: 2 }} role="alert">
<Typography
variant="body2"
sx={{ mb: 2, color: 'var(--fa-color-text-brand)' }}
role="alert"
>
{error}
</Typography>
)}
@@ -262,9 +266,12 @@ export const PackagesStep: React.FC<PackagesStepProps> = ({
{packages.length === 0 && (
<Box sx={{ py: 6, textAlign: 'center' }}>
<Typography variant="body1" color="text.secondary">
<Typography variant="body1" color="text.secondary" sx={{ mb: 1 }}>
No packages match the selected budget range.
</Typography>
<Typography variant="body2" color="text.secondary">
Try selecting &quot;All packages&quot; to see the full range.
</Typography>
</Box>
)}
</Box>