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

Refine Modal Closability Conditions to Ensure Accurate User Interaction Handling #76

Closed cheesea3 closed 1 month ago

cheesea3 commented 1 month ago

To ensure a seamless user experience and prevent data loss, we need to refine the modal closability logic within our application. This involves enhancing the accuracy of the conditions under which modals can be closed, particularly during sensitive operations like form submissions, third-party integrations, or while significant processes are underway.

Objective:

Scope:

  1. Tebex Checkout: Ensure modals do not close when the Tebex checkout process is active.
  2. Steam Integration: Block modal closure during the active Steam OAuth popup.
  3. Form Submissions: Prevent closing when there's unsaved user input or during an ongoing submission process.

Proposed Changes:

Technical Implementation:

Testing:

Documentation:

Acceptance Criteria:

cheesea3 commented 1 month ago
  1. Signup Modal Behavior:

    • Issue: Confirm password field disappears if initial password criteria are no longer met, leaving modal in a "filled" state.
    • Suggestion: Automatically clear the confirm password if the first password input no longer meets criteria.
  2. Main Screen Navigation:

    • Issue: Modal does not allow closing if navigated back to main screen without submitting login/signup data.
    • Suggestion: Implement cleanup functions before navigation to prevent modal lock-up.
  3. Steam Activation Screen:

    • Observation: Modal refocuses the window if an attempt to close it is made during the Steam OAuth process. Closes correctly if the Steam popup is closed.
    • Status: Behavior is as intended and optimal.
  4. Tebex Checkout Interaction:

    • Observation: After canceling a Tebex checkout, the modal can be closed without issues.
    • Status: Proper handling of modal state post-integration.
  5. Cookie Consent Modal:

    • Decision: No implementation of closing prevention for unsaved settings in the cookie consent modal, as it is outside of the current scope.
  6. Modal Exit Visibility:

    • Issue: Users report confusion on how to exit the modal despite multiple exit methods.
    • Suggestion: Enhance visibility or clarity of exit methods.
  7. Form Input and Modal Closure:

    • Issue: Modal remains locked after navigating away from filled forms without submitting.
    • Suggestion: Ensure form states are reset on navigation to prevent this issue.
  8. Username Selection Screen:

    • Observation: No issues when exiting the modal, whether the username input is filled or empty.
    • Status: Expected behavior, no action needed.
  9. Handling Multiple Backend Calls:

    • Issue: Rapid clicks on the modal backdrop can close the modal during critical backend processes.
    • Suggestion: Prevent modal closure during backend operations to maintain workflow integrity.
cheesea3 commented 1 month ago