[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

@ -45,6 +45,7 @@ import {Gallery} from './photos/Gallery'
import {MAX_GRAPHEME_LENGTH} from 'lib/constants'
import {LabelsBtn} from './labels/LabelsBtn'
import {SelectLangBtn} from './select-language/SelectLangBtn'
import {insertMentionAt} from 'lib/strings/mention-manip'
type Props = ComposerOpts & {
onClose: () => void
@ -55,6 +56,7 @@ export const ComposePost = observer(function ComposePost({
onPost,
onClose,
quote: initQuote,
mention: initMention,
}: Props) {
const {track} = useAnalytics()
const pal = usePalette('default')
@ -64,7 +66,17 @@ export const ComposePost = observer(function ComposePost({
const [isProcessing, setIsProcessing] = useState(false)
const [processingState, setProcessingState] = useState('')
const [error, setError] = useState('')
const [richtext, setRichText] = useState(new RichText({text: ''}))
const [richtext, setRichText] = useState(
new RichText({
text: initMention
? insertMentionAt(
`@${initMention}`,
initMention.length + 1,
`${initMention}`,
) // insert mention if passed in
: '',
}),
)
const graphemeLength = useMemo(() => {
return shortenLinks(richtext).graphemeLength
}, [richtext])