Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

make entire recent search clickable (#3387)

authored by

Samuel Newman and committed by
GitHub
907c7c05 8de27160

+44 -44
+44 -44
src/view/screens/Search/Search.tsx
··· 1 1 import React from 'react' 2 2 import { 3 - View, 3 + ActivityIndicator, 4 + Platform, 5 + Pressable, 4 6 StyleSheet, 5 - ActivityIndicator, 6 7 TextInput, 7 - Pressable, 8 - Platform, 8 + View, 9 9 } from 'react-native' 10 - import {ScrollView, CenteredView} from '#/view/com/util/Views' 11 - import {List} from '#/view/com/util/List' 12 10 import {AppBskyActorDefs, AppBskyFeedDefs, moderateProfile} from '@atproto/api' 13 - import {msg, Trans} from '@lingui/macro' 14 - import {useLingui} from '@lingui/react' 15 11 import { 16 12 FontAwesomeIcon, 17 13 FontAwesomeIconStyle, 18 14 } from '@fortawesome/react-native-fontawesome' 15 + import {msg, Trans} from '@lingui/macro' 16 + import {useLingui} from '@lingui/react' 17 + import AsyncStorage from '@react-native-async-storage/async-storage' 19 18 import {useFocusEffect, useNavigation} from '@react-navigation/native' 20 19 20 + import {useAnalytics} from '#/lib/analytics/analytics' 21 + import {HITSLOP_10} from '#/lib/constants' 22 + import {usePalette} from '#/lib/hooks/usePalette' 23 + import {MagnifyingGlassIcon} from '#/lib/icons' 24 + import {NavigationProp} from '#/lib/routes/types' 25 + import {augmentSearchQuery} from '#/lib/strings/helpers' 26 + import {s} from '#/lib/styles' 21 27 import {logger} from '#/logger' 28 + import {isNative, isWeb} from '#/platform/detection' 29 + import {listenSoftReset} from '#/state/events' 30 + import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete' 31 + import {useActorSearch} from '#/state/queries/actor-search' 32 + import {useModerationOpts} from '#/state/queries/preferences' 33 + import {useSearchPostsQuery} from '#/state/queries/search-posts' 34 + import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows' 35 + import {useSession} from '#/state/session' 36 + import {useSetDrawerOpen} from '#/state/shell' 37 + import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell' 38 + import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' 22 39 import { 23 40 NativeStackScreenProps, 24 41 SearchTabNavigatorParams, 25 42 } from 'lib/routes/types' 26 - import {Text} from '#/view/com/util/text/Text' 27 - import {ProfileCardFeedLoadingPlaceholder} from 'view/com/util/LoadingPlaceholder' 28 - import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard' 29 - import {Post} from '#/view/com/post/Post' 43 + import {useTheme} from 'lib/ThemeContext' 30 44 import {Pager} from '#/view/com/pager/Pager' 31 45 import {TabBar} from '#/view/com/pager/TabBar' 32 - import {HITSLOP_10} from '#/lib/constants' 33 - import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' 34 - import {usePalette} from '#/lib/hooks/usePalette' 35 - import {useTheme} from 'lib/ThemeContext' 36 - import {useSession} from '#/state/session' 37 - import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows' 38 - import {useSearchPostsQuery} from '#/state/queries/search-posts' 39 - import {useActorSearch} from '#/state/queries/actor-search' 40 - import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete' 41 - import {useSetDrawerOpen} from '#/state/shell' 42 - import {useAnalytics} from '#/lib/analytics/analytics' 43 - import {MagnifyingGlassIcon} from '#/lib/icons' 44 - import {useModerationOpts} from '#/state/queries/preferences' 46 + import {Post} from '#/view/com/post/Post' 47 + import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard' 48 + import {List} from '#/view/com/util/List' 49 + import {Text} from '#/view/com/util/text/Text' 50 + import {CenteredView, ScrollView} from '#/view/com/util/Views' 45 51 import { 46 52 MATCH_HANDLE, 47 53 SearchLinkCard, 48 54 SearchProfileCard, 49 55 } from '#/view/shell/desktop/Search' 50 - import {useSetMinimalShellMode, useSetDrawerSwipeDisabled} from '#/state/shell' 51 - import {isNative, isWeb} from '#/platform/detection' 52 - import {listenSoftReset} from '#/state/events' 53 - import {s} from '#/lib/styles' 54 - import AsyncStorage from '@react-native-async-storage/async-storage' 55 - import {augmentSearchQuery} from '#/lib/strings/helpers' 56 - import {NavigationProp} from '#/lib/routes/types' 56 + import {ProfileCardFeedLoadingPlaceholder} from 'view/com/util/LoadingPlaceholder' 57 + import {atoms as a} from '#/alf' 57 58 58 59 function Loader() { 59 60 const pal = usePalette('default') ··· 776 777 <Trans>Recent Searches</Trans> 777 778 </Text> 778 779 {searchHistory.map((historyItem, index) => ( 779 - <View key={index} style={styles.historyItemContainer}> 780 + <View 781 + key={index} 782 + style={[ 783 + a.flex_row, 784 + a.mt_md, 785 + a.justify_center, 786 + a.justify_between, 787 + ]}> 780 788 <Pressable 781 789 accessibilityRole="button" 782 790 onPress={() => handleHistoryItemClick(historyItem)} 783 - style={styles.historyItem}> 791 + style={[a.flex_1, a.py_sm]}> 784 792 <Text style={pal.text}>{historyItem}</Text> 785 793 </Pressable> 786 794 <Pressable 787 795 accessibilityRole="button" 788 - onPress={() => handleRemoveHistoryItem(historyItem)}> 796 + onPress={() => handleRemoveHistoryItem(historyItem)} 797 + style={[a.px_md, a.py_xs, a.justify_center]}> 789 798 <FontAwesomeIcon 790 799 icon="xmark" 791 800 size={16} ··· 871 880 }, 872 881 searchHistoryTitle: { 873 882 fontWeight: 'bold', 874 - }, 875 - historyItem: { 876 - paddingVertical: 8, 877 - }, 878 - historyItemContainer: { 879 - flexDirection: 'row', 880 - justifyContent: 'space-between', 881 - alignItems: 'center', 882 - paddingVertical: 8, 883 883 }, 884 884 })