Merge branch 'mozzius-web-search' into main
commit
c9704f447d
|
@ -303,7 +303,13 @@ function SearchScreenUserResults({query}: {query: string}) {
|
|||
|
||||
const SECTIONS_LOGGEDOUT = ['Users']
|
||||
const SECTIONS_LOGGEDIN = ['Posts', 'Users']
|
||||
export function SearchScreenInner({query}: {query?: string}) {
|
||||
export function SearchScreenInner({
|
||||
query,
|
||||
primarySearch,
|
||||
}: {
|
||||
query?: string
|
||||
primarySearch?: boolean
|
||||
}) {
|
||||
const pal = usePalette('default')
|
||||
const setMinimalShellMode = useSetMinimalShellMode()
|
||||
const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled()
|
||||
|
@ -413,7 +419,7 @@ export function SearchScreenInner({query}: {query?: string}) {
|
|||
style={pal.textLight}
|
||||
/>
|
||||
<Text type="xl" style={[pal.textLight, {paddingHorizontal: 18}]}>
|
||||
{isDesktop ? (
|
||||
{isDesktop && !primarySearch ? (
|
||||
<Trans>Find users with the search tool on the right</Trans>
|
||||
) : (
|
||||
<Trans>Find users on Bluesky</Trans>
|
||||
|
@ -425,19 +431,7 @@ export function SearchScreenInner({query}: {query?: string}) {
|
|||
)
|
||||
}
|
||||
|
||||
export function SearchScreenDesktop(
|
||||
props: NativeStackScreenProps<SearchTabNavigatorParams, 'Search'>,
|
||||
) {
|
||||
const {isDesktop} = useWebMediaQueries()
|
||||
|
||||
return isDesktop ? (
|
||||
<SearchScreenInner query={props.route.params?.q} />
|
||||
) : (
|
||||
<SearchScreenMobile {...props} />
|
||||
)
|
||||
}
|
||||
|
||||
export function SearchScreenMobile(
|
||||
export function SearchScreen(
|
||||
props: NativeStackScreenProps<SearchTabNavigatorParams, 'Search'>,
|
||||
) {
|
||||
const theme = useTheme()
|
||||
|
@ -449,7 +443,7 @@ export function SearchScreenMobile(
|
|||
const moderationOpts = useModerationOpts()
|
||||
const search = useActorAutocompleteFn()
|
||||
const setMinimalShellMode = useSetMinimalShellMode()
|
||||
const {isTablet} = useWebMediaQueries()
|
||||
const {isTabletOrDesktop, isTabletOrMobile} = useWebMediaQueries()
|
||||
|
||||
const searchDebounceTimeout = React.useRef<NodeJS.Timeout | undefined>(
|
||||
undefined,
|
||||
|
@ -524,7 +518,14 @@ export function SearchScreenMobile(
|
|||
|
||||
return (
|
||||
<View style={{flex: 1}}>
|
||||
<CenteredView style={[styles.header, pal.border]} sideBorders={isTablet}>
|
||||
<CenteredView
|
||||
style={[
|
||||
styles.header,
|
||||
pal.border,
|
||||
isTabletOrDesktop && {paddingTop: 10},
|
||||
]}
|
||||
sideBorders={isTabletOrDesktop}>
|
||||
{isTabletOrMobile && (
|
||||
<Pressable
|
||||
testID="viewHeaderBackOrMenuBtn"
|
||||
onPress={onPressMenu}
|
||||
|
@ -533,8 +534,13 @@ export function SearchScreenMobile(
|
|||
accessibilityRole="button"
|
||||
accessibilityLabel={_(msg`Menu`)}
|
||||
accessibilityHint="Access navigation links and settings">
|
||||
<FontAwesomeIcon icon="bars" size={18} color={pal.colors.textLight} />
|
||||
<FontAwesomeIcon
|
||||
icon="bars"
|
||||
size={18}
|
||||
color={pal.colors.textLight}
|
||||
/>
|
||||
</Pressable>
|
||||
)}
|
||||
|
||||
<View
|
||||
style={[
|
||||
|
@ -598,7 +604,7 @@ export function SearchScreenMobile(
|
|||
{isFetching ? (
|
||||
<Loader />
|
||||
) : (
|
||||
<ScrollView style={{height: '100%'}}>
|
||||
<ScrollView style={{height: '100%'}} dataSet={{stableGutters: '1'}}>
|
||||
{searchResults.length ? (
|
||||
searchResults.map((item, i) => (
|
||||
<SearchResultCard
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
import {SearchScreenMobile} from '#/view/screens/Search/Search'
|
||||
|
||||
export const SearchScreen = SearchScreenMobile
|
||||
export {SearchScreen} from '#/view/screens/Search/Search'
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
import {SearchScreenDesktop} from '#/view/screens/Search/Search'
|
||||
|
||||
export const SearchScreen = SearchScreenDesktop
|
|
@ -124,6 +124,7 @@ function NativeStackNavigator({
|
|||
},
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<NavigationContent>
|
||||
<NativeStackView
|
||||
|
@ -136,7 +137,7 @@ function NativeStackNavigator({
|
|||
{isWeb && !isMobile && (
|
||||
<>
|
||||
<DesktopLeftNav />
|
||||
<DesktopRightNav />
|
||||
<DesktopRightNav routeName={activeRoute.name} />
|
||||
</>
|
||||
)}
|
||||
</NavigationContent>
|
||||
|
|
|
@ -21,7 +21,7 @@ export function DesktopFeeds() {
|
|||
})
|
||||
|
||||
return (
|
||||
<View style={[styles.container, pal.view, pal.border]}>
|
||||
<View style={[styles.container, pal.view]}>
|
||||
<FeedItem href="/" title="Following" current={route.name === 'Home'} />
|
||||
{feeds
|
||||
.filter(f => f.displayName !== 'Following')
|
||||
|
@ -91,7 +91,5 @@ const styles = StyleSheet.create({
|
|||
width: 300,
|
||||
paddingHorizontal: 12,
|
||||
paddingVertical: 18,
|
||||
borderTopWidth: 1,
|
||||
borderBottomWidth: 1,
|
||||
},
|
||||
})
|
||||
|
|
|
@ -16,7 +16,7 @@ import {Plural, Trans, msg, plural} from '@lingui/macro'
|
|||
import {useSession} from '#/state/session'
|
||||
import {useInviteCodesQuery} from '#/state/queries/invites'
|
||||
|
||||
export function DesktopRightNav() {
|
||||
export function DesktopRightNav({routeName}: {routeName: string}) {
|
||||
const pal = usePalette('default')
|
||||
const palError = usePalette('error')
|
||||
const {_} = useLingui()
|
||||
|
@ -30,13 +30,21 @@ export function DesktopRightNav() {
|
|||
return (
|
||||
<View style={[styles.rightNav, pal.view]}>
|
||||
<View style={{paddingVertical: 20}}>
|
||||
{routeName === 'Search' ? (
|
||||
<View style={{marginBottom: 18}}>
|
||||
<DesktopFeeds />
|
||||
</View>
|
||||
) : (
|
||||
<>
|
||||
<DesktopSearch />
|
||||
|
||||
{hasSession && (
|
||||
<View style={{paddingTop: 18, marginBottom: 18}}>
|
||||
<View style={[pal.border, styles.desktopFeedsContainer]}>
|
||||
<DesktopFeeds />
|
||||
</View>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
|
||||
<View
|
||||
style={[
|
||||
|
@ -196,4 +204,10 @@ const styles = StyleSheet.create({
|
|||
marginRight: 6,
|
||||
flexShrink: 0,
|
||||
},
|
||||
desktopFeedsContainer: {
|
||||
borderTopWidth: 1,
|
||||
borderBottomWidth: 1,
|
||||
marginTop: 18,
|
||||
marginBottom: 18,
|
||||
},
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue