@planningcenter/chat-react-native 4.4.1-qa-staging.29 → 4.4.1-qa-staging.31

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.
Files changed (82) hide show
  1. package/build/components/conversation/message_list.d.ts.map +1 -1
  2. package/build/components/conversation/message_list.js +155 -123
  3. package/build/components/conversation/message_list.js.map +1 -1
  4. package/build/components/conversations/conversations.d.ts.map +1 -1
  5. package/build/components/conversations/conversations.js +1 -0
  6. package/build/components/conversations/conversations.js.map +1 -1
  7. package/build/components/display/filter_dropdown.d.ts +16 -0
  8. package/build/components/display/filter_dropdown.d.ts.map +1 -1
  9. package/build/components/display/filter_dropdown.js +103 -57
  10. package/build/components/display/filter_dropdown.js.map +1 -1
  11. package/build/components/display/keyboard_scroll_view.d.ts.map +1 -1
  12. package/build/components/display/keyboard_scroll_view.js +1 -0
  13. package/build/components/display/keyboard_scroll_view.js.map +1 -1
  14. package/build/hooks/direct_messages/use_direct_message_candidates.d.ts +3 -1
  15. package/build/hooks/direct_messages/use_direct_message_candidates.d.ts.map +1 -1
  16. package/build/hooks/direct_messages/use_direct_message_candidates.js +42 -29
  17. package/build/hooks/direct_messages/use_direct_message_candidates.js.map +1 -1
  18. package/build/navigation/index.d.ts.map +1 -1
  19. package/build/navigation/index.js +11 -3
  20. package/build/navigation/index.js.map +1 -1
  21. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  22. package/build/screens/conversation_details_screen.js +1 -0
  23. package/build/screens/conversation_details_screen.js.map +1 -1
  24. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts.map +1 -1
  25. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js +1 -0
  26. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js.map +1 -1
  27. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
  28. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +409 -308
  29. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
  30. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts.map +1 -1
  31. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js +1 -0
  32. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js.map +1 -1
  33. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts.map +1 -1
  34. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js +1 -0
  35. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js.map +1 -1
  36. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -1
  37. package/build/screens/conversations/components/filter_dropdown_list_header_component.js +146 -81
  38. package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -1
  39. package/build/screens/get_help_screen.js +56 -62
  40. package/build/screens/get_help_screen.js.map +1 -1
  41. package/build/screens/group_notification_settings_screen.js +3 -2
  42. package/build/screens/group_notification_settings_screen.js.map +1 -1
  43. package/build/screens/notification_settings_screen.d.ts.map +1 -1
  44. package/build/screens/notification_settings_screen.js +1 -0
  45. package/build/screens/notification_settings_screen.js.map +1 -1
  46. package/build/screens/preferred_app_selection_screen.js +45 -39
  47. package/build/screens/preferred_app_selection_screen.js.map +1 -1
  48. package/build/screens/search/components/search_results_list.d.ts +4 -1
  49. package/build/screens/search/components/search_results_list.d.ts.map +1 -1
  50. package/build/screens/search/components/search_results_list.js +176 -138
  51. package/build/screens/search/components/search_results_list.js.map +1 -1
  52. package/build/screens/search/search_screen.d.ts.map +1 -1
  53. package/build/screens/search/search_screen.js +21 -28
  54. package/build/screens/search/search_screen.js.map +1 -1
  55. package/build/screens/settings_screen.d.ts.map +1 -1
  56. package/build/screens/settings_screen.js +7 -6
  57. package/build/screens/settings_screen.js.map +1 -1
  58. package/package.json +3 -3
  59. package/src/components/conversation/__tests__/message_list.test.tsx +4 -0
  60. package/src/components/conversation/message_list.tsx +6 -0
  61. package/src/components/conversations/conversations.tsx +1 -0
  62. package/src/components/display/filter_dropdown.tsx +50 -18
  63. package/src/components/display/keyboard_scroll_view.tsx +1 -0
  64. package/src/hooks/direct_messages/use_direct_message_candidates.ts +2 -2
  65. package/src/navigation/index.tsx +11 -2
  66. package/src/screens/conversation_details_screen.tsx +1 -0
  67. package/src/screens/conversation_select_recipients/__tests__/conversation_select_direct_message_recipients_screen.test.tsx +83 -0
  68. package/src/screens/conversation_select_recipients/conversation_new_entry_screen.tsx +4 -1
  69. package/src/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.tsx +104 -69
  70. package/src/screens/conversation_select_recipients/conversation_select_group_recipients_screen.tsx +1 -0
  71. package/src/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.tsx +1 -0
  72. package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +0 -21
  73. package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +39 -8
  74. package/src/screens/get_help_screen.tsx +4 -4
  75. package/src/screens/group_notification_settings_screen.tsx +3 -3
  76. package/src/screens/notification_settings_screen.tsx +1 -0
  77. package/src/screens/preferred_app_selection_screen.tsx +4 -4
  78. package/src/screens/search/__tests__/search_screen.test.tsx +5 -7
  79. package/src/screens/search/components/__tests__/search_results_list.test.tsx +6 -2
  80. package/src/screens/search/components/search_results_list.tsx +29 -8
  81. package/src/screens/search/search_screen.tsx +8 -18
  82. package/src/screens/settings_screen.tsx +25 -25
@@ -2,7 +2,7 @@ import { c as _c } from "react/compiler-runtime";
2
2
  import { useNavigation, useRoute } from '@react-navigation/native';
3
3
  import React, { useCallback, useMemo, useState } from 'react';
4
4
  import { Alert, StyleSheet, View } from 'react-native';
5
- import { FilterDropdown, TextButton } from '../../../components';
5
+ import { FilterDropdown, FilterDropdownTrigger, TextButton } from '../../../components';
6
6
  import { useCanBrowseArchivedConversations, useCanCreateConversations, useCurrentPersonCache, useDirectMessagesEligible, useHasDirectMessages, useNewConversationEntry, useTheme } from '../../../hooks';
7
7
  import { useApiGet } from '../../../hooks/use_api';
8
8
  import { useMarkAllRead } from '../../../hooks/use_conversations_actions';
@@ -42,7 +42,7 @@ const FILTER_PARAMS = {
42
42
  }
43
43
  };
44
44
  export const FilterDropdownListHeaderComponent = () => {
45
- const $ = _c(93);
45
+ const $ = _c(99);
46
46
  const navigation = useNavigation();
47
47
  let t0;
48
48
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -420,6 +420,8 @@ export const FilterDropdownListHeaderComponent = () => {
420
420
  const showMoreFilters = canFilterByGroups || canFilterByTeams || canBrowseArchived;
421
421
  const styles = useStyles();
422
422
  const [rowWidth, setRowWidth] = useState();
423
+ const [actionsWidth, setActionsWidth] = useState();
424
+ const [widestFixedLabelWidth, setWidestFixedLabelWidth] = useState();
423
425
  let t26;
424
426
  if ($[55] === Symbol.for("react.memo_cache_sentinel")) {
425
427
  t26 = event => {
@@ -430,10 +432,68 @@ export const FilterDropdownListHeaderComponent = () => {
430
432
  t26 = $[55];
431
433
  }
432
434
  const handleRowLayout = t26;
433
- const triggerMaxWidth = rowWidth !== undefined ? rowWidth - ROW_PADDING_HORIZONTAL * 2 : undefined;
434
435
  let t27;
435
- if ($[56] !== active || $[57] !== handleOpenConversationFilters || $[58] !== handleSelectFilter || $[59] !== options || $[60] !== showMoreFilters || $[61] !== triggerLabel || $[62] !== triggerMaxWidth) {
436
- t27 = /*#__PURE__*/_jsx(FilterDropdown, {
436
+ if ($[56] === Symbol.for("react.memo_cache_sentinel")) {
437
+ t27 = event_0 => {
438
+ setActionsWidth(event_0.nativeEvent.layout.width);
439
+ };
440
+ $[56] = t27;
441
+ } else {
442
+ t27 = $[56];
443
+ }
444
+ const handleActionsLayout = t27;
445
+ let t28;
446
+ if ($[57] === Symbol.for("react.memo_cache_sentinel")) {
447
+ t28 = event_1 => {
448
+ setWidestFixedLabelWidth(event_1.nativeEvent.layout.width);
449
+ };
450
+ $[57] = t28;
451
+ } else {
452
+ t28 = $[57];
453
+ }
454
+ const handleWidestFixedLabelLayout = t28;
455
+ let t29;
456
+ bb1: {
457
+ if (rowWidth === undefined) {
458
+ t29 = undefined;
459
+ break bb1;
460
+ }
461
+ const rowContentWidth = rowWidth - ROW_PADDING_HORIZONTAL * 2;
462
+ if (actionsWidth === undefined || widestFixedLabelWidth === undefined) {
463
+ t29 = rowContentWidth;
464
+ break bb1;
465
+ }
466
+ const roomBesideActions = rowContentWidth - actionsWidth - HEADING_ROW_GAP;
467
+ t29 = roomBesideActions >= widestFixedLabelWidth ? roomBesideActions : rowContentWidth;
468
+ }
469
+ const triggerMaxWidth = t29;
470
+ let t30;
471
+ if ($[58] === Symbol.for("react.memo_cache_sentinel")) {
472
+ t30 = /*#__PURE__*/_jsx(FilterDropdownTrigger, {
473
+ label: ALL_CONVERSATIONS_LABEL,
474
+ onLayout: handleWidestFixedLabelLayout,
475
+ accessibilityElementsHidden: true,
476
+ importantForAccessibility: "no-hide-descendants"
477
+ });
478
+ $[58] = t30;
479
+ } else {
480
+ t30 = $[58];
481
+ }
482
+ let t31;
483
+ if ($[59] !== styles.widestFixedLabel) {
484
+ t31 = /*#__PURE__*/_jsx(View, {
485
+ style: styles.widestFixedLabel,
486
+ pointerEvents: "none",
487
+ children: t30
488
+ });
489
+ $[59] = styles.widestFixedLabel;
490
+ $[60] = t31;
491
+ } else {
492
+ t31 = $[60];
493
+ }
494
+ let t32;
495
+ if ($[61] !== active || $[62] !== handleOpenConversationFilters || $[63] !== handleSelectFilter || $[64] !== options || $[65] !== showMoreFilters || $[66] !== triggerLabel || $[67] !== triggerMaxWidth) {
496
+ t32 = /*#__PURE__*/_jsx(FilterDropdown, {
437
497
  options: options,
438
498
  selectedId: active,
439
499
  onSelect: handleSelectFilter,
@@ -442,105 +502,105 @@ export const FilterDropdownListHeaderComponent = () => {
442
502
  triggerLabel: triggerLabel,
443
503
  maxWidth: triggerMaxWidth
444
504
  });
445
- $[56] = active;
446
- $[57] = handleOpenConversationFilters;
447
- $[58] = handleSelectFilter;
448
- $[59] = options;
449
- $[60] = showMoreFilters;
450
- $[61] = triggerLabel;
451
- $[62] = triggerMaxWidth;
452
- $[63] = t27;
505
+ $[61] = active;
506
+ $[62] = handleOpenConversationFilters;
507
+ $[63] = handleSelectFilter;
508
+ $[64] = options;
509
+ $[65] = showMoreFilters;
510
+ $[66] = triggerLabel;
511
+ $[67] = triggerMaxWidth;
512
+ $[68] = t32;
453
513
  } else {
454
- t27 = $[63];
514
+ t32 = $[68];
455
515
  }
456
- let t28;
457
- if ($[64] !== styles.titleContainer || $[65] !== t27) {
458
- t28 = /*#__PURE__*/_jsx(View, {
516
+ let t33;
517
+ if ($[69] !== styles.titleContainer || $[70] !== t32) {
518
+ t33 = /*#__PURE__*/_jsx(View, {
459
519
  style: styles.titleContainer,
460
- children: t27
520
+ children: t32
461
521
  });
462
- $[64] = styles.titleContainer;
463
- $[65] = t27;
464
- $[66] = t28;
522
+ $[69] = styles.titleContainer;
523
+ $[70] = t32;
524
+ $[71] = t33;
465
525
  } else {
466
- t28 = $[66];
526
+ t33 = $[71];
467
527
  }
468
- let t29;
469
- if ($[67] !== handleChatSettings) {
470
- t29 = /*#__PURE__*/_jsx(ListHeaderActionButton, {
528
+ let t34;
529
+ if ($[72] !== handleChatSettings) {
530
+ t34 = /*#__PURE__*/_jsx(ListHeaderActionButton, {
471
531
  name: "general.cog",
472
532
  onPress: handleChatSettings,
473
533
  accessibilityLabel: "Chat settings",
474
534
  testID: "conversations-chat-settings-button",
475
535
  maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER_LANDMARK
476
536
  });
477
- $[67] = handleChatSettings;
478
- $[68] = t29;
537
+ $[72] = handleChatSettings;
538
+ $[73] = t34;
479
539
  } else {
480
- t29 = $[68];
540
+ t34 = $[73];
481
541
  }
482
- let t30;
483
- if ($[69] !== canCreateConversations || $[70] !== handleNewConversationNavigation) {
484
- t30 = canCreateConversations && /*#__PURE__*/_jsx(ListHeaderActionButton, {
542
+ let t35;
543
+ if ($[74] !== canCreateConversations || $[75] !== handleNewConversationNavigation) {
544
+ t35 = canCreateConversations && /*#__PURE__*/_jsx(ListHeaderActionButton, {
485
545
  name: "churchCenter.signups",
486
546
  onPress: handleNewConversationNavigation,
487
547
  accessibilityLabel: "New conversation",
488
548
  testID: "conversations-new-conversation-button",
489
549
  maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER_LANDMARK
490
550
  });
491
- $[69] = canCreateConversations;
492
- $[70] = handleNewConversationNavigation;
493
- $[71] = t30;
551
+ $[74] = canCreateConversations;
552
+ $[75] = handleNewConversationNavigation;
553
+ $[76] = t35;
494
554
  } else {
495
- t30 = $[71];
555
+ t35 = $[76];
496
556
  }
497
- let t31;
498
- if ($[72] !== handleSearch || $[73] !== searchEnabled) {
499
- t31 = searchEnabled && /*#__PURE__*/_jsx(ListHeaderActionButton, {
557
+ let t36;
558
+ if ($[77] !== handleSearch || $[78] !== searchEnabled) {
559
+ t36 = searchEnabled && /*#__PURE__*/_jsx(ListHeaderActionButton, {
500
560
  name: "general.search",
501
561
  onPress: handleSearch,
502
562
  accessibilityLabel: "Search",
503
563
  testID: "conversations-search-button",
504
564
  maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER_LANDMARK
505
565
  });
506
- $[72] = handleSearch;
507
- $[73] = searchEnabled;
508
- $[74] = t31;
566
+ $[77] = handleSearch;
567
+ $[78] = searchEnabled;
568
+ $[79] = t36;
509
569
  } else {
510
- t31 = $[74];
570
+ t36 = $[79];
511
571
  }
512
- let t32;
513
- if ($[75] !== styles.actionsContainer || $[76] !== t29 || $[77] !== t30 || $[78] !== t31) {
514
- t32 = /*#__PURE__*/_jsxs(View, {
572
+ let t37;
573
+ if ($[80] !== styles.actionsContainer || $[81] !== t34 || $[82] !== t35 || $[83] !== t36) {
574
+ t37 = /*#__PURE__*/_jsxs(View, {
515
575
  style: styles.actionsContainer,
516
- children: [t29, t30, t31]
576
+ onLayout: handleActionsLayout,
577
+ children: [t34, t35, t36]
517
578
  });
518
- $[75] = styles.actionsContainer;
519
- $[76] = t29;
520
- $[77] = t30;
521
- $[78] = t31;
522
- $[79] = t32;
579
+ $[80] = styles.actionsContainer;
580
+ $[81] = t34;
581
+ $[82] = t35;
582
+ $[83] = t36;
583
+ $[84] = t37;
523
584
  } else {
524
- t32 = $[79];
585
+ t37 = $[84];
525
586
  }
526
- let t33;
527
- if ($[80] !== styles.headingRow || $[81] !== t28 || $[82] !== t32) {
528
- t33 = /*#__PURE__*/_jsxs(View, {
587
+ let t38;
588
+ if ($[85] !== styles.headingRow || $[86] !== t33 || $[87] !== t37) {
589
+ t38 = /*#__PURE__*/_jsxs(View, {
529
590
  style: styles.headingRow,
530
591
  onLayout: handleRowLayout,
531
- testID: "conversations-filter-heading-row",
532
- children: [t28, t32]
592
+ children: [t33, t37]
533
593
  });
534
- $[80] = styles.headingRow;
535
- $[81] = t28;
536
- $[82] = t32;
537
- $[83] = t33;
594
+ $[85] = styles.headingRow;
595
+ $[86] = t33;
596
+ $[87] = t37;
597
+ $[88] = t38;
538
598
  } else {
539
- t33 = $[83];
599
+ t38 = $[88];
540
600
  }
541
- let t34;
542
- if ($[84] !== alertMarkAllRead || $[85] !== isPending || $[86] !== show_archived || $[87] !== styles.markAllReadRow) {
543
- t34 = !show_archived && /*#__PURE__*/_jsx(View, {
601
+ let t39;
602
+ if ($[89] !== alertMarkAllRead || $[90] !== isPending || $[91] !== show_archived || $[92] !== styles.markAllReadRow) {
603
+ t39 = !show_archived && /*#__PURE__*/_jsx(View, {
544
604
  style: styles.markAllReadRow,
545
605
  children: /*#__PURE__*/_jsx(TextButton, {
546
606
  onPress: alertMarkAllRead,
@@ -551,28 +611,29 @@ export const FilterDropdownListHeaderComponent = () => {
551
611
  children: "Mark all read"
552
612
  })
553
613
  });
554
- $[84] = alertMarkAllRead;
555
- $[85] = isPending;
556
- $[86] = show_archived;
557
- $[87] = styles.markAllReadRow;
558
- $[88] = t34;
614
+ $[89] = alertMarkAllRead;
615
+ $[90] = isPending;
616
+ $[91] = show_archived;
617
+ $[92] = styles.markAllReadRow;
618
+ $[93] = t39;
559
619
  } else {
560
- t34 = $[88];
620
+ t39 = $[93];
561
621
  }
562
- let t35;
563
- if ($[89] !== styles.listHeader || $[90] !== t33 || $[91] !== t34) {
564
- t35 = /*#__PURE__*/_jsxs(View, {
622
+ let t40;
623
+ if ($[94] !== styles.listHeader || $[95] !== t31 || $[96] !== t38 || $[97] !== t39) {
624
+ t40 = /*#__PURE__*/_jsxs(View, {
565
625
  style: styles.listHeader,
566
- children: [t33, t34]
626
+ children: [t31, t38, t39]
567
627
  });
568
- $[89] = styles.listHeader;
569
- $[90] = t33;
570
- $[91] = t34;
571
- $[92] = t35;
628
+ $[94] = styles.listHeader;
629
+ $[95] = t31;
630
+ $[96] = t38;
631
+ $[97] = t39;
632
+ $[98] = t40;
572
633
  } else {
573
- t35 = $[92];
634
+ t40 = $[98];
574
635
  }
575
- return t35;
636
+ return t40;
576
637
  };
577
638
  const useStyles = () => {
578
639
  const $ = _c(2);
@@ -597,6 +658,10 @@ const useStyles = () => {
597
658
  titleContainer: {
598
659
  flexShrink: 0
599
660
  },
661
+ widestFixedLabel: {
662
+ position: "absolute",
663
+ opacity: 0
664
+ },
600
665
  actionsContainer: {
601
666
  flexDirection: "row",
602
667
  gap: 8,
@@ -1 +1 @@
1
- {"version":3,"file":"filter_dropdown_list_header_component.js","names":["useNavigation","useRoute","React","useCallback","useMemo","useState","Alert","StyleSheet","View","FilterDropdown","TextButton","useCanBrowseArchivedConversations","useCanCreateConversations","useCurrentPersonCache","useDirectMessagesEligible","useHasDirectMessages","useNewConversationEntry","useTheme","useApiGet","useMarkAllRead","useCanDisplayGroups","useNewConversationFromFilter","useSearchEnabled","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Haptic","ListHeaderActionButton","jsx","_jsx","jsxs","_jsxs","ROW_PADDING_HORIZONTAL","HEADING_ROW_GAP","ALL_CONVERSATIONS_LABEL","ARCHIVED_LABEL","FilterTypes","FILTER_PARAMS","All","Groups","group_source_app_name","Teams","DMs","show_direct_messages","Unread","show_unread","FilterDropdownListHeaderComponent","$","_c","navigation","t0","Symbol","for","source_app_name","source_type","canFilterByTeams","t1","canFilterByGroups","directMessagesEligible","hasDirectMessages","canFilterByDMs","canBrowseArchived","searchEnabled","route","t2","params","title","chat_group_graph_id","t3","show_archived","undefined","currentPersonCache","markAllRead","isPending","canCreateConversations","entryMode","newConversationFromFilter","t4","t5","fields","Group","t6","url","data","app","t7","t8","enabled","group","t9","bb0","More","test","active","t10","id","label","t11","t12","t13","t14","t15","options","t16","name","t17","triggerLabel","t18","navigate","screen","handleNewConversationNavigation","t19","setParams","handleSetFilter","t20","params_0","handleSelectFilter","t21","handleSearch","t22","handleChatSettings","t23","handleOpenConversationFilters","t24","update","unreadCount","notificationSuccess","handleMarkAllRead","t25","alert","text","onPress","alertMarkAllRead","showMoreFilters","styles","useStyles","rowWidth","setRowWidth","t26","event","nativeEvent","layout","width","handleRowLayout","triggerMaxWidth","t27","t28","titleContainer","style","children","t29","accessibilityLabel","testID","t30","t31","t32","actionsContainer","t33","headingRow","t34","markAllReadRow","accessibilityShowsLargeContentViewer","accessibilityLargeContentTitle","t35","listHeader","theme","colors","fillColorNeutral050Base","create","borderBottomWidth","borderBottomColor","paddingBottom","gap","flexDirection","flexWrap","alignItems","justifyContent","paddingHorizontal","flexShrink"],"sources":["../../../../src/screens/conversations/components/filter_dropdown_list_header_component.tsx"],"sourcesContent":["import { RouteProp, useNavigation, useRoute } from '@react-navigation/native'\nimport React, { useCallback, useMemo, useState } from 'react'\nimport { Alert, LayoutChangeEvent, StyleSheet, View } from 'react-native'\nimport { FilterDropdown, FilterDropdownOption, TextButton } from '../../../components'\nimport {\n useCanBrowseArchivedConversations,\n useCanCreateConversations,\n useCurrentPersonCache,\n useDirectMessagesEligible,\n useHasDirectMessages,\n useNewConversationEntry,\n useTheme,\n} from '../../../hooks'\nimport { useApiGet } from '../../../hooks/use_api'\nimport { useMarkAllRead } from '../../../hooks/use_conversations_actions'\nimport { useCanDisplayGroups } from '../../../hooks/use_groups'\nimport { useNewConversationFromFilter } from '../../../hooks/use_new_conversation_from_filter'\nimport { useSearchEnabled } from '../../../hooks/use_search_enabled'\nimport { GraphId, GroupResource } from '../../../types/resources/group_resource'\nimport { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../../utils'\nimport { Haptic } from '../../../utils/native_adapters'\nimport { ConversationFiltersParams } from '../../conversation_filters/screen_props'\nimport { ConversationsScreenProps } from '../conversations_screen'\nimport { ListHeaderActionButton } from './list_header_action_button'\n\nconst ROW_PADDING_HORIZONTAL = 16\nconst HEADING_ROW_GAP = 12\nconst ALL_CONVERSATIONS_LABEL = 'All conversations'\nconst ARCHIVED_LABEL = 'Archived'\n\nenum FilterTypes {\n All = 'All',\n Groups = 'Groups',\n Teams = 'Teams',\n DMs = 'DMs',\n Unread = 'Unread',\n More = 'More',\n}\n\nconst FILTER_PARAMS: Record<Exclude<FilterTypes, FilterTypes.More>, ConversationFiltersParams> = {\n [FilterTypes.All]: {},\n [FilterTypes.Groups]: { group_source_app_name: 'Groups' },\n [FilterTypes.Teams]: { group_source_app_name: 'Services' },\n [FilterTypes.DMs]: { show_direct_messages: true },\n [FilterTypes.Unread]: { show_unread: true },\n}\n\nexport const FilterDropdownListHeaderComponent = () => {\n const navigation = useNavigation()\n const canFilterByTeams = useCanDisplayGroups({ source_app_name: 'Services', source_type: 'Team' })\n const canFilterByGroups = useCanDisplayGroups({ source_app_name: 'Groups', source_type: 'Group' })\n const directMessagesEligible = useDirectMessagesEligible()\n const hasDirectMessages = useHasDirectMessages()\n const canFilterByDMs = directMessagesEligible && hasDirectMessages\n const canBrowseArchived = useCanBrowseArchivedConversations()\n const searchEnabled = useSearchEnabled()\n const route = useRoute<RouteProp<ConversationsScreenProps['route']>>()\n const {\n title,\n chat_group_graph_id,\n group_source_app_name = '',\n show_direct_messages,\n show_archived,\n show_unread,\n } = route.params || {}\n const currentPersonCache = useCurrentPersonCache()\n const { markAllRead, isPending } = useMarkAllRead()\n const canCreateConversations = useCanCreateConversations()\n const entryMode = useNewConversationEntry()\n const newConversationFromFilter = useNewConversationFromFilter(\n chat_group_graph_id as GraphId | undefined\n )\n const { data: group } = useApiGet<GroupResource>(\n { url: `/me/groups/${chat_group_graph_id}`, data: { fields: { Group: [] } }, app: 'chat' },\n { enabled: !!chat_group_graph_id }\n )\n\n const active: FilterTypes = useMemo(() => {\n if (chat_group_graph_id || show_archived) {\n return FilterTypes.More\n } else if (/groups/i.test(group_source_app_name)) {\n return FilterTypes.Groups\n } else if (/services/i.test(group_source_app_name)) {\n return FilterTypes.Teams\n } else if (show_direct_messages) {\n return FilterTypes.DMs\n } else if (show_unread) {\n return FilterTypes.Unread\n }\n\n return FilterTypes.All\n }, [chat_group_graph_id, group_source_app_name, show_direct_messages, show_archived, show_unread])\n\n const options: FilterDropdownOption[] = useMemo(\n () => [\n { id: FilterTypes.All, label: FilterTypes.All },\n ...(canFilterByGroups ? [{ id: FilterTypes.Groups, label: FilterTypes.Groups }] : []),\n ...(canFilterByTeams ? [{ id: FilterTypes.Teams, label: FilterTypes.Teams }] : []),\n ...(canFilterByDMs ? [{ id: FilterTypes.DMs, label: FilterTypes.DMs }] : []),\n { id: FilterTypes.Unread, label: FilterTypes.Unread },\n ],\n [canFilterByGroups, canFilterByTeams, canFilterByDMs]\n )\n\n const triggerLabel = useMemo(() => {\n if (chat_group_graph_id) return group?.name || title || ALL_CONVERSATIONS_LABEL\n if (show_archived) return ARCHIVED_LABEL\n if (active === FilterTypes.All) return ALL_CONVERSATIONS_LABEL\n\n return active\n }, [chat_group_graph_id, group?.name, title, show_archived, active])\n\n const handleNewConversationNavigation = useCallback(() => {\n if (newConversationFromFilter || entryMode === 'select_type') {\n return navigation.navigate('ConversationSelectType', {\n ...route.params,\n newConversationFromFilter,\n })\n }\n\n if (entryMode === 'groups') {\n return navigation.navigate('New', {\n screen: 'ConversationSelectGroupRecipients',\n params: { ...route.params },\n })\n }\n\n if (entryMode === 'teams') {\n return navigation.navigate('New', {\n screen: 'ConversationSelectTeamsILeadRecipients',\n params: { ...route.params },\n })\n }\n\n if (entryMode === 'direct_message') {\n return navigation.navigate('New', {\n screen: 'ConversationSelectDirectMessageRecipients',\n params: { ...route.params },\n })\n }\n }, [navigation, route.params, entryMode, newConversationFromFilter])\n\n const handleSetFilter = useCallback(\n (params: ConversationFiltersParams) => {\n navigation.setParams({\n title: undefined,\n chat_group_graph_id: undefined,\n group_source_app_name: undefined,\n show_direct_messages: undefined,\n show_archived: undefined,\n show_unread: undefined,\n ...params,\n })\n },\n [navigation]\n )\n\n const handleSelectFilter = useCallback(\n (id: string) => {\n const params = FILTER_PARAMS[id as keyof typeof FILTER_PARAMS]\n if (params) handleSetFilter(params)\n },\n [handleSetFilter]\n )\n\n const handleSearch = useCallback(() => {\n navigation.navigate('Search')\n }, [navigation])\n\n const handleChatSettings = useCallback(() => {\n navigation.navigate('ChatSettings', {})\n }, [navigation])\n\n const handleOpenConversationFilters = useCallback(() => {\n navigation.navigate('ConversationFilters', {\n chat_group_graph_id,\n group_source_app_name,\n show_direct_messages,\n show_archived,\n show_unread,\n })\n }, [\n navigation,\n chat_group_graph_id,\n group_source_app_name,\n show_direct_messages,\n show_archived,\n show_unread,\n ])\n\n const handleMarkAllRead = useCallback(() => {\n currentPersonCache.update({ unreadCount: 0 })\n Haptic.notificationSuccess()\n markAllRead()\n }, [currentPersonCache, markAllRead])\n\n const alertMarkAllRead = useCallback(() => {\n if (active === FilterTypes.All) return handleMarkAllRead()\n\n Alert.alert('Mark all read', 'This includes conversations not shown by the current filter.', [\n { text: 'Cancel' },\n { text: 'OK', onPress: () => handleMarkAllRead() },\n ])\n }, [active, handleMarkAllRead])\n\n const showMoreFilters = canFilterByGroups || canFilterByTeams || canBrowseArchived\n\n const styles = useStyles()\n\n const [rowWidth, setRowWidth] = useState<number>()\n const handleRowLayout = useCallback((event: LayoutChangeEvent) => {\n setRowWidth(event.nativeEvent.layout.width)\n }, [])\n const triggerMaxWidth = rowWidth !== undefined ? rowWidth - ROW_PADDING_HORIZONTAL * 2 : undefined\n\n return (\n <View style={styles.listHeader}>\n <View\n style={styles.headingRow}\n onLayout={handleRowLayout}\n testID=\"conversations-filter-heading-row\"\n >\n <View style={styles.titleContainer}>\n <FilterDropdown\n options={options}\n selectedId={active}\n onSelect={handleSelectFilter}\n onMoreFilters={handleOpenConversationFilters}\n showMoreFilters={showMoreFilters}\n triggerLabel={triggerLabel}\n maxWidth={triggerMaxWidth}\n />\n </View>\n <View style={styles.actionsContainer}>\n <ListHeaderActionButton\n name=\"general.cog\"\n onPress={handleChatSettings}\n accessibilityLabel=\"Chat settings\"\n testID=\"conversations-chat-settings-button\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n />\n {canCreateConversations && (\n <ListHeaderActionButton\n name=\"churchCenter.signups\"\n onPress={handleNewConversationNavigation}\n accessibilityLabel=\"New conversation\"\n testID=\"conversations-new-conversation-button\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n />\n )}\n {searchEnabled && (\n <ListHeaderActionButton\n name=\"general.search\"\n onPress={handleSearch}\n accessibilityLabel=\"Search\"\n testID=\"conversations-search-button\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n />\n )}\n </View>\n </View>\n {!show_archived && (\n <View style={styles.markAllReadRow}>\n <TextButton\n onPress={alertMarkAllRead}\n disabled={isPending}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle=\"Mark all read\"\n >\n Mark all read\n </TextButton>\n </View>\n )}\n </View>\n )\n}\n\nconst useStyles = () => {\n const theme = useTheme()\n\n return StyleSheet.create({\n listHeader: {\n borderBottomWidth: 1,\n borderBottomColor: theme.colors.fillColorNeutral050Base,\n paddingBottom: 16,\n gap: 8,\n },\n headingRow: {\n gap: HEADING_ROW_GAP,\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: ROW_PADDING_HORIZONTAL,\n },\n titleContainer: {\n flexShrink: 0,\n },\n actionsContainer: {\n flexDirection: 'row',\n gap: 8,\n alignItems: 'center',\n },\n markAllReadRow: {\n alignItems: 'flex-start',\n paddingHorizontal: ROW_PADDING_HORIZONTAL,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"filter_dropdown_list_header_component.js","names":["useNavigation","useRoute","React","useCallback","useMemo","useState","Alert","StyleSheet","View","FilterDropdown","FilterDropdownTrigger","TextButton","useCanBrowseArchivedConversations","useCanCreateConversations","useCurrentPersonCache","useDirectMessagesEligible","useHasDirectMessages","useNewConversationEntry","useTheme","useApiGet","useMarkAllRead","useCanDisplayGroups","useNewConversationFromFilter","useSearchEnabled","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Haptic","ListHeaderActionButton","jsx","_jsx","jsxs","_jsxs","ROW_PADDING_HORIZONTAL","HEADING_ROW_GAP","ALL_CONVERSATIONS_LABEL","ARCHIVED_LABEL","FilterTypes","FILTER_PARAMS","All","Groups","group_source_app_name","Teams","DMs","show_direct_messages","Unread","show_unread","FilterDropdownListHeaderComponent","$","_c","navigation","t0","Symbol","for","source_app_name","source_type","canFilterByTeams","t1","canFilterByGroups","directMessagesEligible","hasDirectMessages","canFilterByDMs","canBrowseArchived","searchEnabled","route","t2","params","title","chat_group_graph_id","t3","show_archived","undefined","currentPersonCache","markAllRead","isPending","canCreateConversations","entryMode","newConversationFromFilter","t4","t5","fields","Group","t6","url","data","app","t7","t8","enabled","group","t9","bb0","More","test","active","t10","id","label","t11","t12","t13","t14","t15","options","t16","name","t17","triggerLabel","t18","navigate","screen","handleNewConversationNavigation","t19","setParams","handleSetFilter","t20","params_0","handleSelectFilter","t21","handleSearch","t22","handleChatSettings","t23","handleOpenConversationFilters","t24","update","unreadCount","notificationSuccess","handleMarkAllRead","t25","alert","text","onPress","alertMarkAllRead","showMoreFilters","styles","useStyles","rowWidth","setRowWidth","actionsWidth","setActionsWidth","widestFixedLabelWidth","setWidestFixedLabelWidth","t26","event","nativeEvent","layout","width","handleRowLayout","t27","event_0","handleActionsLayout","t28","event_1","handleWidestFixedLabelLayout","t29","bb1","rowContentWidth","roomBesideActions","triggerMaxWidth","t30","accessibilityElementsHidden","importantForAccessibility","t31","widestFixedLabel","style","pointerEvents","children","t32","t33","titleContainer","t34","accessibilityLabel","testID","t35","t36","t37","actionsContainer","t38","headingRow","t39","markAllReadRow","accessibilityShowsLargeContentViewer","accessibilityLargeContentTitle","t40","listHeader","theme","colors","fillColorNeutral050Base","create","borderBottomWidth","borderBottomColor","paddingBottom","gap","flexDirection","flexWrap","alignItems","justifyContent","paddingHorizontal","flexShrink","position","opacity"],"sources":["../../../../src/screens/conversations/components/filter_dropdown_list_header_component.tsx"],"sourcesContent":["import { RouteProp, useNavigation, useRoute } from '@react-navigation/native'\nimport React, { useCallback, useMemo, useState } from 'react'\nimport { Alert, LayoutChangeEvent, StyleSheet, View } from 'react-native'\nimport {\n FilterDropdown,\n FilterDropdownOption,\n FilterDropdownTrigger,\n TextButton,\n} from '../../../components'\nimport {\n useCanBrowseArchivedConversations,\n useCanCreateConversations,\n useCurrentPersonCache,\n useDirectMessagesEligible,\n useHasDirectMessages,\n useNewConversationEntry,\n useTheme,\n} from '../../../hooks'\nimport { useApiGet } from '../../../hooks/use_api'\nimport { useMarkAllRead } from '../../../hooks/use_conversations_actions'\nimport { useCanDisplayGroups } from '../../../hooks/use_groups'\nimport { useNewConversationFromFilter } from '../../../hooks/use_new_conversation_from_filter'\nimport { useSearchEnabled } from '../../../hooks/use_search_enabled'\nimport { GraphId, GroupResource } from '../../../types/resources/group_resource'\nimport { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../../utils'\nimport { Haptic } from '../../../utils/native_adapters'\nimport { ConversationFiltersParams } from '../../conversation_filters/screen_props'\nimport { ConversationsScreenProps } from '../conversations_screen'\nimport { ListHeaderActionButton } from './list_header_action_button'\n\nconst ROW_PADDING_HORIZONTAL = 16\nconst HEADING_ROW_GAP = 12\nconst ALL_CONVERSATIONS_LABEL = 'All conversations'\nconst ARCHIVED_LABEL = 'Archived'\n\nenum FilterTypes {\n All = 'All',\n Groups = 'Groups',\n Teams = 'Teams',\n DMs = 'DMs',\n Unread = 'Unread',\n More = 'More',\n}\n\nconst FILTER_PARAMS: Record<Exclude<FilterTypes, FilterTypes.More>, ConversationFiltersParams> = {\n [FilterTypes.All]: {},\n [FilterTypes.Groups]: { group_source_app_name: 'Groups' },\n [FilterTypes.Teams]: { group_source_app_name: 'Services' },\n [FilterTypes.DMs]: { show_direct_messages: true },\n [FilterTypes.Unread]: { show_unread: true },\n}\n\nexport const FilterDropdownListHeaderComponent = () => {\n const navigation = useNavigation()\n const canFilterByTeams = useCanDisplayGroups({ source_app_name: 'Services', source_type: 'Team' })\n const canFilterByGroups = useCanDisplayGroups({ source_app_name: 'Groups', source_type: 'Group' })\n const directMessagesEligible = useDirectMessagesEligible()\n const hasDirectMessages = useHasDirectMessages()\n const canFilterByDMs = directMessagesEligible && hasDirectMessages\n const canBrowseArchived = useCanBrowseArchivedConversations()\n const searchEnabled = useSearchEnabled()\n const route = useRoute<RouteProp<ConversationsScreenProps['route']>>()\n const {\n title,\n chat_group_graph_id,\n group_source_app_name = '',\n show_direct_messages,\n show_archived,\n show_unread,\n } = route.params || {}\n const currentPersonCache = useCurrentPersonCache()\n const { markAllRead, isPending } = useMarkAllRead()\n const canCreateConversations = useCanCreateConversations()\n const entryMode = useNewConversationEntry()\n const newConversationFromFilter = useNewConversationFromFilter(\n chat_group_graph_id as GraphId | undefined\n )\n const { data: group } = useApiGet<GroupResource>(\n { url: `/me/groups/${chat_group_graph_id}`, data: { fields: { Group: [] } }, app: 'chat' },\n { enabled: !!chat_group_graph_id }\n )\n\n const active: FilterTypes = useMemo(() => {\n if (chat_group_graph_id || show_archived) {\n return FilterTypes.More\n } else if (/groups/i.test(group_source_app_name)) {\n return FilterTypes.Groups\n } else if (/services/i.test(group_source_app_name)) {\n return FilterTypes.Teams\n } else if (show_direct_messages) {\n return FilterTypes.DMs\n } else if (show_unread) {\n return FilterTypes.Unread\n }\n\n return FilterTypes.All\n }, [chat_group_graph_id, group_source_app_name, show_direct_messages, show_archived, show_unread])\n\n const options: FilterDropdownOption[] = useMemo(\n () => [\n { id: FilterTypes.All, label: FilterTypes.All },\n ...(canFilterByGroups ? [{ id: FilterTypes.Groups, label: FilterTypes.Groups }] : []),\n ...(canFilterByTeams ? [{ id: FilterTypes.Teams, label: FilterTypes.Teams }] : []),\n ...(canFilterByDMs ? [{ id: FilterTypes.DMs, label: FilterTypes.DMs }] : []),\n { id: FilterTypes.Unread, label: FilterTypes.Unread },\n ],\n [canFilterByGroups, canFilterByTeams, canFilterByDMs]\n )\n\n const triggerLabel = useMemo(() => {\n if (chat_group_graph_id) return group?.name || title || ALL_CONVERSATIONS_LABEL\n if (show_archived) return ARCHIVED_LABEL\n if (active === FilterTypes.All) return ALL_CONVERSATIONS_LABEL\n\n return active\n }, [chat_group_graph_id, group?.name, title, show_archived, active])\n\n const handleNewConversationNavigation = useCallback(() => {\n if (newConversationFromFilter || entryMode === 'select_type') {\n return navigation.navigate('ConversationSelectType', {\n ...route.params,\n newConversationFromFilter,\n })\n }\n\n if (entryMode === 'groups') {\n return navigation.navigate('New', {\n screen: 'ConversationSelectGroupRecipients',\n params: { ...route.params },\n })\n }\n\n if (entryMode === 'teams') {\n return navigation.navigate('New', {\n screen: 'ConversationSelectTeamsILeadRecipients',\n params: { ...route.params },\n })\n }\n\n if (entryMode === 'direct_message') {\n return navigation.navigate('New', {\n screen: 'ConversationSelectDirectMessageRecipients',\n params: { ...route.params },\n })\n }\n }, [navigation, route.params, entryMode, newConversationFromFilter])\n\n const handleSetFilter = useCallback(\n (params: ConversationFiltersParams) => {\n navigation.setParams({\n title: undefined,\n chat_group_graph_id: undefined,\n group_source_app_name: undefined,\n show_direct_messages: undefined,\n show_archived: undefined,\n show_unread: undefined,\n ...params,\n })\n },\n [navigation]\n )\n\n const handleSelectFilter = useCallback(\n (id: string) => {\n const params = FILTER_PARAMS[id as keyof typeof FILTER_PARAMS]\n if (params) handleSetFilter(params)\n },\n [handleSetFilter]\n )\n\n const handleSearch = useCallback(() => {\n navigation.navigate('Search')\n }, [navigation])\n\n const handleChatSettings = useCallback(() => {\n navigation.navigate('ChatSettings', {})\n }, [navigation])\n\n const handleOpenConversationFilters = useCallback(() => {\n navigation.navigate('ConversationFilters', {\n chat_group_graph_id,\n group_source_app_name,\n show_direct_messages,\n show_archived,\n show_unread,\n })\n }, [\n navigation,\n chat_group_graph_id,\n group_source_app_name,\n show_direct_messages,\n show_archived,\n show_unread,\n ])\n\n const handleMarkAllRead = useCallback(() => {\n currentPersonCache.update({ unreadCount: 0 })\n Haptic.notificationSuccess()\n markAllRead()\n }, [currentPersonCache, markAllRead])\n\n const alertMarkAllRead = useCallback(() => {\n if (active === FilterTypes.All) return handleMarkAllRead()\n\n Alert.alert('Mark all read', 'This includes conversations not shown by the current filter.', [\n { text: 'Cancel' },\n { text: 'OK', onPress: () => handleMarkAllRead() },\n ])\n }, [active, handleMarkAllRead])\n\n const showMoreFilters = canFilterByGroups || canFilterByTeams || canBrowseArchived\n\n const styles = useStyles()\n\n // Cap the trigger beside the actions while the widest fixed label fits there, so only longer\n // labels truncate; past that, cap it to the row and let the actions wrap.\n const [rowWidth, setRowWidth] = useState<number>()\n const [actionsWidth, setActionsWidth] = useState<number>()\n const [widestFixedLabelWidth, setWidestFixedLabelWidth] = useState<number>()\n const handleRowLayout = useCallback((event: LayoutChangeEvent) => {\n setRowWidth(event.nativeEvent.layout.width)\n }, [])\n const handleActionsLayout = useCallback((event: LayoutChangeEvent) => {\n setActionsWidth(event.nativeEvent.layout.width)\n }, [])\n const handleWidestFixedLabelLayout = useCallback((event: LayoutChangeEvent) => {\n setWidestFixedLabelWidth(event.nativeEvent.layout.width)\n }, [])\n const triggerMaxWidth = useMemo(() => {\n if (rowWidth === undefined) return undefined\n\n const rowContentWidth = rowWidth - ROW_PADDING_HORIZONTAL * 2\n if (actionsWidth === undefined || widestFixedLabelWidth === undefined) return rowContentWidth\n\n const roomBesideActions = rowContentWidth - actionsWidth - HEADING_ROW_GAP\n return roomBesideActions >= widestFixedLabelWidth ? roomBesideActions : rowContentWidth\n }, [rowWidth, actionsWidth, widestFixedLabelWidth])\n\n return (\n <View style={styles.listHeader}>\n <View style={styles.widestFixedLabel} pointerEvents=\"none\">\n <FilterDropdownTrigger\n label={ALL_CONVERSATIONS_LABEL}\n onLayout={handleWidestFixedLabelLayout}\n accessibilityElementsHidden\n importantForAccessibility=\"no-hide-descendants\"\n />\n </View>\n <View style={styles.headingRow} onLayout={handleRowLayout}>\n <View style={styles.titleContainer}>\n <FilterDropdown\n options={options}\n selectedId={active}\n onSelect={handleSelectFilter}\n onMoreFilters={handleOpenConversationFilters}\n showMoreFilters={showMoreFilters}\n triggerLabel={triggerLabel}\n maxWidth={triggerMaxWidth}\n />\n </View>\n <View style={styles.actionsContainer} onLayout={handleActionsLayout}>\n <ListHeaderActionButton\n name=\"general.cog\"\n onPress={handleChatSettings}\n accessibilityLabel=\"Chat settings\"\n testID=\"conversations-chat-settings-button\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n />\n {canCreateConversations && (\n <ListHeaderActionButton\n name=\"churchCenter.signups\"\n onPress={handleNewConversationNavigation}\n accessibilityLabel=\"New conversation\"\n testID=\"conversations-new-conversation-button\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n />\n )}\n {searchEnabled && (\n <ListHeaderActionButton\n name=\"general.search\"\n onPress={handleSearch}\n accessibilityLabel=\"Search\"\n testID=\"conversations-search-button\"\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n />\n )}\n </View>\n </View>\n {!show_archived && (\n <View style={styles.markAllReadRow}>\n <TextButton\n onPress={alertMarkAllRead}\n disabled={isPending}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle=\"Mark all read\"\n >\n Mark all read\n </TextButton>\n </View>\n )}\n </View>\n )\n}\n\nconst useStyles = () => {\n const theme = useTheme()\n\n return StyleSheet.create({\n listHeader: {\n borderBottomWidth: 1,\n borderBottomColor: theme.colors.fillColorNeutral050Base,\n paddingBottom: 16,\n gap: 8,\n },\n headingRow: {\n gap: HEADING_ROW_GAP,\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: ROW_PADDING_HORIZONTAL,\n },\n titleContainer: {\n flexShrink: 0,\n },\n widestFixedLabel: {\n position: 'absolute',\n opacity: 0,\n },\n actionsContainer: {\n flexDirection: 'row',\n gap: 8,\n alignItems: 'center',\n },\n markAllReadRow: {\n alignItems: 'flex-start',\n paddingHorizontal: ROW_PADDING_HORIZONTAL,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}