As a user,
I want to share an activity with others via a link or social platforms, So that I can easily invite others to view or participate in the activity.
Description
Enable activity sharing functionality, allowing users to generate a shareable link for any activity and share it via email, messaging apps, or social media platforms. Shared activities should be accessible via the provided link, with appropriate access controls based on the activity's visibility settings.
Acceptance Criteria
[ ] Generate Shareable Link:
[ ] A Share button is available for each activity in the activity view.
[ ] Clicking the button generates a unique, shareable link for the activity.
[ ] Users can copy the link to their clipboard.
[ ] Social Media Sharing:
[ ] Users can share the activity directly to social platforms (e.g., Facebook, Twitter, WhatsApp).
[ ] Access Control:
[ ] Only activities marked as "public" can be shared.
[ ] Private activities cannot be accessed via the shareable link.
[ ] If a user tries to access a private activity, they are prompted to log in or are denied access.
[ ] Email Sharing:
[ ] Users can share the activity via email by entering a recipient’s email address in a pop-up or form.
[ ] The recipient receives an email with the activity details and link.
[ ] Activity Page for Shared Links:
[ ] The shared link redirects users to a detailed activity page.
[ ] Non-authenticated users can view public activities but cannot edit or interact unless logged in.
[ ] Analytics:
[ ] Track the number of times an activity link is accessed.
Tasks
[ ] Frontend:
[ ] Add a Share button to the activity view.
[ ] Create a pop-up/modal for copying the shareable link or sharing via social platforms or email.
[ ] Email Integration:
[ ] Add functionality for sending activity details and links via email.
[ ] Configure email templates and integration with an email service (e.g., SendGrid).
[ ] Access Control:
[ ] Implement visibility checks for activities accessed via shareable links.
[ ] Ensure private activities are restricted.
[ ] Analytics Tracking:
[ ] Add functionality to log and track activity link clicks.
User Story: Activity Sharing
As a user,
I want to share an activity with others via a link or social platforms,
So that I can easily invite others to view or participate in the activity.
Description
Enable activity sharing functionality, allowing users to generate a shareable link for any activity and share it via email, messaging apps, or social media platforms. Shared activities should be accessible via the provided link, with appropriate access controls based on the activity's visibility settings.
Acceptance Criteria
Tasks
Resources
next-share