diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-03-19 18:53:57 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-19 18:53:57 -0500 |
commit | 1de724b24b9607d4ee83dc0dbb92c13b2b77dcaf (patch) | |
tree | de1b244a976e55818f1181e6bf2b727237aff7c2 /patches/react-native-pager-view+6.1.4.patch | |
parent | c31ffdac1b970d8d51c538f931cc64a942670740 (diff) | |
download | voidsky-1de724b24b9607d4ee83dc0dbb92c13b2b77dcaf.tar.zst |
Add custom feeds selector, rework search, simplify onboarding (#325)
* Get home screen's swipable pager working with the drawer * Add tab bar to pager * Implement popular & following views on home screen * Visual tune-up * Move the feed selector to the footer * Fix to 'new posts' poll * Add the view header as a feed item * Use the native driver on the tabbar indicator to improve perf * Reduce home polling to the currently active page; also reuse some code * Add soft reset on tap selected in tab bar * Remove explicit 'onboarding' flow * Choose good stuff based on service * Add foaf-based follow discovery * Fall back to who to follow * Fix backgrounds * Switch to the off-spec goodstuff route * 1.8 * Fix for dev & staging * Swap the tab bar items and rename suggested to what's hot * Go to whats-hot by default if you have no follows * Implement pager and tabbar for desktop web * Pin deps to make expo happy * Add language filtering to goodstuff
Diffstat (limited to 'patches/react-native-pager-view+6.1.4.patch')
-rw-r--r-- | patches/react-native-pager-view+6.1.4.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/patches/react-native-pager-view+6.1.4.patch b/patches/react-native-pager-view+6.1.4.patch new file mode 100644 index 000000000..adee2533f --- /dev/null +++ b/patches/react-native-pager-view+6.1.4.patch @@ -0,0 +1,54 @@ +diff --git a/node_modules/react-native-pager-view/ios/ReactNativePageView.m b/node_modules/react-native-pager-view/ios/ReactNativePageView.m +index ab0fc7f..fbbf19f 100644 +--- a/node_modules/react-native-pager-view/ios/ReactNativePageView.m ++++ b/node_modules/react-native-pager-view/ios/ReactNativePageView.m +@@ -1,6 +1,6 @@ + + #import "ReactNativePageView.h" +-#import "React/RCTLog.h" ++#import <React/RCTLog.h> + #import <React/RCTViewManager.h> + + #import "UIViewController+CreateExtension.h" +@@ -9,7 +9,7 @@ + #import "RCTOnPageSelected.h" + #import <math.h> + +-@interface ReactNativePageView () <UIPageViewControllerDataSource, UIPageViewControllerDelegate, UIScrollViewDelegate> ++@interface ReactNativePageView () <UIPageViewControllerDataSource, UIPageViewControllerDelegate, UIScrollViewDelegate, UIGestureRecognizerDelegate> + + @property(nonatomic, strong) UIPageViewController *reactPageViewController; + @property(nonatomic, strong) RCTEventDispatcher *eventDispatcher; +@@ -80,6 +80,10 @@ + [self setupInitialController]; + } + ++ UIPanGestureRecognizer* panGestureRecognizer = [UIPanGestureRecognizer new]; ++ panGestureRecognizer.delegate = self; ++ [self addGestureRecognizer: panGestureRecognizer]; ++ + if (self.reactViewController.navigationController != nil && self.reactViewController.navigationController.interactivePopGestureRecognizer != nil) { + [self.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.reactViewController.navigationController.interactivePopGestureRecognizer]; + } +@@ -463,4 +467,21 @@ + - (BOOL)isLtrLayout { + return [_layoutDirection isEqualToString:@"ltr"]; + } ++ ++- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { ++ if (otherGestureRecognizer == self.scrollView.panGestureRecognizer) { ++ UIPanGestureRecognizer* p = (UIPanGestureRecognizer*) gestureRecognizer; ++ CGPoint velocity = [p velocityInView:self]; ++ if (self.currentIndex == 0 && velocity.x > 0) { ++ self.scrollView.panGestureRecognizer.enabled = false; ++ return NO; ++ } else { ++ self.scrollView.panGestureRecognizer.enabled = self.scrollEnabled; ++ } ++ } else { ++ self.scrollView.panGestureRecognizer.enabled = self.scrollEnabled; ++ } ++ ++ return YES; ++} + @end |