Commit Graph

11 Commits

Author SHA1 Message Date
Samuel Newman fcdd466a9c Create README.md 2026-05-25 14:35:15 +03:00
Samuel Newman 6275bda96e avoid using UIScreen.main 2026-05-25 14:35:15 +03:00
Samuel Newman e829b7a83e avoid expensive sync disk read 2026-05-25 14:35:15 +03:00
Samuel Newman 91bb4f45e6 fix prettier 2026-05-25 14:35:14 +03:00
Samuel Newman 59a01c599b add comments, format, lint fix 2026-05-25 14:35:14 +03:00
Samuel Newman aac48ff3d5 only expose ios 2026-05-25 14:35:14 +03:00
Samuel Newman 343ce24cba fix weird animation 2026-05-25 14:35:14 +03:00
Samuel Newman acec5885ec start animation asap 2026-05-25 14:35:14 +03:00
Claude 1856c36221 Share expo-image cache; thumb placeholder; smoother dismiss
Two UX fixes for the peek preview:

1. Black flash on first peek — the preview VC now depends on SDWebImage
   directly (same version pinned by expo-image) and reads from
   `SDImageCache.shared`. On open it paints the fullsize synchronously if it's
   cached (common, since onPressIn prefetches), otherwise paints the thumb as a
   placeholder while the fullsize loads and swaps in. Also switches the image
   view to autoresizingMask so the dismiss animation interpolates cleanly
   without AutoLayout relayout mid-animation.

2. Two-stage dismiss animation on aspect-mismatched thumbnails — drop the
   explicit `previewForDismissingMenuWithConfiguration` override. With only
   the highlight provider implemented iOS reverses it end-to-end, which
   interpolates size and position together instead of snapping back to the
   preview's original size before translating.

https://claude.ai/code/session_015REmux3R9uuEMMJUHxTyQT
2026-05-25 14:35:14 +03:00
Claude 2dc22c19b0 Rename native borderRadius prop to avoid UIView collision
RN/Expo already owns a borderRadius property on UIView (as a style prop),
so declaring `private var borderRadius` on ExpoView was rejected by Swift
("cannot override with a stored property"). Rename the bridge prop and Swift
property to `previewCornerRadius`; the public Trigger/ImageContextMenu API
keeps `borderRadius` and Root translates it at the bridge layer.

Also tighten `var start` to `let` in the SVG parser.

https://claude.ai/code/session_015REmux3R9uuEMMJUHxTyQT
2026-05-25 14:35:14 +03:00
Claude d4fd15dc20 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
2026-05-25 14:35:14 +03:00