Skip to content
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

Profile pages #103

Merged
merged 21 commits into from
Feb 3, 2025
Merged

Profile pages #103

merged 21 commits into from
Feb 3, 2025

Conversation

Jdplays
Copy link
Owner

@Jdplays Jdplays commented Jan 10, 2025

Profile Pages

This PR mainly adds user profile pages, but also adds a few extra QOL features that were made for profiles to allow for consistency across the app.

Main Feature:

Profile Pages

  • Each user has a profile page
  • They can edit their avatar, first name, last name and bio
  • Each profile also shows any roles or badges that user has
  • Streaks are shown on profile pages if they are enabled
  • Both viewing and editing pages are mobile optimised

User Badges
User badges have been added. These are made up of some text and an icon (6 available). They are meant for marking a user with a special badge where a separate role is not needed. i.e: Event Coordinator.
These are optional and can only be added through the user management page.
If a user has a badge, the text for it will appear as their main role

Other QOL changes

  • The role badge style has now beed added across the app (private access log and user management, with user management having a nicer multi select for roles now)
  • Tooltip added to volunteer attendance to see user details with a link to their profile
  • Nav bar refresh feature. This is an element that is on every page. When an attribute of it is set to true, it tells the nav bar to reload. This is useful for when updating ones profile, you can save it and have everything updated without a page reload. Might be useful for more areas in the future.

Notes

Image Storage

  • For profile images, they are stored in the same s3 object store as the workshop files, but now in a new bucket called user-data.
  • Before they are stored, they are compressed to a maximum of 256x256 and made into a JPEG for more efficient storage.
  • They are also compressed on the client side in TS (JS) for lower data transfer

Screenshots

Profile View
Desktop:
image

Mobile
image

Profile Edit
Desktop:
image

Mobile:
image

User Management
Table:
image

Edit:
image

Private Access Log
Table:
image

Tooltip:
image

Volunteer Attendance Tooltip
image

sourcery-ai[bot]

This comment was marked as resolved.

@Jdplays Jdplays changed the base branch from master to develop January 30, 2025 16:25
# Conflicts:
#	jams/static/ts/widgets/streak.ts
Repository owner deleted a comment from sourcery-ai bot Feb 2, 2025
@Jdplays
Copy link
Owner Author

Jdplays commented Feb 3, 2025

Tested this on a container and all looks to be working

@Jdplays Jdplays changed the title WIP: Profile pages Profile pages Feb 3, 2025
@Jdplays Jdplays merged commit 446e15d into develop Feb 3, 2025
1 check 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