Rework "Who can reply" to blend more nicely into the UI (#4578)

* Rework WhoCanReply controls in threads to blend more nicely

* Fix layout

* Fix post control hitslops

* Move dialog content to separate component

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
This commit is contained in:
Paul Frazee 2024-06-19 18:39:45 -07:00 committed by GitHub
parent 75aec19230
commit 80197556f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 314 additions and 186 deletions

View file

@ -15,7 +15,7 @@ import {
import {msg, plural} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {HITSLOP_10, HITSLOP_20} from '#/lib/constants'
import {POST_CTRL_HITSLOP} from '#/lib/constants'
import {useHaptics} from '#/lib/haptics'
import {makeProfileLink} from '#/lib/routes/links'
import {shareUrl} from '#/lib/sharing'
@ -215,7 +215,7 @@ let PostCtrls = ({
other: 'Reply (# replies)',
})}
accessibilityHint=""
hitSlop={big ? HITSLOP_20 : HITSLOP_10}>
hitSlop={POST_CTRL_HITSLOP}>
<Bubble
style={[defaultCtrlColor, {pointerEvents: 'none'}]}
width={big ? 22 : 18}
@ -258,7 +258,7 @@ let PostCtrls = ({
})
}
accessibilityHint=""
hitSlop={big ? HITSLOP_20 : HITSLOP_10}>
hitSlop={POST_CTRL_HITSLOP}>
{post.viewer?.like ? (
<HeartIconFilled style={s.likeColor} width={big ? 22 : 18} />
) : (
@ -299,7 +299,7 @@ let PostCtrls = ({
}}
accessibilityLabel={_(msg`Share`)}
accessibilityHint=""
hitSlop={big ? HITSLOP_20 : HITSLOP_10}>
hitSlop={POST_CTRL_HITSLOP}>
<ArrowOutOfBox
style={[defaultCtrlColor, {pointerEvents: 'none'}]}
width={22}
@ -325,7 +325,7 @@ let PostCtrls = ({
record={record}
richText={richText}
style={{padding: 5}}
hitSlop={big ? HITSLOP_20 : HITSLOP_10}
hitSlop={POST_CTRL_HITSLOP}
timestamp={post.indexedAt}
/>
</View>

View file

@ -3,7 +3,7 @@ import {View} from 'react-native'
import {msg, plural} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {HITSLOP_10, HITSLOP_20} from '#/lib/constants'
import {POST_CTRL_HITSLOP} from '#/lib/constants'
import {useHaptics} from '#/lib/haptics'
import {useRequireAuth} from '#/state/session'
import {atoms as a, useTheme} from '#/alf'
@ -67,7 +67,7 @@ let RepostButton = ({
shape="round"
variant="ghost"
color="secondary"
hitSlop={big ? HITSLOP_20 : HITSLOP_10}>
hitSlop={POST_CTRL_HITSLOP}>
<Repost style={color} width={big ? 22 : 18} />
{typeof repostCount !== 'undefined' && repostCount > 0 ? (
<Text