Add a mechanism to share either the server-generated JPEG preview or the
full original file. When the selection contains at least one asset that can
provide a preview (a remote image), a bottom sheet lets the user pick the
quality; otherwise sharing falls back to the original as before.
The share-source resolution is extracted into pure, unit-tested business
logic that handles all three asset states (local, remote, merged):
- preview requires a remote image; videos and local-only assets fall back
to the original
- original prefers the on-device file, but edited assets are downloaded
since edits only exist on the server
- preview filenames are normalized to a .jpg extension
Add unit tests covering the resolution, gating and filename helpers.