Add iOS peek long-press context menu for image embeds

Introduces expo-bluesky-context-menu, a compositional Root/Trigger/Menu/MenuItem
wrapper around UIContextMenuInteraction. The preview ViewController is sized to
the image's true aspect ratio so tall/panorama previews don't stretch mid-lift,
and menu icons are rasterized from the app's SVG icon set on the native side.

The preview prop is a discriminated union (image today; video and externalCard
reserved) so the same module can back those embeds in follow-ups.

https://claude.ai/code/session_015REmux3R9uuEMMJUHxTyQT
This commit is contained in:
Claude
2026-04-19 06:58:26 +00:00
committed by Samuel Newman
parent ebed23657f
commit d4fd15dc20
24 changed files with 1157 additions and 21 deletions
@@ -0,0 +1,9 @@
import {type ComponentType} from 'react'
import {requireNativeViewManager} from 'expo-modules-core'
import {type NativeViewProps} from './types'
const NativeView: ComponentType<NativeViewProps> =
requireNativeViewManager('ExpoBlueskyContextMenu')
export default NativeView