[native] introduce FullScreenViewModal
Summary:
To view a full screen avatar for user profiles we are going to want to reuse parts of the ImageModal since it has all the same zooming/panning/gesture functionality we need. However, right now there are parts of ImageModal that are specific to viewing a multimedia message. We need to factor those parts out, so I created FullScreenViewModal which will be a generic component that can be used in both cases for image multimedia messages and user avatars.
Outlined below are the steps I will take in this stack (each point here will be it's own diff):
- Introduce FullScreenViewModal file and move everything from the ImageModal file into here, and change what is absolutely necessary (the imports)
- Correct the naming inside of FullScreenViewModal
- Lift out rendering of <Multimedia /> in favor for a generic content child
- Lift save content / copy content functionality out of FullScreenViewModal and make those optional props
- Lift the imageDimensions function out of FullScreenViewModal and introduce a required generic contentDimesions prop
Test Plan: Confirmed that there were no regressions with the viewing an image multimedia message experience
Reviewers: atul, inka, ashoat
Reviewed By: atul, ashoat
Subscribers: ashoat, tomek, wyilio
Differential Revision: https://phab.comm.dev/D9360