Skip to content

ExtraCreditChanges #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

ExtraCreditChanges #3

wants to merge 1 commit into from

Conversation

MounataHaque
Copy link

[Enhancement] Implement User List View with Sorting and Filtering, Improve Loading Indicators, Add Tooltips

Use Case

  1. User List View: Provide a feature to display and manage users with sorting and filtering capabilities to enhance usability.
  2. Loading Indicators: Improve user experience by adding animated spinners for long-running operations, such as fetching user data or updating profiles.
  3. Tooltips: Help users understand input fields and buttons by adding tooltips to explain their purpose.

Changes Made

  • User List View:
    • Updated lib/src/firebase_user/firebase_user_service.dart :
      • Added fetchUsers, sortUsers, and filterUsers methods.
      • These methods handle fetching users, sorting by specified fields, and filtering based on search queries.
    • Updated bin/main.dart:
      • Integrated logic to demonstrate user fetching, sorting, and filtering in a console-based format.
  • Loading Indicators:
    • Updated lib/utils.dart:
      • Added a showSpinner function to display animated spinners in the console.
    • Integrated the spinner in:
      • lib/src/firebase_user/firebase_user_service.dart during user fetching.
      • lib/src/auth/create_user_with_email_and_password.dart for user creation.
      • lib/src/auth/sign_in_anonymously.dart for anonymous sign-in.
      • lib/src/auth/sign_out_auth.dart for user sign-out.
      • lib/src/auth/reload_user.dart for reloading user data.
  • Tooltips:
    • Updated lib/shared/input_field.dart:
      • Added a tooltip parameter and wrapped the TextField in a Tooltip widget.
    • Updated lib/shared/action_tile.dart:
      • Integrated Tooltip for action tiles using the tooltipMessage parameter.
    • Updated screens:
      • lib/screens/sign_up_screen/sign_up_screen.dart: Added tooltips for email and password fields.
      • lib/screens/sign_in_with_email_and_password_screen.dart: Added tooltips for email and password fields.
      • lib/screens/update_profile_screen/update_profile_screen.dart: Added tooltips for profile fields.

Outcome

  • User List View:
    • Users can now be displayed with sorting by specific fields (e.g., name, email) and filtered based on search queries.
  • Loading Indicators:
    • Animated spinners provide visual feedback for long-running operations, improving user experience.
  • Tooltips:
    • Input fields and buttons now display helpful hints, making the interface more user-friendly.

Testing

  1. User List View:
    • Verified that users are fetched from the backend and displayed in sorted and filtered formats.
  2. Loading Indicators:
    • Tested spinners during:
      • Fetching users in lib/src/firebase_user/firebase_user_service.dart .
      • User creation, sign-in, sign-out, and reload operations.
    • Confirmed spinners display during operations and stop upon completion.
  3. Tooltips:
    • Verified that tooltips appear when hovering or long-pressing input fields and action tiles across all updated screens.

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.

1 participant