@planningcenter/chat-react-native 4.4.1-qa-staging.19 → 4.4.1-qa-staging.20

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_preview.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversation_preview.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAO1D,OAAO,EAA2B,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAoB3E,UAAU,wBAAwB;IAChC,YAAY,EAAE,oBAAoB,CAAA;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,eAAO,MAAM,mBAAmB,GAAI,+CAKjC,wBAAwB,4CA+E1B,CAAA;AAqCD,eAAO,MAAM,2BAA2B,+CAqBvC,CAAA"}
1
+ {"version":3,"file":"conversation_preview.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversation_preview.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAO1D,OAAO,EAA2B,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAoB3E,UAAU,wBAAwB;IAChC,YAAY,EAAE,oBAAoB,CAAA;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,eAAO,MAAM,mBAAmB,GAAI,+CAKjC,wBAAwB,4CAoF1B,CAAA;AAqCD,eAAO,MAAM,2BAA2B,+CAqBvC,CAAA"}
@@ -68,6 +68,7 @@ export const ConversationPreview = t0 => {
68
68
  if ($[6] !== archived || $[7] !== conversation || $[8] !== fallbackIconName) {
69
69
  t5 = archived ? /*#__PURE__*/_jsx(IconTile, {
70
70
  icon: faBoxArchive,
71
+ shape: "circle",
71
72
  size: "lg",
72
73
  testID: "conversation-archived-icon"
73
74
  }) : /*#__PURE__*/_jsx(ConversationAvatar, {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_preview.js","names":["React","StyleSheet","View","useTheme","useAtFontScaleBreakpoint","useFontScale","useScalableNumberOfLines","REACTION_EMOJIS","isArchivedConversation","platformFontWeightBold","formatDatePreview","faBoxArchive","tokens","AvatarGroup","ConversationAvatar","Heading","IconTile","Text","Badge","ConversationActions","MuteIndicator","UnreadCountBadge","jsx","_jsx","jsxs","_jsxs","EMPTY_CONVERSATION_PREVIEW_TEXT","ConversationPreview","t0","$","_c","conversation","onPress","showBadges","t1","style","undefined","styles","useStyles","conversationPreview","lastMessageCreatedAt","title","unreadCount","badges","muted","disabled","unreadReaction","archived","emptyConversation","fallbackIconName","hasMetaContent","isUnread","numberOfLinesScaledTitle","numberOfLinesScaledPreviewText","t2","formatConversationPreviewText","conversationPreviewText","conversationAccessibilityLabel","getConversationAccessibilityLabel","t3","t4","previewRow","t5","size","testID","t6","archivedTitle","t7","unreadTitle","t8","t9","variant","children","t10","emptyConversationPreviewText","t11","unreadText","t12","t13","t14","ConversationBadges","t15","conversationBody","t16","createdAt","metaContainer","statusContainer","t17","visible","numberOfLinesScaled","length","badge","productLogoName","appName","label","pcoResourceType","metaLabel","text","map","skeletonBadges","ConversationPreviewSkeleton","Symbol","for","sourceUris","showFallback","titleLoading","subtitleLoading","dateLoading","reactionEmoji","value","preview","kind","emoji","authorName","formatConversationPreviewAccessibilityLabel","date","hasBadges","hasUnreadMessages","readStatus","lastMessage","filter","Boolean","join","colors","atFontScaleBreakpoint","fontScale","borderColorDefaultDark","borderColorDefaultDim","fillColorNeutral080","fillColorNeutral090","interaction","textColorDefaultPrimary","textColorDefaultSecondary","create","flexDirection","gap","borderBottomWidth","borderBottomColor","paddingTop","paddingBottom","paddingHorizontal","opacity","fontSize","color","fontWeight","fontWeightBold","width","height","backgroundColor","borderRadius","flex","rowGap","alignItems","justifyContent","marginTop"],"sources":["../../../src/components/conversations/conversation_preview.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View, ViewStyle } from 'react-native'\nimport {\n useTheme,\n useAtFontScaleBreakpoint,\n useFontScale,\n useScalableNumberOfLines,\n} from '../../hooks'\nimport { ConversationPreviewData, ConversationResource } from '../../types'\nimport { REACTION_EMOJIS, isArchivedConversation, platformFontWeightBold } from '../../utils'\nimport { formatDatePreview } from '../../utils/date'\nimport { faBoxArchive } from '../../vendor/font_awesome_pro_solid_icons'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport {\n AvatarGroup,\n ConversationAvatar,\n Heading,\n IconTile,\n Text,\n Badge,\n type BadgeProps,\n} from '../display'\nimport { ConversationActions } from './conversation_actions'\nimport { MuteIndicator } from './mute_indicator'\nimport { UnreadCountBadge } from './unread_count_badge'\n\nconst EMPTY_CONVERSATION_PREVIEW_TEXT = 'Send your first message'\n\ninterface ConversationPreviewProps {\n conversation: ConversationResource\n onPress: () => void\n showBadges?: boolean\n style?: ViewStyle\n}\n\nexport const ConversationPreview = ({\n conversation,\n onPress,\n showBadges = true,\n style,\n}: ConversationPreviewProps) => {\n const styles = useStyles()\n const {\n conversationPreview,\n lastMessageCreatedAt,\n title,\n unreadCount,\n badges,\n muted,\n disabled,\n unreadReaction,\n } = conversation\n\n const archived = isArchivedConversation(conversation)\n const emptyConversation = !lastMessageCreatedAt\n const fallbackIconName = emptyConversation ? 'people.noTextMessage' : 'general.person'\n const hasMetaContent = lastMessageCreatedAt || unreadCount > 0 || muted\n const isUnread = unreadCount > 0 || unreadReaction\n\n const numberOfLinesScaledTitle = useScalableNumberOfLines(1)\n const numberOfLinesScaledPreviewText = useScalableNumberOfLines(2)\n\n const conversationPreviewText = conversationPreview\n ? formatConversationPreviewText(conversationPreview)\n : EMPTY_CONVERSATION_PREVIEW_TEXT\n\n const conversationAccessibilityLabel = getConversationAccessibilityLabel({\n conversation,\n showBadges,\n archived,\n })\n\n return (\n <ConversationActions\n conversation={conversation}\n style={[styles.previewRow, disabled && !archived && styles.disabled, style]}\n onPress={onPress}\n accessibilityLabel={conversationAccessibilityLabel}\n >\n {archived ? (\n <IconTile icon={faBoxArchive} size=\"lg\" testID=\"conversation-archived-icon\" />\n ) : (\n <ConversationAvatar\n conversation={conversation}\n size=\"lg\"\n fallbackIconName={fallbackIconName}\n />\n )}\n <View style={styles.conversationBody}>\n <Heading\n numberOfLines={numberOfLinesScaledTitle}\n variant=\"h3\"\n style={[styles.title, archived && styles.archivedTitle, isUnread && styles.unreadTitle]}\n >\n {title}\n </Heading>\n <Text\n variant=\"tertiary\"\n numberOfLines={numberOfLinesScaledPreviewText}\n style={[\n emptyConversation && styles.emptyConversationPreviewText,\n isUnread && styles.unreadText,\n ]}\n >\n {conversationPreviewText}\n </Text>\n <ConversationBadges visible={showBadges} badges={badges} />\n </View>\n {hasMetaContent && (\n <View style={styles.metaContainer}>\n <Text variant=\"tertiary\">{formatDatePreview(conversationPreview?.createdAt)}</Text>\n <View style={styles.statusContainer}>\n <UnreadCountBadge count={unreadCount} unreadReaction={unreadReaction} showDot={muted} />\n <MuteIndicator muted={muted} />\n </View>\n </View>\n )}\n </ConversationActions>\n )\n}\n\ninterface BadgeShape {\n appName?: BadgeProps['productLogoName']\n pcoResourceType: string\n text: string | null\n}\nconst ConversationBadges = ({ visible, badges }: { visible: boolean; badges?: BadgeShape[] }) => {\n const styles = useStyles()\n const numberOfLinesScaled = useScalableNumberOfLines(1)\n\n if (!visible || !badges || badges.length === 0) {\n return null\n }\n\n return (\n <View style={styles.badges}>\n {badges.map(badge => (\n <Badge\n key={badge.text}\n variant=\"meta\"\n productLogoName={badge.appName}\n label={badge.pcoResourceType}\n metaLabel={badge.text || ''}\n numberOfLinesMetaLabel={numberOfLinesScaled}\n />\n ))}\n </View>\n )\n}\n\nconst skeletonBadges: BadgeShape[] = [\n {\n pcoResourceType: ' ',\n text: ' ',\n },\n]\nexport const ConversationPreviewSkeleton = () => {\n const styles = useStyles()\n\n return (\n <View style={styles.previewRow}>\n <AvatarGroup\n size=\"lg\"\n sourceUris={[]}\n showFallback={true}\n fallbackIconName={'general.person'}\n />\n <View style={styles.conversationBody}>\n <View style={styles.titleLoading} />\n <View style={styles.subtitleLoading} />\n <ConversationBadges visible={true} badges={skeletonBadges} />\n </View>\n <View style={styles.metaContainer}>\n <View style={styles.dateLoading} />\n </View>\n </View>\n )\n}\n\nfunction reactionEmoji(value: ConversationPreviewData['value']): string | null {\n if (!value) return null\n return REACTION_EMOJIS[value] ?? null\n}\n\nfunction formatConversationPreviewText(preview: ConversationPreviewData) {\n if (preview.kind === 'system') return preview.text\n\n if (preview.kind === 'reaction') {\n const emoji = reactionEmoji(preview.value)\n return `${preview.authorName}${emoji ? ` ${emoji}` : ' reacted'} to: \"${preview.text}\"`\n }\n\n return `${preview.authorName}: ${preview.text}`\n}\n\nfunction formatConversationPreviewAccessibilityLabel(preview: ConversationPreviewData) {\n const date = formatDatePreview(preview.createdAt)\n\n if (preview.kind === 'system') return `Latest activity: ${preview.text} at ${date}`\n\n if (preview.kind === 'reaction') {\n return `${preview.authorName} reacted to your message sent ${date} and says ${preview.text}`\n }\n\n return `Last message sent ${date} from ${preview.authorName} and says ${preview.text}`\n}\n\ninterface GetConversationAccessibilityLabelProps {\n conversation: ConversationResource\n showBadges: boolean\n archived: boolean\n}\nconst getConversationAccessibilityLabel = ({\n conversation,\n showBadges,\n archived,\n}: GetConversationAccessibilityLabelProps) => {\n const { badges, title, conversationPreview, muted, disabled, unreadCount, unreadReaction } =\n conversation\n\n const hasBadges = badges && showBadges\n const hasUnreadMessages = unreadCount > 0\n\n const label = {\n title,\n badge: hasBadges ? `for ${badges[0]?.pcoResourceType} ${badges[0]?.text || ''}` : '',\n disabled: archived ? 'Archived' : disabled ? 'Disabled' : '',\n muted: muted ? 'Muted' : '',\n readStatus: hasUnreadMessages\n ? `${unreadCount} unread messages`\n : unreadReaction\n ? 'unread reaction'\n : '',\n lastMessage: conversationPreview\n ? formatConversationPreviewAccessibilityLabel(conversationPreview)\n : EMPTY_CONVERSATION_PREVIEW_TEXT,\n }\n\n return [\n `Select ${label.title}`,\n label.badge,\n label.disabled,\n label.muted,\n label.readStatus,\n label.lastMessage,\n ]\n .filter(Boolean)\n .join(', ')\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const atFontScaleBreakpoint = useAtFontScaleBreakpoint()\n const fontScale = useFontScale()\n\n return StyleSheet.create({\n previewRow: {\n flexDirection: atFontScaleBreakpoint ? 'column' : 'row',\n gap: 8,\n borderBottomWidth: 1,\n borderBottomColor: atFontScaleBreakpoint\n ? colors.borderColorDefaultDark\n : colors.borderColorDefaultDim,\n paddingTop: 12,\n paddingBottom: 12,\n paddingHorizontal: 16,\n },\n disabled: {\n opacity: 0.4,\n },\n title: {\n fontSize: 16,\n color: colors.textColorDefaultPrimary,\n },\n archivedTitle: {\n color: colors.textColorDefaultSecondary,\n },\n unreadTitle: {\n fontWeight: tokens.fontWeightBold,\n },\n unreadText: {\n fontWeight: platformFontWeightBold,\n },\n titleLoading: {\n width: 120,\n height: 20,\n backgroundColor: colors.fillColorNeutral080,\n borderRadius: 4,\n },\n conversationBody: {\n flex: 1,\n rowGap: 2,\n },\n emptyConversationPreviewText: {\n color: colors.interaction,\n },\n subtitleLoading: {\n width: 80,\n height: 16,\n backgroundColor: colors.fillColorNeutral090,\n borderRadius: 4,\n },\n metaContainer: {\n gap: 4,\n alignItems: atFontScaleBreakpoint ? 'center' : 'flex-end',\n justifyContent: atFontScaleBreakpoint ? 'space-between' : 'flex-start',\n flexDirection: atFontScaleBreakpoint ? 'row' : 'column',\n },\n dateLoading: {\n width: 60,\n height: 16,\n backgroundColor: colors.fillColorNeutral090,\n borderRadius: 4,\n },\n badges: {\n marginTop: 4,\n alignItems: 'flex-start',\n },\n statusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4 * fontScale,\n },\n })\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAC1D,SACEC,QAAQ,EACRC,wBAAwB,EACxBC,YAAY,EACZC,wBAAwB,QACnB,aAAa;AAEpB,SAASC,eAAe,EAAEC,sBAAsB,EAAEC,sBAAsB,QAAQ,aAAa;AAC7F,SAASC,iBAAiB,QAAQ,kBAAkB;AACpD,SAASC,YAAY,QAAQ,2CAA2C;AACxE,SAASC,MAAM,QAAQ,8BAA8B;AACrD,SACEC,WAAW,EACXC,kBAAkB,EAClBC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,KAAK,QAEA,YAAY;AACnB,SAASC,mBAAmB,QAAQ,wBAAwB;AAC5D,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,gBAAgB,QAAQ,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEvD,MAAMC,+BAA+B,GAAG,yBAAyB;AASjE,OAAO,MAAMC,mBAAmB,GAAGC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAC,YAAA;IAAAC,OAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAP,EAKT;EAFzB,MAAAK,UAAA,GAAAC,EAAiB,KAAjBE,SAAiB,GAAjB,IAAiB,GAAjBF,EAAiB;EAGjB,MAAAG,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B;IAAAC,mBAAA;IAAAC,oBAAA;IAAAC,KAAA;IAAAC,WAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,QAAA;IAAAC;EAAA,IASIf,YAAY;EAEhB,MAAAgB,QAAA,GAAiBvC,sBAAsB,CAACuB,YAAY,CAAC;EACrD,MAAAiB,iBAAA,GAA0B,CAACR,oBAAoB;EAC/C,MAAAS,gBAAA,GAAyBD,iBAAiB,GAAjB,sBAA6D,GAA7D,gBAA6D;EACtF,MAAAE,cAAA,GAAuBV,oBAAuC,IAAfE,WAAW,GAAG,CAAU,IAAhDE,KAAgD;EACvE,MAAAO,QAAA,GAAiBT,WAAW,GAAG,CAAmB,IAAjCI,cAAiC;EAElD,MAAAM,wBAAA,GAAiC9C,wBAAwB,CAAC,CAAC,CAAC;EAC5D,MAAA+C,8BAAA,GAAuC/C,wBAAwB,CAAC,CAAC,CAAC;EAAA,IAAAgD,EAAA;EAAA,IAAAzB,CAAA,QAAAU,mBAAA;IAElCe,EAAA,GAAAf,mBAAmB,GAC/CgB,6BAA6B,CAAChB,mBACA,CAAC,GAFHb,+BAEG;IAAAG,CAAA,MAAAU,mBAAA;IAAAV,CAAA,MAAAyB,EAAA;EAAA;IAAAA,EAAA,GAAAzB,CAAA;EAAA;EAFnC,MAAA2B,uBAAA,GAAgCF,EAEG;EAEnC,MAAAG,8BAAA,GAAuCC,iCAAiC,CAAC;IAAA3B,YAAA;IAAAE,UAAA;IAAAc;EAIzE,CAAC,CAAC;EAK6B,MAAAY,EAAA,GAAAd,QAAqB,IAArB,CAAaE,QAA2B,IAAfV,MAAM,CAAAQ,QAAS;EAAA,IAAAe,EAAA;EAAA,IAAA/B,CAAA,QAAAM,KAAA,IAAAN,CAAA,QAAAQ,MAAA,CAAAwB,UAAA,IAAAhC,CAAA,QAAA8B,EAAA;IAA5DC,EAAA,IAACvB,MAAM,CAAAwB,UAAW,EAAEF,EAAwC,EAAExB,KAAK,CAAC;IAAAN,CAAA,MAAAM,KAAA;IAAAN,CAAA,MAAAQ,MAAA,CAAAwB,UAAA;IAAAhC,CAAA,MAAA8B,EAAA;IAAA9B,CAAA,MAAA+B,EAAA;EAAA;IAAAA,EAAA,GAAA/B,CAAA;EAAA;EAAA,IAAAiC,EAAA;EAAA,IAAAjC,CAAA,QAAAkB,QAAA,IAAAlB,CAAA,QAAAE,YAAA,IAAAF,CAAA,QAAAoB,gBAAA;IAI1Ea,EAAA,GAAAf,QAAQ,gBAARxB,IAAA,CACEP,QAAQ;MAAOL,IAAY,EAAZA,YAAY;MAAOoD,IAAI,EAAJ,IAAI;MAAQC,MAA4B,EAA5B;IAA4B,CAO7E,CAAC,gBARAzC,IAAA,CAGET,kBAAkB;MACHiB,YAAY,EAAZA,YAAY;MACrBgC,IAAI,EAAJ,IAAI;MACSd,gBAAgB,EAAhBA;IAAgB,CAEtC,CAAC;IAAApB,CAAA,MAAAkB,QAAA;IAAAlB,CAAA,MAAAE,YAAA;IAAAF,CAAA,MAAAoB,gBAAA;IAAApB,CAAA,MAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAKyB,MAAAoC,EAAA,GAAAlB,QAAgC,IAApBV,MAAM,CAAA6B,aAAc;EAAE,MAAAC,EAAA,GAAAhB,QAA8B,IAAlBd,MAAM,CAAA+B,WAAY;EAAA,IAAAC,EAAA;EAAA,IAAAxC,CAAA,SAAAQ,MAAA,CAAAI,KAAA,IAAAZ,CAAA,SAAAoC,EAAA,IAAApC,CAAA,SAAAsC,EAAA;IAA/EE,EAAA,IAAChC,MAAM,CAAAI,KAAM,EAAEwB,EAAgC,EAAEE,EAA8B,CAAC;IAAAtC,CAAA,OAAAQ,MAAA,CAAAI,KAAA;IAAAZ,CAAA,OAAAoC,EAAA;IAAApC,CAAA,OAAAsC,EAAA;IAAAtC,CAAA,OAAAwC,EAAA;EAAA;IAAAA,EAAA,GAAAxC,CAAA;EAAA;EAAA,IAAAyC,EAAA;EAAA,IAAAzC,CAAA,SAAAuB,wBAAA,IAAAvB,CAAA,SAAAwC,EAAA,IAAAxC,CAAA,SAAAY,KAAA;IAHzF6B,EAAA,gBAAA/C,IAAA,CAACR,OAAO;MACSqC,aAAwB,EAAxBA,wBAAwB;MAC/BmB,OAAI,EAAJ,IAAI;MACLpC,KAAgF,EAAhFkC,EAAgF;MAAAG,QAAA,EAEtF/B;IAAK,CACC,CAAC;IAAAZ,CAAA,OAAAuB,wBAAA;IAAAvB,CAAA,OAAAwC,EAAA;IAAAxC,CAAA,OAAAY,KAAA;IAAAZ,CAAA,OAAAyC,EAAA;EAAA;IAAAA,EAAA,GAAAzC,CAAA;EAAA;EAKN,MAAA4C,GAAA,GAAAzB,iBAAwD,IAAnCX,MAAM,CAAAqC,4BAA6B;EACxD,MAAAC,GAAA,GAAAxB,QAA6B,IAAjBd,MAAM,CAAAuC,UAAW;EAAA,IAAAC,GAAA;EAAA,IAAAhD,CAAA,SAAA4C,GAAA,IAAA5C,CAAA,SAAA8C,GAAA;IAFxBE,GAAA,IACLJ,GAAwD,EACxDE,GAA6B,CAC9B;IAAA9C,CAAA,OAAA4C,GAAA;IAAA5C,CAAA,OAAA8C,GAAA;IAAA9C,CAAA,OAAAgD,GAAA;EAAA;IAAAA,GAAA,GAAAhD,CAAA;EAAA;EAAA,IAAAiD,GAAA;EAAA,IAAAjD,CAAA,SAAA2B,uBAAA,IAAA3B,CAAA,SAAAwB,8BAAA,IAAAxB,CAAA,SAAAgD,GAAA;IANHC,GAAA,gBAAAvD,IAAA,CAACN,IAAI;MACKsD,OAAU,EAAV,UAAU;MACHlB,aAA8B,EAA9BA,8BAA8B;MACtClB,KAGN,EAHM0C,GAGN;MAAAL,QAAA,EAEAhB;IAAuB,CACpB,CAAC;IAAA3B,CAAA,OAAA2B,uBAAA;IAAA3B,CAAA,OAAAwB,8BAAA;IAAAxB,CAAA,OAAAgD,GAAA;IAAAhD,CAAA,OAAAiD,GAAA;EAAA;IAAAA,GAAA,GAAAjD,CAAA;EAAA;EAAA,IAAAkD,GAAA;EAAA,IAAAlD,CAAA,SAAAc,MAAA,IAAAd,CAAA,SAAAI,UAAA;IACP8C,GAAA,gBAAAxD,IAAA,CAACyD,kBAAkB;MAAU/C,OAAU,EAAVA,UAAU;MAAUU,MAAM,EAANA;IAAM,CAAG,CAAC;IAAAd,CAAA,OAAAc,MAAA;IAAAd,CAAA,OAAAI,UAAA;IAAAJ,CAAA,OAAAkD,GAAA;EAAA;IAAAA,GAAA,GAAAlD,CAAA;EAAA;EAAA,IAAAoD,GAAA;EAAA,IAAApD,CAAA,SAAAQ,MAAA,CAAA6C,gBAAA,IAAArD,CAAA,SAAAiD,GAAA,IAAAjD,CAAA,SAAAkD,GAAA,IAAAlD,CAAA,SAAAyC,EAAA;IAlB7DW,GAAA,gBAAAxD,KAAA,CAACvB,IAAI;MAAQiC,KAAuB,EAAvBE,MAAM,CAAA6C,gBAAiB;MAAAV,QAAA,GAClCF,EAMU,EACVQ,GASO,EACPC,GAA2D;IAAA,CACvD,CAAC;IAAAlD,CAAA,OAAAQ,MAAA,CAAA6C,gBAAA;IAAArD,CAAA,OAAAiD,GAAA;IAAAjD,CAAA,OAAAkD,GAAA;IAAAlD,CAAA,OAAAyC,EAAA;IAAAzC,CAAA,OAAAoD,GAAA;EAAA;IAAAA,GAAA,GAAApD,CAAA;EAAA;EAAA,IAAAsD,GAAA;EAAA,IAAAtD,CAAA,SAAAU,mBAAA,EAAA6C,SAAA,IAAAvD,CAAA,SAAAqB,cAAA,IAAArB,CAAA,SAAAe,KAAA,IAAAf,CAAA,SAAAQ,MAAA,CAAAgD,aAAA,IAAAxD,CAAA,SAAAQ,MAAA,CAAAiD,eAAA,IAAAzD,CAAA,SAAAa,WAAA,IAAAb,CAAA,SAAAiB,cAAA;IACNqC,GAAA,GAAAjC,cAQA,iBARAzB,KAAA,CACEvB,IAAI;MAAQiC,KAAoB,EAApBE,MAAM,CAAAgD,aAAc;MAAAb,QAAA,gBAC/BjD,IAAA,CAACN,IAAI;QAASsD,OAAU,EAAV,UAAU;QAAAC,QAAA,EAAE9D,iBAAiB,CAAC6B,mBAAmB,EAAA6C,SAAW;MAAC,CAAO,CAAC,eACnF3D,KAAA,CAACvB,IAAI;QAAQiC,KAAsB,EAAtBE,MAAM,CAAAiD,eAAgB;QAAAd,QAAA,gBACjCjD,IAAA,CAACF,gBAAgB;UAAQqB,KAAW,EAAXA,WAAW;UAAkBI,cAAc,EAAdA,cAAc;UAAWF,OAAK,EAALA;QAAK,CAAG,CAAC,eACxFrB,IAAA,CAACH,aAAa;UAAQwB,KAAK,EAALA;QAAK,CAAG,CAAC;MAAA,CAC3B,CAAC;IAAA,CAEX,CAAC;IAAAf,CAAA,OAAAU,mBAAA,EAAA6C,SAAA;IAAAvD,CAAA,OAAAqB,cAAA;IAAArB,CAAA,OAAAe,KAAA;IAAAf,CAAA,OAAAQ,MAAA,CAAAgD,aAAA;IAAAxD,CAAA,OAAAQ,MAAA,CAAAiD,eAAA;IAAAzD,CAAA,OAAAa,WAAA;IAAAb,CAAA,OAAAiB,cAAA;IAAAjB,CAAA,OAAAsD,GAAA;EAAA;IAAAA,GAAA,GAAAtD,CAAA;EAAA;EAAA,IAAA0D,GAAA;EAAA,IAAA1D,CAAA,SAAAE,YAAA,IAAAF,CAAA,SAAA4B,8BAAA,IAAA5B,CAAA,SAAAG,OAAA,IAAAH,CAAA,SAAAoD,GAAA,IAAApD,CAAA,SAAAsD,GAAA,IAAAtD,CAAA,SAAA+B,EAAA,IAAA/B,CAAA,SAAAiC,EAAA;IA3CHyB,GAAA,gBAAA9D,KAAA,CAACN,mBAAmB;MACJY,YAAY,EAAZA,YAAY;MACnBI,KAAoE,EAApEyB,EAAoE;MAClE5B,OAAO,EAAPA,OAAO;MACIyB,kBAA8B,EAA9BA,8BAA8B;MAAAe,QAAA,GAEjDV,EAQA,EACDmB,GAmBO,EACNE,GAQA;IAAA,CACkB,CAAC;IAAAtD,CAAA,OAAAE,YAAA;IAAAF,CAAA,OAAA4B,8BAAA;IAAA5B,CAAA,OAAAG,OAAA;IAAAH,CAAA,OAAAoD,GAAA;IAAApD,CAAA,OAAAsD,GAAA;IAAAtD,CAAA,OAAA+B,EAAA;IAAA/B,CAAA,OAAAiC,EAAA;IAAAjC,CAAA,OAAA0D,GAAA;EAAA;IAAAA,GAAA,GAAA1D,CAAA;EAAA;EAAA,OA5CtB0D,GA4CsB;AAAA,CAEzB;AAOD,MAAMP,kBAAkB,GAAGpD,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAA0D,OAAA;IAAA7C;EAAA,IAAAf,EAAgE;EAC1F,MAAAS,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B,MAAAmD,mBAAA,GAA4BnF,wBAAwB,CAAC,CAAC,CAAC;EAEvD,IAAI,CAACkF,OAAkB,IAAnB,CAAa7C,MAA6B,IAAnBA,MAAM,CAAA+C,MAAO,KAAK,CAAC;IAAA,OACrC,IAAI;EAAA;EAIE,MAAAxD,EAAA,GAAAG,MAAM,CAAAM,MAAO;EAAA,IAAAW,EAAA;EAAA,IAAAzB,CAAA,QAAAc,MAAA,IAAAd,CAAA,QAAA4D,mBAAA;IAAA,IAAA9B,EAAA;IAAA,IAAA9B,CAAA,QAAA4D,mBAAA;MACZ9B,EAAA,GAAAgC,KAAA,iBACVpE,IAAA,CAACL,KAAK;QAEIqD,OAAM,EAAN,MAAM;QACGqB,eAAa,EAAbD,KAAK,CAAAE,OAAQ;QACvBC,KAAqB,EAArBH,KAAK,CAAAI,eAAgB;QACjBC,SAAgB,EAAhBL,KAAK,CAAAM,IAAW,IAAhB,EAAgB;QACHR,sBAAmB,EAAnBA;MAAmB,GALtCE,KAAK,CAAAM,IAMX,CACF;MAAApE,CAAA,MAAA4D,mBAAA;MAAA5D,CAAA,MAAA8B,EAAA;IAAA;MAAAA,EAAA,GAAA9B,CAAA;IAAA;IATAyB,EAAA,GAAAX,MAAM,CAAAuD,GAAI,CAACvC,EASX,CAAC;IAAA9B,CAAA,MAAAc,MAAA;IAAAd,CAAA,MAAA4D,mBAAA;IAAA5D,CAAA,MAAAyB,EAAA;EAAA;IAAAA,EAAA,GAAAzB,CAAA;EAAA;EAAA,IAAA8B,EAAA;EAAA,IAAA9B,CAAA,QAAAQ,MAAA,CAAAM,MAAA,IAAAd,CAAA,QAAAyB,EAAA;IAVJK,EAAA,gBAAApC,IAAA,CAACrB,IAAI;MAAQiC,KAAa,EAAbD,EAAa;MAAAsC,QAAA,EACvBlB;IASC,CACE,CAAC;IAAAzB,CAAA,MAAAQ,MAAA,CAAAM,MAAA;IAAAd,CAAA,MAAAyB,EAAA;IAAAzB,CAAA,MAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EAAA,OAXP8B,EAWO;AAAA,CAEV;AAED,MAAMwC,cAA4B,GAAG,CACnC;EACEJ,eAAe,EAAE,SAAS;EAC1BE,IAAI,EAAE;AACR,CAAC,CACF;AACD,OAAO,MAAMG,2BAA2B,GAAGA,CAAA;EAAA,MAAAvE,CAAA,GAAAC,EAAA;EACzC,MAAAO,MAAA,GAAeC,SAAS,CAAC,CAAC;EAAA,IAAAV,EAAA;EAAA,IAAAC,CAAA,QAAAwE,MAAA,CAAAC,GAAA;IAItB1E,EAAA,gBAAAL,IAAA,CAACV,WAAW;MACLkD,IAAI,EAAJ,IAAI;MACGwC,UAAE,EAAF,EAAE;MACAC,YAAI,EAAJ,IAAI;MACAvD,gBAAgB,EAAhB;IAAgB,CACnC,CAAC;IAAApB,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,QAAAQ,MAAA,CAAAoE,YAAA;IAEAvE,EAAA,gBAAAX,IAAA,CAACrB,IAAI;MAAQiC,KAAmB,EAAnBE,MAAM,CAAAoE;IAAa,CAAG,CAAC;IAAA5E,CAAA,MAAAQ,MAAA,CAAAoE,YAAA;IAAA5E,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,IAAAyB,EAAA;EAAA,IAAAzB,CAAA,QAAAQ,MAAA,CAAAqE,eAAA;IACpCpD,EAAA,gBAAA/B,IAAA,CAACrB,IAAI;MAAQiC,KAAsB,EAAtBE,MAAM,CAAAqE;IAAgB,CAAG,CAAC;IAAA7E,CAAA,MAAAQ,MAAA,CAAAqE,eAAA;IAAA7E,CAAA,MAAAyB,EAAA;EAAA;IAAAA,EAAA,GAAAzB,CAAA;EAAA;EAAA,IAAA8B,EAAA;EAAA,IAAA9B,CAAA,QAAAwE,MAAA,CAAAC,GAAA;IACvC3C,EAAA,gBAAApC,IAAA,CAACyD,kBAAkB;MAAUQ,OAAI,EAAJ,IAAI;MAAUW,MAAc,EAAdA;IAAc,CAAG,CAAC;IAAAtE,CAAA,MAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EAAA,IAAA+B,EAAA;EAAA,IAAA/B,CAAA,QAAAQ,MAAA,CAAA6C,gBAAA,IAAArD,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAyB,EAAA;IAH/DM,EAAA,gBAAAnC,KAAA,CAACvB,IAAI;MAAQiC,KAAuB,EAAvBE,MAAM,CAAA6C,gBAAiB;MAAAV,QAAA,GAClCtC,EAAoC,EACpCoB,EAAuC,EACvCK,EAA6D;IAAA,CACzD,CAAC;IAAA9B,CAAA,MAAAQ,MAAA,CAAA6C,gBAAA;IAAArD,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAyB,EAAA;IAAAzB,CAAA,MAAA+B,EAAA;EAAA;IAAAA,EAAA,GAAA/B,CAAA;EAAA;EAAA,IAAAiC,EAAA;EAAA,IAAAjC,CAAA,SAAAQ,MAAA,CAAAsE,WAAA;IAEL7C,EAAA,gBAAAvC,IAAA,CAACrB,IAAI;MAAQiC,KAAkB,EAAlBE,MAAM,CAAAsE;IAAY,CAAG,CAAC;IAAA9E,CAAA,OAAAQ,MAAA,CAAAsE,WAAA;IAAA9E,CAAA,OAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAAA,IAAAoC,EAAA;EAAA,IAAApC,CAAA,SAAAQ,MAAA,CAAAgD,aAAA,IAAAxD,CAAA,SAAAiC,EAAA;IADrCG,EAAA,gBAAA1C,IAAA,CAACrB,IAAI;MAAQiC,KAAoB,EAApBE,MAAM,CAAAgD,aAAc;MAAAb,QAAA,EAC/BV;IAAmC,CAC/B,CAAC;IAAAjC,CAAA,OAAAQ,MAAA,CAAAgD,aAAA;IAAAxD,CAAA,OAAAiC,EAAA;IAAAjC,CAAA,OAAAoC,EAAA;EAAA;IAAAA,EAAA,GAAApC,CAAA;EAAA;EAAA,IAAAsC,EAAA;EAAA,IAAAtC,CAAA,SAAAQ,MAAA,CAAAwB,UAAA,IAAAhC,CAAA,SAAA+B,EAAA,IAAA/B,CAAA,SAAAoC,EAAA;IAdTE,EAAA,gBAAA1C,KAAA,CAACvB,IAAI;MAAQiC,KAAiB,EAAjBE,MAAM,CAAAwB,UAAW;MAAAW,QAAA,GAC5B5C,EAKE,EACFgC,EAIO,EACPK,EAEO;IAAA,CACH,CAAC;IAAApC,CAAA,OAAAQ,MAAA,CAAAwB,UAAA;IAAAhC,CAAA,OAAA+B,EAAA;IAAA/B,CAAA,OAAAoC,EAAA;IAAApC,CAAA,OAAAsC,EAAA;EAAA;IAAAA,EAAA,GAAAtC,CAAA;EAAA;EAAA,OAfPsC,EAeO;AAAA,CAEV;AAED,SAASyC,aAAaA,CAACC,KAAuC,EAAiB;EAC7E,IAAI,CAACA,KAAK,EAAE,OAAO,IAAI;EACvB,OAAOtG,eAAe,CAACsG,KAAK,CAAC,IAAI,IAAI;AACvC;AAEA,SAAStD,6BAA6BA,CAACuD,OAAgC,EAAE;EACvE,IAAIA,OAAO,CAACC,IAAI,KAAK,QAAQ,EAAE,OAAOD,OAAO,CAACb,IAAI;EAElD,IAAIa,OAAO,CAACC,IAAI,KAAK,UAAU,EAAE;IAC/B,MAAMC,KAAK,GAAGJ,aAAa,CAACE,OAAO,CAACD,KAAK,CAAC;IAC1C,OAAO,GAAGC,OAAO,CAACG,UAAU,GAAGD,KAAK,GAAG,IAAIA,KAAK,EAAE,GAAG,UAAU,SAASF,OAAO,CAACb,IAAI,GAAG;EACzF;EAEA,OAAO,GAAGa,OAAO,CAACG,UAAU,KAAKH,OAAO,CAACb,IAAI,EAAE;AACjD;AAEA,SAASiB,2CAA2CA,CAACJ,OAAgC,EAAE;EACrF,MAAMK,IAAI,GAAGzG,iBAAiB,CAACoG,OAAO,CAAC1B,SAAS,CAAC;EAEjD,IAAI0B,OAAO,CAACC,IAAI,KAAK,QAAQ,EAAE,OAAO,oBAAoBD,OAAO,CAACb,IAAI,OAAOkB,IAAI,EAAE;EAEnF,IAAIL,OAAO,CAACC,IAAI,KAAK,UAAU,EAAE;IAC/B,OAAO,GAAGD,OAAO,CAACG,UAAU,iCAAiCE,IAAI,aAAaL,OAAO,CAACb,IAAI,EAAE;EAC9F;EAEA,OAAO,qBAAqBkB,IAAI,SAASL,OAAO,CAACG,UAAU,aAAaH,OAAO,CAACb,IAAI,EAAE;AACxF;AAOA,MAAMvC,iCAAiC,GAAGA,CAAC;EACzC3B,YAAY;EACZE,UAAU;EACVc;AACsC,CAAC,KAAK;EAC5C,MAAM;IAAEJ,MAAM;IAAEF,KAAK;IAAEF,mBAAmB;IAAEK,KAAK;IAAEC,QAAQ;IAAEH,WAAW;IAAEI;EAAe,CAAC,GACxFf,YAAY;EAEd,MAAMqF,SAAS,GAAGzE,MAAM,IAAIV,UAAU;EACtC,MAAMoF,iBAAiB,GAAG3E,WAAW,GAAG,CAAC;EAEzC,MAAMoD,KAAK,GAAG;IACZrD,KAAK;IACLkD,KAAK,EAAEyB,SAAS,GAAG,OAAOzE,MAAM,CAAC,CAAC,CAAC,EAAEoD,eAAe,IAAIpD,MAAM,CAAC,CAAC,CAAC,EAAEsD,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE;IACpFpD,QAAQ,EAAEE,QAAQ,GAAG,UAAU,GAAGF,QAAQ,GAAG,UAAU,GAAG,EAAE;IAC5DD,KAAK,EAAEA,KAAK,GAAG,OAAO,GAAG,EAAE;IAC3B0E,UAAU,EAAED,iBAAiB,GACzB,GAAG3E,WAAW,kBAAkB,GAChCI,cAAc,GACZ,iBAAiB,GACjB,EAAE;IACRyE,WAAW,EAAEhF,mBAAmB,GAC5B2E,2CAA2C,CAAC3E,mBAAmB,CAAC,GAChEb;EACN,CAAC;EAED,OAAO,CACL,UAAUoE,KAAK,CAACrD,KAAK,EAAE,EACvBqD,KAAK,CAACH,KAAK,EACXG,KAAK,CAACjD,QAAQ,EACdiD,KAAK,CAAClD,KAAK,EACXkD,KAAK,CAACwB,UAAU,EAChBxB,KAAK,CAACyB,WAAW,CAClB,CACEC,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,IAAI,CAAC;AACf,CAAC;AAED,MAAMpF,SAAS,GAAGA,CAAA;EAAA,MAAAT,CAAA,GAAAC,EAAA;EAChB;IAAA6F;EAAA,IAAmBxH,QAAQ,CAAC,CAAC;EAC7B,MAAAyH,qBAAA,GAA8BxH,wBAAwB,CAAC,CAAC;EACxD,MAAAyH,SAAA,GAAkBxH,YAAY,CAAC,CAAC;EAAA,IAAAuB,EAAA;EAAA,IAAAC,CAAA,QAAA+F,qBAAA,IAAA/F,CAAA,QAAA8F,MAAA,CAAAG,sBAAA,IAAAjG,CAAA,QAAA8F,MAAA,CAAAI,qBAAA,IAAAlG,CAAA,QAAA8F,MAAA,CAAAK,mBAAA,IAAAnG,CAAA,QAAA8F,MAAA,CAAAM,mBAAA,IAAApG,CAAA,QAAA8F,MAAA,CAAAO,WAAA,IAAArG,CAAA,QAAA8F,MAAA,CAAAQ,uBAAA,IAAAtG,CAAA,QAAA8F,MAAA,CAAAS,yBAAA,IAAAvG,CAAA,QAAAgG,SAAA;IAEzBjG,EAAA,GAAA3B,UAAU,CAAAoI,MAAO,CAAC;MAAAxE,UAAA,EACX;QAAAyE,aAAA,EACKV,qBAAqB,GAArB,QAAwC,GAAxC,KAAwC;QAAAW,GAAA,EAClD,CAAC;QAAAC,iBAAA,EACa,CAAC;QAAAC,iBAAA,EACDb,qBAAqB,GACpCD,MAAM,CAAAG,sBACsB,GAA5BH,MAAM,CAAAI,qBAAsB;QAAAW,UAAA,EACpB,EAAE;QAAAC,aAAA,EACC,EAAE;QAAAC,iBAAA,EACE;MACrB,CAAC;MAAA/F,QAAA,EACS;QAAAgG,OAAA,EACC;MACX,CAAC;MAAApG,KAAA,EACM;QAAAqG,QAAA,EACK,EAAE;QAAAC,KAAA,EACLpB,MAAM,CAAAQ;MACf,CAAC;MAAAjE,aAAA,EACc;QAAA6E,KAAA,EACNpB,MAAM,CAAAS;MACf,CAAC;MAAAhE,WAAA,EACY;QAAA4E,UAAA,EACCpI,MAAM,CAAAqI;MACpB,CAAC;MAAArE,UAAA,EACW;QAAAoE,UAAA,EACEvI;MACd,CAAC;MAAAgG,YAAA,EACa;QAAAyC,KAAA,EACL,GAAG;QAAAC,MAAA,EACF,EAAE;QAAAC,eAAA,EACOzB,MAAM,CAAAK,mBAAoB;QAAAqB,YAAA,EAC7B;MAChB,CAAC;MAAAnE,gBAAA,EACiB;QAAAoE,IAAA,EACV,CAAC;QAAAC,MAAA,EACC;MACV,CAAC;MAAA7E,4BAAA,EAC6B;QAAAqE,KAAA,EACrBpB,MAAM,CAAAO;MACf,CAAC;MAAAxB,eAAA,EACgB;QAAAwC,KAAA,EACR,EAAE;QAAAC,MAAA,EACD,EAAE;QAAAC,eAAA,EACOzB,MAAM,CAAAM,mBAAoB;QAAAoB,YAAA,EAC7B;MAChB,CAAC;MAAAhE,aAAA,EACc;QAAAkD,GAAA,EACR,CAAC;QAAAiB,UAAA,EACM5B,qBAAqB,GAArB,QAA6C,GAA7C,UAA6C;QAAA6B,cAAA,EACzC7B,qBAAqB,GAArB,eAAsD,GAAtD,YAAsD;QAAAU,aAAA,EACvDV,qBAAqB,GAArB,KAAwC,GAAxC;MACjB,CAAC;MAAAjB,WAAA,EACY;QAAAuC,KAAA,EACJ,EAAE;QAAAC,MAAA,EACD,EAAE;QAAAC,eAAA,EACOzB,MAAM,CAAAM,mBAAoB;QAAAoB,YAAA,EAC7B;MAChB,CAAC;MAAA1G,MAAA,EACO;QAAA+G,SAAA,EACK,CAAC;QAAAF,UAAA,EACA;MACd,CAAC;MAAAlE,eAAA,EACgB;QAAAgD,aAAA,EACA,KAAK;QAAAkB,UAAA,EACR,QAAQ;QAAAjB,GAAA,EACf,CAAC,GAAGV;MACX;IACF,CAAC,CAAC;IAAAhG,CAAA,MAAA+F,qBAAA;IAAA/F,CAAA,MAAA8F,MAAA,CAAAG,sBAAA;IAAAjG,CAAA,MAAA8F,MAAA,CAAAI,qBAAA;IAAAlG,CAAA,MAAA8F,MAAA,CAAAK,mBAAA;IAAAnG,CAAA,MAAA8F,MAAA,CAAAM,mBAAA;IAAApG,CAAA,MAAA8F,MAAA,CAAAO,WAAA;IAAArG,CAAA,MAAA8F,MAAA,CAAAQ,uBAAA;IAAAtG,CAAA,MAAA8F,MAAA,CAAAS,yBAAA;IAAAvG,CAAA,MAAAgG,SAAA;IAAAhG,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OApEKD,EAoEL;AAAA,CACH","ignoreList":[]}
1
+ {"version":3,"file":"conversation_preview.js","names":["React","StyleSheet","View","useTheme","useAtFontScaleBreakpoint","useFontScale","useScalableNumberOfLines","REACTION_EMOJIS","isArchivedConversation","platformFontWeightBold","formatDatePreview","faBoxArchive","tokens","AvatarGroup","ConversationAvatar","Heading","IconTile","Text","Badge","ConversationActions","MuteIndicator","UnreadCountBadge","jsx","_jsx","jsxs","_jsxs","EMPTY_CONVERSATION_PREVIEW_TEXT","ConversationPreview","t0","$","_c","conversation","onPress","showBadges","t1","style","undefined","styles","useStyles","conversationPreview","lastMessageCreatedAt","title","unreadCount","badges","muted","disabled","unreadReaction","archived","emptyConversation","fallbackIconName","hasMetaContent","isUnread","numberOfLinesScaledTitle","numberOfLinesScaledPreviewText","t2","formatConversationPreviewText","conversationPreviewText","conversationAccessibilityLabel","getConversationAccessibilityLabel","t3","t4","previewRow","t5","shape","size","testID","t6","archivedTitle","t7","unreadTitle","t8","t9","variant","children","t10","emptyConversationPreviewText","t11","unreadText","t12","t13","t14","ConversationBadges","t15","conversationBody","t16","createdAt","metaContainer","statusContainer","t17","visible","numberOfLinesScaled","length","badge","productLogoName","appName","label","pcoResourceType","metaLabel","text","map","skeletonBadges","ConversationPreviewSkeleton","Symbol","for","sourceUris","showFallback","titleLoading","subtitleLoading","dateLoading","reactionEmoji","value","preview","kind","emoji","authorName","formatConversationPreviewAccessibilityLabel","date","hasBadges","hasUnreadMessages","readStatus","lastMessage","filter","Boolean","join","colors","atFontScaleBreakpoint","fontScale","borderColorDefaultDark","borderColorDefaultDim","fillColorNeutral080","fillColorNeutral090","interaction","textColorDefaultPrimary","textColorDefaultSecondary","create","flexDirection","gap","borderBottomWidth","borderBottomColor","paddingTop","paddingBottom","paddingHorizontal","opacity","fontSize","color","fontWeight","fontWeightBold","width","height","backgroundColor","borderRadius","flex","rowGap","alignItems","justifyContent","marginTop"],"sources":["../../../src/components/conversations/conversation_preview.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View, ViewStyle } from 'react-native'\nimport {\n useTheme,\n useAtFontScaleBreakpoint,\n useFontScale,\n useScalableNumberOfLines,\n} from '../../hooks'\nimport { ConversationPreviewData, ConversationResource } from '../../types'\nimport { REACTION_EMOJIS, isArchivedConversation, platformFontWeightBold } from '../../utils'\nimport { formatDatePreview } from '../../utils/date'\nimport { faBoxArchive } from '../../vendor/font_awesome_pro_solid_icons'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport {\n AvatarGroup,\n ConversationAvatar,\n Heading,\n IconTile,\n Text,\n Badge,\n type BadgeProps,\n} from '../display'\nimport { ConversationActions } from './conversation_actions'\nimport { MuteIndicator } from './mute_indicator'\nimport { UnreadCountBadge } from './unread_count_badge'\n\nconst EMPTY_CONVERSATION_PREVIEW_TEXT = 'Send your first message'\n\ninterface ConversationPreviewProps {\n conversation: ConversationResource\n onPress: () => void\n showBadges?: boolean\n style?: ViewStyle\n}\n\nexport const ConversationPreview = ({\n conversation,\n onPress,\n showBadges = true,\n style,\n}: ConversationPreviewProps) => {\n const styles = useStyles()\n const {\n conversationPreview,\n lastMessageCreatedAt,\n title,\n unreadCount,\n badges,\n muted,\n disabled,\n unreadReaction,\n } = conversation\n\n const archived = isArchivedConversation(conversation)\n const emptyConversation = !lastMessageCreatedAt\n const fallbackIconName = emptyConversation ? 'people.noTextMessage' : 'general.person'\n const hasMetaContent = lastMessageCreatedAt || unreadCount > 0 || muted\n const isUnread = unreadCount > 0 || unreadReaction\n\n const numberOfLinesScaledTitle = useScalableNumberOfLines(1)\n const numberOfLinesScaledPreviewText = useScalableNumberOfLines(2)\n\n const conversationPreviewText = conversationPreview\n ? formatConversationPreviewText(conversationPreview)\n : EMPTY_CONVERSATION_PREVIEW_TEXT\n\n const conversationAccessibilityLabel = getConversationAccessibilityLabel({\n conversation,\n showBadges,\n archived,\n })\n\n return (\n <ConversationActions\n conversation={conversation}\n style={[styles.previewRow, disabled && !archived && styles.disabled, style]}\n onPress={onPress}\n accessibilityLabel={conversationAccessibilityLabel}\n >\n {archived ? (\n <IconTile\n icon={faBoxArchive}\n shape=\"circle\"\n size=\"lg\"\n testID=\"conversation-archived-icon\"\n />\n ) : (\n <ConversationAvatar\n conversation={conversation}\n size=\"lg\"\n fallbackIconName={fallbackIconName}\n />\n )}\n <View style={styles.conversationBody}>\n <Heading\n numberOfLines={numberOfLinesScaledTitle}\n variant=\"h3\"\n style={[styles.title, archived && styles.archivedTitle, isUnread && styles.unreadTitle]}\n >\n {title}\n </Heading>\n <Text\n variant=\"tertiary\"\n numberOfLines={numberOfLinesScaledPreviewText}\n style={[\n emptyConversation && styles.emptyConversationPreviewText,\n isUnread && styles.unreadText,\n ]}\n >\n {conversationPreviewText}\n </Text>\n <ConversationBadges visible={showBadges} badges={badges} />\n </View>\n {hasMetaContent && (\n <View style={styles.metaContainer}>\n <Text variant=\"tertiary\">{formatDatePreview(conversationPreview?.createdAt)}</Text>\n <View style={styles.statusContainer}>\n <UnreadCountBadge count={unreadCount} unreadReaction={unreadReaction} showDot={muted} />\n <MuteIndicator muted={muted} />\n </View>\n </View>\n )}\n </ConversationActions>\n )\n}\n\ninterface BadgeShape {\n appName?: BadgeProps['productLogoName']\n pcoResourceType: string\n text: string | null\n}\nconst ConversationBadges = ({ visible, badges }: { visible: boolean; badges?: BadgeShape[] }) => {\n const styles = useStyles()\n const numberOfLinesScaled = useScalableNumberOfLines(1)\n\n if (!visible || !badges || badges.length === 0) {\n return null\n }\n\n return (\n <View style={styles.badges}>\n {badges.map(badge => (\n <Badge\n key={badge.text}\n variant=\"meta\"\n productLogoName={badge.appName}\n label={badge.pcoResourceType}\n metaLabel={badge.text || ''}\n numberOfLinesMetaLabel={numberOfLinesScaled}\n />\n ))}\n </View>\n )\n}\n\nconst skeletonBadges: BadgeShape[] = [\n {\n pcoResourceType: ' ',\n text: ' ',\n },\n]\nexport const ConversationPreviewSkeleton = () => {\n const styles = useStyles()\n\n return (\n <View style={styles.previewRow}>\n <AvatarGroup\n size=\"lg\"\n sourceUris={[]}\n showFallback={true}\n fallbackIconName={'general.person'}\n />\n <View style={styles.conversationBody}>\n <View style={styles.titleLoading} />\n <View style={styles.subtitleLoading} />\n <ConversationBadges visible={true} badges={skeletonBadges} />\n </View>\n <View style={styles.metaContainer}>\n <View style={styles.dateLoading} />\n </View>\n </View>\n )\n}\n\nfunction reactionEmoji(value: ConversationPreviewData['value']): string | null {\n if (!value) return null\n return REACTION_EMOJIS[value] ?? null\n}\n\nfunction formatConversationPreviewText(preview: ConversationPreviewData) {\n if (preview.kind === 'system') return preview.text\n\n if (preview.kind === 'reaction') {\n const emoji = reactionEmoji(preview.value)\n return `${preview.authorName}${emoji ? ` ${emoji}` : ' reacted'} to: \"${preview.text}\"`\n }\n\n return `${preview.authorName}: ${preview.text}`\n}\n\nfunction formatConversationPreviewAccessibilityLabel(preview: ConversationPreviewData) {\n const date = formatDatePreview(preview.createdAt)\n\n if (preview.kind === 'system') return `Latest activity: ${preview.text} at ${date}`\n\n if (preview.kind === 'reaction') {\n return `${preview.authorName} reacted to your message sent ${date} and says ${preview.text}`\n }\n\n return `Last message sent ${date} from ${preview.authorName} and says ${preview.text}`\n}\n\ninterface GetConversationAccessibilityLabelProps {\n conversation: ConversationResource\n showBadges: boolean\n archived: boolean\n}\nconst getConversationAccessibilityLabel = ({\n conversation,\n showBadges,\n archived,\n}: GetConversationAccessibilityLabelProps) => {\n const { badges, title, conversationPreview, muted, disabled, unreadCount, unreadReaction } =\n conversation\n\n const hasBadges = badges && showBadges\n const hasUnreadMessages = unreadCount > 0\n\n const label = {\n title,\n badge: hasBadges ? `for ${badges[0]?.pcoResourceType} ${badges[0]?.text || ''}` : '',\n disabled: archived ? 'Archived' : disabled ? 'Disabled' : '',\n muted: muted ? 'Muted' : '',\n readStatus: hasUnreadMessages\n ? `${unreadCount} unread messages`\n : unreadReaction\n ? 'unread reaction'\n : '',\n lastMessage: conversationPreview\n ? formatConversationPreviewAccessibilityLabel(conversationPreview)\n : EMPTY_CONVERSATION_PREVIEW_TEXT,\n }\n\n return [\n `Select ${label.title}`,\n label.badge,\n label.disabled,\n label.muted,\n label.readStatus,\n label.lastMessage,\n ]\n .filter(Boolean)\n .join(', ')\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const atFontScaleBreakpoint = useAtFontScaleBreakpoint()\n const fontScale = useFontScale()\n\n return StyleSheet.create({\n previewRow: {\n flexDirection: atFontScaleBreakpoint ? 'column' : 'row',\n gap: 8,\n borderBottomWidth: 1,\n borderBottomColor: atFontScaleBreakpoint\n ? colors.borderColorDefaultDark\n : colors.borderColorDefaultDim,\n paddingTop: 12,\n paddingBottom: 12,\n paddingHorizontal: 16,\n },\n disabled: {\n opacity: 0.4,\n },\n title: {\n fontSize: 16,\n color: colors.textColorDefaultPrimary,\n },\n archivedTitle: {\n color: colors.textColorDefaultSecondary,\n },\n unreadTitle: {\n fontWeight: tokens.fontWeightBold,\n },\n unreadText: {\n fontWeight: platformFontWeightBold,\n },\n titleLoading: {\n width: 120,\n height: 20,\n backgroundColor: colors.fillColorNeutral080,\n borderRadius: 4,\n },\n conversationBody: {\n flex: 1,\n rowGap: 2,\n },\n emptyConversationPreviewText: {\n color: colors.interaction,\n },\n subtitleLoading: {\n width: 80,\n height: 16,\n backgroundColor: colors.fillColorNeutral090,\n borderRadius: 4,\n },\n metaContainer: {\n gap: 4,\n alignItems: atFontScaleBreakpoint ? 'center' : 'flex-end',\n justifyContent: atFontScaleBreakpoint ? 'space-between' : 'flex-start',\n flexDirection: atFontScaleBreakpoint ? 'row' : 'column',\n },\n dateLoading: {\n width: 60,\n height: 16,\n backgroundColor: colors.fillColorNeutral090,\n borderRadius: 4,\n },\n badges: {\n marginTop: 4,\n alignItems: 'flex-start',\n },\n statusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4 * fontScale,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,7 +40,7 @@ export const Conversations = t0 => {
40
40
  const clearFilters = useClearConversationFilters();
41
41
  const filterDropdownEnabled = useFilterDropdownEnabled();
42
42
  const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived;
43
- const showArchivedResultsFooter = !!show_archived && !isLoading;
43
+ const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage;
44
44
  const showFilteredResultsFooter = filterDropdownEnabled && isFilterApplied && !show_archived && !hasNextPage && !isLoading && conversations.length > 0;
45
45
  const showBadges = !chat_group_graph_id;
46
46
  let t2;
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useClearConversationFilters","useConversationsJoltEvents","useFilterDropdownEnabled","ArchivedResultsFooter","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","FilteredResultsFooter","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","hasNextPage","args","t1","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","navigation","canCreateConversations","clearFilters","filterDropdownEnabled","isFilterApplied","showArchivedResultsFooter","showFilteredResultsFooter","length","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","t7","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","badge","badges","deleted","muted","t8","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","ListFooterComponent","renderItem","onEndReached","t9","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport { ConversationResource } from '../../types'\nimport { ArchivedResultsFooter } from './archived_results_footer'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\nimport { FilteredResultsFooter } from './filtered_results_footer'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n hasNextPage,\n args: { chat_group_graph_id, group_source_app_name, show_direct_messages, show_archived },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const clearFilters = useClearConversationFilters()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const isFilterApplied =\n !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived\n const showArchivedResultsFooter = !!show_archived && !isLoading\n const showFilteredResultsFooter =\n filterDropdownEnabled &&\n isFilterApplied &&\n !show_archived &&\n !hasNextPage &&\n !isLoading &&\n conversations.length > 0\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n ListFooterComponent={\n showArchivedResultsFooter ? (\n <ArchivedResultsFooter onViewActiveConversations={clearFilters} />\n ) : showFilteredResultsFooter ? (\n <FilteredResultsFooter />\n ) : null\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useClearConversationFilters","useConversationsJoltEvents","useFilterDropdownEnabled","ArchivedResultsFooter","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","FilteredResultsFooter","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","hasNextPage","args","t1","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","navigation","canCreateConversations","clearFilters","filterDropdownEnabled","isFilterApplied","showArchivedResultsFooter","showFilteredResultsFooter","length","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","t7","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","badge","badges","deleted","muted","t8","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","ListFooterComponent","renderItem","onEndReached","t9","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport { ConversationResource } from '../../types'\nimport { ArchivedResultsFooter } from './archived_results_footer'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\nimport { FilteredResultsFooter } from './filtered_results_footer'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n hasNextPage,\n args: { chat_group_graph_id, group_source_app_name, show_direct_messages, show_archived },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const clearFilters = useClearConversationFilters()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const isFilterApplied =\n !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived\n const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage\n const showFilteredResultsFooter =\n filterDropdownEnabled &&\n isFilterApplied &&\n !show_archived &&\n !hasNextPage &&\n !isLoading &&\n conversations.length > 0\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n ListFooterComponent={\n showArchivedResultsFooter ? (\n <ArchivedResultsFooter onViewActiveConversations={clearFilters} />\n ) : showFilteredResultsFooter ? (\n <FilteredResultsFooter />\n ) : null\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
@@ -2,11 +2,12 @@ import type { IconDefinition } from '@fortawesome/fontawesome-svg-core';
2
2
  import { type AvatarRootProps } from '../primitive/avatar_primitive';
3
3
  interface IconTileProps {
4
4
  icon: IconDefinition;
5
+ shape: 'circle' | 'square';
5
6
  size?: AvatarRootProps['size'];
6
7
  maxFontSizeMultiplier?: AvatarRootProps['maxFontSizeMultiplier'];
7
8
  style?: AvatarRootProps['style'];
8
9
  testID?: string;
9
10
  }
10
- export declare function IconTile({ icon, size, maxFontSizeMultiplier, style, testID, }: IconTileProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function IconTile({ icon, shape, size, maxFontSizeMultiplier, style, testID, }: IconTileProps): import("react/jsx-runtime").JSX.Element;
11
12
  export {};
12
13
  //# sourceMappingURL=icon_tile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon_tile.d.ts","sourceRoot":"","sources":["../../../src/components/display/icon_tile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAMvE,OAAwB,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAIrF,UAAU,aAAa;IACrB,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IAC9B,qBAAqB,CAAC,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAA;IAChE,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,IAAW,EACX,qBAAgD,EAChD,KAAK,EACL,MAAM,GACP,EAAE,aAAa,2CAaf"}
1
+ {"version":3,"file":"icon_tile.d.ts","sourceRoot":"","sources":["../../../src/components/display/icon_tile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAMvE,OAAwB,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAKrF,UAAU,aAAa;IACrB,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1B,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IAC9B,qBAAqB,CAAC,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAA;IAChE,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,IAAW,EACX,qBAAgD,EAChD,KAAK,EACL,MAAM,GACP,EAAE,aAAa,2CAmBf"}
@@ -7,10 +7,12 @@ import { MAX_FONT_SIZE_MULTIPLIER } from '../../utils';
7
7
  import AvatarPrimitive from '../primitive/avatar_primitive';
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  const ICON_SIZE_PX = 16;
10
+ const SQUARE_BORDER_RADIUS_PX = 4;
10
11
  export function IconTile(t0) {
11
- const $ = _c(15);
12
+ const $ = _c(23);
12
13
  const {
13
14
  icon,
15
+ shape,
14
16
  size: t1,
15
17
  maxFontSizeMultiplier: t2,
16
18
  style,
@@ -18,7 +20,6 @@ export function IconTile(t0) {
18
20
  } = t0;
19
21
  const size = t1 === undefined ? "lg" : t1;
20
22
  const maxFontSizeMultiplier = t2 === undefined ? MAX_FONT_SIZE_MULTIPLIER : t2;
21
- const styles = useStyles();
22
23
  let t3;
23
24
  if ($[0] !== maxFontSizeMultiplier) {
24
25
  t3 = {
@@ -30,80 +31,119 @@ export function IconTile(t0) {
30
31
  t3 = $[1];
31
32
  }
32
33
  const fontScale = useFontScale(t3);
33
- const t4 = ICON_SIZE_PX * fontScale;
34
- let t5;
35
- if ($[2] !== icon || $[3] !== styles.icon.color || $[4] !== t4) {
36
- t5 = /*#__PURE__*/_jsx(FontAwesomeIcon, {
34
+ let t4;
35
+ if ($[2] !== fontScale) {
36
+ t4 = {
37
+ fontScale
38
+ };
39
+ $[2] = fontScale;
40
+ $[3] = t4;
41
+ } else {
42
+ t4 = $[3];
43
+ }
44
+ const styles = useStyles(t4);
45
+ const t5 = shape === "square" && styles.square;
46
+ let t6;
47
+ if ($[4] !== styles.tile || $[5] !== t5) {
48
+ t6 = [styles.tile, t5];
49
+ $[4] = styles.tile;
50
+ $[5] = t5;
51
+ $[6] = t6;
52
+ } else {
53
+ t6 = $[6];
54
+ }
55
+ const t7 = ICON_SIZE_PX * fontScale;
56
+ let t8;
57
+ if ($[7] !== icon || $[8] !== styles.icon.color || $[9] !== t7) {
58
+ t8 = /*#__PURE__*/_jsx(FontAwesomeIcon, {
37
59
  icon: icon,
38
- size: t4,
60
+ size: t7,
39
61
  color: styles.icon.color
40
62
  });
41
- $[2] = icon;
42
- $[3] = styles.icon.color;
43
- $[4] = t4;
44
- $[5] = t5;
63
+ $[7] = icon;
64
+ $[8] = styles.icon.color;
65
+ $[9] = t7;
66
+ $[10] = t8;
45
67
  } else {
46
- t5 = $[5];
68
+ t8 = $[10];
47
69
  }
48
- let t6;
49
- if ($[6] !== styles.tile || $[7] !== t5 || $[8] !== testID) {
50
- t6 = /*#__PURE__*/_jsx(AvatarPrimitive.Mask, {
51
- children: /*#__PURE__*/_jsx(View, {
52
- style: styles.tile,
53
- testID: testID,
54
- accessibilityElementsHidden: true,
55
- children: t5
56
- })
70
+ let t9;
71
+ if ($[11] !== t6 || $[12] !== t8 || $[13] !== testID) {
72
+ t9 = /*#__PURE__*/_jsx(View, {
73
+ style: t6,
74
+ testID: testID,
75
+ accessibilityElementsHidden: true,
76
+ children: t8
57
77
  });
58
- $[6] = styles.tile;
59
- $[7] = t5;
60
- $[8] = testID;
61
- $[9] = t6;
78
+ $[11] = t6;
79
+ $[12] = t8;
80
+ $[13] = testID;
81
+ $[14] = t9;
82
+ } else {
83
+ t9 = $[14];
84
+ }
85
+ const tile = t9;
86
+ let t10;
87
+ if ($[15] !== shape || $[16] !== tile) {
88
+ t10 = shape === "circle" ? /*#__PURE__*/_jsx(AvatarPrimitive.Mask, {
89
+ children: tile
90
+ }) : tile;
91
+ $[15] = shape;
92
+ $[16] = tile;
93
+ $[17] = t10;
62
94
  } else {
63
- t6 = $[9];
95
+ t10 = $[17];
64
96
  }
65
- let t7;
66
- if ($[10] !== maxFontSizeMultiplier || $[11] !== size || $[12] !== style || $[13] !== t6) {
67
- t7 = /*#__PURE__*/_jsx(AvatarPrimitive.Root, {
97
+ let t11;
98
+ if ($[18] !== maxFontSizeMultiplier || $[19] !== size || $[20] !== style || $[21] !== t10) {
99
+ t11 = /*#__PURE__*/_jsx(AvatarPrimitive.Root, {
68
100
  size: size,
69
101
  maxFontSizeMultiplier: maxFontSizeMultiplier,
70
102
  style: style,
71
- children: t6
103
+ children: t10
72
104
  });
73
- $[10] = maxFontSizeMultiplier;
74
- $[11] = size;
75
- $[12] = style;
76
- $[13] = t6;
77
- $[14] = t7;
105
+ $[18] = maxFontSizeMultiplier;
106
+ $[19] = size;
107
+ $[20] = style;
108
+ $[21] = t10;
109
+ $[22] = t11;
78
110
  } else {
79
- t7 = $[14];
111
+ t11 = $[22];
80
112
  }
81
- return t7;
113
+ return t11;
82
114
  }
83
- const useStyles = () => {
84
- const $ = _c(3);
115
+ const useStyles = t0 => {
116
+ const $ = _c(4);
117
+ const {
118
+ fontScale
119
+ } = t0;
85
120
  const {
86
121
  colors
87
122
  } = useTheme();
88
- let t0;
89
- if ($[0] !== colors.fillColorNeutral070 || $[1] !== colors.iconColorDefaultPrimary) {
90
- t0 = StyleSheet.create({
123
+ let t1;
124
+ if ($[0] !== colors.fillColorNeutral070 || $[1] !== colors.iconColorDefaultPrimary || $[2] !== fontScale) {
125
+ t1 = StyleSheet.create({
91
126
  tile: {
92
127
  flex: 1,
93
128
  alignItems: "center",
94
129
  justifyContent: "center",
95
130
  backgroundColor: colors.fillColorNeutral070
96
131
  },
132
+ square: {
133
+ borderRadius: SQUARE_BORDER_RADIUS_PX * fontScale,
134
+ overflow: "hidden"
135
+ },
97
136
  icon: {
98
137
  color: colors.iconColorDefaultPrimary
99
138
  }
100
139
  });
101
140
  $[0] = colors.fillColorNeutral070;
102
141
  $[1] = colors.iconColorDefaultPrimary;
103
- $[2] = t0;
142
+ $[2] = fontScale;
143
+ $[3] = t1;
104
144
  } else {
105
- t0 = $[2];
145
+ t1 = $[3];
106
146
  }
107
- return t0;
147
+ return t1;
108
148
  };
109
149
  //# sourceMappingURL=icon_tile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon_tile.js","names":["FontAwesomeIcon","React","StyleSheet","View","useFontScale","useTheme","MAX_FONT_SIZE_MULTIPLIER","AvatarPrimitive","jsx","_jsx","ICON_SIZE_PX","IconTile","t0","$","_c","icon","size","t1","maxFontSizeMultiplier","t2","style","testID","undefined","styles","useStyles","t3","fontScale","t4","t5","color","t6","tile","Mask","children","accessibilityElementsHidden","t7","Root","colors","fillColorNeutral070","iconColorDefaultPrimary","create","flex","alignItems","justifyContent","backgroundColor"],"sources":["../../../src/components/display/icon_tile.tsx"],"sourcesContent":["import type { IconDefinition } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon } from '@fortawesome/react-native-fontawesome'\nimport React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useFontScale, useTheme } from '../../hooks'\nimport { MAX_FONT_SIZE_MULTIPLIER } from '../../utils'\nimport AvatarPrimitive, { type AvatarRootProps } from '../primitive/avatar_primitive'\n\nconst ICON_SIZE_PX = 16\n\ninterface IconTileProps {\n icon: IconDefinition\n size?: AvatarRootProps['size']\n maxFontSizeMultiplier?: AvatarRootProps['maxFontSizeMultiplier']\n style?: AvatarRootProps['style']\n testID?: string\n}\n\nexport function IconTile({\n icon,\n size = 'lg',\n maxFontSizeMultiplier = MAX_FONT_SIZE_MULTIPLIER,\n style,\n testID,\n}: IconTileProps) {\n const styles = useStyles()\n const fontScale = useFontScale({ maxFontSizeMultiplier })\n\n return (\n <AvatarPrimitive.Root size={size} maxFontSizeMultiplier={maxFontSizeMultiplier} style={style}>\n <AvatarPrimitive.Mask>\n <View style={styles.tile} testID={testID} accessibilityElementsHidden>\n <FontAwesomeIcon icon={icon} size={ICON_SIZE_PX * fontScale} color={styles.icon.color} />\n </View>\n </AvatarPrimitive.Mask>\n </AvatarPrimitive.Root>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n tile: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.fillColorNeutral070,\n },\n icon: {\n color: colors.iconColorDefaultPrimary,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"icon_tile.js","names":["FontAwesomeIcon","React","StyleSheet","View","useFontScale","useTheme","MAX_FONT_SIZE_MULTIPLIER","AvatarPrimitive","jsx","_jsx","ICON_SIZE_PX","SQUARE_BORDER_RADIUS_PX","IconTile","t0","$","_c","icon","shape","size","t1","maxFontSizeMultiplier","t2","style","testID","undefined","t3","fontScale","t4","styles","useStyles","t5","square","t6","tile","t7","t8","color","t9","accessibilityElementsHidden","children","t10","Mask","t11","Root","colors","fillColorNeutral070","iconColorDefaultPrimary","create","flex","alignItems","justifyContent","backgroundColor","borderRadius","overflow"],"sources":["../../../src/components/display/icon_tile.tsx"],"sourcesContent":["import type { IconDefinition } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon } from '@fortawesome/react-native-fontawesome'\nimport React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useFontScale, useTheme } from '../../hooks'\nimport { MAX_FONT_SIZE_MULTIPLIER } from '../../utils'\nimport AvatarPrimitive, { type AvatarRootProps } from '../primitive/avatar_primitive'\n\nconst ICON_SIZE_PX = 16\nconst SQUARE_BORDER_RADIUS_PX = 4\n\ninterface IconTileProps {\n icon: IconDefinition\n shape: 'circle' | 'square'\n size?: AvatarRootProps['size']\n maxFontSizeMultiplier?: AvatarRootProps['maxFontSizeMultiplier']\n style?: AvatarRootProps['style']\n testID?: string\n}\n\nexport function IconTile({\n icon,\n shape,\n size = 'lg',\n maxFontSizeMultiplier = MAX_FONT_SIZE_MULTIPLIER,\n style,\n testID,\n}: IconTileProps) {\n const fontScale = useFontScale({ maxFontSizeMultiplier })\n const styles = useStyles({ fontScale })\n\n const tile = (\n <View\n style={[styles.tile, shape === 'square' && styles.square]}\n testID={testID}\n accessibilityElementsHidden\n >\n <FontAwesomeIcon icon={icon} size={ICON_SIZE_PX * fontScale} color={styles.icon.color} />\n </View>\n )\n\n return (\n <AvatarPrimitive.Root size={size} maxFontSizeMultiplier={maxFontSizeMultiplier} style={style}>\n {shape === 'circle' ? <AvatarPrimitive.Mask>{tile}</AvatarPrimitive.Mask> : tile}\n </AvatarPrimitive.Root>\n )\n}\n\nconst useStyles = ({ fontScale }: { fontScale: number }) => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n tile: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: colors.fillColorNeutral070,\n },\n square: {\n borderRadius: SQUARE_BORDER_RADIUS_PX * fontScale,\n overflow: 'hidden',\n },\n icon: {\n color: colors.iconColorDefaultPrimary,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -294,6 +294,7 @@ export const OtherRow = t0 => {
294
294
  if ($[3] !== icon) {
295
295
  t2 = /*#__PURE__*/_jsx(IconTile, {
296
296
  icon: icon,
297
+ shape: "square",
297
298
  size: "lg"
298
299
  });
299
300
  $[3] = icon;
@@ -1 +1 @@
1
- {"version":3,"file":"rows.js","names":["PlatformPressable","useNavigation","React","useContext","StyleSheet","View","Heading","Icon","IconTile","Image","Text","TextButton","useAtFontScaleBreakpoint","useFontScale","useScalableNumberOfLines","useTheme","useServicesTeamsMap","MAX_FONT_SIZE_MULTIPLIER","platformFontWeightBold","FilterContext","jsx","_jsx","jsxs","_jsxs","FilterRow","t0","$","_c","group_source_app_name","show_direct_messages","isActive","filter","setAppFilter","t1","t2","children","t3","PressableRow","onPress","GroupRow","group","styles","useRowStyles","setGroupFilter","id","chat_group_graph_id","handleFilterByGroup","headerImage","membershipsCount","medium","rowImage","source","uri","resizeMode","style","alt","name","rowTitle","variant","t4","rowSubtitle","t5","rowTextContainer","t6","TeamRow","team","servicesTeams","params","toString","scalableNumberOfLines","servicesTeam","serviceTypeNames","join","concatedServiceTypeNames","serviceTypeName","t7","OtherRow","show_archived","description","icon","size","ViewMore","routeName","navigation","rowWithoutBorder","navigate","viewMoreButton","selected","rowInner","rowIconRight","accessibilityElementsHidden","maxFontSizeMultiplier","row","pressable","accessibilityRole","accessibilityState","ASPECT_RATIO","THUMBNAIL_WIDTH","THUMBNAIL_HEIGHT","undefined","theme","Symbol","for","fontScale","atFontScaleBreakpoint","colors","borderColorDefaultBase","borderColorDefaultDark","statusSuccessIcon","textColorDefaultPrimary","textColorDefaultSecondary","create","paddingLeft","flexDirection","alignItems","justifyContent","gap","borderBottomWidth","borderBottomColor","paddingVertical","paddingRight","flexShrink","flex","width","height","borderRadius","fontSize","color","opacity","fontWeight"],"sources":["../../../../src/screens/conversation_filters/components/rows.tsx"],"sourcesContent":["import type { IconDefinition } from '@fortawesome/fontawesome-svg-core'\nimport { PlatformPressable } from '@react-navigation/elements'\nimport { NavigationProp, useNavigation } from '@react-navigation/native'\nimport React, { PropsWithChildren, useContext } from 'react'\nimport { StyleSheet, View, ViewStyle } from 'react-native'\nimport { Heading, Icon, IconTile, Image, Text, TextButton } from '../../../components'\nimport {\n useAtFontScaleBreakpoint,\n useFontScale,\n useScalableNumberOfLines,\n useTheme,\n} from '../../../hooks'\nimport { useServicesTeamsMap } from '../../../hooks/services/use_services_team'\nimport { GroupResource } from '../../../types/resources/group_resource'\nimport { MAX_FONT_SIZE_MULTIPLIER, platformFontWeightBold } from '../../../utils/styles'\nimport { FilterContext } from '../context/conversation_filter_context'\nimport { FilterTypes } from '../filter_types'\nimport { FilteredGroup } from '../hooks/filters'\nimport { ConversationFilterStackParamList } from '../screen_props'\n\nexport type FilterProps = {\n group_source_app_name?: string\n show_direct_messages?: boolean\n isActive: boolean\n filter: FilterTypes\n}\n\nexport const FilterRow = ({\n group_source_app_name,\n show_direct_messages,\n isActive,\n filter,\n}: FilterProps) => {\n const { setAppFilter } = useContext(FilterContext)\n\n return (\n <PressableRow\n onPress={() => setAppFilter({ group_source_app_name, show_direct_messages })}\n isActive={isActive}\n >\n <Text>{filter}</Text>\n </PressableRow>\n )\n}\n\nexport type GroupRowProps = {\n group: FilteredGroup\n isActive: boolean\n}\n\nexport const GroupRow = ({ group, isActive }: GroupRowProps) => {\n const styles = useRowStyles()\n const { setGroupFilter } = useContext(FilterContext)\n\n const handleFilterByGroup = () => {\n setGroupFilter({ chat_group_graph_id: group.id })\n }\n\n const { headerImage, membershipsCount } = group\n\n return (\n <PressableRow onPress={handleFilterByGroup} isActive={isActive}>\n {headerImage?.medium && (\n <Image\n source={{ uri: headerImage?.medium }}\n resizeMode=\"cover\"\n style={styles.rowImage}\n alt=\"\"\n />\n )}\n <View style={styles.rowTextContainer}>\n <Heading variant=\"h3\" style={styles.rowTitle}>\n {group.name}\n </Heading>\n {membershipsCount && (\n <Text style={styles.rowSubtitle}>{group.membershipsCount} members</Text>\n )}\n </View>\n </PressableRow>\n )\n}\n\nexport type TeamRowProps = {\n team: GroupResource\n isActive: boolean\n}\n\nexport const TeamRow = ({ team }: TeamRowProps) => {\n const { setGroupFilter } = useContext(FilterContext)\n const servicesTeams = useServicesTeamsMap()\n const { params } = useContext(FilterContext)\n const { chat_group_graph_id } = params\n const isActive = chat_group_graph_id === team.id.toString()\n const styles = useRowStyles()\n const scalableNumberOfLines = useScalableNumberOfLines()\n\n const handleFilterByGroup = () => {\n setGroupFilter({ chat_group_graph_id: team.id })\n }\n\n const servicesTeam = servicesTeams[team.id]\n const concatedServiceTypeNames = servicesTeam?.serviceTypeNames.join(', ')\n const serviceTypeName = concatedServiceTypeNames || servicesTeam?.group\n\n return (\n <PressableRow onPress={handleFilterByGroup} isActive={isActive}>\n <View style={styles.rowTextContainer}>\n <Heading variant=\"h3\" style={styles.rowTitle}>\n {team.name}\n </Heading>\n <Text numberOfLines={scalableNumberOfLines} style={styles.rowSubtitle}>\n {serviceTypeName}\n </Text>\n </View>\n </PressableRow>\n )\n}\n\nexport type OtherRowProps = {\n show_archived?: boolean\n isActive: boolean\n filter: FilterTypes\n description: string\n icon: IconDefinition\n}\n\nexport const OtherRow = ({ show_archived, isActive, filter, description, icon }: OtherRowProps) => {\n const styles = useRowStyles()\n const { setAppFilter } = useContext(FilterContext)\n\n return (\n <PressableRow onPress={() => setAppFilter({ show_archived })} isActive={isActive}>\n <IconTile icon={icon} size=\"lg\" />\n <View style={styles.rowTextContainer}>\n <Heading variant=\"h3\" style={styles.rowTitle}>\n {filter}\n </Heading>\n <Text variant=\"footnote\" style={styles.rowSubtitle}>\n {description}\n </Text>\n </View>\n </PressableRow>\n )\n}\n\nexport type ViewMoreRowProps = { routeName: keyof ConversationFilterStackParamList }\n\nexport const ViewMore = ({ routeName }: ViewMoreRowProps) => {\n const styles = useRowStyles()\n const navigation = useNavigation<NavigationProp<ConversationFilterStackParamList, 'Filters'>>()\n\n return (\n <View style={[styles.rowWithoutBorder]}>\n <TextButton onPress={() => navigation.navigate(routeName, {})} style={styles.viewMoreButton}>\n View more\n </TextButton>\n </View>\n )\n}\n\nexport const PressableRow = ({\n children,\n isActive,\n onPress,\n style,\n}: PropsWithChildren<{ isActive: boolean; onPress: () => void; style?: ViewStyle }>) => {\n const styles = useRowStyles({ isActive })\n return (\n <PlatformPressable\n style={styles.pressable}\n onPress={onPress}\n accessibilityRole=\"radio\"\n accessibilityState={{ selected: isActive }}\n >\n <View style={styles.row}>\n <View style={[styles.rowInner, style]}>{children}</View>\n <Icon\n name=\"general.check\"\n style={styles.rowIconRight}\n accessibilityElementsHidden\n maxFontSizeMultiplier={2.5}\n />\n </View>\n </PlatformPressable>\n )\n}\n\nconst ASPECT_RATIO = 16 / 9\nconst THUMBNAIL_WIDTH = 80\nconst THUMBNAIL_HEIGHT = THUMBNAIL_WIDTH / ASPECT_RATIO\n\nconst useRowStyles = ({ isActive = false }: { isActive?: boolean } = {}) => {\n const theme = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER })\n const atFontScaleBreakpoint = useAtFontScaleBreakpoint()\n\n return StyleSheet.create({\n pressable: {\n paddingLeft: 16,\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 12,\n borderBottomWidth: 1,\n borderBottomColor: atFontScaleBreakpoint\n ? theme.colors.borderColorDefaultDark\n : theme.colors.borderColorDefaultBase,\n paddingVertical: 12,\n paddingRight: 16,\n },\n rowInner: {\n flexDirection: atFontScaleBreakpoint ? 'column' : 'row',\n alignItems: atFontScaleBreakpoint ? 'flex-start' : 'center',\n gap: 12,\n flexShrink: 1,\n },\n rowTextContainer: {\n flexShrink: 1,\n },\n rowWithoutBorder: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n paddingVertical: 12,\n paddingRight: 16,\n paddingLeft: 16,\n },\n viewMoreButton: {\n flex: 1,\n },\n rowImage: {\n width: THUMBNAIL_WIDTH * fontScale,\n height: THUMBNAIL_HEIGHT * fontScale,\n borderRadius: 4 * fontScale,\n },\n rowIconRight: {\n fontSize: 16,\n color: theme.colors.statusSuccessIcon,\n opacity: isActive ? 1 : 0,\n },\n rowTitle: {\n fontSize: 16,\n flexShrink: 1,\n fontWeight: atFontScaleBreakpoint ? 400 : platformFontWeightBold,\n },\n rowSubtitle: {\n color: atFontScaleBreakpoint\n ? theme.colors.textColorDefaultSecondary\n : theme.colors.textColorDefaultPrimary,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"rows.js","names":["PlatformPressable","useNavigation","React","useContext","StyleSheet","View","Heading","Icon","IconTile","Image","Text","TextButton","useAtFontScaleBreakpoint","useFontScale","useScalableNumberOfLines","useTheme","useServicesTeamsMap","MAX_FONT_SIZE_MULTIPLIER","platformFontWeightBold","FilterContext","jsx","_jsx","jsxs","_jsxs","FilterRow","t0","$","_c","group_source_app_name","show_direct_messages","isActive","filter","setAppFilter","t1","t2","children","t3","PressableRow","onPress","GroupRow","group","styles","useRowStyles","setGroupFilter","id","chat_group_graph_id","handleFilterByGroup","headerImage","membershipsCount","medium","rowImage","source","uri","resizeMode","style","alt","name","rowTitle","variant","t4","rowSubtitle","t5","rowTextContainer","t6","TeamRow","team","servicesTeams","params","toString","scalableNumberOfLines","servicesTeam","serviceTypeNames","join","concatedServiceTypeNames","serviceTypeName","t7","OtherRow","show_archived","description","icon","shape","size","ViewMore","routeName","navigation","rowWithoutBorder","navigate","viewMoreButton","selected","rowInner","rowIconRight","accessibilityElementsHidden","maxFontSizeMultiplier","row","pressable","accessibilityRole","accessibilityState","ASPECT_RATIO","THUMBNAIL_WIDTH","THUMBNAIL_HEIGHT","undefined","theme","Symbol","for","fontScale","atFontScaleBreakpoint","colors","borderColorDefaultBase","borderColorDefaultDark","statusSuccessIcon","textColorDefaultPrimary","textColorDefaultSecondary","create","paddingLeft","flexDirection","alignItems","justifyContent","gap","borderBottomWidth","borderBottomColor","paddingVertical","paddingRight","flexShrink","flex","width","height","borderRadius","fontSize","color","opacity","fontWeight"],"sources":["../../../../src/screens/conversation_filters/components/rows.tsx"],"sourcesContent":["import type { IconDefinition } from '@fortawesome/fontawesome-svg-core'\nimport { PlatformPressable } from '@react-navigation/elements'\nimport { NavigationProp, useNavigation } from '@react-navigation/native'\nimport React, { PropsWithChildren, useContext } from 'react'\nimport { StyleSheet, View, ViewStyle } from 'react-native'\nimport { Heading, Icon, IconTile, Image, Text, TextButton } from '../../../components'\nimport {\n useAtFontScaleBreakpoint,\n useFontScale,\n useScalableNumberOfLines,\n useTheme,\n} from '../../../hooks'\nimport { useServicesTeamsMap } from '../../../hooks/services/use_services_team'\nimport { GroupResource } from '../../../types/resources/group_resource'\nimport { MAX_FONT_SIZE_MULTIPLIER, platformFontWeightBold } from '../../../utils/styles'\nimport { FilterContext } from '../context/conversation_filter_context'\nimport { FilterTypes } from '../filter_types'\nimport { FilteredGroup } from '../hooks/filters'\nimport { ConversationFilterStackParamList } from '../screen_props'\n\nexport type FilterProps = {\n group_source_app_name?: string\n show_direct_messages?: boolean\n isActive: boolean\n filter: FilterTypes\n}\n\nexport const FilterRow = ({\n group_source_app_name,\n show_direct_messages,\n isActive,\n filter,\n}: FilterProps) => {\n const { setAppFilter } = useContext(FilterContext)\n\n return (\n <PressableRow\n onPress={() => setAppFilter({ group_source_app_name, show_direct_messages })}\n isActive={isActive}\n >\n <Text>{filter}</Text>\n </PressableRow>\n )\n}\n\nexport type GroupRowProps = {\n group: FilteredGroup\n isActive: boolean\n}\n\nexport const GroupRow = ({ group, isActive }: GroupRowProps) => {\n const styles = useRowStyles()\n const { setGroupFilter } = useContext(FilterContext)\n\n const handleFilterByGroup = () => {\n setGroupFilter({ chat_group_graph_id: group.id })\n }\n\n const { headerImage, membershipsCount } = group\n\n return (\n <PressableRow onPress={handleFilterByGroup} isActive={isActive}>\n {headerImage?.medium && (\n <Image\n source={{ uri: headerImage?.medium }}\n resizeMode=\"cover\"\n style={styles.rowImage}\n alt=\"\"\n />\n )}\n <View style={styles.rowTextContainer}>\n <Heading variant=\"h3\" style={styles.rowTitle}>\n {group.name}\n </Heading>\n {membershipsCount && (\n <Text style={styles.rowSubtitle}>{group.membershipsCount} members</Text>\n )}\n </View>\n </PressableRow>\n )\n}\n\nexport type TeamRowProps = {\n team: GroupResource\n isActive: boolean\n}\n\nexport const TeamRow = ({ team }: TeamRowProps) => {\n const { setGroupFilter } = useContext(FilterContext)\n const servicesTeams = useServicesTeamsMap()\n const { params } = useContext(FilterContext)\n const { chat_group_graph_id } = params\n const isActive = chat_group_graph_id === team.id.toString()\n const styles = useRowStyles()\n const scalableNumberOfLines = useScalableNumberOfLines()\n\n const handleFilterByGroup = () => {\n setGroupFilter({ chat_group_graph_id: team.id })\n }\n\n const servicesTeam = servicesTeams[team.id]\n const concatedServiceTypeNames = servicesTeam?.serviceTypeNames.join(', ')\n const serviceTypeName = concatedServiceTypeNames || servicesTeam?.group\n\n return (\n <PressableRow onPress={handleFilterByGroup} isActive={isActive}>\n <View style={styles.rowTextContainer}>\n <Heading variant=\"h3\" style={styles.rowTitle}>\n {team.name}\n </Heading>\n <Text numberOfLines={scalableNumberOfLines} style={styles.rowSubtitle}>\n {serviceTypeName}\n </Text>\n </View>\n </PressableRow>\n )\n}\n\nexport type OtherRowProps = {\n show_archived?: boolean\n isActive: boolean\n filter: FilterTypes\n description: string\n icon: IconDefinition\n}\n\nexport const OtherRow = ({ show_archived, isActive, filter, description, icon }: OtherRowProps) => {\n const styles = useRowStyles()\n const { setAppFilter } = useContext(FilterContext)\n\n return (\n <PressableRow onPress={() => setAppFilter({ show_archived })} isActive={isActive}>\n <IconTile icon={icon} shape=\"square\" size=\"lg\" />\n <View style={styles.rowTextContainer}>\n <Heading variant=\"h3\" style={styles.rowTitle}>\n {filter}\n </Heading>\n <Text variant=\"footnote\" style={styles.rowSubtitle}>\n {description}\n </Text>\n </View>\n </PressableRow>\n )\n}\n\nexport type ViewMoreRowProps = { routeName: keyof ConversationFilterStackParamList }\n\nexport const ViewMore = ({ routeName }: ViewMoreRowProps) => {\n const styles = useRowStyles()\n const navigation = useNavigation<NavigationProp<ConversationFilterStackParamList, 'Filters'>>()\n\n return (\n <View style={[styles.rowWithoutBorder]}>\n <TextButton onPress={() => navigation.navigate(routeName, {})} style={styles.viewMoreButton}>\n View more\n </TextButton>\n </View>\n )\n}\n\nexport const PressableRow = ({\n children,\n isActive,\n onPress,\n style,\n}: PropsWithChildren<{ isActive: boolean; onPress: () => void; style?: ViewStyle }>) => {\n const styles = useRowStyles({ isActive })\n return (\n <PlatformPressable\n style={styles.pressable}\n onPress={onPress}\n accessibilityRole=\"radio\"\n accessibilityState={{ selected: isActive }}\n >\n <View style={styles.row}>\n <View style={[styles.rowInner, style]}>{children}</View>\n <Icon\n name=\"general.check\"\n style={styles.rowIconRight}\n accessibilityElementsHidden\n maxFontSizeMultiplier={2.5}\n />\n </View>\n </PlatformPressable>\n )\n}\n\nconst ASPECT_RATIO = 16 / 9\nconst THUMBNAIL_WIDTH = 80\nconst THUMBNAIL_HEIGHT = THUMBNAIL_WIDTH / ASPECT_RATIO\n\nconst useRowStyles = ({ isActive = false }: { isActive?: boolean } = {}) => {\n const theme = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER })\n const atFontScaleBreakpoint = useAtFontScaleBreakpoint()\n\n return StyleSheet.create({\n pressable: {\n paddingLeft: 16,\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 12,\n borderBottomWidth: 1,\n borderBottomColor: atFontScaleBreakpoint\n ? theme.colors.borderColorDefaultDark\n : theme.colors.borderColorDefaultBase,\n paddingVertical: 12,\n paddingRight: 16,\n },\n rowInner: {\n flexDirection: atFontScaleBreakpoint ? 'column' : 'row',\n alignItems: atFontScaleBreakpoint ? 'flex-start' : 'center',\n gap: 12,\n flexShrink: 1,\n },\n rowTextContainer: {\n flexShrink: 1,\n },\n rowWithoutBorder: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n paddingVertical: 12,\n paddingRight: 16,\n paddingLeft: 16,\n },\n viewMoreButton: {\n flex: 1,\n },\n rowImage: {\n width: THUMBNAIL_WIDTH * fontScale,\n height: THUMBNAIL_HEIGHT * fontScale,\n borderRadius: 4 * fontScale,\n },\n rowIconRight: {\n fontSize: 16,\n color: theme.colors.statusSuccessIcon,\n opacity: isActive ? 1 : 0,\n },\n rowTitle: {\n fontSize: 16,\n flexShrink: 1,\n fontWeight: atFontScaleBreakpoint ? 400 : platformFontWeightBold,\n },\n rowSubtitle: {\n color: atFontScaleBreakpoint\n ? theme.colors.textColorDefaultSecondary\n : theme.colors.textColorDefaultPrimary,\n },\n })\n}\n"],"mappings":";AACA,SAASA,iBAAiB,QAAQ,4BAA4B;AAC9D,SAAyBC,aAAa,QAAQ,0BAA0B;AACxE,OAAOC,KAAK,IAAuBC,UAAU,QAAQ,OAAO;AAC5D,SAASC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAC1D,SAASC,OAAO,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,UAAU,QAAQ,qBAAqB;AACtF,SACEC,wBAAwB,EACxBC,YAAY,EACZC,wBAAwB,EACxBC,QAAQ,QACH,gBAAgB;AACvB,SAASC,mBAAmB,QAAQ,2CAA2C;AAE/E,SAASC,wBAAwB,EAAEC,sBAAsB,QAAQ,uBAAuB;AACxF,SAASC,aAAa,QAAQ,wCAAwC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAYtE,OAAO,MAAMC,SAAS,GAAGC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAC,qBAAA;IAAAC,oBAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAN,EAKZ;EACZ;IAAAO;EAAA,IAAyB7B,UAAU,CAACgB,aAAa,CAAC;EAAA,IAAAc,EAAA;EAAA,IAAAP,CAAA,QAAAE,qBAAA,IAAAF,CAAA,QAAAM,YAAA,IAAAN,CAAA,QAAAG,oBAAA;IAIrCI,EAAA,GAAAA,CAAA,KAAMD,YAAY,CAAC;MAAAJ,qBAAA;MAAAC;IAA8C,CAAC,CAAC;IAAAH,CAAA,MAAAE,qBAAA;IAAAF,CAAA,MAAAM,YAAA;IAAAN,CAAA,MAAAG,oBAAA;IAAAH,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAK,MAAA;IAG5EG,EAAA,gBAAAb,IAAA,CAACX,IAAI;MAAAyB,QAAA,EAAEJ;IAAM,CAAO,CAAC;IAAAL,CAAA,MAAAK,MAAA;IAAAL,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAAO,EAAA,IAAAP,CAAA,QAAAQ,EAAA;IAJvBE,EAAA,gBAAAf,IAAA,CAACgB,YAAY;MACFC,OAAmE,EAAnEL,EAAmE;MAClEH,QAAQ,EAARA,QAAQ;MAAAK,QAAA,EAElBD;IAAqB,CACT,CAAC;IAAAR,CAAA,MAAAI,QAAA;IAAAJ,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,OALfU,EAKe;AAAA,CAElB;AAOD,OAAO,MAAMG,QAAQ,GAAGd,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAa,KAAA;IAAAV;EAAA,IAAAL,EAAkC;EACzD,MAAAgB,MAAA,GAAeC,YAAY,CAAC,CAAC;EAC7B;IAAAC;EAAA,IAA2BxC,UAAU,CAACgB,aAAa,CAAC;EAAA,IAAAc,EAAA;EAAA,IAAAP,CAAA,QAAAc,KAAA,CAAAI,EAAA,IAAAlB,CAAA,QAAAiB,cAAA;IAExBV,EAAA,GAAAA,CAAA;MAC1BU,cAAc,CAAC;QAAAE,mBAAA,EAAuBL,KAAK,CAAAI;MAAI,CAAC,CAAC;IAAA,CAClD;IAAAlB,CAAA,MAAAc,KAAA,CAAAI,EAAA;IAAAlB,CAAA,MAAAiB,cAAA;IAAAjB,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAFD,MAAAoB,mBAAA,GAA4Bb,EAE3B;EAED;IAAAc,WAAA;IAAAC;EAAA,IAA0CR,KAAK;EAAA,IAAAN,EAAA;EAAA,IAAAR,CAAA,QAAAqB,WAAA,EAAAE,MAAA,IAAAvB,CAAA,QAAAe,MAAA,CAAAS,QAAA;IAI1ChB,EAAA,GAAAa,WAAW,EAAAE,MAOX,iBAPA5B,IAAA,CACEZ,KAAK;MACI0C,MAA4B,EAA5B;QAAAC,GAAA,EAAOL,WAAW,EAAAE;MAAS,CAAC;MACzBI,UAAO,EAAP,OAAO;MACXC,KAAe,EAAfb,MAAM,CAAAS,QAAS;MAClBK,GAAE,EAAF;IAAE,CAEV,CAAC;IAAA7B,CAAA,MAAAqB,WAAA,EAAAE,MAAA;IAAAvB,CAAA,MAAAe,MAAA,CAAAS,QAAA;IAAAxB,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAc,KAAA,CAAAgB,IAAA,IAAA9B,CAAA,QAAAe,MAAA,CAAAgB,QAAA;IAECrB,EAAA,gBAAAf,IAAA,CAACf,OAAO;MAASoD,OAAI,EAAJ,IAAI;MAAQJ,KAAe,EAAfb,MAAM,CAAAgB,QAAS;MAAAtB,QAAA,EACzCK,KAAK,CAAAgB;IAAK,CACJ,CAAC;IAAA9B,CAAA,MAAAc,KAAA,CAAAgB,IAAA;IAAA9B,CAAA,MAAAe,MAAA,CAAAgB,QAAA;IAAA/B,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAiC,EAAA;EAAA,IAAAjC,CAAA,QAAAc,KAAA,CAAAQ,gBAAA,IAAAtB,CAAA,SAAAsB,gBAAA,IAAAtB,CAAA,SAAAe,MAAA,CAAAmB,WAAA;IACTD,EAAA,GAAAX,gBAEA,iBAFAzB,KAAA,CACEb,IAAI;MAAQ4C,KAAkB,EAAlBb,MAAM,CAAAmB,WAAY;MAAAzB,QAAA,GAAGK,KAAK,CAAAQ,gBAAiB,EAAC,UAAQ;IAAA,CACnE,CAAC;IAAAtB,CAAA,MAAAc,KAAA,CAAAQ,gBAAA;IAAAtB,CAAA,OAAAsB,gBAAA;IAAAtB,CAAA,OAAAe,MAAA,CAAAmB,WAAA;IAAAlC,CAAA,OAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAAA,IAAAmC,EAAA;EAAA,IAAAnC,CAAA,SAAAe,MAAA,CAAAqB,gBAAA,IAAApC,CAAA,SAAAU,EAAA,IAAAV,CAAA,SAAAiC,EAAA;IANHE,EAAA,gBAAAtC,KAAA,CAAClB,IAAI;MAAQiD,KAAuB,EAAvBb,MAAM,CAAAqB,gBAAiB;MAAA3B,QAAA,GAClCC,EAEU,EACTuB,EAEA;IAAA,CACG,CAAC;IAAAjC,CAAA,OAAAe,MAAA,CAAAqB,gBAAA;IAAApC,CAAA,OAAAU,EAAA;IAAAV,CAAA,OAAAiC,EAAA;IAAAjC,CAAA,OAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EAAA,IAAAqC,EAAA;EAAA,IAAArC,CAAA,SAAAoB,mBAAA,IAAApB,CAAA,SAAAI,QAAA,IAAAJ,CAAA,SAAAQ,EAAA,IAAAR,CAAA,SAAAmC,EAAA;IAhBTE,EAAA,gBAAAxC,KAAA,CAACc,YAAY;MAAUS,OAAmB,EAAnBA,mBAAmB;MAAYhB,QAAQ,EAARA,QAAQ;MAAAK,QAAA,GAC3DD,EAOA,EACD2B,EAOO;IAAA,CACK,CAAC;IAAAnC,CAAA,OAAAoB,mBAAA;IAAApB,CAAA,OAAAI,QAAA;IAAAJ,CAAA,OAAAQ,EAAA;IAAAR,CAAA,OAAAmC,EAAA;IAAAnC,CAAA,OAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAAA,OAjBfqC,EAiBe;AAAA,CAElB;AAOD,OAAO,MAAMC,OAAO,GAAGvC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAsC;EAAA,IAAAxC,EAAsB;EAC5C;IAAAkB;EAAA,IAA2BxC,UAAU,CAACgB,aAAa,CAAC;EACpD,MAAA+C,aAAA,GAAsBlD,mBAAmB,CAAC,CAAC;EAC3C;IAAAmD;EAAA,IAAmBhE,UAAU,CAACgB,aAAa,CAAC;EAC5C;IAAA0B;EAAA,IAAgCsB,MAAM;EAAA,IAAAlC,EAAA;EAAA,IAAAP,CAAA,QAAAuC,IAAA,CAAArB,EAAA;IACGX,EAAA,GAAAgC,IAAI,CAAArB,EAAG,CAAAwB,QAAS,CAAC,CAAC;IAAA1C,CAAA,MAAAuC,IAAA,CAAArB,EAAA;IAAAlB,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA3D,MAAAI,QAAA,GAAiBe,mBAAmB,KAAKZ,EAAkB;EAC3D,MAAAQ,MAAA,GAAeC,YAAY,CAAC,CAAC;EAC7B,MAAA2B,qBAAA,GAA8BvD,wBAAwB,CAAC,CAAC;EAAA,IAAAoB,EAAA;EAAA,IAAAR,CAAA,QAAAiB,cAAA,IAAAjB,CAAA,QAAAuC,IAAA,CAAArB,EAAA;IAE5BV,EAAA,GAAAA,CAAA;MAC1BS,cAAc,CAAC;QAAAE,mBAAA,EAAuBoB,IAAI,CAAArB;MAAI,CAAC,CAAC;IAAA,CACjD;IAAAlB,CAAA,MAAAiB,cAAA;IAAAjB,CAAA,MAAAuC,IAAA,CAAArB,EAAA;IAAAlB,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAFD,MAAAoB,mBAAA,GAA4BZ,EAE3B;EAED,MAAAoC,YAAA,GAAqBJ,aAAa,CAACD,IAAI,CAAArB,EAAG,CAAC;EAAA,IAAAR,EAAA;EAAA,IAAAV,CAAA,QAAA4C,YAAA,EAAAC,gBAAA;IACVnC,EAAA,GAAAkC,YAAY,EAAAC,gBAAuB,CAAAC,IAAM,CAAL,IAAI,CAAC;IAAA9C,CAAA,MAAA4C,YAAA,EAAAC,gBAAA;IAAA7C,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAA1E,MAAA+C,wBAAA,GAAiCrC,EAAyC;EAC1E,MAAAsC,eAAA,GAAwBD,wBAA+C,IAAnBH,YAAY,EAAA9B,KAAO;EAAA,IAAAmB,EAAA;EAAA,IAAAjC,CAAA,QAAAe,MAAA,CAAAgB,QAAA,IAAA/B,CAAA,QAAAuC,IAAA,CAAAT,IAAA;IAKjEG,EAAA,gBAAAtC,IAAA,CAACf,OAAO;MAASoD,OAAI,EAAJ,IAAI;MAAQJ,KAAe,EAAfb,MAAM,CAAAgB,QAAS;MAAAtB,QAAA,EACzC8B,IAAI,CAAAT;IAAK,CACH,CAAC;IAAA9B,CAAA,MAAAe,MAAA,CAAAgB,QAAA;IAAA/B,CAAA,MAAAuC,IAAA,CAAAT,IAAA;IAAA9B,CAAA,MAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAAA,IAAAmC,EAAA;EAAA,IAAAnC,CAAA,SAAA2C,qBAAA,IAAA3C,CAAA,SAAAgD,eAAA,IAAAhD,CAAA,SAAAe,MAAA,CAAAmB,WAAA;IACVC,EAAA,gBAAAxC,IAAA,CAACX,IAAI;MAAgB2D,aAAqB,EAArBA,qBAAqB;MAASf,KAAkB,EAAlBb,MAAM,CAAAmB,WAAY;MAAAzB,QAAA,EAClEuC;IAAe,CACZ,CAAC;IAAAhD,CAAA,OAAA2C,qBAAA;IAAA3C,CAAA,OAAAgD,eAAA;IAAAhD,CAAA,OAAAe,MAAA,CAAAmB,WAAA;IAAAlC,CAAA,OAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EAAA,IAAAqC,EAAA;EAAA,IAAArC,CAAA,SAAAe,MAAA,CAAAqB,gBAAA,IAAApC,CAAA,SAAAiC,EAAA,IAAAjC,CAAA,SAAAmC,EAAA;IANTE,EAAA,gBAAAxC,KAAA,CAAClB,IAAI;MAAQiD,KAAuB,EAAvBb,MAAM,CAAAqB,gBAAiB;MAAA3B,QAAA,GAClCwB,EAEU,EACVE,EAEO;IAAA,CACH,CAAC;IAAAnC,CAAA,OAAAe,MAAA,CAAAqB,gBAAA;IAAApC,CAAA,OAAAiC,EAAA;IAAAjC,CAAA,OAAAmC,EAAA;IAAAnC,CAAA,OAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAAA,IAAAiD,EAAA;EAAA,IAAAjD,CAAA,SAAAoB,mBAAA,IAAApB,CAAA,SAAAI,QAAA,IAAAJ,CAAA,SAAAqC,EAAA;IARTY,EAAA,gBAAAtD,IAAA,CAACgB,YAAY;MAAUS,OAAmB,EAAnBA,mBAAmB;MAAYhB,QAAQ,EAARA,QAAQ;MAAAK,QAAA,EAC5D4B;IAOO,CACK,CAAC;IAAArC,CAAA,OAAAoB,mBAAA;IAAApB,CAAA,OAAAI,QAAA;IAAAJ,CAAA,OAAAqC,EAAA;IAAArC,CAAA,OAAAiD,EAAA;EAAA;IAAAA,EAAA,GAAAjD,CAAA;EAAA;EAAA,OATfiD,EASe;AAAA,CAElB;AAUD,OAAO,MAAMC,QAAQ,GAAGnD,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAkD,aAAA;IAAA/C,QAAA;IAAAC,MAAA;IAAA+C,WAAA;IAAAC;EAAA,IAAAtD,EAAqE;EAC5F,MAAAgB,MAAA,GAAeC,YAAY,CAAC,CAAC;EAC7B;IAAAV;EAAA,IAAyB7B,UAAU,CAACgB,aAAa,CAAC;EAAA,IAAAc,EAAA;EAAA,IAAAP,CAAA,QAAAM,YAAA,IAAAN,CAAA,QAAAmD,aAAA;IAGzB5C,EAAA,GAAAA,CAAA,KAAMD,YAAY,CAAC;MAAA6C;IAAgB,CAAC,CAAC;IAAAnD,CAAA,MAAAM,YAAA;IAAAN,CAAA,MAAAmD,aAAA;IAAAnD,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAqD,IAAA;IAC1D7C,EAAA,gBAAAb,IAAA,CAACb,QAAQ;MAAOuE,IAAI,EAAJA,IAAI;MAAQC,KAAQ,EAAR,QAAQ;MAAMC,IAAI,EAAJ;IAAI,CAAE,CAAC;IAAAvD,CAAA,MAAAqD,IAAA;IAAArD,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAK,MAAA,IAAAL,CAAA,QAAAe,MAAA,CAAAgB,QAAA;IAE/CrB,EAAA,gBAAAf,IAAA,CAACf,OAAO;MAASoD,OAAI,EAAJ,IAAI;MAAQJ,KAAe,EAAfb,MAAM,CAAAgB,QAAS;MAAAtB,QAAA,EACzCJ;IAAM,CACA,CAAC;IAAAL,CAAA,MAAAK,MAAA;IAAAL,CAAA,MAAAe,MAAA,CAAAgB,QAAA;IAAA/B,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAiC,EAAA;EAAA,IAAAjC,CAAA,QAAAoD,WAAA,IAAApD,CAAA,QAAAe,MAAA,CAAAmB,WAAA;IACVD,EAAA,gBAAAtC,IAAA,CAACX,IAAI;MAASgD,OAAU,EAAV,UAAU;MAAQJ,KAAkB,EAAlBb,MAAM,CAAAmB,WAAY;MAAAzB,QAAA,EAC/C2C;IAAW,CACR,CAAC;IAAApD,CAAA,MAAAoD,WAAA;IAAApD,CAAA,MAAAe,MAAA,CAAAmB,WAAA;IAAAlC,CAAA,OAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAAA,IAAAmC,EAAA;EAAA,IAAAnC,CAAA,SAAAe,MAAA,CAAAqB,gBAAA,IAAApC,CAAA,SAAAU,EAAA,IAAAV,CAAA,SAAAiC,EAAA;IANTE,EAAA,gBAAAtC,KAAA,CAAClB,IAAI;MAAQiD,KAAuB,EAAvBb,MAAM,CAAAqB,gBAAiB;MAAA3B,QAAA,GAClCC,EAEU,EACVuB,EAEO;IAAA,CACH,CAAC;IAAAjC,CAAA,OAAAe,MAAA,CAAAqB,gBAAA;IAAApC,CAAA,OAAAU,EAAA;IAAAV,CAAA,OAAAiC,EAAA;IAAAjC,CAAA,OAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EAAA,IAAAqC,EAAA;EAAA,IAAArC,CAAA,SAAAI,QAAA,IAAAJ,CAAA,SAAAO,EAAA,IAAAP,CAAA,SAAAQ,EAAA,IAAAR,CAAA,SAAAmC,EAAA;IATTE,EAAA,gBAAAxC,KAAA,CAACc,YAAY;MAAUC,OAAqC,EAArCL,EAAqC;MAAYH,QAAQ,EAARA,QAAQ;MAAAK,QAAA,GAC9ED,EAAiD,EACjD2B,EAOO;IAAA,CACK,CAAC;IAAAnC,CAAA,OAAAI,QAAA;IAAAJ,CAAA,OAAAO,EAAA;IAAAP,CAAA,OAAAQ,EAAA;IAAAR,CAAA,OAAAmC,EAAA;IAAAnC,CAAA,OAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAAA,OAVfqC,EAUe;AAAA,CAElB;AAID,OAAO,MAAMmB,QAAQ,GAAGzD,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAwD;EAAA,IAAA1D,EAA+B;EACtD,MAAAgB,MAAA,GAAeC,YAAY,CAAC,CAAC;EAC7B,MAAA0C,UAAA,GAAmBnF,aAAa,CAA8D,CAAC;EAAA,IAAAgC,EAAA;EAAA,IAAAP,CAAA,QAAAe,MAAA,CAAA4C,gBAAA;IAGhFpD,EAAA,IAACQ,MAAM,CAAA4C,gBAAiB,CAAC;IAAA3D,CAAA,MAAAe,MAAA,CAAA4C,gBAAA;IAAA3D,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAA0D,UAAA,IAAA1D,CAAA,QAAAyD,SAAA;IACfjD,EAAA,GAAAA,CAAA,KAAMkD,UAAU,CAAAE,QAAS,CAACH,SAAS,EAAE,CAAC,CAAC,CAAC;IAAAzD,CAAA,MAAA0D,UAAA;IAAA1D,CAAA,MAAAyD,SAAA;IAAAzD,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAe,MAAA,CAAA8C,cAAA,IAAA7D,CAAA,QAAAQ,EAAA;IAA7DE,EAAA,gBAAAf,IAAA,CAACV,UAAU;MAAU2B,OAAwC,EAAxCJ,EAAwC;MAASoB,KAAqB,EAArBb,MAAM,CAAA8C,cAAe;MAAApD,QAAA,EAAE;IAE7F,CAAY,CAAC;IAAAT,CAAA,MAAAe,MAAA,CAAA8C,cAAA;IAAA7D,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAiC,EAAA;EAAA,IAAAjC,CAAA,QAAAO,EAAA,IAAAP,CAAA,QAAAU,EAAA;IAHfuB,EAAA,gBAAAtC,IAAA,CAAChB,IAAI;MAAQiD,KAAyB,EAAzBrB,EAAyB;MAAAE,QAAA,EACpCC;IAEa,CACT,CAAC;IAAAV,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAU,EAAA;IAAAV,CAAA,OAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAAA,OAJPiC,EAIO;AAAA,CAEV;AAED,OAAO,MAAMtB,YAAY,GAAGZ,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAQ,QAAA;IAAAL,QAAA;IAAAQ,OAAA;IAAAgB;EAAA,IAAA7B,EAKsD;EAAA,IAAAQ,EAAA;EAAA,IAAAP,CAAA,QAAAI,QAAA;IACrDG,EAAA;MAAAH;IAAW,CAAC;IAAAJ,CAAA,MAAAI,QAAA;IAAAJ,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAAxC,MAAAe,MAAA,GAAeC,YAAY,CAACT,EAAY,CAAC;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAI,QAAA;IAMjBI,EAAA;MAAAsD,QAAA,EAAY1D;IAAS,CAAC;IAAAJ,CAAA,MAAAI,QAAA;IAAAJ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAA4B,KAAA,IAAA5B,CAAA,QAAAe,MAAA,CAAAgD,QAAA;IAG3BrD,EAAA,IAACK,MAAM,CAAAgD,QAAS,EAAEnC,KAAK,CAAC;IAAA5B,CAAA,MAAA4B,KAAA;IAAA5B,CAAA,MAAAe,MAAA,CAAAgD,QAAA;IAAA/D,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAiC,EAAA;EAAA,IAAAjC,CAAA,QAAAS,QAAA,IAAAT,CAAA,QAAAU,EAAA;IAArCuB,EAAA,gBAAAtC,IAAA,CAAChB,IAAI;MAAQiD,KAAwB,EAAxBlB,EAAwB;MAAAD,QAAA,EAAGA;IAAQ,CAAO,CAAC;IAAAT,CAAA,MAAAS,QAAA;IAAAT,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAAA,IAAAmC,EAAA;EAAA,IAAAnC,CAAA,SAAAe,MAAA,CAAAiD,YAAA;IACxD7B,EAAA,gBAAAxC,IAAA,CAACd,IAAI;MACEiD,IAAe,EAAf,eAAe;MACbF,KAAmB,EAAnBb,MAAM,CAAAiD,YAAa;MAC1BC,2BAA2B,EAA3B,IAA2B;MACJC,qBAAG,EAAH;IAAG,CAC3B,CAAC;IAAAlE,CAAA,OAAAe,MAAA,CAAAiD,YAAA;IAAAhE,CAAA,OAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EAAA,IAAAqC,EAAA;EAAA,IAAArC,CAAA,SAAAe,MAAA,CAAAoD,GAAA,IAAAnE,CAAA,SAAAiC,EAAA,IAAAjC,CAAA,SAAAmC,EAAA;IAPJE,EAAA,gBAAAxC,KAAA,CAAClB,IAAI;MAAQiD,KAAU,EAAVb,MAAM,CAAAoD,GAAI;MAAA1D,QAAA,GACrBwB,EAAwD,EACxDE,EAKE;IAAA,CACE,CAAC;IAAAnC,CAAA,OAAAe,MAAA,CAAAoD,GAAA;IAAAnE,CAAA,OAAAiC,EAAA;IAAAjC,CAAA,OAAAmC,EAAA;IAAAnC,CAAA,OAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAAA,IAAAiD,EAAA;EAAA,IAAAjD,CAAA,SAAAY,OAAA,IAAAZ,CAAA,SAAAe,MAAA,CAAAqD,SAAA,IAAApE,CAAA,SAAAQ,EAAA,IAAAR,CAAA,SAAAqC,EAAA;IAdTY,EAAA,gBAAAtD,IAAA,CAACrB,iBAAiB;MACTsD,KAAgB,EAAhBb,MAAM,CAAAqD,SAAU;MACdxD,OAAO,EAAPA,OAAO;MACEyD,iBAAO,EAAP,OAAO;MACLC,kBAAsB,EAAtB9D,EAAsB;MAAAC,QAAA,EAE1C4B;IAQO,CACU,CAAC;IAAArC,CAAA,OAAAY,OAAA;IAAAZ,CAAA,OAAAe,MAAA,CAAAqD,SAAA;IAAApE,CAAA,OAAAQ,EAAA;IAAAR,CAAA,OAAAqC,EAAA;IAAArC,CAAA,OAAAiD,EAAA;EAAA;IAAAA,EAAA,GAAAjD,CAAA;EAAA;EAAA,OAfpBiD,EAeoB;AAAA,CAEvB;AAED,MAAMsB,YAAY,GAAG,EAAE,GAAG,CAAC;AAC3B,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,gBAAgB,GAAGD,eAAe,GAAGD,YAAY;AAEvD,MAAMvD,YAAY,GAAGjB,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAA,IAAAM,EAAA;EAAA,IAAAP,CAAA,QAAAD,EAAA;IAACQ,EAAA,GAAAR,EAAiD,KAAjD2E,SAAiD,GAAjD,CAAgD,CAAC,GAAjD3E,EAAiD;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAAjD;IAAAI,QAAA,EAAAI;EAAA,IAAAD,EAAiD;EAA/C,MAAAH,QAAA,GAAAI,EAAgB,KAAhBkE,SAAgB,GAAhB,KAAgB,GAAhBlE,EAAgB;EACtC,MAAAmE,KAAA,GAActF,QAAQ,CAAC,CAAC;EAAA,IAAAqB,EAAA;EAAA,IAAAV,CAAA,QAAA4E,MAAA,CAAAC,GAAA;IACOnE,EAAA;MAAAwD,qBAAA,EAAyB3E;IAAyB,CAAC;IAAAS,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAlF,MAAA8E,SAAA,GAAkB3F,YAAY,CAACuB,EAAmD,CAAC;EACnF,MAAAqE,qBAAA,GAA8B7F,wBAAwB,CAAC,CAAC;EAAA,IAAA+C,EAAA;EAAA,IAAAjC,CAAA,QAAA+E,qBAAA,IAAA/E,CAAA,QAAA8E,SAAA,IAAA9E,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAA2E,KAAA,CAAAK,MAAA,CAAAC,sBAAA,IAAAjF,CAAA,QAAA2E,KAAA,CAAAK,MAAA,CAAAE,sBAAA,IAAAlF,CAAA,QAAA2E,KAAA,CAAAK,MAAA,CAAAG,iBAAA,IAAAnF,CAAA,QAAA2E,KAAA,CAAAK,MAAA,CAAAI,uBAAA,IAAApF,CAAA,SAAA2E,KAAA,CAAAK,MAAA,CAAAK,yBAAA;IAEjDpD,EAAA,GAAAvD,UAAU,CAAA4G,MAAO,CAAC;MAAAlB,SAAA,EACZ;QAAAmB,WAAA,EACI;MACf,CAAC;MAAApB,GAAA,EACI;QAAAqB,aAAA,EACY,KAAK;QAAAC,UAAA,EACR,QAAQ;QAAAC,cAAA,EACJ,eAAe;QAAAC,GAAA,EAC1B,EAAE;QAAAC,iBAAA,EACY,CAAC;QAAAC,iBAAA,EACDd,qBAAqB,GACpCJ,KAAK,CAAAK,MAAO,CAAAE,sBACuB,GAAnCP,KAAK,CAAAK,MAAO,CAAAC,sBAAuB;QAAAa,eAAA,EACtB,EAAE;QAAAC,YAAA,EACL;MAChB,CAAC;MAAAhC,QAAA,EACS;QAAAyB,aAAA,EACOT,qBAAqB,GAArB,QAAwC,GAAxC,KAAwC;QAAAU,UAAA,EAC3CV,qBAAqB,GAArB,YAA+C,GAA/C,QAA+C;QAAAY,GAAA,EACtD,EAAE;QAAAK,UAAA,EACK;MACd,CAAC;MAAA5D,gBAAA,EACiB;QAAA4D,UAAA,EACJ;MACd,CAAC;MAAArC,gBAAA,EACiB;QAAA6B,aAAA,EACD,KAAK;QAAAC,UAAA,EACR,QAAQ;QAAAE,GAAA,EACf,EAAE;QAAAG,eAAA,EACU,EAAE;QAAAC,YAAA,EACL,EAAE;QAAAR,WAAA,EACH;MACf,CAAC;MAAA1B,cAAA,EACe;QAAAoC,IAAA,EACR;MACR,CAAC;MAAAzE,QAAA,EACS;QAAA0E,KAAA,EACD1B,eAAe,GAAGM,SAAS;QAAAqB,MAAA,EAC1B1B,gBAAgB,GAAGK,SAAS;QAAAsB,YAAA,EACtB,CAAC,GAAGtB;MACpB,CAAC;MAAAd,YAAA,EACa;QAAAqC,QAAA,EACF,EAAE;QAAAC,KAAA,EACL3B,KAAK,CAAAK,MAAO,CAAAG,iBAAkB;QAAAoB,OAAA,EAC5BnG,QAAQ,GAAR,CAAgB,GAAhB;MACX,CAAC;MAAA2B,QAAA,EACS;QAAAsE,QAAA,EACE,EAAE;QAAAL,UAAA,EACA,CAAC;QAAAQ,UAAA,EACDzB,qBAAqB,GAArB,GAAoD,GAApDvF;MACd,CAAC;MAAA0C,WAAA,EACY;QAAAoE,KAAA,EACJvB,qBAAqB,GACxBJ,KAAK,CAAAK,MAAO,CAAAK,yBACwB,GAApCV,KAAK,CAAAK,MAAO,CAAAI;MAClB;IACF,CAAC,CAAC;IAAApF,CAAA,MAAA+E,qBAAA;IAAA/E,CAAA,MAAA8E,SAAA;IAAA9E,CAAA,MAAAI,QAAA;IAAAJ,CAAA,MAAA2E,KAAA,CAAAK,MAAA,CAAAC,sBAAA;IAAAjF,CAAA,MAAA2E,KAAA,CAAAK,MAAA,CAAAE,sBAAA;IAAAlF,CAAA,MAAA2E,KAAA,CAAAK,MAAA,CAAAG,iBAAA;IAAAnF,CAAA,MAAA2E,KAAA,CAAAK,MAAA,CAAAI,uBAAA;IAAApF,CAAA,OAAA2E,KAAA,CAAAK,MAAA,CAAAK,yBAAA;IAAArF,CAAA,OAAAiC,EAAA;EAAA;IAAAA,EAAA,GAAAjC,CAAA;EAAA;EAAA,OAxDKiC,EAwDL;AAAA,CACH","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.19",
3
+ "version": "4.4.1-qa-staging.20",
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.19",
36
+ "@planningcenter/emoji-keyboard": "4.4.1-qa-staging.20",
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": "18898f97b78be93bab9dbe498b13702e5a749ba9"
87
+ "gitHead": "22a2ebfd71df156a82f46b4b94fc7e8b360d951b"
88
88
  }
@@ -6,6 +6,7 @@ import { Conversations } from '../conversations'
6
6
  const mockSetParams = jest.fn()
7
7
  let mockArgs: ConversationFiltersParams = {}
8
8
  let mockFilterDropdownEnabled = false
9
+ let mockHasNextPage = false
9
10
 
10
11
  jest.mock('@react-navigation/native', () => ({
11
12
  ...jest.requireActual('@react-navigation/native'),
@@ -19,6 +20,7 @@ jest.mock('../../../contexts/conversations_context', () => ({
19
20
  isRefetching: false,
20
21
  isError: false,
21
22
  error: null,
23
+ hasNextPage: mockHasNextPage,
22
24
  fetchNextPage: jest.fn(),
23
25
  refetch: jest.fn(),
24
26
  args: mockArgs,
@@ -45,6 +47,7 @@ describe('Conversations archived footer', () => {
45
47
  beforeEach(() => {
46
48
  mockSetParams.mockClear()
47
49
  mockFilterDropdownEnabled = false
50
+ mockHasNextPage = false
48
51
  })
49
52
 
50
53
  it('ends the archived list with a way back to active conversations', () => {
@@ -73,6 +76,14 @@ describe('Conversations archived footer', () => {
73
76
  expect(view.queryByText('You’re viewing filtered results')).toBeNull()
74
77
  })
75
78
 
79
+ it('waits for the last page before showing the archived footer', () => {
80
+ mockArgs = { show_archived: true }
81
+ mockHasNextPage = true
82
+ const view = render(<Conversations />)
83
+
84
+ expect(view.queryByLabelText('View active conversations')).toBeNull()
85
+ })
86
+
76
87
  it('leaves the active list without the archived footer', () => {
77
88
  mockArgs = {}
78
89
  const view = render(<Conversations />)
@@ -78,7 +78,12 @@ export const ConversationPreview = ({
78
78
  accessibilityLabel={conversationAccessibilityLabel}
79
79
  >
80
80
  {archived ? (
81
- <IconTile icon={faBoxArchive} size="lg" testID="conversation-archived-icon" />
81
+ <IconTile
82
+ icon={faBoxArchive}
83
+ shape="circle"
84
+ size="lg"
85
+ testID="conversation-archived-icon"
86
+ />
82
87
  ) : (
83
88
  <ConversationAvatar
84
89
  conversation={conversation}
@@ -39,7 +39,7 @@ export const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {
39
39
  const filterDropdownEnabled = useFilterDropdownEnabled()
40
40
  const isFilterApplied =
41
41
  !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived
42
- const showArchivedResultsFooter = !!show_archived && !isLoading
42
+ const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage
43
43
  const showFilteredResultsFooter =
44
44
  filterDropdownEnabled &&
45
45
  isFilterApplied &&
@@ -0,0 +1,16 @@
1
+ import { render } from '@testing-library/react-native'
2
+ import React from 'react'
3
+ import { faBoxArchive } from '../../../vendor/font_awesome_pro_solid_icons'
4
+ import { IconTile } from '../icon_tile'
5
+
6
+ describe('IconTile', () => {
7
+ it('rounds the corners of a square tile instead of masking it to a circle', () => {
8
+ const view = render(
9
+ <IconTile icon={faBoxArchive} shape="square" maxFontSizeMultiplier={1} testID="tile" />
10
+ )
11
+
12
+ expect(view.getByTestId('tile', { includeHiddenElements: true })).toHaveStyle({
13
+ borderRadius: 4,
14
+ })
15
+ })
16
+ })
@@ -7,9 +7,11 @@ import { MAX_FONT_SIZE_MULTIPLIER } from '../../utils'
7
7
  import AvatarPrimitive, { type AvatarRootProps } from '../primitive/avatar_primitive'
8
8
 
9
9
  const ICON_SIZE_PX = 16
10
+ const SQUARE_BORDER_RADIUS_PX = 4
10
11
 
11
12
  interface IconTileProps {
12
13
  icon: IconDefinition
14
+ shape: 'circle' | 'square'
13
15
  size?: AvatarRootProps['size']
14
16
  maxFontSizeMultiplier?: AvatarRootProps['maxFontSizeMultiplier']
15
17
  style?: AvatarRootProps['style']
@@ -18,26 +20,33 @@ interface IconTileProps {
18
20
 
19
21
  export function IconTile({
20
22
  icon,
23
+ shape,
21
24
  size = 'lg',
22
25
  maxFontSizeMultiplier = MAX_FONT_SIZE_MULTIPLIER,
23
26
  style,
24
27
  testID,
25
28
  }: IconTileProps) {
26
- const styles = useStyles()
27
29
  const fontScale = useFontScale({ maxFontSizeMultiplier })
30
+ const styles = useStyles({ fontScale })
31
+
32
+ const tile = (
33
+ <View
34
+ style={[styles.tile, shape === 'square' && styles.square]}
35
+ testID={testID}
36
+ accessibilityElementsHidden
37
+ >
38
+ <FontAwesomeIcon icon={icon} size={ICON_SIZE_PX * fontScale} color={styles.icon.color} />
39
+ </View>
40
+ )
28
41
 
29
42
  return (
30
43
  <AvatarPrimitive.Root size={size} maxFontSizeMultiplier={maxFontSizeMultiplier} style={style}>
31
- <AvatarPrimitive.Mask>
32
- <View style={styles.tile} testID={testID} accessibilityElementsHidden>
33
- <FontAwesomeIcon icon={icon} size={ICON_SIZE_PX * fontScale} color={styles.icon.color} />
34
- </View>
35
- </AvatarPrimitive.Mask>
44
+ {shape === 'circle' ? <AvatarPrimitive.Mask>{tile}</AvatarPrimitive.Mask> : tile}
36
45
  </AvatarPrimitive.Root>
37
46
  )
38
47
  }
39
48
 
40
- const useStyles = () => {
49
+ const useStyles = ({ fontScale }: { fontScale: number }) => {
41
50
  const { colors } = useTheme()
42
51
 
43
52
  return StyleSheet.create({
@@ -47,6 +56,10 @@ const useStyles = () => {
47
56
  justifyContent: 'center',
48
57
  backgroundColor: colors.fillColorNeutral070,
49
58
  },
59
+ square: {
60
+ borderRadius: SQUARE_BORDER_RADIUS_PX * fontScale,
61
+ overflow: 'hidden',
62
+ },
50
63
  icon: {
51
64
  color: colors.iconColorDefaultPrimary,
52
65
  },
@@ -130,7 +130,7 @@ export const OtherRow = ({ show_archived, isActive, filter, description, icon }:
130
130
 
131
131
  return (
132
132
  <PressableRow onPress={() => setAppFilter({ show_archived })} isActive={isActive}>
133
- <IconTile icon={icon} size="lg" />
133
+ <IconTile icon={icon} shape="square" size="lg" />
134
134
  <View style={styles.rowTextContainer}>
135
135
  <Heading variant="h3" style={styles.rowTitle}>
136
136
  {filter}