@planningcenter/chat-react-native 3.1.0 → 3.2.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/build/navigation/index.d.ts +1 -8
  2. package/build/navigation/index.d.ts.map +1 -1
  3. package/build/screens/conversation_filters/components/conversation_filters.d.ts +3 -0
  4. package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -0
  5. package/build/screens/conversation_filters/components/conversation_filters.js +173 -0
  6. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -0
  7. package/build/screens/conversation_filters/components/rows.d.ts +31 -0
  8. package/build/screens/conversation_filters/components/rows.d.ts.map +1 -0
  9. package/build/screens/conversation_filters/components/rows.js +111 -0
  10. package/build/screens/conversation_filters/components/rows.js.map +1 -0
  11. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts +23 -0
  12. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -0
  13. package/build/screens/conversation_filters/context/conversation_filter_context.js +51 -0
  14. package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -0
  15. package/build/screens/conversation_filters/filter_types.d.ts +7 -0
  16. package/build/screens/conversation_filters/filter_types.d.ts.map +1 -0
  17. package/build/screens/conversation_filters/filter_types.js +8 -0
  18. package/build/screens/conversation_filters/filter_types.js.map +1 -0
  19. package/build/screens/conversation_filters/group_filters.d.ts +6 -0
  20. package/build/screens/conversation_filters/group_filters.d.ts.map +1 -0
  21. package/build/screens/conversation_filters/group_filters.js +15 -0
  22. package/build/screens/conversation_filters/group_filters.js.map +1 -0
  23. package/build/screens/conversation_filters/hooks/filters.d.ts +415 -0
  24. package/build/screens/conversation_filters/hooks/filters.d.ts.map +1 -0
  25. package/build/screens/conversation_filters/hooks/filters.js +41 -0
  26. package/build/screens/conversation_filters/hooks/filters.js.map +1 -0
  27. package/build/screens/conversation_filters/screen_props.d.ts +13 -0
  28. package/build/screens/conversation_filters/screen_props.d.ts.map +1 -0
  29. package/build/screens/conversation_filters/screen_props.js +2 -0
  30. package/build/screens/conversation_filters/screen_props.js.map +1 -0
  31. package/build/screens/conversation_filters/team_filters.d.ts +6 -0
  32. package/build/screens/conversation_filters/team_filters.d.ts.map +1 -0
  33. package/build/screens/conversation_filters/team_filters.js +15 -0
  34. package/build/screens/conversation_filters/team_filters.js.map +1 -0
  35. package/build/screens/conversation_filters_screen.d.ts +2 -9
  36. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  37. package/build/screens/conversation_filters_screen.js +81 -302
  38. package/build/screens/conversation_filters_screen.js.map +1 -1
  39. package/package.json +2 -2
  40. package/src/screens/conversation_filters/components/conversation_filters.tsx +233 -0
  41. package/src/screens/conversation_filters/components/rows.tsx +164 -0
  42. package/src/screens/conversation_filters/context/conversation_filter_context.tsx +65 -0
  43. package/src/screens/conversation_filters/filter_types.ts +6 -0
  44. package/src/screens/conversation_filters/group_filters.tsx +31 -0
  45. package/src/screens/conversation_filters/hooks/filters.ts +68 -0
  46. package/src/screens/conversation_filters/screen_props.ts +15 -0
  47. package/src/screens/conversation_filters/team_filters.tsx +31 -0
  48. package/src/screens/conversation_filters_screen.tsx +93 -429
@@ -0,0 +1,415 @@
1
+ import { GroupResource } from '../../../types/resources/group_resource';
2
+ import { GroupsGroupResource } from '../../../types';
3
+ export declare const useTeamsToFilter: () => {
4
+ error: Response;
5
+ isError: true;
6
+ isPending: false;
7
+ isLoading: false;
8
+ isLoadingError: false;
9
+ isRefetchError: true;
10
+ isSuccess: false;
11
+ isPlaceholderData: false;
12
+ status: "error";
13
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
14
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
15
+ hasNextPage: boolean;
16
+ hasPreviousPage: boolean;
17
+ isFetchNextPageError: boolean;
18
+ isFetchingNextPage: boolean;
19
+ isFetchPreviousPageError: boolean;
20
+ isFetchingPreviousPage: boolean;
21
+ dataUpdatedAt: number;
22
+ errorUpdatedAt: number;
23
+ failureCount: number;
24
+ failureReason: Response | null;
25
+ errorUpdateCount: number;
26
+ isFetched: boolean;
27
+ isFetchedAfterMount: boolean;
28
+ isFetching: boolean;
29
+ isInitialLoading: boolean;
30
+ isPaused: boolean;
31
+ isRefetching: boolean;
32
+ isStale: boolean;
33
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
34
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
35
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
36
+ teams: GroupResource[];
37
+ } | {
38
+ error: null;
39
+ isError: false;
40
+ isPending: false;
41
+ isLoading: false;
42
+ isLoadingError: false;
43
+ isRefetchError: false;
44
+ isFetchNextPageError: false;
45
+ isFetchPreviousPageError: false;
46
+ isSuccess: true;
47
+ isPlaceholderData: false;
48
+ status: "success";
49
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
50
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
51
+ hasNextPage: boolean;
52
+ hasPreviousPage: boolean;
53
+ isFetchingNextPage: boolean;
54
+ isFetchingPreviousPage: boolean;
55
+ dataUpdatedAt: number;
56
+ errorUpdatedAt: number;
57
+ failureCount: number;
58
+ failureReason: Response | null;
59
+ errorUpdateCount: number;
60
+ isFetched: boolean;
61
+ isFetchedAfterMount: boolean;
62
+ isFetching: boolean;
63
+ isInitialLoading: boolean;
64
+ isPaused: boolean;
65
+ isRefetching: boolean;
66
+ isStale: boolean;
67
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
68
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
69
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
70
+ teams: GroupResource[];
71
+ } | {
72
+ error: Response;
73
+ isError: true;
74
+ isPending: false;
75
+ isLoading: false;
76
+ isLoadingError: true;
77
+ isRefetchError: false;
78
+ isFetchNextPageError: false;
79
+ isFetchPreviousPageError: false;
80
+ isSuccess: false;
81
+ isPlaceholderData: false;
82
+ status: "error";
83
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
84
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
85
+ hasNextPage: boolean;
86
+ hasPreviousPage: boolean;
87
+ isFetchingNextPage: boolean;
88
+ isFetchingPreviousPage: boolean;
89
+ dataUpdatedAt: number;
90
+ errorUpdatedAt: number;
91
+ failureCount: number;
92
+ failureReason: Response | null;
93
+ errorUpdateCount: number;
94
+ isFetched: boolean;
95
+ isFetchedAfterMount: boolean;
96
+ isFetching: boolean;
97
+ isInitialLoading: boolean;
98
+ isPaused: boolean;
99
+ isRefetching: boolean;
100
+ isStale: boolean;
101
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
102
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
103
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
104
+ teams: GroupResource[];
105
+ } | {
106
+ error: null;
107
+ isError: false;
108
+ isPending: true;
109
+ isLoading: true;
110
+ isLoadingError: false;
111
+ isRefetchError: false;
112
+ isFetchNextPageError: false;
113
+ isFetchPreviousPageError: false;
114
+ isSuccess: false;
115
+ isPlaceholderData: false;
116
+ status: "pending";
117
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
118
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
119
+ hasNextPage: boolean;
120
+ hasPreviousPage: boolean;
121
+ isFetchingNextPage: boolean;
122
+ isFetchingPreviousPage: boolean;
123
+ dataUpdatedAt: number;
124
+ errorUpdatedAt: number;
125
+ failureCount: number;
126
+ failureReason: Response | null;
127
+ errorUpdateCount: number;
128
+ isFetched: boolean;
129
+ isFetchedAfterMount: boolean;
130
+ isFetching: boolean;
131
+ isInitialLoading: boolean;
132
+ isPaused: boolean;
133
+ isRefetching: boolean;
134
+ isStale: boolean;
135
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
136
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
137
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
138
+ teams: GroupResource[];
139
+ } | {
140
+ error: null;
141
+ isError: false;
142
+ isPending: true;
143
+ isLoadingError: false;
144
+ isRefetchError: false;
145
+ isFetchNextPageError: false;
146
+ isFetchPreviousPageError: false;
147
+ isSuccess: false;
148
+ isPlaceholderData: false;
149
+ status: "pending";
150
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
151
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
152
+ hasNextPage: boolean;
153
+ hasPreviousPage: boolean;
154
+ isFetchingNextPage: boolean;
155
+ isFetchingPreviousPage: boolean;
156
+ dataUpdatedAt: number;
157
+ errorUpdatedAt: number;
158
+ failureCount: number;
159
+ failureReason: Response | null;
160
+ errorUpdateCount: number;
161
+ isFetched: boolean;
162
+ isFetchedAfterMount: boolean;
163
+ isFetching: boolean;
164
+ isLoading: boolean;
165
+ isInitialLoading: boolean;
166
+ isPaused: boolean;
167
+ isRefetching: boolean;
168
+ isStale: boolean;
169
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
170
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
171
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
172
+ teams: GroupResource[];
173
+ } | {
174
+ isError: false;
175
+ error: null;
176
+ isPending: false;
177
+ isLoading: false;
178
+ isLoadingError: false;
179
+ isRefetchError: false;
180
+ isSuccess: true;
181
+ isPlaceholderData: true;
182
+ isFetchNextPageError: false;
183
+ isFetchPreviousPageError: false;
184
+ status: "success";
185
+ fetchNextPage: (options?: import("@tanstack/query-core").FetchNextPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
186
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
187
+ hasNextPage: boolean;
188
+ hasPreviousPage: boolean;
189
+ isFetchingNextPage: boolean;
190
+ isFetchingPreviousPage: boolean;
191
+ dataUpdatedAt: number;
192
+ errorUpdatedAt: number;
193
+ failureCount: number;
194
+ failureReason: Response | null;
195
+ errorUpdateCount: number;
196
+ isFetched: boolean;
197
+ isFetchedAfterMount: boolean;
198
+ isFetching: boolean;
199
+ isInitialLoading: boolean;
200
+ isPaused: boolean;
201
+ isRefetching: boolean;
202
+ isStale: boolean;
203
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
204
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
205
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
206
+ teams: GroupResource[];
207
+ };
208
+ export interface FilteredGroup extends GroupResource, Partial<Pick<GroupsGroupResource, 'headerImage' | 'membershipsCount'>> {
209
+ }
210
+ export declare const useGroupsToFilter: () => {
211
+ error: Response;
212
+ isError: true;
213
+ isPending: false;
214
+ isLoading: false;
215
+ isLoadingError: false;
216
+ isRefetchError: true;
217
+ isSuccess: false;
218
+ isPlaceholderData: false;
219
+ status: "error";
220
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
221
+ hasNextPage: boolean;
222
+ hasPreviousPage: boolean;
223
+ isFetchNextPageError: boolean;
224
+ isFetchingNextPage: boolean;
225
+ isFetchPreviousPageError: boolean;
226
+ isFetchingPreviousPage: boolean;
227
+ dataUpdatedAt: number;
228
+ errorUpdatedAt: number;
229
+ failureCount: number;
230
+ failureReason: Response | null;
231
+ errorUpdateCount: number;
232
+ isFetched: boolean;
233
+ isFetchedAfterMount: boolean;
234
+ isFetching: boolean;
235
+ isInitialLoading: boolean;
236
+ isPaused: boolean;
237
+ isRefetching: boolean;
238
+ isStale: boolean;
239
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
240
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
241
+ groups: FilteredGroup[];
242
+ fetchNextPage: () => void;
243
+ refetch: () => void;
244
+ } | {
245
+ error: null;
246
+ isError: false;
247
+ isPending: false;
248
+ isLoading: false;
249
+ isLoadingError: false;
250
+ isRefetchError: false;
251
+ isFetchNextPageError: false;
252
+ isFetchPreviousPageError: false;
253
+ isSuccess: true;
254
+ isPlaceholderData: false;
255
+ status: "success";
256
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
257
+ hasNextPage: boolean;
258
+ hasPreviousPage: boolean;
259
+ isFetchingNextPage: boolean;
260
+ isFetchingPreviousPage: boolean;
261
+ dataUpdatedAt: number;
262
+ errorUpdatedAt: number;
263
+ failureCount: number;
264
+ failureReason: Response | null;
265
+ errorUpdateCount: number;
266
+ isFetched: boolean;
267
+ isFetchedAfterMount: boolean;
268
+ isFetching: boolean;
269
+ isInitialLoading: boolean;
270
+ isPaused: boolean;
271
+ isRefetching: boolean;
272
+ isStale: boolean;
273
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
274
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
275
+ groups: FilteredGroup[];
276
+ fetchNextPage: () => void;
277
+ refetch: () => void;
278
+ } | {
279
+ error: Response;
280
+ isError: true;
281
+ isPending: false;
282
+ isLoading: false;
283
+ isLoadingError: true;
284
+ isRefetchError: false;
285
+ isFetchNextPageError: false;
286
+ isFetchPreviousPageError: false;
287
+ isSuccess: false;
288
+ isPlaceholderData: false;
289
+ status: "error";
290
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
291
+ hasNextPage: boolean;
292
+ hasPreviousPage: boolean;
293
+ isFetchingNextPage: boolean;
294
+ isFetchingPreviousPage: boolean;
295
+ dataUpdatedAt: number;
296
+ errorUpdatedAt: number;
297
+ failureCount: number;
298
+ failureReason: Response | null;
299
+ errorUpdateCount: number;
300
+ isFetched: boolean;
301
+ isFetchedAfterMount: boolean;
302
+ isFetching: boolean;
303
+ isInitialLoading: boolean;
304
+ isPaused: boolean;
305
+ isRefetching: boolean;
306
+ isStale: boolean;
307
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
308
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
309
+ groups: FilteredGroup[];
310
+ fetchNextPage: () => void;
311
+ refetch: () => void;
312
+ } | {
313
+ error: null;
314
+ isError: false;
315
+ isPending: true;
316
+ isLoading: true;
317
+ isLoadingError: false;
318
+ isRefetchError: false;
319
+ isFetchNextPageError: false;
320
+ isFetchPreviousPageError: false;
321
+ isSuccess: false;
322
+ isPlaceholderData: false;
323
+ status: "pending";
324
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
325
+ hasNextPage: boolean;
326
+ hasPreviousPage: boolean;
327
+ isFetchingNextPage: boolean;
328
+ isFetchingPreviousPage: boolean;
329
+ dataUpdatedAt: number;
330
+ errorUpdatedAt: number;
331
+ failureCount: number;
332
+ failureReason: Response | null;
333
+ errorUpdateCount: number;
334
+ isFetched: boolean;
335
+ isFetchedAfterMount: boolean;
336
+ isFetching: boolean;
337
+ isInitialLoading: boolean;
338
+ isPaused: boolean;
339
+ isRefetching: boolean;
340
+ isStale: boolean;
341
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
342
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
343
+ groups: FilteredGroup[];
344
+ fetchNextPage: () => void;
345
+ refetch: () => void;
346
+ } | {
347
+ error: null;
348
+ isError: false;
349
+ isPending: true;
350
+ isLoadingError: false;
351
+ isRefetchError: false;
352
+ isFetchNextPageError: false;
353
+ isFetchPreviousPageError: false;
354
+ isSuccess: false;
355
+ isPlaceholderData: false;
356
+ status: "pending";
357
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
358
+ hasNextPage: boolean;
359
+ hasPreviousPage: boolean;
360
+ isFetchingNextPage: boolean;
361
+ isFetchingPreviousPage: boolean;
362
+ dataUpdatedAt: number;
363
+ errorUpdatedAt: number;
364
+ failureCount: number;
365
+ failureReason: Response | null;
366
+ errorUpdateCount: number;
367
+ isFetched: boolean;
368
+ isFetchedAfterMount: boolean;
369
+ isFetching: boolean;
370
+ isLoading: boolean;
371
+ isInitialLoading: boolean;
372
+ isPaused: boolean;
373
+ isRefetching: boolean;
374
+ isStale: boolean;
375
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
376
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
377
+ groups: FilteredGroup[];
378
+ fetchNextPage: () => void;
379
+ refetch: () => void;
380
+ } | {
381
+ isError: false;
382
+ error: null;
383
+ isPending: false;
384
+ isLoading: false;
385
+ isLoadingError: false;
386
+ isRefetchError: false;
387
+ isSuccess: true;
388
+ isPlaceholderData: true;
389
+ isFetchNextPageError: false;
390
+ isFetchPreviousPageError: false;
391
+ status: "success";
392
+ fetchPreviousPage: (options?: import("@tanstack/query-core").FetchPreviousPageOptions) => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>, Response>>;
393
+ hasNextPage: boolean;
394
+ hasPreviousPage: boolean;
395
+ isFetchingNextPage: boolean;
396
+ isFetchingPreviousPage: boolean;
397
+ dataUpdatedAt: number;
398
+ errorUpdatedAt: number;
399
+ failureCount: number;
400
+ failureReason: Response | null;
401
+ errorUpdateCount: number;
402
+ isFetched: boolean;
403
+ isFetchedAfterMount: boolean;
404
+ isFetching: boolean;
405
+ isInitialLoading: boolean;
406
+ isPaused: boolean;
407
+ isRefetching: boolean;
408
+ isStale: boolean;
409
+ fetchStatus: import("@tanstack/query-core").FetchStatus;
410
+ promise: Promise<import("@tanstack/query-core").InfiniteData<import("../../../types").ApiCollection<GroupResource>, unknown>>;
411
+ groups: FilteredGroup[];
412
+ fetchNextPage: () => void;
413
+ refetch: () => void;
414
+ };
415
+ //# sourceMappingURL=filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/screens/conversation_filters/hooks/filters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI5B,CAAA;AAED,MAAM,WAAW,aACf,SAAQ,aAAa,EACnB,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,kBAAkB,CAAC,CAAC;CAAG;AAE7E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkD7B,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { useMemo } from 'react';
2
+ import { useGroups } from '../../../hooks/use_groups';
3
+ import { useGroupsGroups } from '../../../hooks/use_groups_groups';
4
+ import { useTeams } from '../../../hooks/use_teams';
5
+ export const useTeamsToFilter = () => {
6
+ const { data: teams = [], ...rest } = useTeams();
7
+ return { teams, ...rest };
8
+ };
9
+ export const useGroupsToFilter = () => {
10
+ const { data: groups = [], fetchNextPage: fetchNextGroups, refetch: refetchGroups, ...rest } = useGroups({
11
+ source_app_name: 'Groups',
12
+ source_type: 'Group',
13
+ });
14
+ const { data: groupsData = [], fetchNextPage: fetchNextGroupsGroups, refetch: refetchGroupsGroups, } = useGroupsGroups();
15
+ const handleRefetch = () => {
16
+ refetchGroups();
17
+ refetchGroupsGroups();
18
+ };
19
+ const handleFetchNextPage = () => {
20
+ fetchNextGroups();
21
+ fetchNextGroupsGroups();
22
+ };
23
+ const filteredGroups = useMemo(() => groups
24
+ .map(group => {
25
+ const groupsGroup = groupsData.find(g => group.id.includes(g.id));
26
+ const { membershipsCount, headerImage } = groupsGroup || {};
27
+ return {
28
+ ...group,
29
+ membershipsCount,
30
+ headerImage,
31
+ };
32
+ })
33
+ .filter(g => typeof g !== 'undefined'), [groups, groupsData]);
34
+ return {
35
+ groups: filteredGroups,
36
+ fetchNextPage: handleFetchNextPage,
37
+ refetch: handleRefetch,
38
+ ...rest,
39
+ };
40
+ };
41
+ //# sourceMappingURL=filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/screens/conversation_filters/hooks/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAInD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAA;IAEhD,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAA;AAC3B,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,EACJ,IAAI,EAAE,MAAM,GAAG,EAAE,EACjB,aAAa,EAAE,eAAe,EAC9B,OAAO,EAAE,aAAa,EACtB,GAAG,IAAI,EACR,GAAG,SAAS,CAAC;QACZ,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,OAAO;KACrB,CAAC,CAAA;IAEF,MAAM,EACJ,IAAI,EAAE,UAAU,GAAG,EAAE,EACrB,aAAa,EAAE,qBAAqB,EACpC,OAAO,EAAE,mBAAmB,GAC7B,GAAG,eAAe,EAAE,CAAA;IAErB,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,aAAa,EAAE,CAAA;QACf,mBAAmB,EAAE,CAAA;IACvB,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,eAAe,EAAE,CAAA;QACjB,qBAAqB,EAAE,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,cAAc,GAAoB,OAAO,CAC7C,GAAG,EAAE,CACH,MAAM;SACH,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,IAAI,EAAE,CAAA;QAE3D,OAAO;YACL,GAAG,KAAK;YACR,gBAAgB;YAChB,WAAW;SACZ,CAAA;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,EAC1C,CAAC,MAAM,EAAE,UAAU,CAAC,CACrB,CAAA;IAED,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,aAAa,EAAE,mBAAmB;QAClC,OAAO,EAAE,aAAa;QACtB,GAAG,IAAI;KACR,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { useMemo } from 'react'\nimport { useGroups } from '../../../hooks/use_groups'\nimport { useGroupsGroups } from '../../../hooks/use_groups_groups'\nimport { useTeams } from '../../../hooks/use_teams'\nimport { GroupResource } from '../../../types/resources/group_resource'\nimport { GroupsGroupResource } from '../../../types'\n\nexport const useTeamsToFilter = () => {\n const { data: teams = [], ...rest } = useTeams()\n\n return { teams, ...rest }\n}\n\nexport interface FilteredGroup\n extends GroupResource,\n Partial<Pick<GroupsGroupResource, 'headerImage' | 'membershipsCount'>> {}\n\nexport const useGroupsToFilter = () => {\n const {\n data: groups = [],\n fetchNextPage: fetchNextGroups,\n refetch: refetchGroups,\n ...rest\n } = useGroups({\n source_app_name: 'Groups',\n source_type: 'Group',\n })\n\n const {\n data: groupsData = [],\n fetchNextPage: fetchNextGroupsGroups,\n refetch: refetchGroupsGroups,\n } = useGroupsGroups()\n\n const handleRefetch = () => {\n refetchGroups()\n refetchGroupsGroups()\n }\n\n const handleFetchNextPage = () => {\n fetchNextGroups()\n fetchNextGroupsGroups()\n }\n\n const filteredGroups: FilteredGroup[] = useMemo(\n () =>\n groups\n .map(group => {\n const groupsGroup = groupsData.find(g => group.id.includes(g.id))\n const { membershipsCount, headerImage } = groupsGroup || {}\n\n return {\n ...group,\n membershipsCount,\n headerImage,\n }\n })\n .filter(g => typeof g !== 'undefined'),\n [groups, groupsData]\n )\n\n return {\n groups: filteredGroups,\n fetchNextPage: handleFetchNextPage,\n refetch: handleRefetch,\n ...rest,\n }\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import { StaticScreenProps } from '@react-navigation/native';
2
+ import { GraphId } from '../../types/resources/group_resource';
3
+ export type ConversationFiltersParams = {
4
+ chat_group_graph_id?: GraphId;
5
+ group_source_app_name?: string;
6
+ };
7
+ export type ConversationFiltersScreenProps = StaticScreenProps<ConversationFiltersParams>;
8
+ export type ConversationFilterStackParamList = {
9
+ Filters: ConversationFiltersParams;
10
+ GroupFilters: ConversationFiltersParams;
11
+ TeamFilters: ConversationFiltersParams;
12
+ };
13
+ //# sourceMappingURL=screen_props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen_props.d.ts","sourceRoot":"","sources":["../../../src/screens/conversation_filters/screen_props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAE9D,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,CAAA;AAEzF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,yBAAyB,CAAA;IAClC,YAAY,EAAE,yBAAyB,CAAA;IACvC,WAAW,EAAE,yBAAyB,CAAA;CACvC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=screen_props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen_props.js","sourceRoot":"","sources":["../../../src/screens/conversation_filters/screen_props.ts"],"names":[],"mappings":"","sourcesContent":["import { StaticScreenProps } from '@react-navigation/native'\nimport { GraphId } from '../../types/resources/group_resource'\n\nexport type ConversationFiltersParams = {\n chat_group_graph_id?: GraphId\n group_source_app_name?: string\n}\n\nexport type ConversationFiltersScreenProps = StaticScreenProps<ConversationFiltersParams>\n\nexport type ConversationFilterStackParamList = {\n Filters: ConversationFiltersParams\n GroupFilters: ConversationFiltersParams\n TeamFilters: ConversationFiltersParams\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { StaticScreenProps } from '@react-navigation/native';
2
+ import React from 'react';
3
+ import { ConversationFiltersParams } from './screen_props';
4
+ export type GroupFiltersScreenProps = StaticScreenProps<ConversationFiltersParams>;
5
+ export declare const TeamFilters: () => React.JSX.Element;
6
+ //# sourceMappingURL=team_filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team_filters.d.ts","sourceRoot":"","sources":["../../../src/screens/conversation_filters/team_filters.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,CAAA;AAElF,eAAO,MAAM,WAAW,yBAmBvB,CAAA"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { FlatList, RefreshControl, View } from 'react-native';
3
+ import { Text } from '../../components/display';
4
+ import { TeamRow } from './components/rows';
5
+ import { useFilterContext } from './context/conversation_filter_context';
6
+ import { useTeamsToFilter } from './hooks/filters';
7
+ export const TeamFilters = () => {
8
+ const { teams, fetchNextPage, isRefetching, refetch } = useTeamsToFilter();
9
+ const { params } = useFilterContext();
10
+ const { chat_group_graph_id } = params;
11
+ return (<View>
12
+ <FlatList data={teams} renderItem={({ item }) => (<TeamRow team={item} isActive={item?.id.toString() === chat_group_graph_id}/>)} refreshing={isRefetching} refreshControl={<RefreshControl refreshing={isRefetching} onRefresh={refetch}/>} ListEmptyComponent={<Text>No teams available</Text>} onEndReached={() => fetchNextPage()}/>
13
+ </View>);
14
+ };
15
+ //# sourceMappingURL=team_filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team_filters.js","sourceRoot":"","sources":["../../../src/screens/conversation_filters/team_filters.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAKlD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAA;IACrC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAA;IAEtC,OAAO,CACL,CAAC,IAAI,CACH;MAAA,CAAC,QAAQ,CACP,IAAI,CAAC,CAAC,KAAK,CAAC,CACZ,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACxB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,mBAAmB,CAAC,EAAG,CAC/E,CAAC,CACF,UAAU,CAAC,CAAC,YAAY,CAAC,CACzB,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAG,CAAC,CACjF,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CACpD,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,EAExC;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { StaticScreenProps } from '@react-navigation/native'\nimport React from 'react'\nimport { FlatList, RefreshControl, View } from 'react-native'\nimport { Text } from '../../components/display'\nimport { TeamRow } from './components/rows'\nimport { useFilterContext } from './context/conversation_filter_context'\nimport { useTeamsToFilter } from './hooks/filters'\nimport { ConversationFiltersParams } from './screen_props'\n\nexport type GroupFiltersScreenProps = StaticScreenProps<ConversationFiltersParams>\n\nexport const TeamFilters = () => {\n const { teams, fetchNextPage, isRefetching, refetch } = useTeamsToFilter()\n const { params } = useFilterContext()\n const { chat_group_graph_id } = params\n\n return (\n <View>\n <FlatList\n data={teams}\n renderItem={({ item }) => (\n <TeamRow team={item} isActive={item?.id.toString() === chat_group_graph_id} />\n )}\n refreshing={isRefetching}\n refreshControl={<RefreshControl refreshing={isRefetching} onRefresh={refetch} />}\n ListEmptyComponent={<Text>No teams available</Text>}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n"]}
@@ -1,13 +1,6 @@
1
- import { StaticScreenProps } from '@react-navigation/native';
2
1
  import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
3
2
  import React from 'react';
4
- import { GraphId } from '../types/resources/group_resource';
3
+ import { ConversationFiltersScreenProps } from './conversation_filters/screen_props';
5
4
  export declare const ConversationFiltersScreenOptions: NativeStackNavigationOptions;
6
- type ConversationFilters = {
7
- chat_group_graph_id?: GraphId;
8
- group_source_app_name?: string;
9
- };
10
- type ConversationFiltersScreenProps = StaticScreenProps<ConversationFilters>;
11
- export declare const ConversationFiltersScreen: ({}: ConversationFiltersScreenProps) => React.JSX.Element;
12
- export {};
5
+ export declare const ConversationFiltersScreen: (_props: ConversationFiltersScreenProps) => React.JSX.Element;
13
6
  //# sourceMappingURL=conversation_filters_screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_filters_screen.d.ts","sourceRoot":"","sources":["../../src/screens/conversation_filters_screen.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,EAGlB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,KAA0E,MAAM,OAAO,CAAA;AAkB9F,OAAO,EAAE,OAAO,EAAiB,MAAM,mCAAmC,CAAA;AA6C1E,eAAO,MAAM,gCAAgC,EAAE,4BAK9C,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AACD,KAAK,8BAA8B,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;AAgB5E,eAAO,MAAM,yBAAyB,OAAQ,8BAA8B,sBAoJ3E,CAAA"}
1
+ {"version":3,"file":"conversation_filters_screen.d.ts","sourceRoot":"","sources":["../../src/screens/conversation_filters_screen.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EACL,8BAA8B,EAE/B,MAAM,qCAAqC,CAAA;AA8B5C,eAAO,MAAM,gCAAgC,EAAE,4BAW9C,CAAA;AAoCD,eAAO,MAAM,yBAAyB,WAAY,8BAA8B,sBAU/E,CAAA"}