@planningcenter/chat-react-native 4.4.1-qa-staging.12 → 4.4.1-qa-staging.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/conversation/jump_to_bottom_button.d.ts.map +1 -1
- package/build/components/conversation/jump_to_bottom_button.js +42 -40
- package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
- package/build/components/conversation/message.d.ts +2 -1
- package/build/components/conversation/message.d.ts.map +1 -1
- package/build/components/conversation/message.js +3 -1
- package/build/components/conversation/message.js.map +1 -1
- package/build/components/conversation/message_list.d.ts.map +1 -1
- package/build/components/conversation/message_list.js +35 -31
- package/build/components/conversation/message_list.js.map +1 -1
- package/build/components/conversation/message_reaction.d.ts +2 -1
- package/build/components/conversation/message_reaction.d.ts.map +1 -1
- package/build/components/conversation/message_reaction.js +67 -60
- package/build/components/conversation/message_reaction.js.map +1 -1
- package/build/components/conversation/messages_disabled_banners.d.ts +7 -5
- package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
- package/build/components/conversation/messages_disabled_banners.js +15 -14
- package/build/components/conversation/messages_disabled_banners.js.map +1 -1
- package/build/components/conversation/system_message.d.ts +2 -1
- package/build/components/conversation/system_message.d.ts.map +1 -1
- package/build/components/conversation/system_message.js +87 -65
- package/build/components/conversation/system_message.js.map +1 -1
- package/build/components/display/action_button.d.ts.map +1 -1
- package/build/components/display/action_button.js +18 -16
- package/build/components/display/action_button.js.map +1 -1
- package/build/components/display/filter_dropdown.d.ts +13 -0
- package/build/components/display/filter_dropdown.d.ts.map +1 -0
- package/build/components/display/filter_dropdown.js +188 -0
- package/build/components/display/filter_dropdown.js.map +1 -0
- package/build/components/display/index.d.ts +1 -0
- package/build/components/display/index.d.ts.map +1 -1
- package/build/components/display/index.js +1 -0
- package/build/components/display/index.js.map +1 -1
- package/build/hooks/index.d.ts +1 -0
- package/build/hooks/index.d.ts.map +1 -1
- package/build/hooks/index.js +1 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/use_animated_message_background_color.d.ts.map +1 -1
- package/build/hooks/use_animated_message_background_color.js +5 -3
- package/build/hooks/use_animated_message_background_color.js.map +1 -1
- package/build/hooks/use_conversation.d.ts +73 -1
- package/build/hooks/use_conversation.d.ts.map +1 -1
- package/build/hooks/use_conversation.js +122 -3
- package/build/hooks/use_conversation.js.map +1 -1
- package/build/hooks/use_reduce_motion.d.ts +2 -0
- package/build/hooks/use_reduce_motion.d.ts.map +1 -0
- package/build/hooks/use_reduce_motion.js +27 -0
- package/build/hooks/use_reduce_motion.js.map +1 -0
- package/build/hooks/use_unarchive_conversation_action.d.ts +7 -0
- package/build/hooks/use_unarchive_conversation_action.d.ts.map +1 -0
- package/build/hooks/use_unarchive_conversation_action.js +52 -0
- package/build/hooks/use_unarchive_conversation_action.js.map +1 -0
- package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.js +84 -61
- package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +487 -393
- package/build/screens/conversation_details_screen.js.map +1 -1
- package/build/screens/conversation_screen.d.ts.map +1 -1
- package/build/screens/conversation_screen.js +12 -9
- package/build/screens/conversation_screen.js.map +1 -1
- package/build/screens/design_system_screen.d.ts.map +1 -1
- package/build/screens/design_system_screen.js +275 -215
- package/build/screens/design_system_screen.js.map +1 -1
- package/build/screens/message_actions_screen.d.ts.map +1 -1
- package/build/screens/message_actions_screen.js +112 -92
- package/build/screens/message_actions_screen.js.map +1 -1
- package/build/types/resources/member_ability.d.ts +2 -0
- package/build/types/resources/member_ability.d.ts.map +1 -1
- package/build/types/resources/member_ability.js.map +1 -1
- package/build/utils/archived_conversation.d.ts +5 -0
- package/build/utils/archived_conversation.d.ts.map +1 -0
- package/build/utils/archived_conversation.js +5 -0
- package/build/utils/archived_conversation.js.map +1 -0
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js +1 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/native_adapters/configuration.d.ts +3 -0
- package/build/utils/native_adapters/configuration.d.ts.map +1 -1
- package/build/utils/native_adapters/configuration.js +3 -0
- package/build/utils/native_adapters/configuration.js.map +1 -1
- package/build/utils/native_adapters/index.d.ts +1 -0
- package/build/utils/native_adapters/index.d.ts.map +1 -1
- package/build/utils/native_adapters/index.js +1 -0
- package/build/utils/native_adapters/index.js.map +1 -1
- package/build/utils/native_adapters/menu.d.ts +40 -0
- package/build/utils/native_adapters/menu.d.ts.map +1 -0
- package/build/utils/native_adapters/menu.js +55 -0
- package/build/utils/native_adapters/menu.js.map +1 -0
- package/package.json +3 -3
- package/src/__tests__/screens/message_actions_screen.test.tsx +65 -2
- package/src/components/conversation/__tests__/message_list.test.tsx +68 -2
- package/src/components/conversation/__tests__/system_message.test.tsx +3 -1
- package/src/components/conversation/jump_to_bottom_button.tsx +4 -3
- package/src/components/conversation/message.tsx +3 -0
- package/src/components/conversation/message_list.tsx +9 -1
- package/src/components/conversation/message_reaction.tsx +7 -2
- package/src/components/conversation/messages_disabled_banners.tsx +17 -18
- package/src/components/conversation/system_message.tsx +24 -10
- package/src/components/display/__tests__/filter_dropdown.test.tsx +106 -0
- package/src/components/display/action_button.tsx +4 -3
- package/src/components/display/filter_dropdown.tsx +123 -0
- package/src/components/display/index.ts +1 -0
- package/src/hooks/__tests__/use_conversation_archive.test.tsx +130 -0
- package/src/hooks/__tests__/use_conversation_jolt_events.test.tsx +74 -0
- package/src/hooks/__tests__/use_reduce_motion.test.tsx +49 -0
- package/src/hooks/__tests__/use_unarchive_conversation_action.test.tsx +67 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use_animated_message_background_color.ts +6 -3
- package/src/hooks/use_conversation.ts +41 -3
- package/src/hooks/use_reduce_motion.ts +18 -0
- package/src/hooks/use_unarchive_conversation_action.ts +24 -0
- package/src/screens/__tests__/conversation_details_screen.test.tsx +289 -0
- package/src/screens/attachment_actions/__tests__/attachment_actions_screen.test.tsx +72 -0
- package/src/screens/attachment_actions/attachment_actions_screen.tsx +3 -1
- package/src/screens/conversation_details_screen.tsx +78 -14
- package/src/screens/conversation_screen.tsx +3 -1
- package/src/screens/design_system_screen.tsx +26 -0
- package/src/screens/message_actions_screen.tsx +29 -20
- package/src/types/resources/member_ability.ts +2 -0
- package/src/utils/archived_conversation.ts +13 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/native_adapters/__tests__/menu.test.tsx +42 -0
- package/src/utils/native_adapters/configuration.ts +5 -0
- package/src/utils/native_adapters/index.ts +1 -0
- package/src/utils/native_adapters/menu.tsx +68 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_list.js","names":["date","formatDate","noop","React","useCallback","useEffect","useRef","useState","FlatList","StyleSheet","View","useTheme","getRelativeDateStatus","groupMessages","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","isSystemMessage","Text","ConversationStartBanner","Message","MissingMessage","ReplyShadowMessage","SystemMessage","jsx","_jsx","jsxs","_jsxs","HOLD_AND_FOLLOW","minIndexForVisible","autoscrollToTopThreshold","HOLD_ONLY","ANCHOR_CLEARS_JUMP_BUTTON","ANCHOR_VIEWABILITY","itemVisiblePercentThreshold","MessageList","t0","$","_c","listRef","conversation","conversationId","messages","replyRootId","anchorMessageId","behind","t1","hasNextPage","onEndReached","onStartReached","onScroll","onLayout","onContentSizeChange","onScrollBeginDrag","onScrollEndDrag","onMomentumScrollEnd","undefined","styles","useStyles","inReplyScreen","canDeleteNonAuthoredMessages","memberAbility","latestRead","latestReadMessageSortKey","messagesWithSeparators","t2","ms","findIndex","item","id","anchorIndex","layoutHeight","contentHeight","userHasScrolled","draggedSinceStartReached","latestAnchorMessageId","flashedAnchorId","highlightedMessageId","setHighlightedMessageId","t3","t4","current","t5","anchorIsLoaded","scrollable","scrollToIndex","index","viewPosition","viewOffset","animated","pinAnchorToBottomEdge","t6","event","nativeEvent","layout","height","handleLayout","t7","width","handleContentSizeChange","t8","event_0","handleScrollBeginDrag","t9","Symbol","for","t10","viewableItems","anchorId","some","token","flashAnchorOnceViewable","clearHighlight","t11","handleStartReached","t12","t13","hasMessages","t14","t15","item_1","type","InlineDateSeparator","deletedAt","readByOthers","mine","highlighted","listHeader","style","t16","listContainer","inverted","contentContainerStyle","keyExtractor","_temp","scrollEventThrottle","maintainVisibleContentPosition","ListFooterComponent","renderItem","ListHeaderComponent","item_0","useDateSeparatorStyles","isThisYear","showYear","year","dateStamp","separator","dateText","variant","children","container","theme","colors","borderColorDefaultBase","create","alignItems","flexDirection","paddingHorizontal","paddingVertical","flex","borderTopWidth","borderTopColor"],"sources":["../../../src/components/conversation/message_list.tsx"],"sourcesContent":["import { date as formatDate } from '@planningcenter/datetime-fmt'\nimport { noop } from 'lodash'\nimport React, { RefObject, useCallback, useEffect, useRef, useState } from 'react'\nimport { FlatList, FlatListProps, StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { ConversationResource } from '../../types/resources/conversation'\nimport { MessageResource } from '../../types/resources/message'\nimport { getRelativeDateStatus } from '../../utils/date'\nimport { groupMessages, type DateSeparator, type EnrichedMessage } from '../../utils/group_messages'\nimport { CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL } from '../../utils/styles'\nimport { isSystemMessage } from '../../utils/system_messages'\nimport { Text } from '../display'\nimport { ConversationStartBanner } from './conversation_start_banner'\nimport { Message } from './message'\nimport { MissingMessage } from './missing_message'\nimport { ReplyShadowMessage } from './reply_shadow_message'\nimport { SystemMessage } from './system_message'\n\n// While behind, the bottom of the window isn't the live edge. Following there pulls\n// each newly paged-in page into view and chains the next fetch.\nconst HOLD_AND_FOLLOW = { minIndexForVisible: 0, autoscrollToTopThreshold: 100 }\nconst HOLD_ONLY = { minIndexForVisible: 0 }\n\ntype ScrollHandlers = Pick<\n FlatListProps<EnrichedMessage>,\n | 'onScroll'\n | 'onLayout'\n | 'onContentSizeChange'\n | 'onScrollBeginDrag'\n | 'onScrollEndDrag'\n | 'onMomentumScrollEnd'\n>\n\ninterface MessageListProps extends ScrollHandlers {\n listRef: RefObject<FlatList | null>\n conversation: ConversationResource\n conversationId: number\n messages: MessageResource[]\n replyRootId?: string | null\n anchorMessageId?: string | null\n behind?: boolean\n hasNextPage: boolean\n onEndReached: () => void\n onStartReached?: () => void\n}\n\nconst ANCHOR_CLEARS_JUMP_BUTTON = 56\nconst ANCHOR_VIEWABILITY = { itemVisiblePercentThreshold: 50 }\n\n/** MessageList\n * The inverted list of messages, reply previews, and date separators for a conversation\n */\nexport function MessageList({\n listRef,\n conversation,\n conversationId,\n messages,\n replyRootId,\n anchorMessageId,\n behind = false,\n hasNextPage,\n onEndReached,\n onStartReached,\n onScroll,\n onLayout,\n onContentSizeChange,\n onScrollBeginDrag,\n onScrollEndDrag,\n onMomentumScrollEnd,\n}: MessageListProps) {\n const styles = useStyles()\n const inReplyScreen = !!replyRootId\n const canDeleteNonAuthoredMessages =\n conversation.memberAbility?.canDeleteNonAuthoredMessages ?? false\n const latestRead = conversation.latestReadMessageSortKey\n const messagesWithSeparators = groupMessages({ ms: messages, inReplyScreen })\n const anchorIndex = anchorMessageId\n ? messagesWithSeparators.findIndex(item => item.id === anchorMessageId)\n : -1\n const layoutHeight = useRef(0)\n const contentHeight = useRef(0)\n const userHasScrolled = useRef(false)\n const draggedSinceStartReached = useRef(false)\n const latestAnchorMessageId = useRef(anchorMessageId)\n const flashedAnchorId = useRef<string | null>(null)\n const [highlightedMessageId, setHighlightedMessageId] = useState<string | null>(null)\n\n useEffect(() => {\n latestAnchorMessageId.current = anchorMessageId\n }, [anchorMessageId])\n\n // Row heights keep settling after the first layout (images, attachments), so we\n // re-pin on every layout pass until the reader takes over with a drag.\n const pinAnchorToBottomEdge = () => {\n const anchorIsLoaded = anchorIndex >= 0\n if (!anchorIsLoaded || userHasScrolled.current) return\n\n const scrollable = layoutHeight.current > 0 && contentHeight.current > layoutHeight.current\n if (!scrollable) return\n\n listRef.current?.scrollToIndex({\n index: anchorIndex,\n viewPosition: 0,\n viewOffset: ANCHOR_CLEARS_JUMP_BUTTON,\n animated: false,\n })\n }\n\n const handleLayout: FlatListProps<EnrichedMessage>['onLayout'] = event => {\n onLayout?.(event)\n layoutHeight.current = event.nativeEvent.layout.height\n pinAnchorToBottomEdge()\n }\n\n const handleContentSizeChange: FlatListProps<EnrichedMessage>['onContentSizeChange'] = (\n width,\n height\n ) => {\n onContentSizeChange?.(width, height)\n contentHeight.current = height\n pinAnchorToBottomEdge()\n }\n\n const handleScrollBeginDrag: FlatListProps<EnrichedMessage>['onScrollBeginDrag'] = event => {\n userHasScrolled.current = true\n draggedSinceStartReached.current = true\n onScrollBeginDrag?.(event)\n }\n\n const flashAnchorOnceViewable: FlatListProps<EnrichedMessage>['onViewableItemsChanged'] = ({\n viewableItems,\n }) => {\n const anchorId = latestAnchorMessageId.current\n if (!anchorId || anchorId === flashedAnchorId.current) return\n if (!viewableItems.some(token => token.item.id === anchorId)) return\n\n flashedAnchorId.current = anchorId\n setHighlightedMessageId(anchorId)\n }\n\n const clearHighlight = useCallback(() => setHighlightedMessageId(null), [])\n\n // VirtualizedList re-checks its edges on every content size change using a JS offset\n // the native hold never updates, so without this each merged page re-fires it.\n const handleStartReached = () => {\n if (!draggedSinceStartReached.current) return\n\n draggedSinceStartReached.current = false\n onStartReached?.()\n }\n\n return (\n <FlatList\n inverted\n ref={listRef}\n contentContainerStyle={styles.listContainer}\n data={messagesWithSeparators}\n keyExtractor={item => item.id}\n onScroll={onScroll}\n onLayout={handleLayout}\n onContentSizeChange={handleContentSizeChange}\n onScrollBeginDrag={handleScrollBeginDrag}\n // Expected while rows are still measuring; the next layout pass pins again.\n onScrollToIndexFailed={noop}\n onScrollEndDrag={onScrollEndDrag}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onViewableItemsChanged={flashAnchorOnceViewable}\n viewabilityConfig={ANCHOR_VIEWABILITY}\n scrollEventThrottle={10}\n maintainVisibleContentPosition={behind ? HOLD_ONLY : HOLD_AND_FOLLOW}\n ListFooterComponent={\n hasNextPage ? null : (\n <ConversationStartBanner conversation={conversation} hasMessages={true} />\n )\n }\n renderItem={({ item }) => {\n if (item.type === 'DateSeparator') {\n return <InlineDateSeparator {...item} />\n }\n\n if (item.type === 'Message' && item.deletedAt && !item.replyRootId) {\n return <MissingMessage />\n }\n\n if (item.type === 'ReplyShadowMessage') {\n return (\n <ReplyShadowMessage\n {...(item as any)}\n conversation_id={conversationId}\n inReplyScreen={inReplyScreen}\n />\n )\n }\n\n if (isSystemMessage(item)) {\n return <SystemMessage message={item} conversationId={conversationId} />\n }\n\n const readByOthers = item.mine && !!latestRead && item.id <= latestRead\n return (\n <Message\n {...item}\n canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages}\n conversation_id={conversationId}\n readByOthers={readByOthers}\n inReplyScreen={inReplyScreen}\n highlighted={item.id === highlightedMessageId}\n onHighlightShown={clearHighlight}\n />\n )\n }}\n onEndReached={onEndReached}\n onStartReached={handleStartReached}\n ListHeaderComponent={<View style={styles.listHeader} />}\n />\n )\n}\n\nfunction InlineDateSeparator({ date }: DateSeparator) {\n const styles = useDateSeparatorStyles()\n const { isThisYear } = getRelativeDateStatus(date)\n const showYear = !isThisYear\n const dateStamp = formatDate(date, { style: 'long', year: showYear })\n\n return (\n <View style={styles.container}>\n <View style={styles.separator} />\n <Text variant=\"footnote\" style={styles.dateText}>\n {dateStamp}\n </Text>\n <View style={styles.separator} />\n </View>\n )\n}\n\nconst useDateSeparatorStyles = () => {\n const theme = useTheme()\n return StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,\n paddingVertical: 16,\n },\n separator: {\n flex: 1,\n height: 1,\n borderTopWidth: 1,\n borderTopColor: theme.colors.borderColorDefaultBase,\n },\n dateText: {\n paddingHorizontal: 8,\n },\n })\n}\n\nconst useStyles = () =>\n StyleSheet.create({\n listContainer: {\n paddingVertical: 12,\n },\n listHeader: {\n // Just whitespace to provide space where the typing indicator can be\n height: 16,\n },\n })\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"message_list.js","names":["date","formatDate","noop","React","useCallback","useEffect","useRef","useState","FlatList","StyleSheet","View","useTheme","getRelativeDateStatus","groupMessages","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","isSystemMessage","Text","ConversationStartBanner","Message","MissingMessage","ReplyShadowMessage","SystemMessage","jsx","_jsx","jsxs","_jsxs","HOLD_AND_FOLLOW","minIndexForVisible","autoscrollToTopThreshold","HOLD_ONLY","ANCHOR_CLEARS_JUMP_BUTTON","ANCHOR_VIEWABILITY","itemVisiblePercentThreshold","MessageList","t0","$","_c","listRef","conversation","conversationId","messages","replyRootId","anchorMessageId","behind","t1","hasNextPage","onEndReached","onStartReached","onScroll","onLayout","onContentSizeChange","onScrollBeginDrag","onScrollEndDrag","onMomentumScrollEnd","undefined","styles","useStyles","inReplyScreen","canDeleteNonAuthoredMessages","memberAbility","conversationDisabled","disabled","latestRead","latestReadMessageSortKey","messagesWithSeparators","t2","ms","findIndex","item","id","anchorIndex","layoutHeight","contentHeight","userHasScrolled","draggedSinceStartReached","latestAnchorMessageId","flashedAnchorId","highlightedMessageId","setHighlightedMessageId","t3","t4","current","t5","anchorIsLoaded","scrollable","scrollToIndex","index","viewPosition","viewOffset","animated","pinAnchorToBottomEdge","t6","event","nativeEvent","layout","height","handleLayout","t7","width","handleContentSizeChange","t8","event_0","handleScrollBeginDrag","t9","Symbol","for","t10","viewableItems","anchorId","some","token","flashAnchorOnceViewable","clearHighlight","t11","handleStartReached","t12","t13","hasMessages","t14","t15","item_1","type","InlineDateSeparator","deletedAt","readByOthers","mine","highlighted","listHeader","style","t16","listContainer","inverted","contentContainerStyle","keyExtractor","_temp","scrollEventThrottle","maintainVisibleContentPosition","ListFooterComponent","renderItem","ListHeaderComponent","item_0","useDateSeparatorStyles","isThisYear","showYear","year","dateStamp","separator","dateText","variant","children","container","theme","colors","borderColorDefaultBase","create","alignItems","flexDirection","paddingHorizontal","paddingVertical","flex","borderTopWidth","borderTopColor"],"sources":["../../../src/components/conversation/message_list.tsx"],"sourcesContent":["import { date as formatDate } from '@planningcenter/datetime-fmt'\nimport { noop } from 'lodash'\nimport React, { RefObject, useCallback, useEffect, useRef, useState } from 'react'\nimport { FlatList, FlatListProps, StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { ConversationResource } from '../../types/resources/conversation'\nimport { MessageResource } from '../../types/resources/message'\nimport { getRelativeDateStatus } from '../../utils/date'\nimport { groupMessages, type DateSeparator, type EnrichedMessage } from '../../utils/group_messages'\nimport { CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL } from '../../utils/styles'\nimport { isSystemMessage } from '../../utils/system_messages'\nimport { Text } from '../display'\nimport { ConversationStartBanner } from './conversation_start_banner'\nimport { Message } from './message'\nimport { MissingMessage } from './missing_message'\nimport { ReplyShadowMessage } from './reply_shadow_message'\nimport { SystemMessage } from './system_message'\n\n// While behind, the bottom of the window isn't the live edge. Following there pulls\n// each newly paged-in page into view and chains the next fetch.\nconst HOLD_AND_FOLLOW = { minIndexForVisible: 0, autoscrollToTopThreshold: 100 }\nconst HOLD_ONLY = { minIndexForVisible: 0 }\n\ntype ScrollHandlers = Pick<\n FlatListProps<EnrichedMessage>,\n | 'onScroll'\n | 'onLayout'\n | 'onContentSizeChange'\n | 'onScrollBeginDrag'\n | 'onScrollEndDrag'\n | 'onMomentumScrollEnd'\n>\n\ninterface MessageListProps extends ScrollHandlers {\n listRef: RefObject<FlatList | null>\n conversation: ConversationResource\n conversationId: number\n messages: MessageResource[]\n replyRootId?: string | null\n anchorMessageId?: string | null\n behind?: boolean\n hasNextPage: boolean\n onEndReached: () => void\n onStartReached?: () => void\n}\n\nconst ANCHOR_CLEARS_JUMP_BUTTON = 56\nconst ANCHOR_VIEWABILITY = { itemVisiblePercentThreshold: 50 }\n\n/** MessageList\n * The inverted list of messages, reply previews, and date separators for a conversation\n */\nexport function MessageList({\n listRef,\n conversation,\n conversationId,\n messages,\n replyRootId,\n anchorMessageId,\n behind = false,\n hasNextPage,\n onEndReached,\n onStartReached,\n onScroll,\n onLayout,\n onContentSizeChange,\n onScrollBeginDrag,\n onScrollEndDrag,\n onMomentumScrollEnd,\n}: MessageListProps) {\n const styles = useStyles()\n const inReplyScreen = !!replyRootId\n const canDeleteNonAuthoredMessages =\n conversation.memberAbility?.canDeleteNonAuthoredMessages ?? false\n const conversationDisabled = conversation.disabled ?? false\n const latestRead = conversation.latestReadMessageSortKey\n const messagesWithSeparators = groupMessages({ ms: messages, inReplyScreen })\n const anchorIndex = anchorMessageId\n ? messagesWithSeparators.findIndex(item => item.id === anchorMessageId)\n : -1\n const layoutHeight = useRef(0)\n const contentHeight = useRef(0)\n const userHasScrolled = useRef(false)\n const draggedSinceStartReached = useRef(false)\n const latestAnchorMessageId = useRef(anchorMessageId)\n const flashedAnchorId = useRef<string | null>(null)\n const [highlightedMessageId, setHighlightedMessageId] = useState<string | null>(null)\n\n useEffect(() => {\n latestAnchorMessageId.current = anchorMessageId\n }, [anchorMessageId])\n\n // Row heights keep settling after the first layout (images, attachments), so we\n // re-pin on every layout pass until the reader takes over with a drag.\n const pinAnchorToBottomEdge = () => {\n const anchorIsLoaded = anchorIndex >= 0\n if (!anchorIsLoaded || userHasScrolled.current) return\n\n const scrollable = layoutHeight.current > 0 && contentHeight.current > layoutHeight.current\n if (!scrollable) return\n\n listRef.current?.scrollToIndex({\n index: anchorIndex,\n viewPosition: 0,\n viewOffset: ANCHOR_CLEARS_JUMP_BUTTON,\n animated: false,\n })\n }\n\n const handleLayout: FlatListProps<EnrichedMessage>['onLayout'] = event => {\n onLayout?.(event)\n layoutHeight.current = event.nativeEvent.layout.height\n pinAnchorToBottomEdge()\n }\n\n const handleContentSizeChange: FlatListProps<EnrichedMessage>['onContentSizeChange'] = (\n width,\n height\n ) => {\n onContentSizeChange?.(width, height)\n contentHeight.current = height\n pinAnchorToBottomEdge()\n }\n\n const handleScrollBeginDrag: FlatListProps<EnrichedMessage>['onScrollBeginDrag'] = event => {\n userHasScrolled.current = true\n draggedSinceStartReached.current = true\n onScrollBeginDrag?.(event)\n }\n\n const flashAnchorOnceViewable: FlatListProps<EnrichedMessage>['onViewableItemsChanged'] = ({\n viewableItems,\n }) => {\n const anchorId = latestAnchorMessageId.current\n if (!anchorId || anchorId === flashedAnchorId.current) return\n if (!viewableItems.some(token => token.item.id === anchorId)) return\n\n flashedAnchorId.current = anchorId\n setHighlightedMessageId(anchorId)\n }\n\n const clearHighlight = useCallback(() => setHighlightedMessageId(null), [])\n\n // VirtualizedList re-checks its edges on every content size change using a JS offset\n // the native hold never updates, so without this each merged page re-fires it.\n const handleStartReached = () => {\n if (!draggedSinceStartReached.current) return\n\n draggedSinceStartReached.current = false\n onStartReached?.()\n }\n\n return (\n <FlatList\n inverted\n ref={listRef}\n contentContainerStyle={styles.listContainer}\n data={messagesWithSeparators}\n keyExtractor={item => item.id}\n onScroll={onScroll}\n onLayout={handleLayout}\n onContentSizeChange={handleContentSizeChange}\n onScrollBeginDrag={handleScrollBeginDrag}\n // Expected while rows are still measuring; the next layout pass pins again.\n onScrollToIndexFailed={noop}\n onScrollEndDrag={onScrollEndDrag}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onViewableItemsChanged={flashAnchorOnceViewable}\n viewabilityConfig={ANCHOR_VIEWABILITY}\n scrollEventThrottle={10}\n maintainVisibleContentPosition={behind ? HOLD_ONLY : HOLD_AND_FOLLOW}\n ListFooterComponent={\n hasNextPage ? null : (\n <ConversationStartBanner conversation={conversation} hasMessages={true} />\n )\n }\n renderItem={({ item }) => {\n if (item.type === 'DateSeparator') {\n return <InlineDateSeparator {...item} />\n }\n\n if (item.type === 'Message' && item.deletedAt && !item.replyRootId) {\n return <MissingMessage />\n }\n\n if (item.type === 'ReplyShadowMessage') {\n return (\n <ReplyShadowMessage\n {...(item as any)}\n conversation_id={conversationId}\n inReplyScreen={inReplyScreen}\n />\n )\n }\n\n if (isSystemMessage(item)) {\n return (\n <SystemMessage\n message={item}\n conversationId={conversationId}\n conversationDisabled={conversationDisabled}\n />\n )\n }\n\n const readByOthers = item.mine && !!latestRead && item.id <= latestRead\n return (\n <Message\n {...item}\n canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages}\n conversationDisabled={conversationDisabled}\n conversation_id={conversationId}\n readByOthers={readByOthers}\n inReplyScreen={inReplyScreen}\n highlighted={item.id === highlightedMessageId}\n onHighlightShown={clearHighlight}\n />\n )\n }}\n onEndReached={onEndReached}\n onStartReached={handleStartReached}\n ListHeaderComponent={<View style={styles.listHeader} />}\n />\n )\n}\n\nfunction InlineDateSeparator({ date }: DateSeparator) {\n const styles = useDateSeparatorStyles()\n const { isThisYear } = getRelativeDateStatus(date)\n const showYear = !isThisYear\n const dateStamp = formatDate(date, { style: 'long', year: showYear })\n\n return (\n <View style={styles.container}>\n <View style={styles.separator} />\n <Text variant=\"footnote\" style={styles.dateText}>\n {dateStamp}\n </Text>\n <View style={styles.separator} />\n </View>\n )\n}\n\nconst useDateSeparatorStyles = () => {\n const theme = useTheme()\n return StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,\n paddingVertical: 16,\n },\n separator: {\n flex: 1,\n height: 1,\n borderTopWidth: 1,\n borderTopColor: theme.colors.borderColorDefaultBase,\n },\n dateText: {\n paddingHorizontal: 8,\n },\n })\n}\n\nconst useStyles = () =>\n StyleSheet.create({\n listContainer: {\n paddingVertical: 12,\n },\n listHeader: {\n // Just whitespace to provide space where the typing indicator can be\n height: 16,\n },\n })\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { MessageResource } from '../../types';
|
|
2
2
|
import { ReactionCountResource } from '../../types/resources/reaction';
|
|
3
|
-
export declare function MessageReaction({ reaction, onLongPress, message, conversationId, }: {
|
|
3
|
+
export declare function MessageReaction({ reaction, onLongPress, message, conversationId, disabled, }: {
|
|
4
4
|
reaction: ReactionCountResource;
|
|
5
5
|
onLongPress: (_reaction: ReactionCountResource) => void;
|
|
6
6
|
message: MessageResource;
|
|
7
7
|
conversationId: number;
|
|
8
|
+
disabled?: boolean;
|
|
8
9
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
9
10
|
export declare const useReactionStyles: ({ mine }: {
|
|
10
11
|
mine: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_reaction.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/message_reaction.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAItE,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,cAAc,
|
|
1
|
+
{"version":3,"file":"message_reaction.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/message_reaction.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAItE,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,cAAc,EACd,QAAgB,GACjB,EAAE;IACD,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,WAAW,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACvD,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,kDAmCA;AAED,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;CA0B3D,CAAA"}
|
|
@@ -11,53 +11,55 @@ import { REACTION_EMOJIS } from '../../utils';
|
|
|
11
11
|
import { Haptic } from '../../utils/native_adapters';
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
export function MessageReaction(t0) {
|
|
14
|
-
const $ = _c(
|
|
14
|
+
const $ = _c(31);
|
|
15
15
|
const {
|
|
16
16
|
reaction,
|
|
17
17
|
onLongPress,
|
|
18
18
|
message,
|
|
19
|
-
conversationId
|
|
19
|
+
conversationId,
|
|
20
|
+
disabled: t1
|
|
20
21
|
} = t0;
|
|
22
|
+
const disabled = t1 === undefined ? false : t1;
|
|
21
23
|
const styles = useReactionStyles(reaction);
|
|
22
|
-
let
|
|
24
|
+
let t2;
|
|
23
25
|
if ($[0] !== conversationId || $[1] !== message) {
|
|
24
|
-
|
|
26
|
+
t2 = {
|
|
25
27
|
conversation_id: conversationId,
|
|
26
28
|
message
|
|
27
29
|
};
|
|
28
30
|
$[0] = conversationId;
|
|
29
31
|
$[1] = message;
|
|
30
|
-
$[2] =
|
|
32
|
+
$[2] = t2;
|
|
31
33
|
} else {
|
|
32
|
-
|
|
34
|
+
t2 = $[2];
|
|
33
35
|
}
|
|
34
36
|
const {
|
|
35
37
|
handleReactionToggle
|
|
36
|
-
} = useMessageReactionToggle(
|
|
38
|
+
} = useMessageReactionToggle(t2);
|
|
37
39
|
const {
|
|
38
40
|
colors
|
|
39
41
|
} = useTheme();
|
|
40
42
|
const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060;
|
|
41
|
-
let
|
|
43
|
+
let t3;
|
|
42
44
|
if ($[3] !== baseRippleColor) {
|
|
43
|
-
|
|
45
|
+
t3 = {
|
|
44
46
|
color: baseRippleColor
|
|
45
47
|
};
|
|
46
48
|
$[3] = baseRippleColor;
|
|
47
|
-
$[4] =
|
|
49
|
+
$[4] = t3;
|
|
48
50
|
} else {
|
|
49
|
-
|
|
51
|
+
t3 = $[4];
|
|
50
52
|
}
|
|
51
|
-
const androidRippleColor = useCreateAndroidRippleColor(
|
|
53
|
+
const androidRippleColor = useCreateAndroidRippleColor(t3);
|
|
52
54
|
if (!reaction.count) {
|
|
53
55
|
return null;
|
|
54
56
|
}
|
|
55
57
|
if (!REACTION_EMOJIS[reaction.value]) {
|
|
56
58
|
return null;
|
|
57
59
|
}
|
|
58
|
-
let
|
|
60
|
+
let t4;
|
|
59
61
|
if ($[5] !== handleReactionToggle || $[6] !== reaction.mine || $[7] !== reaction.value) {
|
|
60
|
-
|
|
62
|
+
t4 = () => {
|
|
61
63
|
Haptic.impactLight();
|
|
62
64
|
handleReactionToggle({
|
|
63
65
|
value: reaction.value,
|
|
@@ -67,81 +69,86 @@ export function MessageReaction(t0) {
|
|
|
67
69
|
$[5] = handleReactionToggle;
|
|
68
70
|
$[6] = reaction.mine;
|
|
69
71
|
$[7] = reaction.value;
|
|
70
|
-
$[8] =
|
|
72
|
+
$[8] = t4;
|
|
71
73
|
} else {
|
|
72
|
-
|
|
74
|
+
t4 = $[8];
|
|
73
75
|
}
|
|
74
|
-
const handlePress =
|
|
75
|
-
const
|
|
76
|
-
let
|
|
76
|
+
const handlePress = t4;
|
|
77
|
+
const t5 = `reaction-${message.id}-${reaction.value}`;
|
|
78
|
+
let t6;
|
|
77
79
|
if ($[9] !== onLongPress || $[10] !== reaction) {
|
|
78
|
-
|
|
80
|
+
t6 = () => onLongPress(reaction);
|
|
79
81
|
$[9] = onLongPress;
|
|
80
82
|
$[10] = reaction;
|
|
81
|
-
$[11] =
|
|
83
|
+
$[11] = t6;
|
|
82
84
|
} else {
|
|
83
|
-
|
|
85
|
+
t6 = $[11];
|
|
84
86
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
const t7 = disabled ? undefined : handlePress;
|
|
88
|
+
const t8 = disabled ? 1 : undefined;
|
|
89
|
+
let t9;
|
|
90
|
+
if ($[12] !== androidRippleColor || $[13] !== disabled) {
|
|
91
|
+
t9 = disabled ? undefined : {
|
|
88
92
|
color: androidRippleColor,
|
|
89
93
|
borderless: false,
|
|
90
94
|
foreground: true
|
|
91
95
|
};
|
|
92
96
|
$[12] = androidRippleColor;
|
|
93
|
-
$[13] =
|
|
97
|
+
$[13] = disabled;
|
|
98
|
+
$[14] = t9;
|
|
94
99
|
} else {
|
|
95
|
-
|
|
100
|
+
t9 = $[14];
|
|
96
101
|
}
|
|
97
|
-
const
|
|
98
|
-
let
|
|
99
|
-
if ($[
|
|
100
|
-
|
|
102
|
+
const t10 = REACTION_EMOJIS[reaction.value];
|
|
103
|
+
let t11;
|
|
104
|
+
if ($[15] !== styles.reactionEmoji || $[16] !== t10) {
|
|
105
|
+
t11 = /*#__PURE__*/_jsx(Text, {
|
|
101
106
|
style: styles.reactionEmoji,
|
|
102
|
-
children:
|
|
107
|
+
children: t10
|
|
103
108
|
});
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
109
|
+
$[15] = styles.reactionEmoji;
|
|
110
|
+
$[16] = t10;
|
|
111
|
+
$[17] = t11;
|
|
107
112
|
} else {
|
|
108
|
-
|
|
113
|
+
t11 = $[17];
|
|
109
114
|
}
|
|
110
|
-
let
|
|
111
|
-
if ($[
|
|
112
|
-
|
|
115
|
+
let t12;
|
|
116
|
+
if ($[18] !== reaction.count || $[19] !== styles.reactionText) {
|
|
117
|
+
t12 = /*#__PURE__*/_jsx(Text, {
|
|
113
118
|
style: styles.reactionText,
|
|
114
119
|
children: reaction.count
|
|
115
120
|
});
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
118
|
-
$[
|
|
121
|
+
$[18] = reaction.count;
|
|
122
|
+
$[19] = styles.reactionText;
|
|
123
|
+
$[20] = t12;
|
|
119
124
|
} else {
|
|
120
|
-
|
|
125
|
+
t12 = $[20];
|
|
121
126
|
}
|
|
122
|
-
let
|
|
123
|
-
if ($[
|
|
124
|
-
|
|
125
|
-
testID:
|
|
127
|
+
let t13;
|
|
128
|
+
if ($[21] !== reaction.value || $[22] !== styles.reaction || $[23] !== t11 || $[24] !== t12 || $[25] !== t5 || $[26] !== t6 || $[27] !== t7 || $[28] !== t8 || $[29] !== t9) {
|
|
129
|
+
t13 = /*#__PURE__*/_jsxs(PlatformPressable, {
|
|
130
|
+
testID: t5,
|
|
126
131
|
style: styles.reaction,
|
|
127
|
-
onLongPress:
|
|
128
|
-
onPress:
|
|
129
|
-
|
|
130
|
-
|
|
132
|
+
onLongPress: t6,
|
|
133
|
+
onPress: t7,
|
|
134
|
+
pressOpacity: t8,
|
|
135
|
+
android_ripple: t9,
|
|
136
|
+
children: [t11, t12]
|
|
131
137
|
}, reaction.value);
|
|
132
|
-
$[20] = handlePress;
|
|
133
138
|
$[21] = reaction.value;
|
|
134
139
|
$[22] = styles.reaction;
|
|
135
|
-
$[23] =
|
|
136
|
-
$[24] =
|
|
137
|
-
$[25] =
|
|
138
|
-
$[26] =
|
|
139
|
-
$[27] =
|
|
140
|
-
$[28] =
|
|
140
|
+
$[23] = t11;
|
|
141
|
+
$[24] = t12;
|
|
142
|
+
$[25] = t5;
|
|
143
|
+
$[26] = t6;
|
|
144
|
+
$[27] = t7;
|
|
145
|
+
$[28] = t8;
|
|
146
|
+
$[29] = t9;
|
|
147
|
+
$[30] = t13;
|
|
141
148
|
} else {
|
|
142
|
-
|
|
149
|
+
t13 = $[30];
|
|
143
150
|
}
|
|
144
|
-
return
|
|
151
|
+
return t13;
|
|
145
152
|
}
|
|
146
153
|
export const useReactionStyles = t0 => {
|
|
147
154
|
const $ = _c(10);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_reaction.js","names":["PlatformPressable","colorFunction","React","useMemo","StyleSheet","Text","useSelectedChipBackgroundColor","useTheme","useCreateAndroidRippleColor","useMessageReactionToggle","REACTION_EMOJIS","Haptic","jsx","_jsx","jsxs","_jsxs","MessageReaction","t0","$","_c","reaction","onLongPress","message","conversationId","styles","useReactionStyles","t1","conversation_id","handleReactionToggle","colors","baseRippleColor","mine","interaction","fillColorNeutral060","t2","color","androidRippleColor","count","value","t3","impactLight","handlePress","t4","id","t5","t6","borderless","foreground","t7","t8","reactionEmoji","style","children","t9","reactionText","t10","testID","android_ripple","borderColorChipSelected","name","hsl","lightness","string","activeBorderColor","activeBackgroundColor","textColorDefaultPrimary","create","borderWidth","borderColor","backgroundColor","borderRadius","overflow","paddingVertical","paddingHorizontal","flexDirection","alignItems","gap","fontSize","paddingTop"],"sources":["../../../src/components/conversation/message_reaction.tsx"],"sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport colorFunction from 'color'\nimport React, { useMemo } from 'react'\nimport { StyleSheet } from 'react-native'\nimport { Text } from '../../components/display'\nimport { useSelectedChipBackgroundColor, useTheme } from '../../hooks'\nimport { useCreateAndroidRippleColor } from '../../hooks/use_create_android_ripple_color'\nimport { useMessageReactionToggle } from '../../hooks/use_message_reaction_toggle'\nimport { MessageResource } from '../../types'\nimport { ReactionCountResource } from '../../types/resources/reaction'\nimport { REACTION_EMOJIS } from '../../utils'\nimport { Haptic } from '../../utils/native_adapters'\n\nexport function MessageReaction({\n reaction,\n onLongPress,\n message,\n conversationId,\n}: {\n reaction: ReactionCountResource\n onLongPress: (_reaction: ReactionCountResource) => void\n message: MessageResource\n conversationId: number\n}) {\n const styles = useReactionStyles(reaction)\n const { handleReactionToggle } = useMessageReactionToggle({\n conversation_id: conversationId,\n message,\n })\n\n const { colors } = useTheme()\n const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060\n const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor })\n\n if (!reaction.count) return null\n if (!REACTION_EMOJIS[reaction.value]) return null\n\n const handlePress = () => {\n Haptic.impactLight()\n handleReactionToggle({ value: reaction.value, mine: !!reaction.mine })\n }\n\n return (\n <PlatformPressable\n key={reaction.value}\n testID={`reaction-${message.id}-${reaction.value}`}\n style={styles.reaction}\n onLongPress={() => onLongPress(reaction)}\n onPress={handlePress}\n android_ripple={{ color: androidRippleColor, borderless: false, foreground: true }}\n >\n <Text style={styles.reactionEmoji}>{REACTION_EMOJIS[reaction.value]}</Text>\n <Text style={styles.reactionText}>{reaction.count}</Text>\n </PlatformPressable>\n )\n}\n\nexport const useReactionStyles = ({ mine }: { mine: number }) => {\n const { colors } = useTheme()\n const activeBorderColor = useMemo(() => {\n return colorFunction(colors.borderColorChipSelected ?? colors.interaction)\n .hsl()\n .lightness(colors.name === 'dark' ? 20 : 80)\n .string()\n }, [colors.borderColorChipSelected, colors.interaction, colors.name])\n const activeBackgroundColor = useSelectedChipBackgroundColor()\n\n return StyleSheet.create({\n reaction: {\n borderWidth: 1,\n borderColor: mine ? activeBorderColor : 'transparent',\n backgroundColor: mine ? activeBackgroundColor : colors.fillColorNeutral060,\n borderRadius: 16,\n overflow: 'hidden',\n paddingVertical: 4,\n paddingHorizontal: 8,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 2,\n },\n reactionEmoji: { fontSize: 12, paddingTop: 0 },\n reactionText: { fontSize: 12, color: colors.textColorDefaultPrimary },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"message_reaction.js","names":["PlatformPressable","colorFunction","React","useMemo","StyleSheet","Text","useSelectedChipBackgroundColor","useTheme","useCreateAndroidRippleColor","useMessageReactionToggle","REACTION_EMOJIS","Haptic","jsx","_jsx","jsxs","_jsxs","MessageReaction","t0","$","_c","reaction","onLongPress","message","conversationId","disabled","t1","undefined","styles","useReactionStyles","t2","conversation_id","handleReactionToggle","colors","baseRippleColor","mine","interaction","fillColorNeutral060","t3","color","androidRippleColor","count","value","t4","impactLight","handlePress","t5","id","t6","t7","t8","t9","borderless","foreground","t10","t11","reactionEmoji","style","children","t12","reactionText","t13","testID","onPress","pressOpacity","android_ripple","borderColorChipSelected","name","hsl","lightness","string","activeBorderColor","activeBackgroundColor","textColorDefaultPrimary","create","borderWidth","borderColor","backgroundColor","borderRadius","overflow","paddingVertical","paddingHorizontal","flexDirection","alignItems","gap","fontSize","paddingTop"],"sources":["../../../src/components/conversation/message_reaction.tsx"],"sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport colorFunction from 'color'\nimport React, { useMemo } from 'react'\nimport { StyleSheet } from 'react-native'\nimport { Text } from '../../components/display'\nimport { useSelectedChipBackgroundColor, useTheme } from '../../hooks'\nimport { useCreateAndroidRippleColor } from '../../hooks/use_create_android_ripple_color'\nimport { useMessageReactionToggle } from '../../hooks/use_message_reaction_toggle'\nimport { MessageResource } from '../../types'\nimport { ReactionCountResource } from '../../types/resources/reaction'\nimport { REACTION_EMOJIS } from '../../utils'\nimport { Haptic } from '../../utils/native_adapters'\n\nexport function MessageReaction({\n reaction,\n onLongPress,\n message,\n conversationId,\n disabled = false,\n}: {\n reaction: ReactionCountResource\n onLongPress: (_reaction: ReactionCountResource) => void\n message: MessageResource\n conversationId: number\n disabled?: boolean\n}) {\n const styles = useReactionStyles(reaction)\n const { handleReactionToggle } = useMessageReactionToggle({\n conversation_id: conversationId,\n message,\n })\n\n const { colors } = useTheme()\n const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060\n const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor })\n\n if (!reaction.count) return null\n if (!REACTION_EMOJIS[reaction.value]) return null\n\n const handlePress = () => {\n Haptic.impactLight()\n handleReactionToggle({ value: reaction.value, mine: !!reaction.mine })\n }\n\n return (\n <PlatformPressable\n key={reaction.value}\n testID={`reaction-${message.id}-${reaction.value}`}\n style={styles.reaction}\n onLongPress={() => onLongPress(reaction)}\n onPress={disabled ? undefined : handlePress}\n pressOpacity={disabled ? 1 : undefined}\n android_ripple={\n disabled ? undefined : { color: androidRippleColor, borderless: false, foreground: true }\n }\n >\n <Text style={styles.reactionEmoji}>{REACTION_EMOJIS[reaction.value]}</Text>\n <Text style={styles.reactionText}>{reaction.count}</Text>\n </PlatformPressable>\n )\n}\n\nexport const useReactionStyles = ({ mine }: { mine: number }) => {\n const { colors } = useTheme()\n const activeBorderColor = useMemo(() => {\n return colorFunction(colors.borderColorChipSelected ?? colors.interaction)\n .hsl()\n .lightness(colors.name === 'dark' ? 20 : 80)\n .string()\n }, [colors.borderColorChipSelected, colors.interaction, colors.name])\n const activeBackgroundColor = useSelectedChipBackgroundColor()\n\n return StyleSheet.create({\n reaction: {\n borderWidth: 1,\n borderColor: mine ? activeBorderColor : 'transparent',\n backgroundColor: mine ? activeBackgroundColor : colors.fillColorNeutral060,\n borderRadius: 16,\n overflow: 'hidden',\n paddingVertical: 4,\n paddingHorizontal: 8,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 2,\n },\n reactionEmoji: { fontSize: 12, paddingTop: 0 },\n reactionText: { fontSize: 12, color: colors.textColorDefaultPrimary },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
export declare const LeaderMessagesDisabledBanner: () => import("react/jsx-runtime").JSX.Element;
|
|
2
2
|
export declare const MemberMessagesDisabledBanner: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
interface BannerAction {
|
|
4
|
+
label: string;
|
|
5
|
+
onPress: () => void;
|
|
6
|
+
loading?: boolean;
|
|
7
|
+
}
|
|
3
8
|
interface ConversationDisabledBannerProps {
|
|
4
9
|
message: string | null;
|
|
5
|
-
|
|
6
|
-
label: string;
|
|
7
|
-
onPress: () => void;
|
|
8
|
-
};
|
|
10
|
+
action?: BannerAction;
|
|
9
11
|
}
|
|
10
|
-
export declare const ConversationDisabledBanner: ({ message,
|
|
12
|
+
export declare const ConversationDisabledBanner: ({ message, action, }: ConversationDisabledBannerProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
13
|
export {};
|
|
12
14
|
//# sourceMappingURL=messages_disabled_banners.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages_disabled_banners.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/messages_disabled_banners.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,+CAIxC,CAAA;AAED,eAAO,MAAM,4BAA4B,+CASxC,CAAA;AAID,UAAU
|
|
1
|
+
{"version":3,"file":"messages_disabled_banners.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/messages_disabled_banners.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,+CAIxC,CAAA;AAED,eAAO,MAAM,4BAA4B,+CASxC,CAAA;AAID,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,+BAA+B;IACvC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED,eAAO,MAAM,0BAA0B,GAAI,sBAGxC,+BAA+B,4CAOjC,CAAA"}
|
|
@@ -38,19 +38,19 @@ export const ConversationDisabledBanner = t0 => {
|
|
|
38
38
|
const $ = _c(4);
|
|
39
39
|
const {
|
|
40
40
|
message,
|
|
41
|
-
|
|
41
|
+
action
|
|
42
42
|
} = t0;
|
|
43
43
|
const styles = useStyles();
|
|
44
44
|
const description = message ?? DEFAULT_DISABLED_TEXT;
|
|
45
45
|
let t1;
|
|
46
|
-
if ($[0] !==
|
|
46
|
+
if ($[0] !== action || $[1] !== description || $[2] !== styles.memberBanner) {
|
|
47
47
|
t1 = /*#__PURE__*/_jsx(MessagesDisabledBanner, {
|
|
48
48
|
description: description,
|
|
49
49
|
style: styles.memberBanner,
|
|
50
|
-
|
|
50
|
+
action: action
|
|
51
51
|
});
|
|
52
|
-
$[0] =
|
|
53
|
-
$[1] =
|
|
52
|
+
$[0] = action;
|
|
53
|
+
$[1] = description;
|
|
54
54
|
$[2] = styles.memberBanner;
|
|
55
55
|
$[3] = t1;
|
|
56
56
|
} else {
|
|
@@ -63,7 +63,7 @@ const MessagesDisabledBanner = t0 => {
|
|
|
63
63
|
const {
|
|
64
64
|
description,
|
|
65
65
|
style,
|
|
66
|
-
|
|
66
|
+
action
|
|
67
67
|
} = t0;
|
|
68
68
|
const styles = useStyles();
|
|
69
69
|
let t1;
|
|
@@ -89,16 +89,17 @@ const MessagesDisabledBanner = t0 => {
|
|
|
89
89
|
t2 = $[5];
|
|
90
90
|
}
|
|
91
91
|
let t3;
|
|
92
|
-
if ($[6] !==
|
|
93
|
-
t3 =
|
|
92
|
+
if ($[6] !== action || $[7] !== styles.actionButton) {
|
|
93
|
+
t3 = action && /*#__PURE__*/_jsx(Button, {
|
|
94
94
|
variant: "fill",
|
|
95
95
|
size: "lg",
|
|
96
|
-
title:
|
|
97
|
-
onPress:
|
|
98
|
-
|
|
96
|
+
title: action.label,
|
|
97
|
+
onPress: action.onPress,
|
|
98
|
+
loading: action.loading,
|
|
99
|
+
style: styles.actionButton
|
|
99
100
|
});
|
|
100
|
-
$[6] =
|
|
101
|
-
$[7] = styles.
|
|
101
|
+
$[6] = action;
|
|
102
|
+
$[7] = styles.actionButton;
|
|
102
103
|
$[8] = t3;
|
|
103
104
|
} else {
|
|
104
105
|
t3 = $[8];
|
|
@@ -144,7 +145,7 @@ const useStyles = () => {
|
|
|
144
145
|
paddingBottom: 16 + bottom,
|
|
145
146
|
marginBottom: -bottom
|
|
146
147
|
},
|
|
147
|
-
|
|
148
|
+
actionButton: {
|
|
148
149
|
marginTop: 12
|
|
149
150
|
}
|
|
150
151
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages_disabled_banners.js","names":["StyleSheet","View","useSafeAreaInsets","useTheme","Button","Text","jsx","_jsx","jsxs","_jsxs","LeaderMessagesDisabledBanner","$","_c","t0","Symbol","for","MessagesDisabledBanner","description","MemberMessagesDisabledBanner","styles","useStyles","memberBanner","style","DEFAULT_DISABLED_TEXT","ConversationDisabledBanner","message","
|
|
1
|
+
{"version":3,"file":"messages_disabled_banners.js","names":["StyleSheet","View","useSafeAreaInsets","useTheme","Button","Text","jsx","_jsx","jsxs","_jsxs","LeaderMessagesDisabledBanner","$","_c","t0","Symbol","for","MessagesDisabledBanner","description","MemberMessagesDisabledBanner","styles","useStyles","memberBanner","style","DEFAULT_DISABLED_TEXT","ConversationDisabledBanner","message","action","t1","baseBanner","t2","text","variant","children","t3","actionButton","size","title","label","onPress","loading","t4","colors","bottom","borderColorDefaultBase","statusNeutralComposedBackground","create","paddingHorizontal","paddingVertical","backgroundColor","borderTopWidth","borderTopColor","textAlign","paddingTop","paddingBottom","marginBottom","marginTop"],"sources":["../../../src/components/conversation/messages_disabled_banners.tsx"],"sourcesContent":["import { StyleSheet, View, type ViewStyle } from 'react-native'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport { useTheme } from '../../hooks'\nimport { Button, Text } from '../display'\n\nexport const LeaderMessagesDisabledBanner = () => {\n return (\n <MessagesDisabledBanner description=\"Only leaders can send messages in this conversation.\" />\n )\n}\n\nexport const MemberMessagesDisabledBanner = () => {\n const styles = useStyles()\n\n return (\n <MessagesDisabledBanner\n description=\"Only leaders can send messages, but you can still add reactions.\"\n style={styles.memberBanner}\n />\n )\n}\n\nconst DEFAULT_DISABLED_TEXT = 'This conversation has been disabled.'\n\ninterface BannerAction {\n label: string\n onPress: () => void\n loading?: boolean\n}\n\ninterface ConversationDisabledBannerProps {\n message: string | null\n action?: BannerAction\n}\n\nexport const ConversationDisabledBanner = ({\n message,\n action,\n}: ConversationDisabledBannerProps) => {\n const styles = useStyles()\n const description = message ?? DEFAULT_DISABLED_TEXT\n\n return (\n <MessagesDisabledBanner description={description} style={styles.memberBanner} action={action} />\n )\n}\n\ninterface MessagesDisabledBannerProps {\n description: string\n style?: ViewStyle\n action?: BannerAction\n}\n\nconst MessagesDisabledBanner = ({ description, style, action }: MessagesDisabledBannerProps) => {\n const styles = useStyles()\n\n return (\n <View style={[styles.baseBanner, style]}>\n <Text style={styles.text} variant=\"tertiary\">\n {description}\n </Text>\n {action && (\n <Button\n variant=\"fill\"\n size=\"lg\"\n title={action.label}\n onPress={action.onPress}\n loading={action.loading}\n style={styles.actionButton}\n />\n )}\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const { bottom } = useSafeAreaInsets()\n\n return StyleSheet.create({\n baseBanner: {\n paddingHorizontal: 16,\n paddingVertical: 4,\n backgroundColor: colors.statusNeutralComposedBackground,\n borderTopWidth: 1,\n borderTopColor: colors.borderColorDefaultBase,\n },\n text: {\n textAlign: 'center',\n },\n memberBanner: {\n paddingTop: 16,\n paddingBottom: 16 + bottom,\n marginBottom: -bottom,\n },\n actionButton: {\n marginTop: 12,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,8 @@ import { SystemMessageResource } from '../../utils/system_messages';
|
|
|
2
2
|
interface SystemMessageProps {
|
|
3
3
|
message: SystemMessageResource;
|
|
4
4
|
conversationId: number;
|
|
5
|
+
conversationDisabled: boolean;
|
|
5
6
|
}
|
|
6
|
-
export declare function SystemMessage({ message, conversationId }: SystemMessageProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function SystemMessage({ message, conversationId, conversationDisabled, }: SystemMessageProps): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export {};
|
|
8
9
|
//# sourceMappingURL=system_message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system_message.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/system_message.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAInE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"system_message.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/system_message.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAInE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,OAAO,CAAA;CAC9B;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,cAAc,EACd,oBAAoB,GACrB,EAAE,kBAAkB,2CA2EpB"}
|