about summary refs log tree commit diff
path: root/src/view/com/lightbox/ImageViewing
Commit message (Collapse)AuthorAgeFilesLines
* run `yarn lint --fix` (#9013)Samuel Newman2025-09-096-22/+22
|
* bump it bop it upgrade it (rn 79/expo 53) (#8281)hailey2025-05-021-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * basic bumps * more tweaking * fix rn patch * fix crop picker patch * fix media library patch * rm unnecessary patch * fix notifications patch * update bottomsheet * Update withAppDelegateReferrer.js * Delete withNoBundleCompression.js * rm withNoBundleCompression plugin * rm findLast shim * metro package exports is enabled by default * update react/react-dom/react-compiler * fix reanimated issue * vendor expo-ized emoji popup * fix types * hackfix view full thread * Update EmojiPickerModule.podspec * more upgrades * fix multiformats package version * add baseurl * bump mmkv * bumps * update react-keyed-flatten-children * bump locale packages * fix emoji picker dark mode * rn upgrades * Revert "bump locale packages" This reverts commit fc82f0f173032127dd7c18ed0316ae26f53db51d. * upgrade testing-library * rm test renderer * update patch name minors * rm findNodeHandle from tabbar * only do scrollview tag thing on ios * disable package exports * update expo notifications handler * memoize emoji picker styles * fix tests, mock multiformats * bump some dev deps with RC versions * completely rearchitect toasts * rm logs * layout animation config for composer footer * disable autolinking for patched libs * undo lingui changes * version bump from release candidate to 0.1 * update atproto deps * rm @did-plc/server * fix key issue (maybe) * move URL polyfill to the polyfill file * fix yarn lock * upgrade to 53.0.3 * reanimated layout anim bug patch * workletize a function that wasn't getting autoworkletized anymore (#8309) * bump to expo 53.0.4 * bump RN to 0.79.2 * fix yarn lock ci * Revert "completely rearchitect toasts" This reverts commit 2e2fcaeeed527580a6c485718544b85e8b4f52b9. * final upgrades * chore: cleanup yarn lock * prettier --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Edge to edge support (#7497)Mathieu Acthernoene2025-04-221-35/+21
|
* Unlock orientation when lightbox is open (#7257)Samuel Newman2024-12-241-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | * unlock orientation when lightbox is open * rm outer safe area view, make sure alt text is safe * restore safe area view for android 14 and below * lock orientation on launch for android * set system ui background to black when lightbox is open * reset state on relayout * catch async functions with noops * rm superfluous catches * Delay unlock until after animation * Simplify how key is determined * Make landscape backdrop opaque --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* fix lightbox on android 15 (#7221)Samuel Newman2024-12-202-8/+4
|
* "Contain" images with missing dimensions instead of cropping them (#6828)dan2024-11-282-13/+28
| | | | | | | * Show unknown aspect as "contain" for autosize * Fix a flash of wrong position when opening in lightbox * Fix last frame flash on Android
* Fix stuck lightbox (#6816)dan2024-11-281-2/+31
| | | | | | | * Fix lightbox getting stuck by fixing rAF order If you spam opening lightbox too fast, the effect that calls rAF will clean up and set up again midflight. Unfortunately, due to rAF order being unreliable, it may fire in reverse order, causing "open, open, close" instead of "open, close, open", so it would get stuck closed. This fixes the rAF order. * Don't allow opening another lightbox while it's open
* Lightbox status bar behaviour (#6637)Samuel Newman2024-11-261-1/+22
| | | | | | | * lightbox status bar * add hideTransitionAnimation="slide" * move navigation bar logic to util
* [Lightbox] Fix jump when zooming out on iOS (#6633)dan2024-11-221-2/+18
|
* Fix lightbox spinner (#6561)Paul Coroneos2024-11-222-6/+6
| | | | | | | | | | | | | * refactor imageitem useanimatedreaction logic * revert copy/paste fix * revert last commit * Fix conditions --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Leverage jsx transform to remove unnecessary react imports and update eslint ↵Paul Coroneos2024-11-191-1/+0
| | | | | | | | | config (#6516) * update eslint config with jsx runtime * leverage jsx transform to remove unnecessary react imports and update eslint config * run yarn lint --fix to remove eslint disables related to react/prop-types that is now disabled
* Use compiler-safe Reanimated get/set APIs (#6391)dan2024-11-173-76/+87
| | | | | | | | | | | | | | | | | | | | | * Convert lightbox to get/set * Work around software-mansion/react-native-reanimated#6613 * Use get/set in more places * Port MainScrollProvider to get/set * Port more to get/set * Port composer to get/set * Remove unnecessary thread hops in composer * Port more things to get/set * Convert more to get/set, remove redundant runOnJS * Convert remaining cases to get/set
* [Lightbox] Make the animation faster (#6382)dan2024-11-151-2/+2
| | | | | * [Lightbox] Make the animation faster * Make it faster on Android too
* feat: Tweak shared element animation to make it much smoother (#6336)Marc Rousavy2024-11-141-4/+15
|
* [Lightbox] Small tweaks (#6301)dan2024-11-131-3/+3
| | | | | | | | | * Tweak lightbox springs * Speed up dismiss speed * Don't scroll to top while active lightbox * Make Android a bit faster
* Fix render loop on Android (#6213)dan2024-11-102-8/+16
|
* [Lightbox] Always rely on Expo Image cache (#6189)dan2024-11-095-13/+37
| | | | | | | | | | | | | | | * Inline useImageAspectRatio * Switch AutoSizedImage to read dimensions from Expo Image cache * Include thumbnail dimensions in image data * Use dims from Expo Image cache in lightbox * Fix wiring so all thumbnails get dimensions * Fix type * Oops
* [Lightbox] Open animation (#6159)dan2024-11-095-128/+494
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Measure all rects for embeds * Measure avi rects too * Animate lightbox in and out * Account for safe area in the animation * Tune spring times * Remove null checks for measurements * Remove superfluous view * Block swipe while opening * Interpolate width/height on native side for Android * Make it fast by animating only affine transforms * Fix tall image final state The initial animation frame is still off on both platforms. * Try to squeeze perf * Avoid blank images during animation on iOS * Fix bad rebase * Fix a huge memory issue due to expo/expo#24894 * Fix last frame flash * Fix thum dim calculation for tall images
* Fix stuck lightbox (#6166)dan2024-11-081-16/+28
| | | | | | | * Add early exit guards once the gesture is over * Work around the Reanimated bug * Move derived reaction upwards to avoid duplicating it
* [Lightbox] Add border radius to avatars (#6136)dan2024-11-083-5/+15
| | | | | | | | | | | * Preserve shape in lightbox * Rename shapes to semantic meanings It looks like after all I do want to fork based on those. * Round avatars on the web * Oops
* [Lightbox] New dismiss gesture (#6135)dan2024-11-084-145/+274
| | | | | | | | | | | | | | | | | | | | | | | | | * Make iOS scrollview bounded to the image I've had to remove the dismiss handling because the scroll view no longer scrolls at rest. * Fix double-tap not working right after a vertical swipe It seems like for some reason the vertical swipe is still being handled by the scroll view, so double tap gets eaten while it's "coming back". But you don't really see it moving. Weird. * Add an intermediate LightboxImage component * Hoist useImageDimensions up * Implement xplat dismiss gesture This is now shared between platforms, letting us animate the backdrop and add a consistent "fly away" behavior. * Optimize Android compositing perf * Fix supertall images For example, https://bsky.app/profile/schlagteslinks.bsky.social/post/3l7y4l6yur72e * Fix oopsie
* [Lightbox] Set 2 as minimal allowed zoom level (#6132)dan2024-11-062-12/+19
| | | | | * [Lightbox] Set 2 as minimal allowed zoom level on iOS * Fix both Android and iOS
* Remove SCREEN from lightbox layout (#6124)dan2024-11-064-215/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Assign an ID to lightbox and use it as a key * Consolidate lightbox props into an object * Remove unused prop * Move SafeAreaView declaration * Keep SafeAreaView always mounted When exploring Android animation, I noticed its content jumps on the first frame. I think this should help prevent that. * Pass safe area down for measurement * Remove dependency on SCREEN in Android event handlers * Remove dependency on SCREEN in iOS event handlers * Remove dependency on SCREEN on iOS * Remove dependency on SCREEN on Android * Remove dependency on JS calc in controls * Use flex for iOS layout
* Refactor lightbox prop drilling (#6073)dan2024-11-041-20/+126
| | | | | | | | | | | * Refactor lightbox footer to render prop * Unify lightbox types * Unindent * Refactor LightboxFooter props * Move LightboxFooter into the implementation file
* Unify dimensions cache between lightbox and feed (#6047)dan2024-11-044-109/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove useless memo * Use explicit values when useImageAspectRatio doesn't know It's not very good that you can't distingiush when we haven't loaded vs when we're certain. This shifts the burden of dealing with missing values to the caller. * Check cache early * Handle src change * Rewrite image-sizes.fetch to avoid mixing async styles * Make image-sizes LRU Code is copy paste from useImageDimensions.ts * Rm unused fields * Derive aspect on the fly * Factor useImageDimensions out of useImageAspectRatio * Move useImageDimensions into image-sizes * Make lightbox use the same cache * Wire up known dimensions to the lightbox * Handle division by zero in the hook * Use safe aspect for lightbox calculations
* Explicitly mark lightbox worklets (#6038)dan2024-10-312-0/+11
|
* Measure tapped image coordinates before opening lightbox (#6001)dan2024-10-311-0/+3
| | | | | * Measure image on press * Pass dimensions to the lightbox component
* Sort imports (#6009)dan2024-10-293-8/+8
| | | | | * Mark import sort/order/style rules as error * npm run lint -- --fix
* Show almost-instant preview when opening lightbox (#6000)dan2024-10-295-76/+50
| | | | | | | | | | | * Plumb thumbUri down to the lightbox * Remove onLoad tracking from lightbox * Hook up placeholder URI to the image * Fix NaN causing crash on double tap while offline * Protect against NaNs in the future
* Fix tall image lightbox on Android (#4393)dan2024-06-061-8/+14
|
* Remove dead stylePaul Frazee2024-03-191-7/+0
|
* Merge branch 'web-fix-fonts-and-image-box' of ↵Paul Frazee2024-03-191-5/+15
|\ | | | | | | https://github.com/alexkuz/social-app into alexkuz-web-fix-fonts-and-image-box
| * Add 'Liberation Sans' font for FireFox on Linux; lightbox buttons adjustmentsAlexander K2024-03-171-17/+32
| |
* | change usage of t to msgSamuel Newman2024-03-181-16/+21
|/
* use `showControls` to show/hide live text icon on ios (#2982)Hailey2024-02-234-2/+12
|
* use ios live text interaction in alt text modal and image viewer (#2752)Hailey2024-02-061-0/+1
|
* Internationalize more strings (#2440)Stanislas Signoud2024-01-091-1/+1
| | | Co-authored-by: Ansh <anshnanda10@gmail.com>
* Use memory caching for android lightbox (#2354)Paul Frazee2023-12-281-0/+1
|
* Fix scroll on native (#2170)dan2023-12-111-2/+2
|
* Fix scroll on profile lists/feeds (#2168)dan2023-12-111-2/+2
|
* Remove deprecated models and mobx usage (react-query refactor) (#1934)Paul Frazee2023-11-162-2/+0
| | | | | | | | | | | | | | | | | | | | | * Update login page to use service query * Update modal to use session instead of store * Move image sizes cache off store * Update settings to no longer use store * Update link-meta fetch to use agent instead of rootstore * Remove deprecated resolveName() * Delete deprecated link-metas cache * Delete deprecated posts cache * Delete all remaining mobx models, including the root store * Strip out unused mobx observer wrappers
* Internationalization & localization (#1822)Ansh2023-11-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | * install and setup lingui * setup dynamic locale activation and async loading * first pass of automated replacement of text messages * add some more documentaton * fix nits * add `es` and `hi`locales for testing purposes * make accessibilityLabel localized * compile and extract new messages * fix merge conflicts * fix eslint warning * change instructions from sending email to opening PR * fix comments
* Toggle lightbox controls on tap (#1687)dan2023-10-134-63/+81
| | | | | | | * Make the lightbox controls animation smoother * Toggle controls on tap * Disable pointer events when hidden
* Port remaining lightbox code to Reanimated (#1669)dan2023-10-101-42/+27
| | | | | * Port remaining lightbox code to Reanimated * Fix memoization
* Fix MobX crash for Android lightbox (#1668)dan2023-10-102-1/+3
| | | | | * Fix MobX crash for Android lightbox * Reorder props to match between forks
* Change lightbox to use Pager (#1666)dan2023-10-104-141/+46
| | | | | | | | | * Change lightbox to use Pager * Fix crash issue on ios --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Remove duplicate modal container (#1661)dan2023-10-101-2/+0
|
* Drive-by lightbox refactors (#1659)dan2023-10-102-38/+13
| | | | | | | * Remove dead code from lightbox * Rename imageIndex prop to initialImageIndex * Rename currentImageIndex to imageIndex
* Refactor iOS lightbox to Reanimated (#1645)dan2023-10-101-108/+55
| | | | | * Remove unnecessary transform logic * Switch iOS swipe-to-dimiss to Reanimated
* Remove unnecessary opacity logic (#1646)dan2023-10-091-10/+3
|