Skip to content

Robust multi-step pre-screening flow (navigation, validation, progre…#1300

Merged
pope-h merged 1 commit into
Shelterflex:mainfrom
Nemenwq:gallery
Jun 30, 2026
Merged

Robust multi-step pre-screening flow (navigation, validation, progre…#1300
pope-h merged 1 commit into
Shelterflex:mainfrom
Nemenwq:gallery

Conversation

@Nemenwq

@Nemenwq Nemenwq commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

The pre-screening flow has been refactored with all acceptance criteria met:

closes #1271

Summary of Changes

  1. URL State Management (PreScreenClient.tsx)

Step stored in URL query parameter (?step=N)
Refresh preserves current step and form data
URL syncs with step changes using useRouter and usePathname
2. Form Validation (formSchemas.ts)

Added preScreenSchema with Zod validation for all fields
Integrated useAppForm hook for form management
Per-step validation blocks invalid advancement
First error field auto-focused on validation failure
3. Enhanced Progress Indicator

Added "Step N of M" text display
Percentage completion indicator
Visual step indicator with completed/current/pending states
4. Accessibility Features

Keyboard navigation with proper focus states
ARIA labels, roles, and live regions for screen readers
Step change announcements via aria-live="polite"
Error messages announced with aria-describedby and aria-invalid
All form fields properly labeled
Focus management on validation errors
5. Data Preservation

Back/forward navigation preserves form data via react-hook-form state
Draft auto-save via useAppForm's localStorage integration
Resume prompt for users with saved drafts
6. Clear End Result

EligibilityResultCard displays pass/fail status
Clear next steps (Browse Properties / Start Over)

  • Which contract is being upgraded
  • Why the upgrade is needed
  • Link to any discussion/issues

Linked issue (recommended)

Example: Closes #123

Changes

This section is required for CI PR validation.

Contract Upgrade Details (if applicable)

This section is required for CI PR validation if this is a contract upgrade.

Network

  • Testnet
  • Mainnet

New Contract

  • Contract ID: C...
  • WASM Hash: sha256:...
  • Deployer Public Key: G...
  • Deploy Transaction: [link to transaction explorer]

Upgrade Governance

  • Admin/upgrade authority is a multisig requiring maintainer sign-off
  • Maintainer has reviewed and approved the upgrade
  • Upgrade transaction is ready for maintainer signature (provide transaction XDR if applicable)

Verification Steps

  • New contract deployed successfully
  • All existing tests pass against the new contract
  • Manual testing checklist completed (describe what you tested)
  • No breaking changes for existing integrations (or list them)

How to test

This section is required for CI PR validation.

  • All automated tests pass
  • Integration tests pass (if applicable)
  • Manual testing completed (describe what you tested)

Security Considerations

This section is required for CI PR validation.

  • No secrets or sensitive data are logged
  • No changes to authentication/authorization logic without review
  • No changes to admin/upgrade logic without review

Screenshots (if UI)

Include before/after screenshots for any UI changes. For new features, show different states (loading, error, success). For responsive changes, include mobile/tablet/desktop views.

Checklist

This section is required for CI PR validation.

  • I linked an issue (or explained why one is not needed)
  • I tested locally
  • I did not commit secrets
  • I updated docs if needed
  • Code follows the project's style guidelines
  • CI checks pass
  • If UI changes: I included before/after screenshots
  • If images added/changed: I verified they are optimized and accessible

@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown

@Nemenwq is attempting to deploy a commit to the pope-h's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 30, 2026

Copy link
Copy Markdown

@Nemenwq Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@pope-h
pope-h merged commit c0243d5 into Shelterflex:main Jun 30, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Frontend: Robust multi-step pre-screening flow (navigation, validation, progress, a11y)

2 participants