Friends Sharing UX Improvements
June 18, 2025 · View on GitHub
Summary
Improved the friends sharing user experience to make it consistent with photo sharing in the WiSaw app.
Changes Made
1. Added Manual Share Button to Friends List
- Location:
src/screens/FriendsList/index.js - Description: Added a prominent share button to each friend item in the friends list
- Features:
- Blue colored button with white share icon (consistent with photo sharing)
- Shadow and elevation for visual prominence
- Positioned before edit and delete buttons for logical flow
2. Removed Auto-Share on Friend Creation
- Location:
src/screens/FriendsList/reducer.js - Description: Made friendship sharing optional instead of automatic
- Benefits:
- Users have control over when to share
- Consistent with photo sharing behavior (manual action required)
- Better user experience (no unexpected sharing)
3. Enhanced UI/UX Features
- Long Press Sharing: Long press on any friend item to quickly share
- Haptic Feedback: Added tactile feedback for better responsiveness
- Pending Status Sharing: Added inline share button for pending friendships
- Visual Improvements:
- Adjusted button spacing and sizing
- Added share button highlighting
- Improved layout for 3 action buttons
4. User Guidance
- First Friend Tip: Shows helpful toast message when user adds their first friend
- Updated Empty State: Better description explaining the sharing workflow
- Consistent Messaging: Error and success messages match photo sharing patterns
Technical Implementation
Components Modified:
-
src/screens/FriendsList/index.js- Added
handleShareFriendfunction - Enhanced UI with share buttons
- Added haptic feedback
- Improved styling and layout
- Added
-
src/screens/FriendsList/reducer.js- Modified
createFriendshipto acceptautoShareparameter - Updated default behavior to not auto-share
- Improved error handling and user feedback
- Modified
Dependencies:
- Uses existing
linkingAndSharingHelper.shareWithNativeSheet - Added haptic feedback with
expo-haptics - Consistent with existing design system and colors
User Experience Flow
Before:
- User adds friend → Automatic share dialog appears
- No way to re-share existing friendships
- Inconsistent with photo sharing
After:
- User adds friend → Friend appears in list with share button
- User can share anytime using:
- Share button tap
- Long press on friend item
- Inline share for pending friends
- Consistent experience with photo sharing
Benefits
- Consistency: Friends sharing now matches photo sharing UX patterns
- Control: Users decide when to share friendship invitations
- Accessibility: Multiple ways to trigger sharing (button, long press)
- Feedback: Clear visual and haptic feedback for all actions
- Guidance: Helpful tips and improved empty states
Future Enhancements
- ShareModal Integration: Could integrate the existing ShareModal component for richer sharing options
- Batch Sharing: Allow sharing multiple friendship invitations at once
- Share History: Track and display sharing status/history
- Custom Messages: Allow users to customize invitation messages