diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-11-14 10:41:55 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-14 10:41:55 -0800 |
commit | 0a26e78dcbbf48dad5daae73b210e236d706b22c (patch) | |
tree | c06c737ed49e8294bf5cbec1a75c36b591cb6669 /src/view/com/post-thread/PostThreadItem.tsx | |
parent | c687172de96bd6aa85d3aa025c2e0f024640f345 (diff) | |
download | voidsky-0a26e78dcbbf48dad5daae73b210e236d706b22c.tar.zst |
Composer update (react-query refactor) (#1899)
* Move composer state to a context * Rework composer to use RQ --------- Co-authored-by: Eric Bailey <git@esb.lol>
Diffstat (limited to 'src/view/com/post-thread/PostThreadItem.tsx')
-rw-r--r-- | src/view/com/post-thread/PostThreadItem.tsx | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx index 88889fd18..c81b762c3 100644 --- a/src/view/com/post-thread/PostThreadItem.tsx +++ b/src/view/com/post-thread/PostThreadItem.tsx @@ -20,7 +20,6 @@ import {sanitizeHandle} from 'lib/strings/handles' import {countLines, pluralize} from 'lib/strings/helpers' import {isEmbedByEmbedder} from 'lib/embeds' import {getTranslatorLink, isPostInLanguage} from '../../../locale/helpers' -import {useStores} from 'state/index' import {PostMeta} from '../util/PostMeta' import {PostEmbeds} from '../util/post-embeds' import {PostCtrls} from '../util/post-ctrls/PostCtrls' @@ -39,6 +38,8 @@ import {MAX_POST_LINES} from 'lib/constants' import {Trans} from '@lingui/macro' import {useLanguagePrefs} from '#/state/preferences' import {usePostShadow, POST_TOMBSTONE} from '#/state/cache/post-shadow' +import {useComposerControls} from '#/state/shell/composer' +import {useModerationOpts} from '#/state/queries/preferences' export function PostThreadItem({ post, @@ -65,7 +66,7 @@ export function PostThreadItem({ hasPrecedingItem: boolean onPostReply: () => void }) { - const store = useStores() + const moderationOpts = useModerationOpts() const postShadowed = usePostShadow(post, dataUpdatedAt) const richText = useMemo( () => @@ -77,8 +78,8 @@ export function PostThreadItem({ ) const moderation = useMemo( () => - post ? moderatePost(post, store.preferences.moderationOpts) : undefined, - [post, store], + post && moderationOpts ? moderatePost(post, moderationOpts) : undefined, + [post, moderationOpts], ) if (postShadowed === POST_TOMBSTONE) { return <PostThreadItemDeleted /> @@ -145,8 +146,8 @@ function PostThreadItemLoaded({ onPostReply: () => void }) { const pal = usePalette('default') - const store = useStores() const langPrefs = useLanguagePrefs() + const {openComposer} = useComposerControls() const [limitLines, setLimitLines] = React.useState( countLines(richText?.text) >= MAX_POST_LINES, ) @@ -187,7 +188,7 @@ function PostThreadItemLoaded({ ) const onPressReply = React.useCallback(() => { - store.shell.openComposer({ + openComposer({ replyTo: { uri: post.uri, cid: post.cid, @@ -200,7 +201,7 @@ function PostThreadItemLoaded({ }, onPost: onPostReply, }) - }, [store, post, record, onPostReply]) + }, [openComposer, post, record, onPostReply]) const onPressShowMore = React.useCallback(() => { setLimitLines(false) |