[APP-834] Allow @ing someone in post directly from profile (#1241)

* setup `initMention` for mobile

* setup creating post with profile tagged on web
This commit is contained in:
Ansh 2023-08-22 11:01:00 -07:00 committed by GitHub
parent 3aadc43c89
commit 16b265a861
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 99 additions and 5 deletions

View file

@ -14,6 +14,7 @@ export const Composer = observer(
onPost,
onClose,
quote,
mention,
}: {
active: boolean
winHeight: number
@ -21,6 +22,7 @@ export const Composer = observer(
onPost?: ComposerOpts['onPost']
onClose: () => void
quote?: ComposerOpts['quote']
mention?: ComposerOpts['mention']
}) => {
const pal = usePalette('default')
const initInterp = useAnimatedValue(0)
@ -65,6 +67,7 @@ export const Composer = observer(
onPost={onPost}
onClose={onClose}
quote={quote}
mention={mention}
/>
</Animated.View>
)

View file

@ -15,6 +15,7 @@ export const Composer = observer(
quote,
onPost,
onClose,
mention,
}: {
active: boolean
winHeight: number
@ -22,6 +23,7 @@ export const Composer = observer(
quote: ComposerOpts['quote']
onPost?: ComposerOpts['onPost']
onClose: () => void
mention?: ComposerOpts['mention']
}) => {
const pal = usePalette('default')
@ -40,6 +42,7 @@ export const Composer = observer(
quote={quote}
onPost={onPost}
onClose={onClose}
mention={mention}
/>
</View>
</View>

View file

@ -150,7 +150,22 @@ const NavItem = observer(
function ComposeBtn() {
const store = useStores()
const onPressCompose = () => store.shell.openComposer({})
const {getState} = useNavigation()
const getProfileHandle = () => {
const {routes} = getState()
const currentRoute = routes[routes.length - 1]
if (currentRoute.name === 'Profile') {
const {name: handle} =
currentRoute.params as CommonNavigatorParams['Profile']
if (handle === store.me.handle) return undefined
return handle
}
return undefined
}
const onPressCompose = () =>
store.shell.openComposer({mention: getProfileHandle()})
return (
<TouchableOpacity

View file

@ -68,6 +68,7 @@ const ShellInner = observer(() => {
replyTo={store.shell.composerOpts?.replyTo}
onPost={store.shell.composerOpts?.onPost}
quote={store.shell.composerOpts?.quote}
mention={store.shell.composerOpts?.mention}
/>
<ModalsContainer />
<Lightbox />

View file

@ -49,6 +49,7 @@ const ShellInner = observer(() => {
replyTo={store.shell.composerOpts?.replyTo}
quote={store.shell.composerOpts?.quote}
onPost={store.shell.composerOpts?.onPost}
mention={store.shell.composerOpts?.mention}
/>
{!isDesktop && <BottomBarWeb />}
<ModalsContainer />