This hook composes together the previously created image avatar-related hooks (eg useProcessSelectedMedia, useUploadProcessedMedia, etc) to
- Display system image picker to user so they can pick image
- Processes the selected image
- Uploads the processed image
- Updates the user avatar with the uploadID of the uploaded processed image
There's still work to be done in terms of displaying status/progress, handling errors (eg cleaning up temporary files), etc... but this diff gets things working "end to end." Putting it up now to unblock @ginsu's camera work.
Depends on D7509
Can we avoid shadowing? I think that it reduces maintainability significantly.