Screen for searching user's posts (#7622)
* search user's posts screen * custom placeholder copy if self * navigate to /profile/:handle * add name to title * show header on desktop
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import {useMemo} from 'react'
|
||||
import {msg} from '@lingui/macro'
|
||||
import {useLingui} from '@lingui/react'
|
||||
|
||||
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
|
||||
import {useProfileQuery} from '#/state/queries/profile'
|
||||
import {useResolveDidQuery} from '#/state/queries/resolve-uri'
|
||||
import {useSession} from '#/state/session'
|
||||
import {SearchScreenShell} from '#/view/screens/Search/Search'
|
||||
|
||||
type Props = NativeStackScreenProps<CommonNavigatorParams, 'ProfileSearch'>
|
||||
export const ProfileSearchScreen = ({route}: Props) => {
|
||||
const {name, q: queryParam = ''} = route.params
|
||||
const {_} = useLingui()
|
||||
const {currentAccount} = useSession()
|
||||
|
||||
const {data: resolvedDid} = useResolveDidQuery(name)
|
||||
const {data: profile} = useProfileQuery({did: resolvedDid})
|
||||
|
||||
const fixedParams = useMemo(
|
||||
() => ({
|
||||
from: profile?.handle ?? name,
|
||||
}),
|
||||
[profile?.handle, name],
|
||||
)
|
||||
|
||||
return (
|
||||
<SearchScreenShell
|
||||
navButton="back"
|
||||
inputPlaceholder={
|
||||
profile
|
||||
? currentAccount?.did === profile.did
|
||||
? _(msg`Search my posts`)
|
||||
: _(msg`Search @${profile.handle}'s posts`)
|
||||
: _(msg`Search...`)
|
||||
}
|
||||
fixedParams={fixedParams}
|
||||
queryParam={queryParam}
|
||||
testID="searchPostsScreen"
|
||||
/>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user