diff options
Diffstat (limited to 'src/screens')
-rw-r--r-- | src/screens/Messages/Conversation/MessagesList.tsx | 19 | ||||
-rw-r--r-- | src/screens/Messages/List/ChatListItem.tsx | 7 |
2 files changed, 16 insertions, 10 deletions
diff --git a/src/screens/Messages/Conversation/MessagesList.tsx b/src/screens/Messages/Conversation/MessagesList.tsx index e30354508..167cc72bd 100644 --- a/src/screens/Messages/Conversation/MessagesList.tsx +++ b/src/screens/Messages/Conversation/MessagesList.tsx @@ -17,7 +17,7 @@ import {AppBskyRichtextFacet, RichText} from '@atproto/api' import {shortenLinks} from '#/lib/strings/rich-text-manip' import {isIOS, isNative} from '#/platform/detection' -import {useConvoActive} from '#/state/messages/convo' +import {isConvoActive, useConvoActive} from '#/state/messages/convo' import {ConvoItem, ConvoStatus} from '#/state/messages/convo/types' import {useAgent} from '#/state/session' import {ScrollProvider} from 'lib/ScrollContext' @@ -26,6 +26,7 @@ import {List} from 'view/com/util/List' import {ChatDisabled} from '#/screens/Messages/Conversation/ChatDisabled' import {MessageInput} from '#/screens/Messages/Conversation/MessageInput' import {MessageListError} from '#/screens/Messages/Conversation/MessageListError' +import {ChatEmptyPill} from '#/components/dms/ChatEmptyPill' import {MessageItem} from '#/components/dms/MessageItem' import {NewMessagesPill} from '#/components/dms/NewMessagesPill' import {Loader} from '#/components/Loader' @@ -340,18 +341,20 @@ export function MessagesList({ /> </ScrollProvider> <KeyboardStickyView offset={{closed: -bottomOffset, opened: 0}}> - {!blocked ? ( + {convoState.status === ConvoStatus.Disabled ? ( + <ChatDisabled /> + ) : blocked ? ( + footer + ) : ( <> - {convoState.status === ConvoStatus.Disabled ? ( - <ChatDisabled /> - ) : ( - <MessageInput onSendMessage={onSendMessage} /> + {isConvoActive(convoState) && convoState.items.length === 0 && ( + <ChatEmptyPill /> )} + <MessageInput onSendMessage={onSendMessage} /> </> - ) : ( - footer )} </KeyboardStickyView> + {newMessagesPill.show && <NewMessagesPill onPress={scrollToEndOnPress} />} </> ) diff --git a/src/screens/Messages/List/ChatListItem.tsx b/src/screens/Messages/List/ChatListItem.tsx index 682a2197e..ce0c7eee8 100644 --- a/src/screens/Messages/List/ChatListItem.tsx +++ b/src/screens/Messages/List/ChatListItem.tsx @@ -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({ |