Summary
Profile.jsx currently uploads any chosen image at its original aspect ratio, which produces lopsided avatars. Add an in-browser crop step so members commit to a square JPEG before the upload happens.
Proposed Approach
- Add
react-easy-crop (or equivalent — small dep, ~30KB).
- When the user picks a file, open a modal showing the image with a square crop overlay.
- On confirm, render the cropped region to a canvas, convert to a JPEG Blob, and POST that instead of the original file.
- Show the result in the Profile preview before the user clicks Save.
Acceptance Criteria
Summary
Profile.jsxcurrently uploads any chosen image at its original aspect ratio, which produces lopsided avatars. Add an in-browser crop step so members commit to a square JPEG before the upload happens.Proposed Approach
react-easy-crop(or equivalent — small dep, ~30KB).Acceptance Criteria