diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-03-31 13:17:26 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-31 13:17:26 -0500 |
commit | a3334a01a221877d3e06e02f960fda441f3460bd (patch) | |
tree | 64cdbb1232d1a3c00750c346b6e3ae529b51d1b0 /src/view/com/pager | |
parent | 19f3a2fa92a61ddb785fc4e42d73792c1d0e772c (diff) | |
download | voidsky-a3334a01a221877d3e06e02f960fda441f3460bd.tar.zst |
Lex refactor (#362)
* Remove the hackcheck for upgrades * Rename the PostEmbeds folder to match the codebase style * Updates to latest lex refactor * Update to use new bsky agent * Update to use api package's richtext library * Switch to upsertProfile * Add TextEncoder/TextDecoder polyfill * Add Intl.Segmenter polyfill * Update composer to calculate lengths by grapheme * Fix detox * Fix login in e2e * Create account e2e passing * Implement an e2e mocking framework * Don't use private methods on mobx models as mobx can't track them * Add tooling for e2e-specific builds and add e2e media-picker mock * Add some tests and fix some bugs around profile editing * Add shell tests * Add home screen tests * Add thread screen tests * Add tests for other user profile screens * Add search screen tests * Implement profile imagery change tools and tests * Update to new embed behaviors * Add post tests * Fix to profile-screen test * Fix session resumption * Update web composer to new api * 1.11.0 * Fix pagination cursor parameters * Add quote posts to notifications * Fix embed layouts * Remove youtube inline player and improve tap handling on link cards * Reset minimal shell mode on all screen loads and feed swipes (close #299) * Update podfile.lock * Improve post notfound UI (close #366) * Bump atproto packages
Diffstat (limited to 'src/view/com/pager')
-rw-r--r-- | src/view/com/pager/FeedsTabBar.tsx | 9 | ||||
-rw-r--r-- | src/view/com/pager/Pager.tsx | 4 | ||||
-rw-r--r-- | src/view/com/pager/TabBar.tsx | 9 |
3 files changed, 17 insertions, 5 deletions
diff --git a/src/view/com/pager/FeedsTabBar.tsx b/src/view/com/pager/FeedsTabBar.tsx index 9831218ec..76e0a6fc6 100644 --- a/src/view/com/pager/FeedsTabBar.tsx +++ b/src/view/com/pager/FeedsTabBar.tsx @@ -9,7 +9,9 @@ import {usePalette} from 'lib/hooks/usePalette' import {useAnimatedValue} from 'lib/hooks/useAnimatedValue' export const FeedsTabBar = observer( - (props: RenderTabBarFnProps & {onPressSelected: () => void}) => { + ( + props: RenderTabBarFnProps & {testID?: string; onPressSelected: () => void}, + ) => { const store = useStores() const pal = usePalette('default') const interp = useAnimatedValue(0) @@ -32,7 +34,10 @@ export const FeedsTabBar = observer( return ( <Animated.View style={[pal.view, styles.tabBar, transform]}> - <TouchableOpacity style={styles.tabBarAvi} onPress={onPressAvi}> + <TouchableOpacity + testID="viewHeaderDrawerBtn" + style={styles.tabBarAvi} + onPress={onPressAvi}> <UserAvatar avatar={store.me.avatar} size={30} /> </TouchableOpacity> <TabBar diff --git a/src/view/com/pager/Pager.tsx b/src/view/com/pager/Pager.tsx index 416828a27..34747db6d 100644 --- a/src/view/com/pager/Pager.tsx +++ b/src/view/com/pager/Pager.tsx @@ -20,6 +20,7 @@ interface Props { initialPage?: number renderTabBar: RenderTabBarFn onPageSelected?: (index: number) => void + testID?: string } export const Pager = ({ children, @@ -27,6 +28,7 @@ export const Pager = ({ initialPage = 0, renderTabBar, onPageSelected, + testID, }: React.PropsWithChildren<Props>) => { const [selectedPage, setSelectedPage] = React.useState(0) const position = useAnimatedValue(0) @@ -49,7 +51,7 @@ export const Pager = ({ ) return ( - <View> + <View testID={testID}> {tabBarPosition === 'top' && renderTabBar({ selectedPage, diff --git a/src/view/com/pager/TabBar.tsx b/src/view/com/pager/TabBar.tsx index 0b45d95f5..2070898bf 100644 --- a/src/view/com/pager/TabBar.tsx +++ b/src/view/com/pager/TabBar.tsx @@ -15,6 +15,7 @@ interface Layout { } export interface TabBarProps { + testID?: string selectedPage: number items: string[] position: Animated.Value @@ -26,6 +27,7 @@ export interface TabBarProps { } export function TabBar({ + testID, selectedPage, items, position, @@ -92,12 +94,15 @@ export function TabBar({ } return ( - <View style={[pal.view, styles.outer]} onLayout={onLayout}> + <View testID={testID} style={[pal.view, styles.outer]} onLayout={onLayout}> <Animated.View style={[styles.indicator, indicatorStyle]} /> {items.map((item, i) => { const selected = i === selectedPage return ( - <TouchableWithoutFeedback key={i} onPress={() => onPressItem(i)}> + <TouchableWithoutFeedback + key={i} + testID={testID ? `${testID}-${item}` : undefined} + onPress={() => onPressItem(i)}> <View style={ indicatorPosition === 'top' ? styles.itemTop : styles.itemBottom |