Skip to content

Conversation

muntaxir4
Copy link
Contributor

@muntaxir4 muntaxir4 commented Feb 23, 2025

Description

This PR includes multiple improvements and fixes related to user profile viewing, following system, and general user experience enhancements.

Changes Implemented:

  1. Improved User Profile Viewing – Enhanced the profile UI for better readability and structure by taking inspirations from existing UserProfile component, included user description as well.
  2. Dynamic Follower & Following Count – Implemented real-time Firestore subscriptions to update counts dynamically, instead of fixed followers and following count.
  3. Follower & Following Fetching
    • Created a total of 6 new actions (start, success, fail) for handling followers & followings.
    • Updated Redux store to store followers and followings inside profile.user.
    • Displayed followers & following in a proper dialog with loading indicators.
  4. Retrieve Activity for a Specific User
    • Modified getTutorialFeedIdArray() to accept an optional userHandle argument to fetch activities of a particular user.
    • Implemented logic for filterType options: "Featured", "New", and "Top".
  5. Fixed Profile Data Mutation in Tutorial Cards
    • Updated getUserProfileData() to return only the requested user data, preventing unintended state overwrites from other users.
  6. Fixed Follow/Unfollow State Update
    • Eliminated the need for a page reload by implementing instant state updates when following or unfollowing a user.
  7. Added Snackbar for Profile Share
    • Implemented a snackbar to notify users when the profile link is copied to the clipboard for improved UX.

Realted Issues

Fixes #213
Fixes #238
Fixes #239
Fixes #240

Motivation and Context

  • Fixes multiple UX issues related to user profiles, following interactions, and tutorial cards.
  • Optimizes API calls by ensuring efficient data fetching and proper state management.
  • Enhances the overall user experience by improving real-time updates and navigation.

How Has This Been Tested?

  • Tested real-time Firestore updates for followers/followings count.
  • Verified Redux store updates for profile-related data fetching.
  • Checked tutorial activity feed filtering when passing a userHandle.
  • Ensured instant UI updates when following/unfollowing users.
  • Tested clipboard copying functionality with the snackbar message.

Screenshots or GIF (In case of UI changes):

  • New and updated UI:
Screencast.from.2025-02-24.04-44-28.mp4
  • Old UI with issues at master branch:
Screencast.from.2025-02-24.04-46-03.mp4

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests 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.

1 participant