@planningcenter/chat-react-native 4.4.1-qa-staging.39 → 4.4.1-qa-1036.2

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 (87) hide show
  1. package/build/components/conversation/message_list.d.ts.map +1 -1
  2. package/build/components/conversation/message_list.js +123 -155
  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 +0 -1
  6. package/build/components/conversations/conversations.js.map +1 -1
  7. package/build/components/display/keyboard_scroll_view.d.ts.map +1 -1
  8. package/build/components/display/keyboard_scroll_view.js +0 -1
  9. package/build/components/display/keyboard_scroll_view.js.map +1 -1
  10. package/build/components/page/page_error_boundary.d.ts +1 -9
  11. package/build/components/page/page_error_boundary.d.ts.map +1 -1
  12. package/build/components/page/page_error_boundary.js +31 -56
  13. package/build/components/page/page_error_boundary.js.map +1 -1
  14. package/build/navigation/index.d.ts +2 -0
  15. package/build/navigation/index.d.ts.map +1 -1
  16. package/build/navigation/index.js +6 -11
  17. package/build/navigation/index.js.map +1 -1
  18. package/build/navigation/screenLayout.d.ts.map +1 -1
  19. package/build/navigation/screenLayout.js +44 -13
  20. package/build/navigation/screenLayout.js.map +1 -1
  21. package/build/screens/age_check/age_check_required_screen.d.ts.map +1 -1
  22. package/build/screens/age_check/age_check_required_screen.js +0 -1
  23. package/build/screens/age_check/age_check_required_screen.js.map +1 -1
  24. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  25. package/build/screens/conversation_details_screen.js +0 -1
  26. package/build/screens/conversation_details_screen.js.map +1 -1
  27. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts.map +1 -1
  28. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js +0 -1
  29. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js.map +1 -1
  30. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
  31. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +291 -332
  32. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
  33. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts.map +1 -1
  34. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js +0 -1
  35. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js.map +1 -1
  36. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts.map +1 -1
  37. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js +0 -1
  38. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js.map +1 -1
  39. package/build/screens/get_help_screen.js +62 -56
  40. package/build/screens/get_help_screen.js.map +1 -1
  41. package/build/screens/group_notification_settings_screen.js +2 -3
  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 +0 -1
  45. package/build/screens/notification_settings_screen.js.map +1 -1
  46. package/build/screens/preferred_app_selection_screen.js +39 -45
  47. package/build/screens/preferred_app_selection_screen.js.map +1 -1
  48. package/build/screens/search/components/search_results_list.d.ts +1 -4
  49. package/build/screens/search/components/search_results_list.d.ts.map +1 -1
  50. package/build/screens/search/components/search_results_list.js +110 -136
  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 +28 -21
  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 +6 -7
  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 +0 -4
  60. package/src/components/conversation/message_list.tsx +0 -6
  61. package/src/components/conversations/conversations.tsx +0 -1
  62. package/src/components/display/keyboard_scroll_view.tsx +0 -1
  63. package/src/components/page/__tests__/page_error_boundary.test.tsx +0 -33
  64. package/src/components/page/page_error_boundary.tsx +12 -43
  65. package/src/navigation/index.tsx +3 -11
  66. package/src/navigation/screenLayout.tsx +19 -4
  67. package/src/screens/age_check/age_check_required_screen.tsx +1 -5
  68. package/src/screens/conversation_details_screen.tsx +0 -1
  69. package/src/screens/conversation_select_recipients/conversation_new_entry_screen.tsx +1 -4
  70. package/src/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.tsx +68 -78
  71. package/src/screens/conversation_select_recipients/conversation_select_group_recipients_screen.tsx +0 -1
  72. package/src/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.tsx +0 -1
  73. package/src/screens/get_help_screen.tsx +4 -4
  74. package/src/screens/group_notification_settings_screen.tsx +3 -3
  75. package/src/screens/notification_settings_screen.tsx +0 -1
  76. package/src/screens/preferred_app_selection_screen.tsx +4 -4
  77. package/src/screens/search/__tests__/search_screen.test.tsx +7 -5
  78. package/src/screens/search/components/__tests__/search_results_list.test.tsx +2 -6
  79. package/src/screens/search/components/search_results_list.tsx +13 -34
  80. package/src/screens/search/search_screen.tsx +18 -8
  81. package/src/screens/settings_screen.tsx +25 -25
  82. package/build/navigation/page_error_fallbacks.d.ts +0 -7
  83. package/build/navigation/page_error_fallbacks.d.ts.map +0 -1
  84. package/build/navigation/page_error_fallbacks.js +0 -7
  85. package/build/navigation/page_error_fallbacks.js.map +0 -1
  86. package/src/navigation/page_error_fallbacks.ts +0 -14
  87. package/src/screens/conversation_select_recipients/__tests__/conversation_select_direct_message_recipients_screen.test.tsx +0 -100
@@ -1,14 +0,0 @@
1
- import type { StaticParamList } from '@react-navigation/native'
2
- import type { PageErrorFallback } from '../components/page/page_error_boundary'
3
- import type { NewConversationStack } from './index'
4
-
5
- type RouteName =
6
- | keyof ReactNavigation.RootParamList
7
- | keyof StaticParamList<typeof NewConversationStack>
8
-
9
- export const PAGE_ERROR_FALLBACKS: Partial<Record<RouteName, PageErrorFallback>> = {
10
- ConversationSelectDirectMessageRecipients: {
11
- heading: "Couldn't load people right now",
12
- body: 'Try again.',
13
- },
14
- }
@@ -1,100 +0,0 @@
1
- import { fireEvent, render } from '@testing-library/react-native'
2
- import React from 'react'
3
- import { SafeAreaProvider } from 'react-native-safe-area-context'
4
- import { ScreenLayout } from '../../../navigation/screenLayout'
5
- import { Log } from '../../../utils/native_adapters/configuration'
6
- import { ResponseError } from '../../../utils/response_error'
7
- import { ConversationSelectDirectMessageRecipientsScreen } from '../conversation_select_direct_message_recipients_screen'
8
-
9
- jest.mock('@react-navigation/native', () => ({
10
- ...jest.requireActual('@react-navigation/native'),
11
- useNavigation: () => ({ getParent: jest.fn(), goBack: jest.fn(), navigate: jest.fn() }),
12
- useRoute: () => ({ name: 'ConversationSelectDirectMessageRecipients' }),
13
- }))
14
- jest.mock('../../../hooks/use_features', () => ({
15
- ...jest.requireActual('../../../hooks/use_features'),
16
- useFeatures: () => ({ featureEnabled: () => false }),
17
- }))
18
- jest.mock('../../../hooks/use_debounced_search_term', () => ({
19
- useDebouncedSearchTerm: (term: string) => term,
20
- }))
21
- jest.mock('../../../hooks/direct_messages/use_direct_message_conversation_validate', () => ({
22
- useDirectMessageConversationValidate: () => ({ warnings: [], validationPending: false }),
23
- }))
24
- jest.mock('../../../hooks/direct_messages/use_find_or_create_direct_message_conversation', () => ({
25
- useFindOrCreateDirectMessageConversation: () => ({
26
- findOrCreateConversation: jest.fn(),
27
- directMessageExists: false,
28
- isFinding: false,
29
- isError: false,
30
- }),
31
- }))
32
- jest.mock('../../../hooks/direct_messages/use_direct_message_affiliations', () => ({
33
- useDirectMessageAffiliations: () => ({
34
- groups: new Map(),
35
- teams: new Map(),
36
- resultsDescription: null,
37
- }),
38
- }))
39
- let mockSearchFailure: Error = new TypeError('Network request failed')
40
- jest.mock('../../../hooks/direct_messages/use_direct_message_candidates', () => ({
41
- useDirectMessageCandidates: (term: string) => {
42
- if (term) throw mockSearchFailure
43
- return { data: undefined, isFetching: false }
44
- },
45
- }))
46
- jest.mock('../../../components/display/action_button', () => ({ ActionButton: () => null }))
47
- jest.mock('../../../components/display/keyboard_view', () => ({
48
- ...jest.requireActual('../../../components/display/keyboard_view'),
49
- KeyboardView: ({ children }: { children: React.ReactNode }) => children,
50
- }))
51
-
52
- const renderScreen = () =>
53
- render(
54
- <SafeAreaProvider
55
- initialMetrics={{
56
- frame: { x: 0, y: 0, width: 390, height: 844 },
57
- insets: { top: 0, left: 0, right: 0, bottom: 0 },
58
- }}
59
- >
60
- <ScreenLayout>
61
- <ConversationSelectDirectMessageRecipientsScreen route={{ params: {} } as never} />
62
- </ScreenLayout>
63
- </SafeAreaProvider>
64
- )
65
-
66
- describe('ConversationSelectDirectMessageRecipientsScreen', () => {
67
- let reportError: jest.SpyInstance
68
- let consoleError: jest.SpyInstance
69
-
70
- beforeEach(() => {
71
- reportError = jest.spyOn(Log, 'reportError').mockImplementation(() => {})
72
- consoleError = jest.spyOn(console, 'error').mockImplementation(() => {})
73
- })
74
-
75
- afterEach(() => {
76
- reportError.mockRestore()
77
- consoleError.mockRestore()
78
- })
79
-
80
- it('hands a failed search to the page error view', () => {
81
- mockSearchFailure = new TypeError('Network request failed')
82
- const view = renderScreen()
83
-
84
- fireEvent.changeText(view.getByPlaceholderText('Search'), 'pi')
85
-
86
- expect(view.getByText('Problem connecting!')).toBeTruthy()
87
- expect(view.queryByPlaceholderText('Search')).toBeNull()
88
- expect(reportError).toHaveBeenCalledTimes(1)
89
- })
90
-
91
- it("uses the screen's own wording when the search fails for no known reason", () => {
92
- mockSearchFailure = new ResponseError({ status: 500, statusText: 'x', errors: [] } as never)
93
- const view = renderScreen()
94
-
95
- fireEvent.changeText(view.getByPlaceholderText('Search'), 'pi')
96
-
97
- expect(view.getByText("Couldn't load people right now")).toBeTruthy()
98
- expect(view.queryByText('Oops!')).toBeNull()
99
- })
100
- })