imperfectandcompany / Imperfect-Gamers-Site-Store

Our robust community site integrating Steam for enhanced user interactions and data management, powered by Remix with Tailwind CSS for optimistic, responsive UI. Features CI/CD with GitHub Actions and Docker for seamless deployment and maintenance.
https://store.imperfectgamers.org/
Other
0 stars 0 forks source link

Implement UI/UX Feedback for Interactions on Failed Submissions and Validation Errors for forms #53

Closed cheesea3 closed 1 month ago

cheesea3 commented 2 months ago

Description

To improve user interaction and feedback in our application, we need to enhance the UI/UX behavior in various modal forms. Specifically, we aim to provide visual feedback during failed submissions and when validation errors occur before making backend calls. This will involve implementing subtle, yet effective animations and visual cues to guide the user.

Proposed Enhancements

  1. Failed Submission Feedback:

    • Introduce a button loading animation to indicate processing during submission attempts. This animation should persist until a response is received, informing the user that their action is being processed.
    • Example components affected:
      • Button.tsx: Implement a loading state with a spinning animation or progress indicator that can be activated via props without changing the button's size or layout.
  2. Validation Error Feedback:

    • Implement a visual cue, such as shaking the input form or the specific input field, when the user attempts to submit a form that doesn't meet the required validations.
    • Example components affected:
      • Input.tsx: Add a shaking animation on validation error which can be triggered conditionally, this immediate user feedback would be essential.

Additional Proposal: Refactor AuthForms to a Generic Form Container

Technical Considerations

Integration with Existing Technologies

Directive for GitHub Copilot

Components to Integrate

Implementation Outline

  1. Update Button.tsx to accept a loading prop and implement a conditional rendering strategy for visual feedback during the loading state.
  2. Enhance Input.tsx to trigger visual feedback upon detection of validation errors using Zod schemas.
  3. Ensure seamless integration of these updates in AuthForms.tsx, LoginForm.tsx, SignUpForm.tsx, AuthorizeForm.tsx, and UsernameForm.tsx where form submissions occur.
  4. Comprehensive testing across all levels using Vitest, ensuring new interactions are functional and visually consistent without regressions.

Future AI Considerations

Milestone

This issue falls under the Milestone 7: User Interface Polish as it directly relates to enhancing the user interface and interaction experience.