[🐴] Empty chat prompt (#4132)

* Add empty chat pill

* Tweak padding

* move to `components`, place inside `KeyboardStickyView`

* cleanup unused vars

* add a new animation type

* (unrelated) add haptic to long press

* adjust shrink and pop

---------

Co-authored-by: Hailey <me@haileyok.com>
This commit is contained in:
Eric Bailey 2024-05-20 18:56:44 -05:00 committed by GitHub
parent 6dde487563
commit a7b0242cc8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 143 additions and 12 deletions

View file

@ -13,6 +13,7 @@ import {isNative} from '#/platform/detection'
import {useProfileShadow} from '#/state/cache/profile-shadow'
import {useModerationOpts} from '#/state/preferences/moderation-opts'
import {useSession} from '#/state/session'
import {useHaptics} from 'lib/haptics'
import {logEvent} from 'lib/statsig/statsig'
import {sanitizeDisplayName} from 'lib/strings/display-names'
import {TimeElapsed} from '#/view/com/util/TimeElapsed'
@ -70,6 +71,7 @@ function ChatListItemReady({
() => moderateProfile(profile, moderationOpts),
[profile, moderationOpts],
)
const playHaptic = useHaptics()
const blockInfo = React.useMemo(() => {
const modui = moderation.ui('profileView')
@ -134,8 +136,9 @@ function ChatListItemReady({
)
const onLongPress = useCallback(() => {
playHaptic()
menuControl.open()
}, [menuControl])
}, [playHaptic, menuControl])
return (
<View
@ -162,7 +165,7 @@ function ChatListItemReady({
: undefined
}
onPress={onPress}
onLongPress={isNative ? menuControl.open : undefined}
onLongPress={isNative ? onLongPress : undefined}
onAccessibilityAction={onLongPress}
style={[
web({