@planningcenter/chat-react-native 4.4.1-qa-staging.23 → 4.4.1-rc.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_details_screen.js","names":["HeaderTitle","ElementsHeaderTitle","PlatformPressable","StackActions","useNavigation","React","useCallback","useEffect","useRef","useState","Alert","FlatList","Platform","Pressable","StyleSheet","TextInput","View","AdultRequirementNotice","Badge","Button","ChildNotice","Heading","Icon","Person","Switch","Text","TextButton","ConversationAvatar","useHeaderRight","useSuspensePaginator","useTheme","useConversation","useConversationArchive","useConversationDelete","useConversationDisableReplies","useConversationMute","useConversationUpdate","availableFeatures","useFeatures","useManualArchivingEnabled","usePreviewAvatarDiameter","useUnarchiveConversationAction","isDefined","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","archivedConversationMessage","isArchivedConversation","genderDisplayLabel","tokens","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SectionTypes","ConversationDetailsScreen","t0","$","_c","route","navigation","styles","useStyles","data","conversation","params","title","setTitle","conversation_id","repliesDisabled","setRepliesDisabled","mutate","saveTitle","deleteConversation","setArchived","isPending","isArchiving","unarchiveAction","featureEnabled","t1","granular_notifications_ui","granularNotificationsEnabled","customAvatarsEnabled","custom_conversation_avatars","manualArchivingEnabled","showGenderFilter","gender_specific_conversations","genderOption","genderLabel","t2","muted","setMuted","t3","trim","trimmedTitle","emptyTitle","notificationLevelDescription","conversationMembership","t4","archived","canUpdate","memberAbility","canDelete","canArchive","isLeader","leader","isDisabled","disabled","showAdultRequirementNotice","disabledReason","t5","t6","Symbol","for","include","fields","Member","t7","url","members","fetchNextPage","fetchNextPageOfMembers","isFetchingNextPage","isLoadingMembers","memberSectionStyleMap","first","sectionInnerFirstMember","middle","sectionInnerMiddleMiddle","last","sectionInnerLastMember","memberItems","map","index","isFirst","isLast","length","memberPosition","memberSectionStyle","type","sectionInnerStyle","t8","loadingMembers","loadingMemberItems","t9","filter","_temp","childMembers","hasChildren","t10","groups","_temp2","_temp3","_temp4","teamsGroup","hasTeams","badge","badges","resourceType","pcoResourceType","productName","appName","name","text","undefined","t11","alert","style","onPress","dispatch","popToTop","handleDelete","t12","handleArchive","t13","headerTitleBadge","headerTitleContainer","props","children","maxFontSizeMultiplier","variant","t14","icon","accessibilityLabel","goBack","t15","t16","setOptions","headerTitle","t17","view","hidden","t18","navigate","t19","AvatarCard","t20","sectionInnerAvatarCard","sectionOuterAvatarCard","sectionOuterStyle","t21","t22","sectionInnerHeaderWithBottomBorder","header","showBottomBorder","t23","TitleInput","t24","sectionInnerTitleInput","t25","t26","t27","unarchiveButton","size","label","loading","navigableSetting","subtitle","setting","rightItem","onValueChange","value","t28","t29","t30","onChange","t31","t32","t33","t34","t35","t36","deleteButtonText","buttonTextStyle","appearance","t37","t38","t39","t40","sectionInnerHeader","t41","t42","TeamsGroup","t43","t44","t45","t46","t47","t48","toLowerCase","t49","t50","sectionInnerGenderNotice","t51","t52","t53","sectionInnerNotice","t54","t55","t56","listData","_temp5","t57","_temp6","headerIndices","t58","t59","sectionHeaderRow","t60","item","item_0","index_1","isStart","isEnd","includes","ListSection","outerStyle","innerStyle","person","NavigableSettingRow","SettingRow","t61","contentContainer","contentContainerStyle","renderItem","onEndReached","t62","listContainer","index_0","g_1","g","g_0","sourceType","sourceAppName","member","child","sectionInnerBottomBorder","bottomBorder","sectionOuterBase","sectionInnerBase","isEmpty","textRef","current","focus","handleFocus","titleContainer","titleLabel","titleDisabledIcon","titleLabelContainer","titleInputDisabled","titleInput","multiline","maxLength","enterKeyHint","submitBehavior","inputValidationContainer","inputValidationText","titleStyle","rightItemStyle","settingRow","settingRowText","Boolean","settingRowContent","navigableSettingChevron","OS","accessibilityElementsHidden","accessibilityRole","diameter","width","height","iconNameLeft","avatarCard","teams","teamGroup","_temp7","team","colors","borderColorDefaultBase","iconColorDefaultDisabled","iconColorDefaultSecondary","statusErrorBorder","statusErrorText","surfaceColor080","surfaceColor100","textColorDefaultPrimary","textColorDefaultSecondary","create","flex","backgroundColor","padding","paddingLeft","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","marginBottom","paddingRight","paddingTop","paddingBottom","flexDirection","alignItems","gap","borderBottomColor","borderBottomWidth","color","fontSize","fontSizeMd","borderTopWidth","borderColor","justifyContent","fontWeight","marginTop","lineHeight","paddingHorizontal","flexWrap","alignSelf","select","android","default"],"sources":["../../src/screens/conversation_details_screen.tsx"],"sourcesContent":["import {\n HeaderTitle as ElementsHeaderTitle,\n HeaderTitleProps,\n PlatformPressable,\n} from '@react-navigation/elements'\nimport { StackActions, StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport React, {\n useCallback,\n useEffect,\n useRef,\n useState,\n type Dispatch,\n type ReactNode,\n type SetStateAction,\n} from 'react'\nimport {\n Alert,\n FlatList,\n Platform,\n Pressable,\n StyleSheet,\n TextInput,\n View,\n type ViewProps,\n type ViewStyle,\n} from 'react-native'\nimport {\n AdultRequirementNotice,\n Badge,\n Button,\n ChildNotice,\n Heading,\n Icon,\n Person,\n Switch,\n Text,\n TextButton,\n type TextStyle,\n} from '../components'\nimport { ConversationAvatar } from '../components/display/conversation_avatar'\nimport { useHeaderRight } from '../components/display/platform_modal_header_buttons'\nimport { ButtonAppearanceUnion } from '../components/display/utils/button_colors'\nimport { useSuspensePaginator, useTheme } from '../hooks'\nimport {\n useConversation,\n useConversationArchive,\n useConversationDelete,\n useConversationDisableReplies,\n useConversationMute,\n useConversationUpdate,\n} from '../hooks/use_conversation'\nimport { availableFeatures, useFeatures } from '../hooks/use_features'\nimport { useManualArchivingEnabled } from '../hooks/use_manual_archiving_enabled'\nimport { usePreviewAvatarDiameter } from '../hooks/use_preview_avatar_diameter'\nimport { useUnarchiveConversationAction } from '../hooks/use_unarchive_conversation_action'\nimport { type ConversationResource, MemberResource, isDefined } from '../types'\nimport { GroupResource } from '../types/resources/group_resource'\nimport { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../utils'\nimport { archivedConversationMessage, isArchivedConversation } from '../utils/archived_conversation'\nimport { genderDisplayLabel } from '../utils/gender_display_label'\nimport { tokens } from '../vendor/tapestry/tokens'\n// =========================================\n// ====== Factory Constants & Types ========\n// =========================================\n\nenum SectionTypes {\n header,\n hidden,\n members,\n loadingMembers,\n navigableSetting,\n setting,\n view,\n}\n\ntype SectionListData = Array<\n | DataItem<{ title: string; badge?: ReactNode }, SectionTypes.header>\n | DataItem<MemberResource, SectionTypes.members>\n | DataItem<any, SectionTypes.loadingMembers>\n | DataItem<NavigableSettingRowProps, SectionTypes.navigableSetting>\n | DataItem<ViewProps, SectionTypes.view>\n | DataItem<SettingRowProps, SectionTypes.setting>\n | DataItem<any, SectionTypes.hidden>\n>\n\ninterface DataItem<T, TName extends SectionTypes> {\n type: TName\n data: T\n sectionOuterStyle?: ViewStyle\n sectionInnerStyle?: ViewStyle\n showBottomBorder?: boolean\n}\n\n// =================================\n// ====== Components ===============\n// =================================\n\nexport type ConversationDetailsScreenProps = StaticScreenProps<{\n conversation_id: number\n}>\n\nexport function ConversationDetailsScreen({ route }: ConversationDetailsScreenProps) {\n const navigation = useNavigation()\n const styles = useStyles()\n\n const { data: conversation } = useConversation(route.params)\n const [title, setTitle] = useState(conversation.title ?? '')\n const { conversation_id } = route.params\n const { repliesDisabled, setRepliesDisabled } = useConversationDisableReplies(route.params)\n const { mutate: saveTitle } = useConversationUpdate(route.params)\n const { mutate: deleteConversation } = useConversationDelete(route.params)\n const { setArchived, isPending: isArchiving } = useConversationArchive(route.params)\n const unarchiveAction = useUnarchiveConversationAction(conversation)\n const { featureEnabled } = useFeatures()\n const granularNotificationsEnabled = featureEnabled(availableFeatures.granular_notifications_ui)\n const customAvatarsEnabled = featureEnabled(availableFeatures.custom_conversation_avatars)\n const manualArchivingEnabled = useManualArchivingEnabled()\n const showGenderFilter =\n featureEnabled(availableFeatures.gender_specific_conversations) && !!conversation.genderOption\n const genderLabel = conversation.genderOption ? genderDisplayLabel(conversation.genderOption) : ''\n const { muted, setMuted } = useConversationMute({ conversation_id })\n\n const trimmedTitle = title.trim()\n const emptyTitle = trimmedTitle === ''\n\n const notificationLevelDescription =\n conversation?.conversationMembership?.notificationLevelDescription\n const archived = isArchivedConversation(conversation)\n const canUpdate = conversation.memberAbility?.canUpdate || false\n const canDelete = conversation.memberAbility?.canDelete || false\n const canArchive = manualArchivingEnabled && (conversation.memberAbility?.canArchive || false)\n const isLeader = conversation.memberAbility?.leader || false\n const isDisabled = conversation.disabled ?? false\n const showAdultRequirementNotice = isDisabled && conversation.disabledReason === 'safety_check'\n\n const {\n data: members,\n fetchNextPage: fetchNextPageOfMembers,\n isFetchingNextPage: isLoadingMembers,\n } = useSuspensePaginator<MemberResource>({\n url: `/me/conversations/${route.params.conversation_id}/members`,\n data: {\n include: ['person'],\n fields: {\n Member: ['avatar', 'name', 'first_name', 'last_name', 'child', 'badges'],\n },\n },\n })\n\n const memberSectionStyleMap = {\n first: styles.sectionInnerFirstMember,\n middle: styles.sectionInnerMiddleMiddle,\n last: styles.sectionInnerLastMember,\n }\n\n const memberItems = members.map((data, index) => {\n const isFirst = index === 0\n const isLast = index === members.length - 1\n const memberPosition = isFirst ? 'first' : isLast ? 'last' : 'middle'\n const memberSectionStyle = memberSectionStyleMap[memberPosition]\n\n return {\n type: SectionTypes.members,\n data,\n sectionInnerStyle: memberSectionStyle,\n }\n })\n\n const loadingMemberItems = isLoadingMembers\n ? [\n {\n type: SectionTypes.loadingMembers,\n data: {},\n sectionInnerStyle: styles.sectionInnerFirstMember,\n },\n ]\n : []\n\n const childMembers = members.filter(member => member.child)\n const hasChildren = childMembers.length > 0\n\n const teamsGroup =\n conversation.groups\n ?.filter(g => g.sourceAppName === 'Services')\n ?.filter(g => ['Team', 'PlanTeam'].includes(g.sourceType))\n ?.filter(g => g.name !== null) || []\n const hasTeams = teamsGroup.length > 0\n\n const badge = conversation.badges?.[0]\n const resourceType = badge?.pcoResourceType || ''\n const productName = badge?.appName\n const name = badge?.text || undefined\n\n const handleDelete = useCallback(() => {\n Alert.alert(\n 'Delete conversation',\n `All messages in ${title} will be deleted for everyone. This action cannot be undone.`,\n [\n {\n text: 'Cancel',\n style: 'cancel',\n },\n {\n text: 'Delete',\n style: 'destructive',\n onPress: () => {\n deleteConversation()\n navigation.dispatch(StackActions.popToTop())\n },\n },\n ]\n )\n }, [deleteConversation, navigation, title])\n\n const handleArchive = useCallback(() => {\n Alert.alert(\n 'Archive conversation',\n 'This conversation will be archived for everyone. Only its leaders and creator can open and unarchive it.',\n [\n {\n text: 'Cancel',\n style: 'cancel',\n },\n {\n text: 'Archive',\n onPress: () => setArchived(true),\n },\n ]\n )\n }, [setArchived])\n\n const HeaderTitle = useCallback(\n (props: HeaderTitleProps) => {\n return (\n <View style={styles.headerTitleContainer}>\n <ElementsHeaderTitle maxFontSizeMultiplier={1} {...props} />\n <Badge\n variant=\"metaSubtle\"\n label={resourceType}\n metaLabel={name}\n style={styles.headerTitleBadge}\n productLogoName={productName}\n maxFontSizeMultiplier={1}\n />\n </View>\n )\n },\n [name, productName, resourceType, styles.headerTitleBadge, styles.headerTitleContainer]\n )\n\n useHeaderRight({\n icon: 'general.check',\n accessibilityLabel: 'Done',\n onPress: () => {\n if (canUpdate) saveTitle({ title: trimmedTitle || conversation.title })\n navigation.goBack()\n },\n })\n\n useEffect(() => {\n navigation.setOptions({ headerTitle: HeaderTitle })\n }, [HeaderTitle, navigation])\n\n const listData = [\n {\n type: canUpdate && customAvatarsEnabled ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: (\n <AvatarCard\n conversation={conversation}\n onPress={() => navigation.navigate('AvatarPicker', { conversation_id })}\n />\n ),\n },\n sectionOuterStyle: styles.sectionOuterAvatarCard,\n sectionInnerStyle: styles.sectionInnerAvatarCard,\n },\n {\n type: SectionTypes.header,\n data: { title: 'Basic info' },\n showBottomBorder: true,\n sectionInnerStyle: styles.sectionInnerHeaderWithBottomBorder,\n },\n {\n type: SectionTypes.view,\n data: {\n children: (\n <TitleInput\n canUpdate={canUpdate}\n title={title}\n setTitle={setTitle}\n isEmpty={emptyTitle}\n />\n ),\n },\n sectionInnerStyle: styles.sectionInnerTitleInput,\n },\n {\n type: SectionTypes.header,\n data: { title: 'Settings' },\n showBottomBorder: true,\n sectionInnerStyle: styles.sectionInnerHeaderWithBottomBorder,\n },\n archived\n ? {\n type: SectionTypes.view,\n data: {\n children: (\n <>\n <Text variant=\"tertiary\">{archivedConversationMessage(conversation)}</Text>\n {unarchiveAction && (\n <Button\n variant=\"fill\"\n size=\"lg\"\n title={unarchiveAction.label}\n onPress={unarchiveAction.onPress}\n loading={unarchiveAction.loading}\n style={styles.unarchiveButton}\n />\n )}\n </>\n ),\n },\n showBottomBorder: true,\n }\n : granularNotificationsEnabled\n ? {\n type: SectionTypes.navigableSetting,\n data: {\n title: 'Notifications',\n subtitle: notificationLevelDescription,\n onPress: () =>\n navigation.navigate('ConversationNotificationLevelSelect', { conversation_id }),\n },\n showBottomBorder: true,\n }\n : {\n type: SectionTypes.setting,\n data: {\n title: 'Mute',\n rightItem: <Switch value={muted} onValueChange={value => setMuted(value)} />,\n },\n showBottomBorder: true,\n },\n {\n type: canUpdate ? SectionTypes.setting : SectionTypes.hidden,\n data: {\n title: 'Only leaders can message',\n rightItem: (\n <Switch value={repliesDisabled} onChange={() => setRepliesDisabled(!repliesDisabled)} />\n ),\n },\n showBottomBorder: true,\n },\n {\n type: canArchive ? SectionTypes.setting : SectionTypes.hidden,\n data: {\n title: 'Archive conversation…',\n disabled: isArchiving,\n onPress: handleArchive,\n },\n showBottomBorder: canDelete,\n },\n {\n type: canDelete ? SectionTypes.setting : SectionTypes.hidden,\n data: {\n title: 'Delete conversation…',\n buttonTextStyle: styles.deleteButtonText,\n appearance: 'danger',\n onPress: handleDelete,\n },\n },\n {\n type: hasTeams ? SectionTypes.header : SectionTypes.hidden,\n data: { title: 'Teams' },\n sectionInnerStyle: styles.sectionInnerHeader,\n },\n {\n type: hasTeams ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: <TeamsGroup teams={teamsGroup} />,\n },\n },\n {\n type: SectionTypes.header,\n data: {\n title: 'People',\n badge: showGenderFilter ? <Badge label={`${genderLabel}-only`} /> : undefined,\n },\n sectionInnerStyle: styles.sectionInnerHeader,\n },\n {\n type: showGenderFilter ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: (\n <Text variant=\"tertiary\">\n This conversation will be automatically updated if any {genderLabel.toLowerCase()} are\n added or removed from this group.\n </Text>\n ),\n },\n sectionInnerStyle: styles.sectionInnerGenderNotice,\n },\n {\n type: showAdultRequirementNotice ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: <AdultRequirementNotice />,\n },\n sectionInnerStyle: styles.sectionInnerNotice,\n },\n {\n type: hasChildren && isLeader ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: <ChildNotice childMembers={childMembers} />,\n },\n sectionInnerStyle: styles.sectionInnerNotice,\n },\n ...memberItems,\n ...loadingMemberItems,\n ].filter(item => item.type !== SectionTypes.hidden)\n\n const headerIndices = listData\n .map(({ type }, index) => (type === SectionTypes.header ? index : undefined))\n .filter(isDefined)\n\n return (\n <View style={styles.listContainer}>\n <FlatList\n data={listData as SectionListData}\n contentContainerStyle={styles.contentContainer}\n renderItem={({ item, index }) => {\n const [isStart, isEnd] = [\n index === 0 || headerIndices.includes(index),\n index === listData.length - 1 || headerIndices.includes(index + 1),\n ]\n\n switch (item.type) {\n case SectionTypes.header:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n {item.data.badge ? (\n <View style={styles.sectionHeaderRow}>\n <Heading variant=\"h3\">{item.data.title}</Heading>\n {item.data.badge}\n </View>\n ) : (\n <Heading variant=\"h3\">{item.data.title}</Heading>\n )}\n </ListSection>\n )\n case SectionTypes.members:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <Person person={{ ...item.data }} />\n </ListSection>\n )\n case SectionTypes.loadingMembers:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <Text>Loading more...</Text>\n </ListSection>\n )\n case SectionTypes.navigableSetting:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <NavigableSettingRow {...item.data} />\n </ListSection>\n )\n case SectionTypes.setting:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <SettingRow {...item.data} />\n </ListSection>\n )\n case SectionTypes.view:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <View {...item.data} style={item.data.style} />\n </ListSection>\n )\n default:\n return null\n }\n }}\n onEndReached={() => fetchNextPageOfMembers()}\n />\n </View>\n )\n}\n\ninterface ListSectionProps {\n isStart?: boolean\n isEnd?: boolean\n showBottomBorder?: boolean\n outerStyle?: ViewStyle\n innerStyle?: ViewStyle\n children: ReactNode\n}\n\nfunction ListSection({\n isStart,\n isEnd,\n showBottomBorder,\n outerStyle,\n innerStyle,\n children,\n}: ListSectionProps) {\n const styles = useStyles({ isStart, isEnd })\n const bottomBorder = showBottomBorder ? styles.sectionInnerBottomBorder : {}\n\n return (\n <View style={[styles.sectionOuterBase, outerStyle]}>\n <View style={[styles.sectionInnerBase, bottomBorder, innerStyle]}>{children}</View>\n </View>\n )\n}\n\ninterface InputProps {\n canUpdate: boolean\n title: string\n setTitle: Dispatch<SetStateAction<string>>\n style?: ViewStyle\n isEmpty: boolean\n}\n\nfunction TitleInput({ canUpdate, title, setTitle, style, isEmpty }: InputProps) {\n const styles = useStyles()\n const textRef = useRef<TextInput>(null)\n\n const handleFocus = () => {\n if (textRef.current) {\n textRef.current.focus()\n }\n }\n\n return (\n <Pressable style={[styles.titleContainer, style]} onPress={() => handleFocus()}>\n <View style={styles.titleLabelContainer}>\n <Text variant=\"tertiary\" style={styles.titleLabel}>\n Title\n </Text>\n {!canUpdate && <Icon name=\"general.lock\" style={styles.titleDisabledIcon} />}\n </View>\n <TextInput\n ref={textRef}\n editable={canUpdate}\n onChangeText={setTitle}\n style={[styles.titleInput, !canUpdate && styles.titleInputDisabled]}\n value={title}\n multiline\n maxLength={255} // Matches Chat Web\n enterKeyHint=\"done\"\n submitBehavior=\"blurAndSubmit\"\n />\n {isEmpty && (\n <View style={styles.inputValidationContainer}>\n <Text variant=\"footnote\" style={styles.inputValidationText}>\n A title is required for your conversation.\n </Text>\n </View>\n )}\n </Pressable>\n )\n}\n\ninterface NavigableSettingRowProps {\n title: string\n subtitle?: string\n onPress: () => void\n}\n\ninterface SettingRowProps {\n title: string\n style?: ViewStyle\n rightItem?: ReactNode\n titleStyle?: TextStyle\n buttonTextStyle?: TextStyle\n subtitle?: string\n rightItemStyle?: ViewStyle\n appearance?: ButtonAppearanceUnion\n disabled?: boolean\n onPress?: () => void\n}\n\nfunction SettingRow({\n title,\n style,\n titleStyle = {},\n buttonTextStyle = {},\n subtitle,\n rightItem,\n rightItemStyle = {},\n appearance,\n disabled,\n onPress,\n}: SettingRowProps) {\n const styles = useStyles()\n\n if (onPress) {\n return (\n <TextButton\n style={[styles.settingRow, style]}\n textStyle={buttonTextStyle}\n appearance={appearance}\n disabled={disabled}\n onPress={onPress}\n >\n {title}\n </TextButton>\n )\n }\n\n return (\n <View style={[styles.settingRow, style]}>\n <View style={styles.settingRowContent}>\n <Text variant=\"plain\" style={[styles.settingRowText, titleStyle]}>\n {title}\n </Text>\n {Boolean(subtitle) && <Text variant=\"footnote\">{subtitle}</Text>}\n </View>\n {Boolean(rightItem) && <View style={rightItemStyle}>{rightItem}</View>}\n </View>\n )\n}\n\nfunction NavigableSettingRow({ title, subtitle, onPress }: NavigableSettingRowProps) {\n const styles = useStyles()\n return (\n <PlatformPressable onPress={onPress} accessibilityRole=\"button\">\n <View style={styles.settingRow}>\n <View style={styles.settingRowContent}>\n <Text variant=\"plain\" style={styles.settingRowText}>\n {title}\n </Text>\n {Boolean(subtitle) && <Text variant=\"footnote\">{subtitle}</Text>}\n </View>\n {Platform.OS === 'ios' && (\n <Icon\n name=\"general.rightChevron\"\n size={16}\n style={styles.navigableSettingChevron}\n accessibilityElementsHidden\n />\n )}\n </View>\n </PlatformPressable>\n )\n}\n\nfunction AvatarCard({\n conversation,\n onPress,\n}: {\n conversation: ConversationResource\n onPress: () => void\n}) {\n const styles = useStyles()\n const diameter = usePreviewAvatarDiameter()\n\n return (\n <View style={styles.avatarCard}>\n <ConversationAvatar\n conversation={conversation}\n size=\"2xl\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n style={{ width: diameter, height: diameter }}\n />\n <Button\n title=\"Update avatar\"\n iconNameLeft=\"general.pencil\"\n onPress={onPress}\n variant=\"outline\"\n appearance=\"interaction\"\n size=\"sm\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n />\n </View>\n )\n}\n\nfunction TeamsGroup({ teams }: { teams: GroupResource[] }) {\n const styles = useStyles()\n\n if (teams.length === 0) return null\n\n return (\n <View style={styles.teamGroup}>\n {teams.map((team, index) => (\n <Badge key={index} label={team.name as string} />\n ))}\n </View>\n )\n}\n\n// =================================\n// ====== Styles ===================\n// =================================\n\nconst useStyles = ({ isStart, isEnd }: { isStart?: boolean; isEnd?: boolean } = {}) => {\n const { colors } = useTheme()\n const headerBottomPadding = 4\n const sectionBorderRadius = 8\n\n return StyleSheet.create({\n listContainer: {\n flex: 1,\n backgroundColor: colors.surfaceColor080,\n },\n contentContainer: {\n padding: 16,\n },\n sectionOuterBase: {\n paddingLeft: 16,\n backgroundColor: colors.surfaceColor100,\n borderTopLeftRadius: isStart ? sectionBorderRadius : 0,\n borderTopRightRadius: isStart ? sectionBorderRadius : 0,\n borderBottomLeftRadius: isEnd ? sectionBorderRadius : 0,\n borderBottomRightRadius: isEnd ? sectionBorderRadius : 0,\n marginBottom: isEnd ? 16 : 0,\n },\n sectionInnerBase: {\n paddingRight: 16,\n paddingTop: isStart ? 16 : 12,\n paddingBottom: isEnd ? 16 : 12,\n },\n sectionInnerHeader: {\n paddingBottom: headerBottomPadding,\n },\n sectionInnerGenderNotice: {\n paddingTop: 0,\n paddingBottom: headerBottomPadding,\n },\n sectionHeaderRow: {\n flexDirection: 'row' as const,\n alignItems: 'center' as const,\n gap: 8,\n },\n sectionInnerHeaderWithBottomBorder: {\n paddingBottom: 16,\n },\n sectionInnerBottomBorder: {\n borderBottomColor: colors.borderColorDefaultBase,\n borderBottomWidth: isEnd ? 0 : 1,\n },\n sectionInnerTitleInput: {\n paddingTop: 12, // paddingVertical doesn't override the sectionInner padding\n paddingBottom: 12,\n },\n sectionInnerNotice: {\n paddingBottom: headerBottomPadding,\n },\n sectionInnerMiddleMiddle: {\n paddingTop: 0,\n paddingBottom: 12,\n },\n sectionInnerFirstMember: {\n paddingTop: 12,\n paddingBottom: 12,\n },\n sectionInnerLastMember: {\n paddingTop: 0,\n paddingBottom: 16,\n },\n titleContainer: {\n gap: 4,\n },\n titleLabelContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n },\n titleLabel: {\n color: colors.textColorDefaultSecondary,\n },\n titleDisabledIcon: {\n color: colors.iconColorDefaultSecondary,\n },\n titleInput: {\n color: colors.textColorDefaultPrimary,\n fontSize: tokens.fontSizeMd,\n },\n titleInputDisabled: {\n color: colors.textColorDefaultSecondary,\n },\n inputValidationContainer: {\n paddingTop: 8,\n borderTopWidth: 1,\n borderColor: colors.statusErrorBorder,\n },\n inputValidationText: {\n color: colors.statusErrorText,\n },\n settingRow: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 8,\n },\n settingRowContent: {\n flex: 1,\n },\n deleteButtonText: {\n fontWeight: 'normal',\n },\n unarchiveButton: {\n marginTop: 12,\n },\n settingRowText: {\n lineHeight: 20,\n },\n navigableSettingChevron: {\n color: colors.iconColorDefaultDisabled,\n },\n avatarCard: {\n alignItems: 'center',\n gap: 16,\n },\n sectionOuterAvatarCard: {\n paddingLeft: 0,\n },\n sectionInnerAvatarCard: {\n paddingTop: 24,\n paddingBottom: 24,\n paddingHorizontal: 16,\n alignItems: 'center',\n },\n teamGroup: {\n flexDirection: 'row',\n gap: 4,\n flexWrap: 'wrap',\n },\n headerTitleBadge: {\n alignSelf: Platform.select({ android: 'flex-start', default: 'center' }),\n marginTop: 2,\n },\n headerTitleContainer: {\n alignItems: Platform.select({ android: 'flex-start', default: 'center' }),\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"conversation_details_screen.js","names":["HeaderTitle","ElementsHeaderTitle","PlatformPressable","StackActions","useNavigation","React","useCallback","useEffect","useRef","useState","Alert","FlatList","Platform","Pressable","StyleSheet","TextInput","View","AdultRequirementNotice","Badge","Button","ChildNotice","Heading","Icon","Person","Switch","Text","TextButton","ConversationAvatar","useHeaderRight","useSuspensePaginator","useTheme","useConversation","useConversationArchive","useConversationDelete","useConversationDisableReplies","useConversationMute","useConversationUpdate","availableFeatures","useFeatures","useManualArchivingEnabled","usePreviewAvatarDiameter","useUnarchiveConversationAction","isDefined","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","archivedConversationMessage","isArchivedConversation","genderDisplayLabel","tokens","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SectionTypes","ConversationDetailsScreen","t0","$","_c","route","navigation","styles","useStyles","data","conversation","params","title","setTitle","conversation_id","repliesDisabled","setRepliesDisabled","mutate","saveTitle","deleteConversation","setArchived","isPending","isArchiving","unarchiveAction","featureEnabled","t1","granular_notifications_ui","granularNotificationsEnabled","customAvatarsEnabled","custom_conversation_avatars","manualArchivingEnabled","showGenderFilter","gender_specific_conversations","genderOption","genderLabel","t2","muted","setMuted","t3","trim","trimmedTitle","emptyTitle","notificationLevelDescription","conversationMembership","t4","archived","canUpdate","memberAbility","canSaveTitle","canDelete","canArchive","isLeader","leader","isDisabled","disabled","showAdultRequirementNotice","disabledReason","t5","t6","Symbol","for","include","fields","Member","t7","url","members","fetchNextPage","fetchNextPageOfMembers","isFetchingNextPage","isLoadingMembers","memberSectionStyleMap","first","sectionInnerFirstMember","middle","sectionInnerMiddleMiddle","last","sectionInnerLastMember","memberItems","map","index","isFirst","isLast","length","memberPosition","memberSectionStyle","type","sectionInnerStyle","t8","loadingMembers","loadingMemberItems","t9","filter","_temp","childMembers","hasChildren","t10","groups","_temp2","_temp3","_temp4","teamsGroup","hasTeams","badge","badges","resourceType","pcoResourceType","productName","appName","name","text","undefined","t11","alert","style","onPress","dispatch","popToTop","handleDelete","t12","handleArchive","t13","headerTitleBadge","headerTitleContainer","props","children","maxFontSizeMultiplier","variant","t14","icon","accessibilityLabel","goBack","t15","t16","setOptions","headerTitle","t17","view","hidden","t18","navigate","t19","AvatarCard","t20","sectionInnerAvatarCard","sectionOuterAvatarCard","sectionOuterStyle","t21","t22","sectionInnerHeaderWithBottomBorder","header","showBottomBorder","t23","TitleInput","t24","sectionInnerTitleInput","t25","t26","t27","unarchiveButton","size","label","loading","navigableSetting","subtitle","setting","rightItem","onValueChange","value","t28","t29","t30","onChange","t31","t32","t33","t34","t35","t36","deleteButtonText","buttonTextStyle","appearance","t37","t38","t39","t40","sectionInnerHeader","t41","t42","TeamsGroup","t43","t44","t45","t46","t47","t48","toLowerCase","t49","t50","sectionInnerGenderNotice","t51","t52","t53","sectionInnerNotice","t54","t55","t56","listData","_temp5","t57","_temp6","headerIndices","t58","t59","sectionHeaderRow","t60","item","item_0","index_1","isStart","isEnd","includes","ListSection","outerStyle","innerStyle","person","NavigableSettingRow","SettingRow","t61","contentContainer","contentContainerStyle","renderItem","onEndReached","t62","listContainer","index_0","g_1","g","g_0","sourceType","sourceAppName","member","child","sectionInnerBottomBorder","bottomBorder","sectionOuterBase","sectionInnerBase","isEmpty","textRef","current","focus","handleFocus","titleContainer","titleLabel","titleDisabledIcon","titleLabelContainer","titleInputDisabled","titleInput","multiline","maxLength","enterKeyHint","submitBehavior","inputValidationContainer","inputValidationText","titleStyle","rightItemStyle","settingRow","settingRowText","Boolean","settingRowContent","navigableSettingChevron","OS","accessibilityElementsHidden","accessibilityRole","diameter","width","height","iconNameLeft","avatarCard","teams","teamGroup","_temp7","team","colors","borderColorDefaultBase","iconColorDefaultDisabled","iconColorDefaultSecondary","statusErrorBorder","statusErrorText","surfaceColor080","surfaceColor100","textColorDefaultPrimary","textColorDefaultSecondary","create","flex","backgroundColor","padding","paddingLeft","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","marginBottom","paddingRight","paddingTop","paddingBottom","flexDirection","alignItems","gap","borderBottomColor","borderBottomWidth","color","fontSize","fontSizeMd","borderTopWidth","borderColor","justifyContent","fontWeight","marginTop","lineHeight","paddingHorizontal","flexWrap","alignSelf","select","android","default"],"sources":["../../src/screens/conversation_details_screen.tsx"],"sourcesContent":["import {\n HeaderTitle as ElementsHeaderTitle,\n HeaderTitleProps,\n PlatformPressable,\n} from '@react-navigation/elements'\nimport { StackActions, StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport React, {\n useCallback,\n useEffect,\n useRef,\n useState,\n type Dispatch,\n type ReactNode,\n type SetStateAction,\n} from 'react'\nimport {\n Alert,\n FlatList,\n Platform,\n Pressable,\n StyleSheet,\n TextInput,\n View,\n type ViewProps,\n type ViewStyle,\n} from 'react-native'\nimport {\n AdultRequirementNotice,\n Badge,\n Button,\n ChildNotice,\n Heading,\n Icon,\n Person,\n Switch,\n Text,\n TextButton,\n type TextStyle,\n} from '../components'\nimport { ConversationAvatar } from '../components/display/conversation_avatar'\nimport { useHeaderRight } from '../components/display/platform_modal_header_buttons'\nimport { ButtonAppearanceUnion } from '../components/display/utils/button_colors'\nimport { useSuspensePaginator, useTheme } from '../hooks'\nimport {\n useConversation,\n useConversationArchive,\n useConversationDelete,\n useConversationDisableReplies,\n useConversationMute,\n useConversationUpdate,\n} from '../hooks/use_conversation'\nimport { availableFeatures, useFeatures } from '../hooks/use_features'\nimport { useManualArchivingEnabled } from '../hooks/use_manual_archiving_enabled'\nimport { usePreviewAvatarDiameter } from '../hooks/use_preview_avatar_diameter'\nimport { useUnarchiveConversationAction } from '../hooks/use_unarchive_conversation_action'\nimport { type ConversationResource, MemberResource, isDefined } from '../types'\nimport { GroupResource } from '../types/resources/group_resource'\nimport { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../utils'\nimport { archivedConversationMessage, isArchivedConversation } from '../utils/archived_conversation'\nimport { genderDisplayLabel } from '../utils/gender_display_label'\nimport { tokens } from '../vendor/tapestry/tokens'\n// =========================================\n// ====== Factory Constants & Types ========\n// =========================================\n\nenum SectionTypes {\n header,\n hidden,\n members,\n loadingMembers,\n navigableSetting,\n setting,\n view,\n}\n\ntype SectionListData = Array<\n | DataItem<{ title: string; badge?: ReactNode }, SectionTypes.header>\n | DataItem<MemberResource, SectionTypes.members>\n | DataItem<any, SectionTypes.loadingMembers>\n | DataItem<NavigableSettingRowProps, SectionTypes.navigableSetting>\n | DataItem<ViewProps, SectionTypes.view>\n | DataItem<SettingRowProps, SectionTypes.setting>\n | DataItem<any, SectionTypes.hidden>\n>\n\ninterface DataItem<T, TName extends SectionTypes> {\n type: TName\n data: T\n sectionOuterStyle?: ViewStyle\n sectionInnerStyle?: ViewStyle\n showBottomBorder?: boolean\n}\n\n// =================================\n// ====== Components ===============\n// =================================\n\nexport type ConversationDetailsScreenProps = StaticScreenProps<{\n conversation_id: number\n}>\n\nexport function ConversationDetailsScreen({ route }: ConversationDetailsScreenProps) {\n const navigation = useNavigation()\n const styles = useStyles()\n\n const { data: conversation } = useConversation(route.params)\n const [title, setTitle] = useState(conversation.title ?? '')\n const { conversation_id } = route.params\n const { repliesDisabled, setRepliesDisabled } = useConversationDisableReplies(route.params)\n const { mutate: saveTitle } = useConversationUpdate(route.params)\n const { mutate: deleteConversation } = useConversationDelete(route.params)\n const { setArchived, isPending: isArchiving } = useConversationArchive(route.params)\n const unarchiveAction = useUnarchiveConversationAction(conversation)\n const { featureEnabled } = useFeatures()\n const granularNotificationsEnabled = featureEnabled(availableFeatures.granular_notifications_ui)\n const customAvatarsEnabled = featureEnabled(availableFeatures.custom_conversation_avatars)\n const manualArchivingEnabled = useManualArchivingEnabled()\n const showGenderFilter =\n featureEnabled(availableFeatures.gender_specific_conversations) && !!conversation.genderOption\n const genderLabel = conversation.genderOption ? genderDisplayLabel(conversation.genderOption) : ''\n const { muted, setMuted } = useConversationMute({ conversation_id })\n\n const trimmedTitle = title.trim()\n const emptyTitle = trimmedTitle === ''\n\n const notificationLevelDescription =\n conversation?.conversationMembership?.notificationLevelDescription\n const archived = isArchivedConversation(conversation)\n const canUpdate = conversation.memberAbility?.canUpdate || false\n const canSaveTitle = canUpdate && !emptyTitle\n const canDelete = conversation.memberAbility?.canDelete || false\n const canArchive = manualArchivingEnabled && (conversation.memberAbility?.canArchive || false)\n const isLeader = conversation.memberAbility?.leader || false\n const isDisabled = conversation.disabled ?? false\n const showAdultRequirementNotice = isDisabled && conversation.disabledReason === 'safety_check'\n\n const {\n data: members,\n fetchNextPage: fetchNextPageOfMembers,\n isFetchingNextPage: isLoadingMembers,\n } = useSuspensePaginator<MemberResource>({\n url: `/me/conversations/${route.params.conversation_id}/members`,\n data: {\n include: ['person'],\n fields: {\n Member: ['avatar', 'name', 'first_name', 'last_name', 'child', 'badges'],\n },\n },\n })\n\n const memberSectionStyleMap = {\n first: styles.sectionInnerFirstMember,\n middle: styles.sectionInnerMiddleMiddle,\n last: styles.sectionInnerLastMember,\n }\n\n const memberItems = members.map((data, index) => {\n const isFirst = index === 0\n const isLast = index === members.length - 1\n const memberPosition = isFirst ? 'first' : isLast ? 'last' : 'middle'\n const memberSectionStyle = memberSectionStyleMap[memberPosition]\n\n return {\n type: SectionTypes.members,\n data,\n sectionInnerStyle: memberSectionStyle,\n }\n })\n\n const loadingMemberItems = isLoadingMembers\n ? [\n {\n type: SectionTypes.loadingMembers,\n data: {},\n sectionInnerStyle: styles.sectionInnerFirstMember,\n },\n ]\n : []\n\n const childMembers = members.filter(member => member.child)\n const hasChildren = childMembers.length > 0\n\n const teamsGroup =\n conversation.groups\n ?.filter(g => g.sourceAppName === 'Services')\n ?.filter(g => ['Team', 'PlanTeam'].includes(g.sourceType))\n ?.filter(g => g.name !== null) || []\n const hasTeams = teamsGroup.length > 0\n\n const badge = conversation.badges?.[0]\n const resourceType = badge?.pcoResourceType || ''\n const productName = badge?.appName\n const name = badge?.text || undefined\n\n const handleDelete = useCallback(() => {\n Alert.alert(\n 'Delete conversation',\n `All messages in ${title} will be deleted for everyone. This action cannot be undone.`,\n [\n {\n text: 'Cancel',\n style: 'cancel',\n },\n {\n text: 'Delete',\n style: 'destructive',\n onPress: () => {\n deleteConversation()\n navigation.dispatch(StackActions.popToTop())\n },\n },\n ]\n )\n }, [deleteConversation, navigation, title])\n\n const handleArchive = useCallback(() => {\n Alert.alert(\n 'Archive conversation',\n 'This conversation will be archived for everyone. Only its leaders and creator can open and unarchive it.',\n [\n {\n text: 'Cancel',\n style: 'cancel',\n },\n {\n text: 'Archive',\n onPress: () => setArchived(true),\n },\n ]\n )\n }, [setArchived])\n\n const HeaderTitle = useCallback(\n (props: HeaderTitleProps) => {\n return (\n <View style={styles.headerTitleContainer}>\n <ElementsHeaderTitle maxFontSizeMultiplier={1} {...props} />\n <Badge\n variant=\"metaSubtle\"\n label={resourceType}\n metaLabel={name}\n style={styles.headerTitleBadge}\n productLogoName={productName}\n maxFontSizeMultiplier={1}\n />\n </View>\n )\n },\n [name, productName, resourceType, styles.headerTitleBadge, styles.headerTitleContainer]\n )\n\n useHeaderRight({\n icon: 'general.check',\n accessibilityLabel: 'Done',\n onPress: () => {\n if (canSaveTitle) saveTitle({ title: trimmedTitle })\n navigation.goBack()\n },\n })\n\n useEffect(() => {\n navigation.setOptions({ headerTitle: HeaderTitle })\n }, [HeaderTitle, navigation])\n\n const listData = [\n {\n type: canUpdate && customAvatarsEnabled ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: (\n <AvatarCard\n conversation={conversation}\n onPress={() => navigation.navigate('AvatarPicker', { conversation_id })}\n />\n ),\n },\n sectionOuterStyle: styles.sectionOuterAvatarCard,\n sectionInnerStyle: styles.sectionInnerAvatarCard,\n },\n {\n type: SectionTypes.header,\n data: { title: 'Basic info' },\n showBottomBorder: true,\n sectionInnerStyle: styles.sectionInnerHeaderWithBottomBorder,\n },\n {\n type: SectionTypes.view,\n data: {\n children: (\n <TitleInput\n canUpdate={canUpdate}\n title={title}\n setTitle={setTitle}\n isEmpty={emptyTitle}\n />\n ),\n },\n sectionInnerStyle: styles.sectionInnerTitleInput,\n },\n {\n type: SectionTypes.header,\n data: { title: 'Settings' },\n showBottomBorder: true,\n sectionInnerStyle: styles.sectionInnerHeaderWithBottomBorder,\n },\n archived\n ? {\n type: SectionTypes.view,\n data: {\n children: (\n <>\n <Text variant=\"tertiary\">{archivedConversationMessage(conversation)}</Text>\n {unarchiveAction && (\n <Button\n variant=\"fill\"\n size=\"lg\"\n title={unarchiveAction.label}\n onPress={unarchiveAction.onPress}\n loading={unarchiveAction.loading}\n style={styles.unarchiveButton}\n />\n )}\n </>\n ),\n },\n showBottomBorder: true,\n }\n : granularNotificationsEnabled\n ? {\n type: SectionTypes.navigableSetting,\n data: {\n title: 'Notifications',\n subtitle: notificationLevelDescription,\n onPress: () =>\n navigation.navigate('ConversationNotificationLevelSelect', { conversation_id }),\n },\n showBottomBorder: true,\n }\n : {\n type: SectionTypes.setting,\n data: {\n title: 'Mute',\n rightItem: <Switch value={muted} onValueChange={value => setMuted(value)} />,\n },\n showBottomBorder: true,\n },\n {\n type: canUpdate ? SectionTypes.setting : SectionTypes.hidden,\n data: {\n title: 'Only leaders can message',\n rightItem: (\n <Switch value={repliesDisabled} onChange={() => setRepliesDisabled(!repliesDisabled)} />\n ),\n },\n showBottomBorder: true,\n },\n {\n type: canArchive ? SectionTypes.setting : SectionTypes.hidden,\n data: {\n title: 'Archive conversation…',\n disabled: isArchiving,\n onPress: handleArchive,\n },\n showBottomBorder: canDelete,\n },\n {\n type: canDelete ? SectionTypes.setting : SectionTypes.hidden,\n data: {\n title: 'Delete conversation…',\n buttonTextStyle: styles.deleteButtonText,\n appearance: 'danger',\n onPress: handleDelete,\n },\n },\n {\n type: hasTeams ? SectionTypes.header : SectionTypes.hidden,\n data: { title: 'Teams' },\n sectionInnerStyle: styles.sectionInnerHeader,\n },\n {\n type: hasTeams ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: <TeamsGroup teams={teamsGroup} />,\n },\n },\n {\n type: SectionTypes.header,\n data: {\n title: 'People',\n badge: showGenderFilter ? <Badge label={`${genderLabel}-only`} /> : undefined,\n },\n sectionInnerStyle: styles.sectionInnerHeader,\n },\n {\n type: showGenderFilter ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: (\n <Text variant=\"tertiary\">\n This conversation will be automatically updated if any {genderLabel.toLowerCase()} are\n added or removed from this group.\n </Text>\n ),\n },\n sectionInnerStyle: styles.sectionInnerGenderNotice,\n },\n {\n type: showAdultRequirementNotice ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: <AdultRequirementNotice />,\n },\n sectionInnerStyle: styles.sectionInnerNotice,\n },\n {\n type: hasChildren && isLeader ? SectionTypes.view : SectionTypes.hidden,\n data: {\n children: <ChildNotice childMembers={childMembers} />,\n },\n sectionInnerStyle: styles.sectionInnerNotice,\n },\n ...memberItems,\n ...loadingMemberItems,\n ].filter(item => item.type !== SectionTypes.hidden)\n\n const headerIndices = listData\n .map(({ type }, index) => (type === SectionTypes.header ? index : undefined))\n .filter(isDefined)\n\n return (\n <View style={styles.listContainer}>\n <FlatList\n data={listData as SectionListData}\n contentContainerStyle={styles.contentContainer}\n renderItem={({ item, index }) => {\n const [isStart, isEnd] = [\n index === 0 || headerIndices.includes(index),\n index === listData.length - 1 || headerIndices.includes(index + 1),\n ]\n\n switch (item.type) {\n case SectionTypes.header:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n {item.data.badge ? (\n <View style={styles.sectionHeaderRow}>\n <Heading variant=\"h3\">{item.data.title}</Heading>\n {item.data.badge}\n </View>\n ) : (\n <Heading variant=\"h3\">{item.data.title}</Heading>\n )}\n </ListSection>\n )\n case SectionTypes.members:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <Person person={{ ...item.data }} />\n </ListSection>\n )\n case SectionTypes.loadingMembers:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <Text>Loading more...</Text>\n </ListSection>\n )\n case SectionTypes.navigableSetting:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <NavigableSettingRow {...item.data} />\n </ListSection>\n )\n case SectionTypes.setting:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <SettingRow {...item.data} />\n </ListSection>\n )\n case SectionTypes.view:\n return (\n <ListSection\n isStart={isStart}\n isEnd={isEnd}\n showBottomBorder={item?.showBottomBorder}\n outerStyle={item?.sectionOuterStyle}\n innerStyle={item?.sectionInnerStyle}\n >\n <View {...item.data} style={item.data.style} />\n </ListSection>\n )\n default:\n return null\n }\n }}\n onEndReached={() => fetchNextPageOfMembers()}\n />\n </View>\n )\n}\n\ninterface ListSectionProps {\n isStart?: boolean\n isEnd?: boolean\n showBottomBorder?: boolean\n outerStyle?: ViewStyle\n innerStyle?: ViewStyle\n children: ReactNode\n}\n\nfunction ListSection({\n isStart,\n isEnd,\n showBottomBorder,\n outerStyle,\n innerStyle,\n children,\n}: ListSectionProps) {\n const styles = useStyles({ isStart, isEnd })\n const bottomBorder = showBottomBorder ? styles.sectionInnerBottomBorder : {}\n\n return (\n <View style={[styles.sectionOuterBase, outerStyle]}>\n <View style={[styles.sectionInnerBase, bottomBorder, innerStyle]}>{children}</View>\n </View>\n )\n}\n\ninterface InputProps {\n canUpdate: boolean\n title: string\n setTitle: Dispatch<SetStateAction<string>>\n style?: ViewStyle\n isEmpty: boolean\n}\n\nfunction TitleInput({ canUpdate, title, setTitle, style, isEmpty }: InputProps) {\n const styles = useStyles()\n const textRef = useRef<TextInput>(null)\n\n const handleFocus = () => {\n if (textRef.current) {\n textRef.current.focus()\n }\n }\n\n return (\n <Pressable style={[styles.titleContainer, style]} onPress={() => handleFocus()}>\n <View style={styles.titleLabelContainer}>\n <Text variant=\"tertiary\" style={styles.titleLabel}>\n Title\n </Text>\n {!canUpdate && <Icon name=\"general.lock\" style={styles.titleDisabledIcon} />}\n </View>\n <TextInput\n ref={textRef}\n editable={canUpdate}\n onChangeText={setTitle}\n style={[styles.titleInput, !canUpdate && styles.titleInputDisabled]}\n value={title}\n multiline\n maxLength={255} // Matches Chat Web\n enterKeyHint=\"done\"\n submitBehavior=\"blurAndSubmit\"\n />\n {isEmpty && (\n <View style={styles.inputValidationContainer}>\n <Text variant=\"footnote\" style={styles.inputValidationText}>\n A title is required for your conversation.\n </Text>\n </View>\n )}\n </Pressable>\n )\n}\n\ninterface NavigableSettingRowProps {\n title: string\n subtitle?: string\n onPress: () => void\n}\n\ninterface SettingRowProps {\n title: string\n style?: ViewStyle\n rightItem?: ReactNode\n titleStyle?: TextStyle\n buttonTextStyle?: TextStyle\n subtitle?: string\n rightItemStyle?: ViewStyle\n appearance?: ButtonAppearanceUnion\n disabled?: boolean\n onPress?: () => void\n}\n\nfunction SettingRow({\n title,\n style,\n titleStyle = {},\n buttonTextStyle = {},\n subtitle,\n rightItem,\n rightItemStyle = {},\n appearance,\n disabled,\n onPress,\n}: SettingRowProps) {\n const styles = useStyles()\n\n if (onPress) {\n return (\n <TextButton\n style={[styles.settingRow, style]}\n textStyle={buttonTextStyle}\n appearance={appearance}\n disabled={disabled}\n onPress={onPress}\n >\n {title}\n </TextButton>\n )\n }\n\n return (\n <View style={[styles.settingRow, style]}>\n <View style={styles.settingRowContent}>\n <Text variant=\"plain\" style={[styles.settingRowText, titleStyle]}>\n {title}\n </Text>\n {Boolean(subtitle) && <Text variant=\"footnote\">{subtitle}</Text>}\n </View>\n {Boolean(rightItem) && <View style={rightItemStyle}>{rightItem}</View>}\n </View>\n )\n}\n\nfunction NavigableSettingRow({ title, subtitle, onPress }: NavigableSettingRowProps) {\n const styles = useStyles()\n return (\n <PlatformPressable onPress={onPress} accessibilityRole=\"button\">\n <View style={styles.settingRow}>\n <View style={styles.settingRowContent}>\n <Text variant=\"plain\" style={styles.settingRowText}>\n {title}\n </Text>\n {Boolean(subtitle) && <Text variant=\"footnote\">{subtitle}</Text>}\n </View>\n {Platform.OS === 'ios' && (\n <Icon\n name=\"general.rightChevron\"\n size={16}\n style={styles.navigableSettingChevron}\n accessibilityElementsHidden\n />\n )}\n </View>\n </PlatformPressable>\n )\n}\n\nfunction AvatarCard({\n conversation,\n onPress,\n}: {\n conversation: ConversationResource\n onPress: () => void\n}) {\n const styles = useStyles()\n const diameter = usePreviewAvatarDiameter()\n\n return (\n <View style={styles.avatarCard}>\n <ConversationAvatar\n conversation={conversation}\n size=\"2xl\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n style={{ width: diameter, height: diameter }}\n />\n <Button\n title=\"Update avatar\"\n iconNameLeft=\"general.pencil\"\n onPress={onPress}\n variant=\"outline\"\n appearance=\"interaction\"\n size=\"sm\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n />\n </View>\n )\n}\n\nfunction TeamsGroup({ teams }: { teams: GroupResource[] }) {\n const styles = useStyles()\n\n if (teams.length === 0) return null\n\n return (\n <View style={styles.teamGroup}>\n {teams.map((team, index) => (\n <Badge key={index} label={team.name as string} />\n ))}\n </View>\n )\n}\n\n// =================================\n// ====== Styles ===================\n// =================================\n\nconst useStyles = ({ isStart, isEnd }: { isStart?: boolean; isEnd?: boolean } = {}) => {\n const { colors } = useTheme()\n const headerBottomPadding = 4\n const sectionBorderRadius = 8\n\n return StyleSheet.create({\n listContainer: {\n flex: 1,\n backgroundColor: colors.surfaceColor080,\n },\n contentContainer: {\n padding: 16,\n },\n sectionOuterBase: {\n paddingLeft: 16,\n backgroundColor: colors.surfaceColor100,\n borderTopLeftRadius: isStart ? sectionBorderRadius : 0,\n borderTopRightRadius: isStart ? sectionBorderRadius : 0,\n borderBottomLeftRadius: isEnd ? sectionBorderRadius : 0,\n borderBottomRightRadius: isEnd ? sectionBorderRadius : 0,\n marginBottom: isEnd ? 16 : 0,\n },\n sectionInnerBase: {\n paddingRight: 16,\n paddingTop: isStart ? 16 : 12,\n paddingBottom: isEnd ? 16 : 12,\n },\n sectionInnerHeader: {\n paddingBottom: headerBottomPadding,\n },\n sectionInnerGenderNotice: {\n paddingTop: 0,\n paddingBottom: headerBottomPadding,\n },\n sectionHeaderRow: {\n flexDirection: 'row' as const,\n alignItems: 'center' as const,\n gap: 8,\n },\n sectionInnerHeaderWithBottomBorder: {\n paddingBottom: 16,\n },\n sectionInnerBottomBorder: {\n borderBottomColor: colors.borderColorDefaultBase,\n borderBottomWidth: isEnd ? 0 : 1,\n },\n sectionInnerTitleInput: {\n paddingTop: 12, // paddingVertical doesn't override the sectionInner padding\n paddingBottom: 12,\n },\n sectionInnerNotice: {\n paddingBottom: headerBottomPadding,\n },\n sectionInnerMiddleMiddle: {\n paddingTop: 0,\n paddingBottom: 12,\n },\n sectionInnerFirstMember: {\n paddingTop: 12,\n paddingBottom: 12,\n },\n sectionInnerLastMember: {\n paddingTop: 0,\n paddingBottom: 16,\n },\n titleContainer: {\n gap: 4,\n },\n titleLabelContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n },\n titleLabel: {\n color: colors.textColorDefaultSecondary,\n },\n titleDisabledIcon: {\n color: colors.iconColorDefaultSecondary,\n },\n titleInput: {\n color: colors.textColorDefaultPrimary,\n fontSize: tokens.fontSizeMd,\n },\n titleInputDisabled: {\n color: colors.textColorDefaultSecondary,\n },\n inputValidationContainer: {\n paddingTop: 8,\n borderTopWidth: 1,\n borderColor: colors.statusErrorBorder,\n },\n inputValidationText: {\n color: colors.statusErrorText,\n },\n settingRow: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 8,\n },\n settingRowContent: {\n flex: 1,\n },\n deleteButtonText: {\n fontWeight: 'normal',\n },\n unarchiveButton: {\n marginTop: 12,\n },\n settingRowText: {\n lineHeight: 20,\n },\n navigableSettingChevron: {\n color: colors.iconColorDefaultDisabled,\n },\n avatarCard: {\n alignItems: 'center',\n gap: 16,\n },\n sectionOuterAvatarCard: {\n paddingLeft: 0,\n },\n sectionInnerAvatarCard: {\n paddingTop: 24,\n paddingBottom: 24,\n paddingHorizontal: 16,\n alignItems: 'center',\n },\n teamGroup: {\n flexDirection: 'row',\n gap: 4,\n flexWrap: 'wrap',\n },\n headerTitleBadge: {\n alignSelf: Platform.select({ android: 'flex-start', default: 'center' }),\n marginTop: 2,\n },\n headerTitleContainer: {\n alignItems: Platform.select({ android: 'flex-start', default: 'center' }),\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,6 @@ export declare const MAX_FONT_SIZE_MULTIPLIER = 1.5;
2
2
  export declare const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2;
3
3
  export declare const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16;
4
4
  export declare const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32;
5
- export declare const MESSAGE_BACKGROUND_OUTSET = 2;
6
5
  export declare const platformFontWeightMedium: "500" | "700" | undefined;
7
6
  export declare const platformFontWeightBold: "600" | "700" | undefined;
8
7
  export declare const platformPressedOpacityStyle: {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/utils/styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAC3C,eAAO,MAAM,iCAAiC,MAAM,CAAA;AAEpD,eAAO,MAAM,4CAA4C,KAAK,CAAA;AAC9D,eAAO,MAAM,kCAAkC,KAAK,CAAA;AACpD,eAAO,MAAM,yBAAyB,IAAI,CAAA;AAE1C,eAAO,MAAM,wBAAwB,2BAGnC,CAAA;AAEF,eAAO,MAAM,sBAAsB,2BAGjC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;aAGtC,CAAA"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/utils/styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAC3C,eAAO,MAAM,iCAAiC,MAAM,CAAA;AAEpD,eAAO,MAAM,4CAA4C,KAAK,CAAA;AAC9D,eAAO,MAAM,kCAAkC,KAAK,CAAA;AAEpD,eAAO,MAAM,wBAAwB,2BAGnC,CAAA;AAEF,eAAO,MAAM,sBAAsB,2BAGjC,CAAA;AAEF,eAAO,MAAM,2BAA2B;;aAGtC,CAAA"}
@@ -5,7 +5,7 @@ export const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2; // Use in headers, footers
5
5
 
6
6
  export const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16; // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created
7
7
  export const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32; // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created
8
- export const MESSAGE_BACKGROUND_OUTSET = 2;
8
+
9
9
  export const platformFontWeightMedium = Platform.select({
10
10
  ios: tokens.fontWeightMedium,
11
11
  android: tokens.fontWeightBold
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["Platform","tokens","MAX_FONT_SIZE_MULTIPLIER","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH","MESSAGE_BACKGROUND_OUTSET","platformFontWeightMedium","select","ios","fontWeightMedium","android","fontWeightBold","platformFontWeightBold","fontWeightSemiBold","platformPressedOpacityStyle","opacity"],"sources":["../../src/utils/styles.ts"],"sourcesContent":["import { Platform } from 'react-native'\nimport { tokens } from '../vendor/tapestry/tokens'\n\nexport const MAX_FONT_SIZE_MULTIPLIER = 1.5\nexport const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2 // Use in headers, footers, toolbars, etc.\n\nexport const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created\nexport const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created\nexport const MESSAGE_BACKGROUND_OUTSET = 2\n\nexport const platformFontWeightMedium = Platform.select({\n ios: tokens.fontWeightMedium,\n android: tokens.fontWeightBold,\n})\n\nexport const platformFontWeightBold = Platform.select({\n ios: tokens.fontWeightSemiBold,\n android: tokens.fontWeightBold,\n})\n\nexport const platformPressedOpacityStyle = Platform.select({\n ios: { opacity: 0.5 },\n android: { opacity: 1 },\n})\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,MAAM,QAAQ,2BAA2B;AAElD,OAAO,MAAMC,wBAAwB,GAAG,GAAG;AAC3C,OAAO,MAAMC,iCAAiC,GAAG,GAAG,EAAC;;AAErD,OAAO,MAAMC,4CAA4C,GAAG,EAAE,EAAC;AAC/D,OAAO,MAAMC,kCAAkC,GAAG,EAAE,EAAC;AACrD,OAAO,MAAMC,yBAAyB,GAAG,CAAC;AAE1C,OAAO,MAAMC,wBAAwB,GAAGP,QAAQ,CAACQ,MAAM,CAAC;EACtDC,GAAG,EAAER,MAAM,CAACS,gBAAgB;EAC5BC,OAAO,EAAEV,MAAM,CAACW;AAClB,CAAC,CAAC;AAEF,OAAO,MAAMC,sBAAsB,GAAGb,QAAQ,CAACQ,MAAM,CAAC;EACpDC,GAAG,EAAER,MAAM,CAACa,kBAAkB;EAC9BH,OAAO,EAAEV,MAAM,CAACW;AAClB,CAAC,CAAC;AAEF,OAAO,MAAMG,2BAA2B,GAAGf,QAAQ,CAACQ,MAAM,CAAC;EACzDC,GAAG,EAAE;IAAEO,OAAO,EAAE;EAAI,CAAC;EACrBL,OAAO,EAAE;IAAEK,OAAO,EAAE;EAAE;AACxB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"styles.js","names":["Platform","tokens","MAX_FONT_SIZE_MULTIPLIER","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH","platformFontWeightMedium","select","ios","fontWeightMedium","android","fontWeightBold","platformFontWeightBold","fontWeightSemiBold","platformPressedOpacityStyle","opacity"],"sources":["../../src/utils/styles.ts"],"sourcesContent":["import { Platform } from 'react-native'\nimport { tokens } from '../vendor/tapestry/tokens'\n\nexport const MAX_FONT_SIZE_MULTIPLIER = 1.5\nexport const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2 // Use in headers, footers, toolbars, etc.\n\nexport const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created\nexport const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created\n\nexport const platformFontWeightMedium = Platform.select({\n ios: tokens.fontWeightMedium,\n android: tokens.fontWeightBold,\n})\n\nexport const platformFontWeightBold = Platform.select({\n ios: tokens.fontWeightSemiBold,\n android: tokens.fontWeightBold,\n})\n\nexport const platformPressedOpacityStyle = Platform.select({\n ios: { opacity: 0.5 },\n android: { opacity: 1 },\n})\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,MAAM,QAAQ,2BAA2B;AAElD,OAAO,MAAMC,wBAAwB,GAAG,GAAG;AAC3C,OAAO,MAAMC,iCAAiC,GAAG,GAAG,EAAC;;AAErD,OAAO,MAAMC,4CAA4C,GAAG,EAAE,EAAC;AAC/D,OAAO,MAAMC,kCAAkC,GAAG,EAAE,EAAC;;AAErD,OAAO,MAAMC,wBAAwB,GAAGN,QAAQ,CAACO,MAAM,CAAC;EACtDC,GAAG,EAAEP,MAAM,CAACQ,gBAAgB;EAC5BC,OAAO,EAAET,MAAM,CAACU;AAClB,CAAC,CAAC;AAEF,OAAO,MAAMC,sBAAsB,GAAGZ,QAAQ,CAACO,MAAM,CAAC;EACpDC,GAAG,EAAEP,MAAM,CAACY,kBAAkB;EAC9BH,OAAO,EAAET,MAAM,CAACU;AAClB,CAAC,CAAC;AAEF,OAAO,MAAMG,2BAA2B,GAAGd,QAAQ,CAACO,MAAM,CAAC;EACzDC,GAAG,EAAE;IAAEO,OAAO,EAAE;EAAI,CAAC;EACrBL,OAAO,EAAE;IAAEK,OAAO,EAAE;EAAE;AACxB,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planningcenter/chat-react-native",
3
- "version": "4.4.1-qa-staging.23",
3
+ "version": "4.4.1-rc.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "@fortawesome/fontawesome-svg-core": "^7.2.0",
35
35
  "@fortawesome/react-native-fontawesome": "^0.3.2",
36
- "@planningcenter/emoji-keyboard": "4.4.1-qa-staging.23",
36
+ "@planningcenter/emoji-keyboard": "4.3.0",
37
37
  "lodash-inflection": "^1.5.0"
38
38
  },
39
39
  "peerDependencies": {
@@ -84,5 +84,5 @@
84
84
  "sf-symbols-typescript": "^2.2.0",
85
85
  "typescript": "~6.0.3"
86
86
  },
87
- "gitHead": "7690a22c96476e5d0a777d2dea1c10e53597077b"
87
+ "gitHead": "4c68d92288447e9fda55793fbdff6caef4695d84"
88
88
  }
@@ -30,7 +30,6 @@ import { Haptic } from '../../utils/native_adapters'
30
30
  import {
31
31
  CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,
32
32
  MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,
33
- MESSAGE_BACKGROUND_OUTSET,
34
33
  platformFontWeightMedium,
35
34
  } from '../../utils/styles'
36
35
  import { ComponentErrorBoundary } from '../page/component_error_boundary'
@@ -110,7 +109,6 @@ export const Message = memo(function MessageRow({
110
109
  : hasReactions || showMessageMeta || showReplyCountButton
111
110
  ? 8
112
111
  : 4
113
- const spaceBelowPressable = messageBottomMargin - MESSAGE_BACKGROUND_OUTSET
114
112
 
115
113
  const messageIsReplyLabel = replyToReplyRootMessage ? 'Reply' : ''
116
114
  const attachmentLabel = some(attachments) ? pluralize(attachments.length, 'attachment') : ''
@@ -217,7 +215,6 @@ export const Message = memo(function MessageRow({
217
215
  return (
218
216
  <Pressable
219
217
  testID={`message-${message.id}`}
220
- style={[styles.pressable, { marginBottom: spaceBelowPressable }]}
221
218
  onLongPress={isDeleting ? undefined : handleMessageLongPress}
222
219
  onPress={isDeleting ? undefined : handleMessagePress}
223
220
  onPressIn={isDeleting ? undefined : handleMessagePressIn}
@@ -230,8 +227,7 @@ export const Message = memo(function MessageRow({
230
227
  onAccessibilityAction={isReplyRootMessage ? handleAccessibilityAction : undefined}
231
228
  disabled={isDeletedReplyRootMessage || isDeleting}
232
229
  >
233
- <Animated.View style={[StyleSheet.absoluteFill, animatedBackgroundColor]} />
234
- <View style={[styles.message, { marginBottom: -spaceBelowPressable }]}>
230
+ <Animated.View style={[styles.message, animatedBackgroundColor]}>
235
231
  {!message.mine && (
236
232
  <View>
237
233
  {renderAuthor ? (
@@ -355,7 +351,7 @@ export const Message = memo(function MessageRow({
355
351
  {message.mine && (
356
352
  <MyReplyConnector message={message} messageBubbleHeight={messageBubbleHeight} />
357
353
  )}
358
- </View>
354
+ </Animated.View>
359
355
  </Pressable>
360
356
  )
361
357
  })
@@ -369,10 +365,6 @@ const useMessageStyles = (mine: boolean, isDeleting: boolean) => {
369
365
  const messageBubbleBackgroundColor = mine ? myMessageBackgroundColor : colors.fillColorNeutral070
370
366
 
371
367
  return StyleSheet.create({
372
- pressable: {
373
- marginTop: -MESSAGE_BACKGROUND_OUTSET,
374
- paddingTop: MESSAGE_BACKGROUND_OUTSET,
375
- },
376
368
  message: {
377
369
  gap: 8,
378
370
  flexDirection: mine ? 'row-reverse' : 'row',
@@ -24,15 +24,11 @@ import {
24
24
  CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,
25
25
  MAX_FONT_SIZE_MULTIPLIER,
26
26
  MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,
27
- MESSAGE_BACKGROUND_OUTSET,
28
27
  platformFontWeightMedium,
29
28
  } from '../../utils/styles'
30
29
  import { Avatar, Icon, IconProps, Image, Text } from '../display'
31
30
  import { TheirReplyConnector, MyReplyConnector } from './reply_connectors'
32
31
 
33
- const SPACE_BELOW_MESSAGE = 12
34
- const SPACE_BELOW_PRESSABLE = SPACE_BELOW_MESSAGE - MESSAGE_BACKGROUND_OUTSET
35
-
36
32
  interface ReplyShadowMessageProps extends MessageResource {
37
33
  messageId: string
38
34
  conversation_id: number
@@ -100,7 +96,6 @@ function ShadowMessageContent({ conversation_id, ...message }: ShadowMessageCont
100
96
 
101
97
  return (
102
98
  <Pressable
103
- style={styles.pressable}
104
99
  android_ripple={{ color: colors.androidRippleNeutral }}
105
100
  onPress={handleNavigateToReplies}
106
101
  onPressIn={handleMessagePressIn}
@@ -109,8 +104,7 @@ function ShadowMessageContent({ conversation_id, ...message }: ShadowMessageCont
109
104
  accessibilityHint="Navigate to reply screen for this message"
110
105
  accessibilityRole="link"
111
106
  >
112
- <Animated.View style={[StyleSheet.absoluteFill, animatedBackgroundColor]} />
113
- <View style={[styles.message, { marginBottom: -SPACE_BELOW_PRESSABLE }]}>
107
+ <Animated.View style={[styles.message, animatedBackgroundColor]}>
114
108
  {!message.mine && (
115
109
  <View>
116
110
  <View style={[styles.avatarWrapper, !isDeleted && styles.avatarOpacity]}>
@@ -151,7 +145,7 @@ function ShadowMessageContent({ conversation_id, ...message }: ShadowMessageCont
151
145
  {message.mine && (
152
146
  <MyReplyConnector message={message} messageBubbleHeight={messageBubbleHeight} />
153
147
  )}
154
- </View>
148
+ </Animated.View>
155
149
  </Pressable>
156
150
  )
157
151
  }
@@ -288,11 +282,6 @@ const useStyles = ({ mine, imageWidth = 32, imageHeight = 32 }: StylesProps = {}
288
282
  const tabletWidth = width >= 744 // Smallest iPad Mini's width
289
283
 
290
284
  return StyleSheet.create({
291
- pressable: {
292
- marginTop: -MESSAGE_BACKGROUND_OUTSET,
293
- paddingTop: MESSAGE_BACKGROUND_OUTSET,
294
- marginBottom: SPACE_BELOW_PRESSABLE,
295
- },
296
285
  message: {
297
286
  gap: 8,
298
287
  flexDirection: mine ? 'row-reverse' : 'row',
@@ -301,7 +290,7 @@ const useStyles = ({ mine, imageWidth = 32, imageHeight = 32 }: StylesProps = {}
301
290
  messageContent: {
302
291
  flex: 1,
303
292
  gap: 4,
304
- marginBottom: SPACE_BELOW_MESSAGE,
293
+ marginBottom: 12,
305
294
  },
306
295
  avatarWrapper: {
307
296
  width: MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH,
@@ -162,6 +162,14 @@ describe('ConversationDetailsScreen', () => {
162
162
  expect(getByDisplayValue('')).toBeTruthy()
163
163
  expect(getByText('A title is required for your conversation.')).toBeTruthy()
164
164
  })
165
+
166
+ it('does not save a cleared title on done', () => {
167
+ const { getByDisplayValue } = renderScreen()
168
+ fireEvent.changeText(getByDisplayValue('Youth Group'), ' ')
169
+ mockPressDone()
170
+
171
+ expect(mockSaveTitle).not.toHaveBeenCalled()
172
+ })
165
173
  })
166
174
 
167
175
  describe('for an archived conversation', () => {
@@ -127,6 +127,7 @@ export function ConversationDetailsScreen({ route }: ConversationDetailsScreenPr
127
127
  conversation?.conversationMembership?.notificationLevelDescription
128
128
  const archived = isArchivedConversation(conversation)
129
129
  const canUpdate = conversation.memberAbility?.canUpdate || false
130
+ const canSaveTitle = canUpdate && !emptyTitle
130
131
  const canDelete = conversation.memberAbility?.canDelete || false
131
132
  const canArchive = manualArchivingEnabled && (conversation.memberAbility?.canArchive || false)
132
133
  const isLeader = conversation.memberAbility?.leader || false
@@ -252,7 +253,7 @@ export function ConversationDetailsScreen({ route }: ConversationDetailsScreenPr
252
253
  icon: 'general.check',
253
254
  accessibilityLabel: 'Done',
254
255
  onPress: () => {
255
- if (canUpdate) saveTitle({ title: trimmedTitle || conversation.title })
256
+ if (canSaveTitle) saveTitle({ title: trimmedTitle })
256
257
  navigation.goBack()
257
258
  },
258
259
  })
@@ -6,7 +6,6 @@ export const MAX_FONT_SIZE_MULTIPLIER_LANDMARK = 1.2 // Use in headers, footers,
6
6
 
7
7
  export const CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL = 16 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created
8
8
  export const MESSAGE_AUTHOR_AVATAR_COLUMN_WIDTH = 32 // TODO: move to `screens/conversation/utils/styles` when `/screens/conversation` is created
9
- export const MESSAGE_BACKGROUND_OUTSET = 2
10
9
 
11
10
  export const platformFontWeightMedium = Platform.select({
12
11
  ios: tokens.fontWeightMedium,