@planningcenter/chat-react-native 4.1.1-qa-staging.4 → 4.2.0-rc.1

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 (38) hide show
  1. package/build/contexts/api_provider.d.ts.map +1 -1
  2. package/build/contexts/api_provider.js +1 -12
  3. package/build/contexts/api_provider.js.map +1 -1
  4. package/build/hooks/use_features.d.ts +0 -16
  5. package/build/hooks/use_features.d.ts.map +1 -1
  6. package/build/hooks/use_features.js +47 -43
  7. package/build/hooks/use_features.js.map +1 -1
  8. package/build/navigation/index.d.ts +2 -2
  9. package/build/navigation/index.d.ts.map +1 -1
  10. package/build/navigation/index.js +4 -4
  11. package/build/navigation/index.js.map +1 -1
  12. package/build/screens/conversation_new/components/services_form.js +8 -9
  13. package/build/screens/conversation_new/components/services_form.js.map +1 -1
  14. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
  15. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +2 -1
  16. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
  17. package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
  18. package/build/screens/conversations/conversations_screen.js +16 -28
  19. package/build/screens/conversations/conversations_screen.js.map +1 -1
  20. package/build/utils/time.d.ts +0 -1
  21. package/build/utils/time.d.ts.map +1 -1
  22. package/build/utils/time.js +0 -1
  23. package/build/utils/time.js.map +1 -1
  24. package/package.json +3 -3
  25. package/src/contexts/api_provider.tsx +0 -4
  26. package/src/hooks/use_features.ts +14 -26
  27. package/src/navigation/index.tsx +4 -3
  28. package/src/screens/conversation_new/components/services_form.tsx +5 -5
  29. package/src/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.tsx +2 -3
  30. package/src/screens/conversations/conversations_screen.tsx +1 -6
  31. package/src/utils/time.ts +0 -1
  32. package/build/screens/conversations/components/search_list_header_component.d.ts +0 -2
  33. package/build/screens/conversations/components/search_list_header_component.d.ts.map +0 -1
  34. package/build/screens/conversations/components/search_list_header_component.js +0 -496
  35. package/build/screens/conversations/components/search_list_header_component.js.map +0 -1
  36. package/src/__tests__/hooks/use_features.test.ts +0 -61
  37. package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +0 -91
  38. package/src/screens/conversations/components/search_list_header_component.tsx +0 -291
@@ -1 +1 @@
1
- {"version":3,"file":"api_provider.d.ts","sourceRoot":"","sources":["../../src/contexts/api_provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAIZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAgCxC,eAAO,MAAM,eAAe,aAO1B,CAAA;AAEF,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,SAAS,2CA6BlD;AAiBD,wBAAgB,eAAe,WAQ9B"}
1
+ {"version":3,"file":"api_provider.d.ts","sourceRoot":"","sources":["../../src/contexts/api_provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAIZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AA+BxC,eAAO,MAAM,eAAe,aAO1B,CAAA;AAEF,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,SAAS,2CA6BlD;AAcD,wBAAgB,eAAe,WAQ9B"}
@@ -4,7 +4,6 @@ import React, { useContext, useEffect, useRef } from 'react';
4
4
  import { useApiClient } from '../hooks/use_api_client';
5
5
  import { useAppState } from '../hooks/use_app_state';
6
6
  import { appGrantsRequestArgs } from '../hooks/use_chat_permissions';
7
- import { featuresQueryOptions } from '../hooks/use_features';
8
7
  import { getRequestQueryKey } from '../hooks/use_suspense_api';
9
8
  import { emitAuthRefresh } from '../utils/auth_events';
10
9
  import { ResponseError } from '../utils/response_error';
@@ -125,8 +124,7 @@ export function ApiProvider(t0) {
125
124
  // This needs to live in the provider so that it can access the api client
126
125
  // and the chat query client
127
126
  const PrefetchQueries = () => {
128
- const $ = _c(3);
129
- const client = useApiClient();
127
+ const $ = _c(1);
130
128
  let t0;
131
129
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
132
130
  t0 = {
@@ -138,15 +136,6 @@ const PrefetchQueries = () => {
138
136
  t0 = $[0];
139
137
  }
140
138
  usePrefetchQuery(t0);
141
- let t1;
142
- if ($[1] !== client) {
143
- t1 = featuresQueryOptions(client);
144
- $[1] = client;
145
- $[2] = t1;
146
- } else {
147
- t1 = $[2];
148
- }
149
- usePrefetchQuery(t1);
150
139
  return null;
151
140
  };
152
141
  export function useFocusManager() {
@@ -1 +1 @@
1
- {"version":3,"file":"api_provider.js","names":["focusManager","QueryClient","QueryClientProvider","usePrefetchQuery","React","useContext","useEffect","useRef","useApiClient","useAppState","appGrantsRequestArgs","featuresQueryOptions","getRequestQueryKey","emitAuthRefresh","ResponseError","ChatContext","jsx","_jsx","jsxs","_jsxs","apiClient","defaultQueryFn","queryKey","Error","url","data","headers","app","get","configuredRetry","failureCount","error","is429Error","status","chatQueryClient","defaultOptions","queries","queryFn","retry","ApiProvider","t0","$","_c","children","token","env","t1","sessionChanged","useSessionChanged","client","t2","t3","isFetching","invalidateQueries","clear","t4","t5","t6","Symbol","for","PrefetchQueries","t7","useFocusManager","appState","setFocused","value","newToken","newEnv","prevToken","prevEnv","usePrevious","isInitialLogin","tokenChanged","Boolean","access_token","envChanged","ref","current"],"sources":["../../src/contexts/api_provider.tsx"],"sourcesContent":["import {\n focusManager,\n QueryClient,\n QueryClientProvider,\n QueryKey,\n usePrefetchQuery,\n} from '@tanstack/react-query'\nimport React, { useContext, useEffect, useRef } from 'react'\nimport { ViewProps } from 'react-native'\nimport { ApiClient, useApiClient } from '../hooks/use_api_client'\nimport { useAppState } from '../hooks/use_app_state'\nimport { appGrantsRequestArgs } from '../hooks/use_chat_permissions'\nimport { featuresQueryOptions } from '../hooks/use_features'\nimport { getRequestQueryKey, RequestQueryKey } from '../hooks/use_suspense_api'\nimport { emitAuthRefresh } from '../utils/auth_events'\nimport { ResponseError } from '../utils/response_error'\nimport { ChatContext, ChatContextValue } from './chat_context'\n\nlet apiClient: ApiClient | undefined\n\nconst defaultQueryFn = ({ queryKey }: { queryKey: QueryKey }) => {\n if (!apiClient) {\n throw new Error('No token present')\n }\n\n const [url, data, headers, app = 'chat'] = queryKey as RequestQueryKey\n\n return apiClient[app].get({ url, data, headers })\n}\n\nconst configuredRetry = (failureCount: number, error: any) => {\n if (is429Error(error)) return false\n\n return failureCount < 3\n}\n\nconst is429Error = (error: any): boolean => {\n return error instanceof ResponseError && error.status === 429\n}\n\nexport const chatQueryClient = new QueryClient({\n defaultOptions: {\n queries: {\n queryFn: defaultQueryFn,\n retry: configuredRetry,\n },\n },\n})\n\nexport function ApiProvider({ children }: ViewProps) {\n const { token, env } = useContext(ChatContext)\n const sessionChanged = useSessionChanged({ token, env })\n\n const client = useApiClient()\n\n useEffect(() => {\n if (!sessionChanged) return\n\n emitAuthRefresh()\n\n if (chatQueryClient.isFetching()) {\n chatQueryClient.invalidateQueries()\n return\n }\n\n chatQueryClient.clear()\n }, [sessionChanged])\n\n useEffect(() => {\n apiClient = client\n }, [client])\n\n return (\n <QueryClientProvider client={chatQueryClient}>\n <PrefetchQueries />\n {children}\n </QueryClientProvider>\n )\n}\n\n// Component to prefetch queries when the app is focused\n// This needs to live in the provider so that it can access the api client\n// and the chat query client\nconst PrefetchQueries = () => {\n const client = useApiClient()\n\n usePrefetchQuery({\n queryKey: getRequestQueryKey(appGrantsRequestArgs),\n queryFn: defaultQueryFn,\n })\n usePrefetchQuery(featuresQueryOptions(client))\n\n return null\n}\n\nexport function useFocusManager() {\n const appState = useAppState()\n\n useEffect(() => {\n focusManager.setFocused(appState === 'active')\n }, [appState])\n\n return appState\n}\n\nfunction useSessionChanged(value: Pick<ChatContextValue, 'token' | 'env'>): boolean {\n const { token: newToken, env: newEnv } = value\n const { token: prevToken, env: prevEnv } = usePrevious<typeof value>(value)\n\n const isInitialLogin = !prevToken && !!newToken\n if (isInitialLogin) return false\n\n const tokenChanged = Boolean(\n prevToken?.access_token && newToken?.access_token !== prevToken?.access_token\n )\n\n const envChanged = Boolean(prevEnv && newEnv !== prevEnv)\n\n return tokenChanged || envChanged\n}\n\nfunction usePrevious<T>(value: T): T {\n const ref = useRef<T>(value)\n\n useEffect(() => {\n ref.current = value\n }, [value])\n\n return ref.current\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"api_provider.js","names":["focusManager","QueryClient","QueryClientProvider","usePrefetchQuery","React","useContext","useEffect","useRef","useApiClient","useAppState","appGrantsRequestArgs","getRequestQueryKey","emitAuthRefresh","ResponseError","ChatContext","jsx","_jsx","jsxs","_jsxs","apiClient","defaultQueryFn","queryKey","Error","url","data","headers","app","get","configuredRetry","failureCount","error","is429Error","status","chatQueryClient","defaultOptions","queries","queryFn","retry","ApiProvider","t0","$","_c","children","token","env","t1","sessionChanged","useSessionChanged","client","t2","t3","isFetching","invalidateQueries","clear","t4","t5","t6","Symbol","for","PrefetchQueries","t7","useFocusManager","appState","setFocused","value","newToken","newEnv","prevToken","prevEnv","usePrevious","isInitialLogin","tokenChanged","Boolean","access_token","envChanged","ref","current"],"sources":["../../src/contexts/api_provider.tsx"],"sourcesContent":["import {\n focusManager,\n QueryClient,\n QueryClientProvider,\n QueryKey,\n usePrefetchQuery,\n} from '@tanstack/react-query'\nimport React, { useContext, useEffect, useRef } from 'react'\nimport { ViewProps } from 'react-native'\nimport { ApiClient, useApiClient } from '../hooks/use_api_client'\nimport { useAppState } from '../hooks/use_app_state'\nimport { appGrantsRequestArgs } from '../hooks/use_chat_permissions'\nimport { getRequestQueryKey, RequestQueryKey } from '../hooks/use_suspense_api'\nimport { emitAuthRefresh } from '../utils/auth_events'\nimport { ResponseError } from '../utils/response_error'\nimport { ChatContext, ChatContextValue } from './chat_context'\n\nlet apiClient: ApiClient | undefined\n\nconst defaultQueryFn = ({ queryKey }: { queryKey: QueryKey }) => {\n if (!apiClient) {\n throw new Error('No token present')\n }\n\n const [url, data, headers, app = 'chat'] = queryKey as RequestQueryKey\n\n return apiClient[app].get({ url, data, headers })\n}\n\nconst configuredRetry = (failureCount: number, error: any) => {\n if (is429Error(error)) return false\n\n return failureCount < 3\n}\n\nconst is429Error = (error: any): boolean => {\n return error instanceof ResponseError && error.status === 429\n}\n\nexport const chatQueryClient = new QueryClient({\n defaultOptions: {\n queries: {\n queryFn: defaultQueryFn,\n retry: configuredRetry,\n },\n },\n})\n\nexport function ApiProvider({ children }: ViewProps) {\n const { token, env } = useContext(ChatContext)\n const sessionChanged = useSessionChanged({ token, env })\n\n const client = useApiClient()\n\n useEffect(() => {\n if (!sessionChanged) return\n\n emitAuthRefresh()\n\n if (chatQueryClient.isFetching()) {\n chatQueryClient.invalidateQueries()\n return\n }\n\n chatQueryClient.clear()\n }, [sessionChanged])\n\n useEffect(() => {\n apiClient = client\n }, [client])\n\n return (\n <QueryClientProvider client={chatQueryClient}>\n <PrefetchQueries />\n {children}\n </QueryClientProvider>\n )\n}\n\n// Component to prefetch queries when the app is focused\n// This needs to live in the provider so that it can access the api client\n// and the chat query client\nconst PrefetchQueries = () => {\n usePrefetchQuery({\n queryKey: getRequestQueryKey(appGrantsRequestArgs),\n queryFn: defaultQueryFn,\n })\n\n return null\n}\n\nexport function useFocusManager() {\n const appState = useAppState()\n\n useEffect(() => {\n focusManager.setFocused(appState === 'active')\n }, [appState])\n\n return appState\n}\n\nfunction useSessionChanged(value: Pick<ChatContextValue, 'token' | 'env'>): boolean {\n const { token: newToken, env: newEnv } = value\n const { token: prevToken, env: prevEnv } = usePrevious<typeof value>(value)\n\n const isInitialLogin = !prevToken && !!newToken\n if (isInitialLogin) return false\n\n const tokenChanged = Boolean(\n prevToken?.access_token && newToken?.access_token !== prevToken?.access_token\n )\n\n const envChanged = Boolean(prevEnv && newEnv !== prevEnv)\n\n return tokenChanged || envChanged\n}\n\nfunction usePrevious<T>(value: T): T {\n const ref = useRef<T>(value)\n\n useEffect(() => {\n ref.current = value\n }, [value])\n\n return ref.current\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,9 @@
1
- import { ApiCollection } from '../types';
2
1
  import type { FeatureResource } from '../types/resources/feature_resource';
3
- import { ApiClient } from './use_api_client';
4
2
  type FeatureName = (typeof availableFeatures)[keyof typeof availableFeatures];
5
- type FeaturesCollection = ApiCollection<FeatureResource> & {
6
- failure?: {
7
- status?: number;
8
- };
9
- };
10
3
  export declare function useFeatures(): {
11
4
  features: FeatureResource[];
12
5
  featureEnabled: (featureName: FeatureName) => boolean;
13
6
  };
14
- export declare const featuresQueryOptions: (apiClient: ApiClient) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<FeaturesCollection, Error, FeaturesCollection, import("./use_suspense_api").RequestQueryKey>, "queryFn"> & {
15
- queryFn?: import("@tanstack/query-core").QueryFunction<FeaturesCollection, import("./use_suspense_api").RequestQueryKey, never> | undefined;
16
- } & {
17
- queryKey: import("./use_suspense_api").RequestQueryKey & {
18
- [dataTagSymbol]: FeaturesCollection;
19
- [dataTagErrorSymbol]: Error;
20
- };
21
- };
22
7
  export declare const availableFeatures: {
23
8
  readonly gender_specific_conversations: "ROLLOUT_gender_specific_conversations";
24
9
  readonly message_reporting: "ROLLOUT_MOBILE_message_reporting";
@@ -27,7 +12,6 @@ export declare const availableFeatures: {
27
12
  readonly conversation_safety_lock: "ROLLOUT_conversation_safety_lock";
28
13
  readonly video_moderation: "ROLLOUT_MOBILE_video_moderation";
29
14
  readonly dm_search_clear_fix: "ROLLOUT_MOBILE_dm_search_clear_fix";
30
- readonly search: "ROLLOUT_search";
31
15
  };
32
16
  export {};
33
17
  //# sourceMappingURL=use_features.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use_features.d.ts","sourceRoot":"","sources":["../../src/hooks/use_features.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,EAAE,SAAS,EAAgB,MAAM,kBAAkB,CAAA;AAE1D,KAAK,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAA;AAE7E,KAAK,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG;IACzD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9B,CAAA;AAED,wBAAgB,WAAW;;kCAOT,WAAW;EAS5B;AAED,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS;;;;;;;CAerD,CAAA;AAEJ,eAAO,MAAM,iBAAiB;;;;;;;;;CAS0B,CAAA"}
1
+ {"version":3,"file":"use_features.d.ts","sourceRoot":"","sources":["../../src/hooks/use_features.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAK1E,KAAK,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAA;AAE7E,wBAAgB,WAAW;;kCAiBT,WAAW;EAS5B;AAED,eAAO,MAAM,iBAAiB;;;;;;;;CAQ0B,CAAA"}
@@ -1,64 +1,69 @@
1
1
  import { c as _c } from "react/compiler-runtime";
2
- import { queryOptions, useSuspenseQuery } from '@tanstack/react-query';
2
+ import { useSuspenseQuery } from '@tanstack/react-query';
3
3
  import { useCallback } from 'react';
4
4
  import { getFeaturesRequestArgs, getFeaturesQueryKey } from '../utils/request/get_features';
5
- import { FIVE_MINUTES, ONE_MINUTE } from '../utils/time';
5
+ import { FIVE_MINUTES } from '../utils/time';
6
6
  import { useApiClient } from './use_api_client';
7
7
  export function useFeatures() {
8
- const $ = _c(7);
8
+ const $ = _c(9);
9
9
  const apiClient = useApiClient();
10
10
  let t0;
11
- if ($[0] !== apiClient) {
12
- t0 = featuresQueryOptions(apiClient);
13
- $[0] = apiClient;
14
- $[1] = t0;
11
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
12
+ t0 = getFeaturesRequestArgs();
13
+ $[0] = t0;
15
14
  } else {
16
- t0 = $[1];
15
+ t0 = $[0];
17
16
  }
18
- const {
19
- data
20
- } = useSuspenseQuery(t0);
21
- const features = data.data;
17
+ const requestArgs = t0;
22
18
  let t1;
23
- if ($[2] !== features) {
24
- t1 = featureName => features.some(feature => feature.name === featureName && feature.enabled);
25
- $[2] = features;
26
- $[3] = t1;
19
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
20
+ t1 = getFeaturesQueryKey();
21
+ $[1] = t1;
27
22
  } else {
28
- t1 = $[3];
23
+ t1 = $[1];
29
24
  }
30
- const featureEnabled = t1;
31
25
  let t2;
32
- if ($[4] !== featureEnabled || $[5] !== features) {
26
+ if ($[2] !== apiClient) {
33
27
  t2 = {
28
+ queryKey: t1,
29
+ queryFn: () => apiClient.chat.get(requestArgs).catch(_temp),
30
+ staleTime: FIVE_MINUTES
31
+ };
32
+ $[2] = apiClient;
33
+ $[3] = t2;
34
+ } else {
35
+ t2 = $[3];
36
+ }
37
+ const {
38
+ data
39
+ } = useSuspenseQuery(t2);
40
+ const features = data.data;
41
+ let t3;
42
+ if ($[4] !== features) {
43
+ t3 = featureName => features.some(feature => feature.name === featureName && feature.enabled);
44
+ $[4] = features;
45
+ $[5] = t3;
46
+ } else {
47
+ t3 = $[5];
48
+ }
49
+ const featureEnabled = t3;
50
+ let t4;
51
+ if ($[6] !== featureEnabled || $[7] !== features) {
52
+ t4 = {
34
53
  features,
35
54
  featureEnabled
36
55
  };
37
- $[4] = featureEnabled;
38
- $[5] = features;
39
- $[6] = t2;
56
+ $[6] = featureEnabled;
57
+ $[7] = features;
58
+ $[8] = t4;
40
59
  } else {
41
- t2 = $[6];
60
+ t4 = $[8];
42
61
  }
43
- return t2;
62
+ return t4;
63
+ }
64
+ function _temp() {
65
+ return stableEmptyFeatures;
44
66
  }
45
- export const featuresQueryOptions = apiClient => queryOptions({
46
- queryKey: getFeaturesQueryKey(),
47
- queryFn: () => {
48
- return apiClient.chat.get(getFeaturesRequestArgs()).catch(error => ({
49
- ...stableEmptyFeatures,
50
- failure: {
51
- status: error?.status
52
- }
53
- }));
54
- },
55
- staleTime: query => {
56
- const failure = query.state.data?.failure;
57
- if (!failure) return FIVE_MINUTES;
58
- return failure.status === 429 ? ONE_MINUTE : 0;
59
- },
60
- gcTime: Infinity
61
- });
62
67
  export const availableFeatures = {
63
68
  gender_specific_conversations: 'ROLLOUT_gender_specific_conversations',
64
69
  message_reporting: 'ROLLOUT_MOBILE_message_reporting',
@@ -66,8 +71,7 @@ export const availableFeatures = {
66
71
  custom_conversation_avatars: 'ROLLOUT_custom_conversation_avatars',
67
72
  conversation_safety_lock: 'ROLLOUT_conversation_safety_lock',
68
73
  video_moderation: 'ROLLOUT_MOBILE_video_moderation',
69
- dm_search_clear_fix: 'ROLLOUT_MOBILE_dm_search_clear_fix',
70
- search: 'ROLLOUT_search'
74
+ dm_search_clear_fix: 'ROLLOUT_MOBILE_dm_search_clear_fix'
71
75
  };
72
76
  const stableEmptyFeatures = {
73
77
  data: [],
@@ -1 +1 @@
1
- {"version":3,"file":"use_features.js","names":["queryOptions","useSuspenseQuery","useCallback","getFeaturesRequestArgs","getFeaturesQueryKey","FIVE_MINUTES","ONE_MINUTE","useApiClient","useFeatures","$","_c","apiClient","t0","featuresQueryOptions","data","features","t1","featureName","some","feature","name","enabled","featureEnabled","t2","queryKey","queryFn","chat","get","catch","error","stableEmptyFeatures","failure","status","staleTime","query","state","gcTime","Infinity","availableFeatures","gender_specific_conversations","message_reporting","granular_notifications_ui","custom_conversation_avatars","conversation_safety_lock","video_moderation","dm_search_clear_fix","search","links","meta","count","totalCount"],"sources":["../../src/hooks/use_features.ts"],"sourcesContent":["import { queryOptions, useSuspenseQuery } from '@tanstack/react-query'\nimport { useCallback } from 'react'\nimport { ApiCollection } from '../types'\nimport type { FeatureResource } from '../types/resources/feature_resource'\nimport { getFeaturesRequestArgs, getFeaturesQueryKey } from '../utils/request/get_features'\nimport { FIVE_MINUTES, ONE_MINUTE } from '../utils/time'\nimport { ApiClient, useApiClient } from './use_api_client'\n\ntype FeatureName = (typeof availableFeatures)[keyof typeof availableFeatures]\n\ntype FeaturesCollection = ApiCollection<FeatureResource> & {\n failure?: { status?: number }\n}\n\nexport function useFeatures() {\n const apiClient = useApiClient()\n const { data } = useSuspenseQuery(featuresQueryOptions(apiClient))\n\n const features = data.data\n\n const featureEnabled = useCallback(\n (featureName: FeatureName) =>\n features.some(feature => feature.name === featureName && feature.enabled),\n [features]\n )\n\n return {\n features,\n featureEnabled,\n }\n}\n\nexport const featuresQueryOptions = (apiClient: ApiClient) =>\n queryOptions({\n queryKey: getFeaturesQueryKey(),\n queryFn: (): Promise<FeaturesCollection> => {\n return apiClient.chat\n .get<ApiCollection<FeatureResource>>(getFeaturesRequestArgs())\n .catch(error => ({ ...stableEmptyFeatures, failure: { status: error?.status } }))\n },\n staleTime: query => {\n const failure = query.state.data?.failure\n if (!failure) return FIVE_MINUTES\n\n return failure.status === 429 ? ONE_MINUTE : 0\n },\n gcTime: Infinity,\n })\n\nexport const availableFeatures = {\n gender_specific_conversations: 'ROLLOUT_gender_specific_conversations',\n message_reporting: 'ROLLOUT_MOBILE_message_reporting',\n granular_notifications_ui: 'ROLLOUT_granular_notification_preferences_ui',\n custom_conversation_avatars: 'ROLLOUT_custom_conversation_avatars',\n conversation_safety_lock: 'ROLLOUT_conversation_safety_lock',\n video_moderation: 'ROLLOUT_MOBILE_video_moderation',\n dm_search_clear_fix: 'ROLLOUT_MOBILE_dm_search_clear_fix',\n search: 'ROLLOUT_search',\n} as const satisfies Record<string, `ROLLOUT_${string}`>\n\nconst stableEmptyFeatures: ApiCollection<FeatureResource> = {\n data: [],\n links: {},\n meta: {\n count: 0,\n totalCount: 0,\n },\n}\n"],"mappings":";AAAA,SAASA,YAAY,EAAEC,gBAAgB,QAAQ,uBAAuB;AACtE,SAASC,WAAW,QAAQ,OAAO;AAGnC,SAASC,sBAAsB,EAAEC,mBAAmB,QAAQ,+BAA+B;AAC3F,SAASC,YAAY,EAAEC,UAAU,QAAQ,eAAe;AACxD,SAAoBC,YAAY,QAAQ,kBAAkB;AAQ1D,OAAO,SAAAC,YAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL,MAAAC,SAAA,GAAkBJ,YAAY,CAAC,CAAC;EAAA,IAAAK,EAAA;EAAA,IAAAH,CAAA,QAAAE,SAAA;IACEC,EAAA,GAAAC,oBAAoB,CAACF,SAAS,CAAC;IAAAF,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAjE;IAAAK;EAAA,IAAiBb,gBAAgB,CAACW,EAA+B,CAAC;EAElE,MAAAG,QAAA,GAAiBD,IAAI,CAAAA,IAAK;EAAA,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAM,QAAA;IAGxBC,EAAA,GAAAC,WAAA,IACEF,QAAQ,CAAAG,IAAK,CAACC,OAAA,IAAWA,OAAO,CAAAC,IAAK,KAAKH,WAA8B,IAAfE,OAAO,CAAAE,OAAQ,CAAC;IAAAZ,CAAA,MAAAM,QAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAF7E,MAAAa,cAAA,GAAuBN,EAItB;EAAA,IAAAO,EAAA;EAAA,IAAAd,CAAA,QAAAa,cAAA,IAAAb,CAAA,QAAAM,QAAA;IAEMQ,EAAA;MAAAR,QAAA;MAAAO;IAGP,CAAC;IAAAb,CAAA,MAAAa,cAAA;IAAAb,CAAA,MAAAM,QAAA;IAAAN,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAA,OAHMc,EAGN;AAAA;AAGH,OAAO,MAAMV,oBAAoB,GAAIF,SAAoB,IACvDX,YAAY,CAAC;EACXwB,QAAQ,EAAEpB,mBAAmB,CAAC,CAAC;EAC/BqB,OAAO,EAAEA,CAAA,KAAmC;IAC1C,OAAOd,SAAS,CAACe,IAAI,CAClBC,GAAG,CAAiCxB,sBAAsB,CAAC,CAAC,CAAC,CAC7DyB,KAAK,CAACC,KAAK,KAAK;MAAE,GAAGC,mBAAmB;MAAEC,OAAO,EAAE;QAAEC,MAAM,EAAEH,KAAK,EAAEG;MAAO;IAAE,CAAC,CAAC,CAAC;EACrF,CAAC;EACDC,SAAS,EAAEC,KAAK,IAAI;IAClB,MAAMH,OAAO,GAAGG,KAAK,CAACC,KAAK,CAACrB,IAAI,EAAEiB,OAAO;IACzC,IAAI,CAACA,OAAO,EAAE,OAAO1B,YAAY;IAEjC,OAAO0B,OAAO,CAACC,MAAM,KAAK,GAAG,GAAG1B,UAAU,GAAG,CAAC;EAChD,CAAC;EACD8B,MAAM,EAAEC;AACV,CAAC,CAAC;AAEJ,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,6BAA6B,EAAE,uCAAuC;EACtEC,iBAAiB,EAAE,kCAAkC;EACrDC,yBAAyB,EAAE,8CAA8C;EACzEC,2BAA2B,EAAE,qCAAqC;EAClEC,wBAAwB,EAAE,kCAAkC;EAC5DC,gBAAgB,EAAE,iCAAiC;EACnDC,mBAAmB,EAAE,oCAAoC;EACzDC,MAAM,EAAE;AACV,CAAwD;AAExD,MAAMhB,mBAAmD,GAAG;EAC1DhB,IAAI,EAAE,EAAE;EACRiC,KAAK,EAAE,CAAC,CAAC;EACTC,IAAI,EAAE;IACJC,KAAK,EAAE,CAAC;IACRC,UAAU,EAAE;EACd;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"use_features.js","names":["useSuspenseQuery","useCallback","getFeaturesRequestArgs","getFeaturesQueryKey","FIVE_MINUTES","useApiClient","useFeatures","$","_c","apiClient","t0","Symbol","for","requestArgs","t1","t2","queryKey","queryFn","chat","get","catch","_temp","staleTime","data","features","t3","featureName","some","feature","name","enabled","featureEnabled","t4","stableEmptyFeatures","availableFeatures","gender_specific_conversations","message_reporting","granular_notifications_ui","custom_conversation_avatars","conversation_safety_lock","video_moderation","dm_search_clear_fix","links","meta","count","totalCount"],"sources":["../../src/hooks/use_features.ts"],"sourcesContent":["import { useSuspenseQuery } from '@tanstack/react-query'\nimport { useCallback } from 'react'\nimport { ApiCollection } from '../types'\nimport type { FeatureResource } from '../types/resources/feature_resource'\nimport { getFeaturesRequestArgs, getFeaturesQueryKey } from '../utils/request/get_features'\nimport { FIVE_MINUTES } from '../utils/time'\nimport { useApiClient } from './use_api_client'\n\ntype FeatureName = (typeof availableFeatures)[keyof typeof availableFeatures]\n\nexport function useFeatures() {\n const apiClient = useApiClient()\n const requestArgs = getFeaturesRequestArgs()\n\n const { data } = useSuspenseQuery({\n queryKey: getFeaturesQueryKey(),\n queryFn: () => {\n return apiClient.chat\n .get<ApiCollection<FeatureResource>>(requestArgs)\n .catch(() => stableEmptyFeatures)\n },\n staleTime: FIVE_MINUTES,\n })\n\n const features = data.data\n\n const featureEnabled = useCallback(\n (featureName: FeatureName) =>\n features.some(feature => feature.name === featureName && feature.enabled),\n [features]\n )\n\n return {\n features,\n featureEnabled,\n }\n}\n\nexport const availableFeatures = {\n gender_specific_conversations: 'ROLLOUT_gender_specific_conversations',\n message_reporting: 'ROLLOUT_MOBILE_message_reporting',\n granular_notifications_ui: 'ROLLOUT_granular_notification_preferences_ui',\n custom_conversation_avatars: 'ROLLOUT_custom_conversation_avatars',\n conversation_safety_lock: 'ROLLOUT_conversation_safety_lock',\n video_moderation: 'ROLLOUT_MOBILE_video_moderation',\n dm_search_clear_fix: 'ROLLOUT_MOBILE_dm_search_clear_fix',\n} as const satisfies Record<string, `ROLLOUT_${string}`>\n\nconst stableEmptyFeatures: ApiCollection<FeatureResource> = {\n data: [],\n links: {},\n meta: {\n count: 0,\n totalCount: 0,\n },\n}\n"],"mappings":";AAAA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,WAAW,QAAQ,OAAO;AAGnC,SAASC,sBAAsB,EAAEC,mBAAmB,QAAQ,+BAA+B;AAC3F,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,YAAY,QAAQ,kBAAkB;AAI/C,OAAO,SAAAC,YAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL,MAAAC,SAAA,GAAkBJ,YAAY,CAAC,CAAC;EAAA,IAAAK,EAAA;EAAA,IAAAH,CAAA,QAAAI,MAAA,CAAAC,GAAA;IACZF,EAAA,GAAAR,sBAAsB,CAAC,CAAC;IAAAK,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAA5C,MAAAM,WAAA,GAAoBH,EAAwB;EAAA,IAAAI,EAAA;EAAA,IAAAP,CAAA,QAAAI,MAAA,CAAAC,GAAA;IAGhCE,EAAA,GAAAX,mBAAmB,CAAC,CAAC;IAAAI,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAE,SAAA;IADCM,EAAA;MAAAC,QAAA,EACtBF,EAAqB;MAAAG,OAAA,EACtBA,CAAA,KACAR,SAAS,CAAAS,IAAK,CAAAC,GACf,CAAiCN,WAAW,CAAC,CAAAO,KAC3C,CAACC,KAAyB,CACnC;MAAAC,SAAA,EACUlB;IACb,CAAC;IAAAG,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EARD;IAAAgB;EAAA,IAAiBvB,gBAAgB,CAACe,EAQjC,CAAC;EAEF,MAAAS,QAAA,GAAiBD,IAAI,CAAAA,IAAK;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAiB,QAAA;IAGxBC,EAAA,GAAAC,WAAA,IACEF,QAAQ,CAAAG,IAAK,CAACC,OAAA,IAAWA,OAAO,CAAAC,IAAK,KAAKH,WAA8B,IAAfE,OAAO,CAAAE,OAAQ,CAAC;IAAAvB,CAAA,MAAAiB,QAAA;IAAAjB,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAF7E,MAAAwB,cAAA,GAAuBN,EAItB;EAAA,IAAAO,EAAA;EAAA,IAAAzB,CAAA,QAAAwB,cAAA,IAAAxB,CAAA,QAAAiB,QAAA;IAEMQ,EAAA;MAAAR,QAAA;MAAAO;IAGP,CAAC;IAAAxB,CAAA,MAAAwB,cAAA;IAAAxB,CAAA,MAAAiB,QAAA;IAAAjB,CAAA,MAAAyB,EAAA;EAAA;IAAAA,EAAA,GAAAzB,CAAA;EAAA;EAAA,OAHMyB,EAGN;AAAA;AAzBI,SAAAX,MAAA;EAAA,OAScY,mBAAmB;AAAA;AAmBxC,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,6BAA6B,EAAE,uCAAuC;EACtEC,iBAAiB,EAAE,kCAAkC;EACrDC,yBAAyB,EAAE,8CAA8C;EACzEC,2BAA2B,EAAE,qCAAqC;EAClEC,wBAAwB,EAAE,kCAAkC;EAC5DC,gBAAgB,EAAE,iCAAiC;EACnDC,mBAAmB,EAAE;AACvB,CAAwD;AAExD,MAAMR,mBAAmD,GAAG;EAC1DV,IAAI,EAAE,EAAE;EACRmB,KAAK,EAAE,CAAC,CAAC;EACTC,IAAI,EAAE;IACJC,KAAK,EAAE,CAAC;IACRC,UAAU,EAAE;EACd;AACF,CAAC","ignoreList":[]}
@@ -65,7 +65,7 @@ export declare const NewConversationStack: import("@react-navigation/core").Type
65
65
  readonly ConversationSelectDirectMessageRecipients: {
66
66
  readonly screen: typeof ConversationSelectDirectMessageRecipientsScreen;
67
67
  readonly if: () => boolean;
68
- readonly options: ({ navigation }: {
68
+ readonly options: ({ navigation, route }: {
69
69
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
70
70
  navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
71
71
  theme: ReactNavigation.Theme;
@@ -248,7 +248,7 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
248
248
  readonly ConversationSelectDirectMessageRecipients: {
249
249
  readonly screen: typeof ConversationSelectDirectMessageRecipientsScreen;
250
250
  readonly if: () => boolean;
251
- readonly options: ({ navigation }: {
251
+ readonly options: ({ navigation, route }: {
252
252
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
253
253
  navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
254
254
  theme: ReactNavigation.Theme;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAGL,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAShE,OAAO,EACL,uBAAuB,EAExB,MAAM,yDAAyD,CAAA;AAChE,OAAO,EACL,kBAAkB,EAGnB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAA;AACtF,OAAO,EACL,yBAAyB,EAE1B,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAWlF,OAAO,EACL,yCAAyC,EAE1C,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAEL,kBAAkB,EAEnB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,+CAA+C,EAAE,MAAM,gGAAgG,CAAA;AAIhK,OAAO,EACL,4BAA4B,EAE7B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AAEnF,OAAO,EACL,kCAAkC,EAEnC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAA;AAC/F,OAAO,EACL,oBAAoB,EAErB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAA8B,MAAM,kCAAkC,CAAA;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,EAAE,eAAe,EAA0B,MAAM,6BAA6B,CAAA;AACrF,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EACL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAGhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AAO/D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;kCALA,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmF3D,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;kCArFW,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4S3D,CAAA;AAEF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,SAAS,CAAC,CAAA;AAE3D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,eAAe,CAAC;QACxB,UAAU,aAAc,SAAQ,kBAAkB;SAAG;KACtD;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAGL,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAShE,OAAO,EACL,uBAAuB,EAExB,MAAM,yDAAyD,CAAA;AAChE,OAAO,EACL,kBAAkB,EAGnB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAA;AACtF,OAAO,EACL,yBAAyB,EAE1B,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAWlF,OAAO,EACL,yCAAyC,EAE1C,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAEL,kBAAkB,EAEnB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,+CAA+C,EAAE,MAAM,gGAAgG,CAAA;AAIhK,OAAO,EACL,4BAA4B,EAE7B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AAEnF,OAAO,EACL,kCAAkC,EAEnC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAA;AAC/F,OAAO,EACL,oBAAoB,EAErB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAA8B,MAAM,kCAAkC,CAAA;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,EAAE,eAAe,EAA0B,MAAM,6BAA6B,CAAA;AACrF,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EACL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAGhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AAO/D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;kCALA,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoF3D,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;kCAtFW,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6S3D,CAAA;AAEF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,SAAS,CAAC,CAAA;AAE3D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,eAAe,CAAC;QACxB,UAAU,aAAc,SAAQ,kBAAkB;SAAG;KACtD;CACF"}
@@ -83,12 +83,12 @@ export const NewConversationStack = createNativeStackNavigator({
83
83
  screen: ConversationSelectDirectMessageRecipientsScreen,
84
84
  if: useDirectMessagesEligible,
85
85
  options: ({
86
- navigation
86
+ navigation,
87
+ route
87
88
  }) => composeOptions({
88
- title: 'New conversation',
89
- headerBackVisible: false
89
+ title: 'New conversation'
90
90
  }, withRightClose({
91
- onPress: navigation.goBack
91
+ onPress: () => navigation.popTo('Conversations', route.params)
92
92
  }))
93
93
  },
94
94
  ConversationFilterRecipients: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createNativeStackNavigator","CardStyleInterpolators","React","composeOptions","withMinimalBack","withRightClose","withRightDone","useDirectMessagesEligible","useQualifiedByAge","AttachmentActionsScreen","AttachmentActionsScreenOptions","AvatarPickerScreen","AvatarPickerScreenOptions","AvatarPickerCreateScreenOptions","BugReportScreen","BugReportScreenOptions","MessageReadReceiptsScreen","MessageReadReceiptsScreenOptions","ConversationDetailsScreen","ConversationFilterReceipientsScreenOptions","ConversationFilterRecipientsScreen","ConversationFiltersScreen","ConversationFiltersScreenOptions","ConversationNewScreen","ConversationNotificationLevelSelectScreen","ConversationNotificationLevelSelectScreenOptions","ConversationScreen","ConversationScreenTitle","ConversationNewEntryScreen","ConversationSelectDirectMessageRecipientsScreen","ConversationSelectGroupRecipientsScreen","ConversationSelectTeamsILeadRecipientsScreen","ConversationSelectTypeScreen","ConversationSelectTypeScreenOptions","ConversationsScreen","GetHelpScreen","GroupNotificationLevelSelectScreen","GroupNotificationLevelSelectScreenOptions","GroupNotificationSettingsScreen","MessageActionsScreen","MessageActionsScreenOptions","MessageReportScreen","MessageReportScreenOptions","NotFound","NotificationSettingsScreen","PreferredAppSelectionScreen","ReactionsScreen","ReactionsScreenOptions","SendGiphyScreen","SendGiphyScreenOptions","SettingsScreen","SystemMessagePeopleScreen","SystemMessagePeopleScreenOptions","TeamConversationScreen","isLiquidGlassEnabled","ScreenLayoutWithChatAccessGate","jsx","_jsx","globalScreenOptions","headerBackButtonDisplayMode","headerShadowVisible","NewConversationStack","initialRouteName","screenOptions","screenLayout","screens","ConversationNewEntry","screen","options","navigation","title","headerBackVisible","onPress","goBack","ConversationSelectGroupRecipients","route","popTo","params","ConversationSelectTeamsILeadRecipients","ConversationSelectDirectMessageRecipients","if","ConversationFilterRecipients","ConversationNew","headerLeft","chat_group_graph_id","group_source_app_name","AvatarPicker","ChatStack","Conversations","headerTitle","ConversationFilters","Conversation","props","conversation_id","badge","deleted","muted","children","getParent","ConversationReply","TeamConversation","animation","cardStyleInterpolator","forNoAnimation","ConversationDetails","presentation","ChatSettings","NotificationSettings","getState","index","PreferredAppSelection","GroupNotificationSettings","GroupNotificationLevelSelect","ConversationNotificationLevelSelect","New","headerShown","GroupConversationNew","SendGiphy","MessageActions","MessageReport","AttachmentActions","ConversationSelectType","Reactions","SystemMessagePeople","MessageReadReceipts","BugReport","GetHelp","linking","path"],"sources":["../../src/navigation/index.tsx"],"sourcesContent":["import { StaticParamList } from '@react-navigation/native'\nimport {\n createNativeStackNavigator,\n NativeStackHeaderRightProps,\n NativeStackNavigationOptions,\n} from '@react-navigation/native-stack'\nimport { CardStyleInterpolators } from '@react-navigation/stack'\nimport React from 'react'\nimport {\n composeOptions,\n withMinimalBack,\n withRightClose,\n withRightDone,\n} from '../components/display/platform_modal_header_buttons'\nimport { useDirectMessagesEligible, useQualifiedByAge } from '../hooks'\nimport {\n AttachmentActionsScreen,\n AttachmentActionsScreenOptions,\n} from '../screens/attachment_actions/attachment_actions_screen'\nimport {\n AvatarPickerScreen,\n AvatarPickerScreenOptions,\n AvatarPickerCreateScreenOptions,\n} from '../screens/avatar_picker/avatar_picker_screen'\nimport { BugReportScreen, BugReportScreenOptions } from '../screens/bug_report_screen'\nimport {\n MessageReadReceiptsScreen,\n MessageReadReceiptsScreenOptions,\n} from '../screens/conversation/message_read_receipts_screen'\nimport { ConversationDetailsScreen } from '../screens/conversation_details_screen'\nimport {\n ConversationFilterReceipientsScreenOptions,\n ConversationFilterRecipientsScreen,\n} from '../screens/conversation_filter_recipients/conversation_filter_recipients_screen'\nimport { ConversationFiltersParams } from '../screens/conversation_filters/screen_props'\nimport {\n ConversationFiltersScreen,\n ConversationFiltersScreenOptions,\n} from '../screens/conversation_filters_screen'\nimport { ConversationNewScreen } from '../screens/conversation_new/conversation_new_screen'\nimport {\n ConversationNotificationLevelSelectScreen,\n ConversationNotificationLevelSelectScreenOptions,\n} from '../screens/conversation_notification_level_select_screen'\nimport {\n ConversationRouteProps,\n ConversationScreen,\n ConversationScreenTitle,\n} from '../screens/conversation_screen'\nimport { ConversationNewEntryScreen } from '../screens/conversation_select_recipients/conversation_new_entry_screen'\nimport { ConversationSelectDirectMessageRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen'\nimport { ConversationSelectGroupRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_group_recipients_screen'\nimport { ConversationSelectTeamsILeadRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen'\nimport { ConversationSelectRecipientsParams } from '../screens/conversation_select_recipients/types/screen_props'\nimport {\n ConversationSelectTypeScreen,\n ConversationSelectTypeScreenOptions,\n} from '../screens/conversation_select_type_screen'\nimport { ConversationsScreen } from '../screens/conversations/conversations_screen'\nimport { GetHelpScreen } from '../screens/get_help_screen'\nimport {\n GroupNotificationLevelSelectScreen,\n GroupNotificationLevelSelectScreenOptions,\n} from '../screens/group_notification_level_select_screen'\nimport { GroupNotificationSettingsScreen } from '../screens/group_notification_settings_screen'\nimport {\n MessageActionsScreen,\n MessageActionsScreenOptions,\n} from '../screens/message_actions_screen'\nimport { MessageReportScreen, MessageReportScreenOptions } from '../screens/message_report_screen'\nimport { NotFound } from '../screens/not_found'\nimport { NotificationSettingsScreen } from '../screens/notification_settings_screen'\nimport { PreferredAppSelectionScreen } from '../screens/preferred_app_selection_screen'\nimport { ReactionsScreen, ReactionsScreenOptions } from '../screens/reactions_screen'\nimport { SendGiphyScreen, SendGiphyScreenOptions } from '../screens/send_giphy_screen'\nimport { SettingsScreen } from '../screens/settings_screen'\nimport {\n SystemMessagePeopleScreen,\n SystemMessagePeopleScreenOptions,\n} from '../screens/system_message_people_screen'\nimport { TeamConversationScreen } from '../screens/team_conversation_screen'\nimport { isLiquidGlassEnabled } from '../utils/liquid_glass'\nimport { ScreenLayoutWithChatAccessGate } from './screenLayout'\n\nconst globalScreenOptions: () => NativeStackNavigationOptions = () => ({\n headerBackButtonDisplayMode: 'minimal',\n ...(isLiquidGlassEnabled() ? { headerShadowVisible: false } : {}),\n})\n\nexport const NewConversationStack = createNativeStackNavigator({\n initialRouteName: 'ConversationNewEntry',\n screenOptions: globalScreenOptions,\n screenLayout: ScreenLayoutWithChatAccessGate,\n screens: {\n ConversationNewEntry: {\n screen: ConversationNewEntryScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationSelectGroupRecipients: {\n screen: ConversationSelectGroupRecipientsScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationSelectTeamsILeadRecipients: {\n screen: ConversationSelectTeamsILeadRecipientsScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationSelectDirectMessageRecipients: {\n screen: ConversationSelectDirectMessageRecipientsScreen,\n if: useDirectMessagesEligible,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationFilterRecipients: {\n screen: ConversationFilterRecipientsScreen,\n options: ConversationFilterReceipientsScreenOptions,\n },\n ConversationNew: {\n screen: ConversationNewScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerLeft: () => null,\n },\n withRightClose({\n onPress: () => {\n const { chat_group_graph_id, group_source_app_name } =\n route.params as ConversationSelectRecipientsParams\n navigation.popTo('Conversations', { chat_group_graph_id, group_source_app_name })\n },\n })\n ),\n },\n AvatarPicker: {\n screen: AvatarPickerScreen,\n options: AvatarPickerCreateScreenOptions,\n },\n },\n})\n\nexport const ChatStack = createNativeStackNavigator({\n screenOptions: globalScreenOptions,\n screenLayout: ScreenLayoutWithChatAccessGate,\n screens: {\n Conversations: {\n screen: ConversationsScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n headerTitle: (route.params as { title?: string })?.title ?? 'Chat',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationFilters: {\n screen: ConversationFiltersScreen,\n options: ConversationFiltersScreenOptions,\n },\n Conversation: {\n screen: ConversationScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n headerTitle: (props: NativeStackHeaderRightProps) => {\n const { conversation_id, title, badge, deleted, muted } =\n route.params as ConversationRouteProps\n\n return (\n <ConversationScreenTitle\n conversation_id={conversation_id}\n badge={badge}\n deleted={deleted}\n muted={muted}\n {...props}\n >\n {title ?? 'Conversation'}\n </ConversationScreenTitle>\n )\n },\n },\n withMinimalBack({\n onPress: () => {\n const params = route.params as ConversationRouteProps\n if ((params as ConversationFiltersParams)?.chat_group_graph_id) {\n // Ensure that conversations with a graph id pass them back to the conversation list\n const { chat_group_graph_id } = params\n navigation.popTo('Conversations', { chat_group_graph_id })\n } else {\n navigation.goBack()\n }\n },\n }),\n withRightClose({ onPress: () => navigation.getParent()?.goBack() })\n ),\n },\n ConversationReply: {\n screen: ConversationScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n { title: (route.params as ConversationRouteProps)?.title ?? 'Reply' },\n withMinimalBack({ onPress: navigation.goBack })\n ),\n },\n TeamConversation: {\n screen: TeamConversationScreen,\n if: useQualifiedByAge,\n options: {\n title: 'Finding conversation...',\n animation: 'none',\n cardStyleInterpolator: CardStyleInterpolators.forNoAnimation,\n },\n },\n ConversationDetails: {\n screen: ConversationDetailsScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n presentation: 'modal',\n title: 'Conversation details',\n },\n withRightDone({ onPress: navigation.goBack })\n ),\n },\n AvatarPicker: {\n screen: AvatarPickerScreen,\n options: AvatarPickerScreenOptions,\n },\n ChatSettings: {\n screen: SettingsScreen,\n options: ({ navigation }) =>\n composeOptions({ title: 'Chat settings' }, withMinimalBack({ onPress: navigation.goBack })),\n },\n NotificationSettings: {\n screen: NotificationSettingsScreen,\n options: ({ navigation }) =>\n navigation.getState().index === 0\n ? composeOptions(\n { title: 'Chat notifications' },\n withRightClose({ onPress: navigation.goBack })\n )\n : composeOptions(\n { title: 'Chat notifications' },\n withMinimalBack({ onPress: navigation.goBack })\n ),\n },\n PreferredAppSelection: {\n screen: PreferredAppSelectionScreen,\n options: ({ navigation }) =>\n composeOptions({ title: 'Preferred app' }, withMinimalBack({ onPress: navigation.goBack })),\n },\n GroupNotificationSettings: {\n screen: GroupNotificationSettingsScreen,\n options: ({ route, navigation }) => {\n const title = (route.params as { title?: string })?.title || 'Group Settings'\n\n // The dismiss button only shows when this is the entry screen (e.g.\n // deep links); deeper in the stack the back button covers dismissal.\n return navigation.getState().index === 0\n ? composeOptions(\n {\n title,\n },\n withRightClose({ onPress: navigation.goBack })\n )\n : composeOptions({ title }, withMinimalBack({ onPress: navigation.goBack }))\n },\n },\n GroupNotificationLevelSelect: {\n screen: GroupNotificationLevelSelectScreen,\n options: GroupNotificationLevelSelectScreenOptions,\n },\n ConversationNotificationLevelSelect: {\n screen: ConversationNotificationLevelSelectScreen,\n options: ConversationNotificationLevelSelectScreenOptions,\n },\n New: {\n screen: NewConversationStack,\n if: useQualifiedByAge,\n options: {\n headerShown: false,\n presentation: 'modal',\n },\n },\n GroupConversationNew: {\n screen: ConversationNewScreen,\n if: useQualifiedByAge,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerLeft: () => null,\n },\n withRightClose({ onPress: () => navigation.getParent()?.goBack() })\n ),\n },\n SendGiphy: {\n screen: SendGiphyScreen,\n options: SendGiphyScreenOptions,\n },\n MessageActions: {\n screen: MessageActionsScreen,\n // Something about sheetAllowedDetents declared inline breaks TS\n options: MessageActionsScreenOptions,\n },\n MessageReport: {\n screen: MessageReportScreen,\n options: MessageReportScreenOptions,\n },\n AttachmentActions: {\n screen: AttachmentActionsScreen,\n options: AttachmentActionsScreenOptions,\n },\n ConversationSelectType: {\n screen: ConversationSelectTypeScreen,\n options: ConversationSelectTypeScreenOptions,\n },\n Reactions: {\n screen: ReactionsScreen,\n options: ReactionsScreenOptions,\n },\n SystemMessagePeople: {\n screen: SystemMessagePeopleScreen,\n options: SystemMessagePeopleScreenOptions,\n },\n MessageReadReceipts: {\n screen: MessageReadReceiptsScreen,\n options: MessageReadReceiptsScreenOptions,\n },\n BugReport: {\n screen: BugReportScreen,\n options: BugReportScreenOptions,\n },\n GetHelp: {\n screen: GetHelpScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n headerTitle: 'Get help',\n headerBackVisible: false,\n presentation: 'modal',\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n NotFound: {\n screen: NotFound,\n options: {\n title: '404',\n },\n linking: {\n path: '*',\n },\n },\n },\n})\n\ntype ChatStackParamList = StaticParamList<typeof ChatStack>\n\ndeclare global {\n namespace ReactNavigation {\n interface RootParamList extends ChatStackParamList {}\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createNativeStackNavigator","CardStyleInterpolators","React","composeOptions","withMinimalBack","withRightClose","withRightDone","useDirectMessagesEligible","useQualifiedByAge","AttachmentActionsScreen","AttachmentActionsScreenOptions","AvatarPickerScreen","AvatarPickerScreenOptions","AvatarPickerCreateScreenOptions","BugReportScreen","BugReportScreenOptions","MessageReadReceiptsScreen","MessageReadReceiptsScreenOptions","ConversationDetailsScreen","ConversationFilterReceipientsScreenOptions","ConversationFilterRecipientsScreen","ConversationFiltersScreen","ConversationFiltersScreenOptions","ConversationNewScreen","ConversationNotificationLevelSelectScreen","ConversationNotificationLevelSelectScreenOptions","ConversationScreen","ConversationScreenTitle","ConversationNewEntryScreen","ConversationSelectDirectMessageRecipientsScreen","ConversationSelectGroupRecipientsScreen","ConversationSelectTeamsILeadRecipientsScreen","ConversationSelectTypeScreen","ConversationSelectTypeScreenOptions","ConversationsScreen","GetHelpScreen","GroupNotificationLevelSelectScreen","GroupNotificationLevelSelectScreenOptions","GroupNotificationSettingsScreen","MessageActionsScreen","MessageActionsScreenOptions","MessageReportScreen","MessageReportScreenOptions","NotFound","NotificationSettingsScreen","PreferredAppSelectionScreen","ReactionsScreen","ReactionsScreenOptions","SendGiphyScreen","SendGiphyScreenOptions","SettingsScreen","SystemMessagePeopleScreen","SystemMessagePeopleScreenOptions","TeamConversationScreen","isLiquidGlassEnabled","ScreenLayoutWithChatAccessGate","jsx","_jsx","globalScreenOptions","headerBackButtonDisplayMode","headerShadowVisible","NewConversationStack","initialRouteName","screenOptions","screenLayout","screens","ConversationNewEntry","screen","options","navigation","title","headerBackVisible","onPress","goBack","ConversationSelectGroupRecipients","route","popTo","params","ConversationSelectTeamsILeadRecipients","ConversationSelectDirectMessageRecipients","if","ConversationFilterRecipients","ConversationNew","headerLeft","chat_group_graph_id","group_source_app_name","AvatarPicker","ChatStack","Conversations","headerTitle","ConversationFilters","Conversation","props","conversation_id","badge","deleted","muted","children","getParent","ConversationReply","TeamConversation","animation","cardStyleInterpolator","forNoAnimation","ConversationDetails","presentation","ChatSettings","NotificationSettings","getState","index","PreferredAppSelection","GroupNotificationSettings","GroupNotificationLevelSelect","ConversationNotificationLevelSelect","New","headerShown","GroupConversationNew","SendGiphy","MessageActions","MessageReport","AttachmentActions","ConversationSelectType","Reactions","SystemMessagePeople","MessageReadReceipts","BugReport","GetHelp","linking","path"],"sources":["../../src/navigation/index.tsx"],"sourcesContent":["import { StaticParamList } from '@react-navigation/native'\nimport {\n createNativeStackNavigator,\n NativeStackHeaderRightProps,\n NativeStackNavigationOptions,\n} from '@react-navigation/native-stack'\nimport { CardStyleInterpolators } from '@react-navigation/stack'\nimport React from 'react'\nimport {\n composeOptions,\n withMinimalBack,\n withRightClose,\n withRightDone,\n} from '../components/display/platform_modal_header_buttons'\nimport { useDirectMessagesEligible, useQualifiedByAge } from '../hooks'\nimport {\n AttachmentActionsScreen,\n AttachmentActionsScreenOptions,\n} from '../screens/attachment_actions/attachment_actions_screen'\nimport {\n AvatarPickerScreen,\n AvatarPickerScreenOptions,\n AvatarPickerCreateScreenOptions,\n} from '../screens/avatar_picker/avatar_picker_screen'\nimport { BugReportScreen, BugReportScreenOptions } from '../screens/bug_report_screen'\nimport {\n MessageReadReceiptsScreen,\n MessageReadReceiptsScreenOptions,\n} from '../screens/conversation/message_read_receipts_screen'\nimport { ConversationDetailsScreen } from '../screens/conversation_details_screen'\nimport {\n ConversationFilterReceipientsScreenOptions,\n ConversationFilterRecipientsScreen,\n} from '../screens/conversation_filter_recipients/conversation_filter_recipients_screen'\nimport { ConversationFiltersParams } from '../screens/conversation_filters/screen_props'\nimport {\n ConversationFiltersScreen,\n ConversationFiltersScreenOptions,\n} from '../screens/conversation_filters_screen'\nimport { ConversationNewScreen } from '../screens/conversation_new/conversation_new_screen'\nimport {\n ConversationNotificationLevelSelectScreen,\n ConversationNotificationLevelSelectScreenOptions,\n} from '../screens/conversation_notification_level_select_screen'\nimport {\n ConversationRouteProps,\n ConversationScreen,\n ConversationScreenTitle,\n} from '../screens/conversation_screen'\nimport { ConversationNewEntryScreen } from '../screens/conversation_select_recipients/conversation_new_entry_screen'\nimport { ConversationSelectDirectMessageRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen'\nimport { ConversationSelectGroupRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_group_recipients_screen'\nimport { ConversationSelectTeamsILeadRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen'\nimport { ConversationSelectRecipientsParams } from '../screens/conversation_select_recipients/types/screen_props'\nimport {\n ConversationSelectTypeScreen,\n ConversationSelectTypeScreenOptions,\n} from '../screens/conversation_select_type_screen'\nimport { ConversationsScreen } from '../screens/conversations/conversations_screen'\nimport { GetHelpScreen } from '../screens/get_help_screen'\nimport {\n GroupNotificationLevelSelectScreen,\n GroupNotificationLevelSelectScreenOptions,\n} from '../screens/group_notification_level_select_screen'\nimport { GroupNotificationSettingsScreen } from '../screens/group_notification_settings_screen'\nimport {\n MessageActionsScreen,\n MessageActionsScreenOptions,\n} from '../screens/message_actions_screen'\nimport { MessageReportScreen, MessageReportScreenOptions } from '../screens/message_report_screen'\nimport { NotFound } from '../screens/not_found'\nimport { NotificationSettingsScreen } from '../screens/notification_settings_screen'\nimport { PreferredAppSelectionScreen } from '../screens/preferred_app_selection_screen'\nimport { ReactionsScreen, ReactionsScreenOptions } from '../screens/reactions_screen'\nimport { SendGiphyScreen, SendGiphyScreenOptions } from '../screens/send_giphy_screen'\nimport { SettingsScreen } from '../screens/settings_screen'\nimport {\n SystemMessagePeopleScreen,\n SystemMessagePeopleScreenOptions,\n} from '../screens/system_message_people_screen'\nimport { TeamConversationScreen } from '../screens/team_conversation_screen'\nimport { isLiquidGlassEnabled } from '../utils/liquid_glass'\nimport { ScreenLayoutWithChatAccessGate } from './screenLayout'\n\nconst globalScreenOptions: () => NativeStackNavigationOptions = () => ({\n headerBackButtonDisplayMode: 'minimal',\n ...(isLiquidGlassEnabled() ? { headerShadowVisible: false } : {}),\n})\n\nexport const NewConversationStack = createNativeStackNavigator({\n initialRouteName: 'ConversationNewEntry',\n screenOptions: globalScreenOptions,\n screenLayout: ScreenLayoutWithChatAccessGate,\n screens: {\n ConversationNewEntry: {\n screen: ConversationNewEntryScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationSelectGroupRecipients: {\n screen: ConversationSelectGroupRecipientsScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationSelectTeamsILeadRecipients: {\n screen: ConversationSelectTeamsILeadRecipientsScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationSelectDirectMessageRecipients: {\n screen: ConversationSelectDirectMessageRecipientsScreen,\n if: useDirectMessagesEligible,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationFilterRecipients: {\n screen: ConversationFilterRecipientsScreen,\n options: ConversationFilterReceipientsScreenOptions,\n },\n ConversationNew: {\n screen: ConversationNewScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerLeft: () => null,\n },\n withRightClose({\n onPress: () => {\n const { chat_group_graph_id, group_source_app_name } =\n route.params as ConversationSelectRecipientsParams\n navigation.popTo('Conversations', { chat_group_graph_id, group_source_app_name })\n },\n })\n ),\n },\n AvatarPicker: {\n screen: AvatarPickerScreen,\n options: AvatarPickerCreateScreenOptions,\n },\n },\n})\n\nexport const ChatStack = createNativeStackNavigator({\n screenOptions: globalScreenOptions,\n screenLayout: ScreenLayoutWithChatAccessGate,\n screens: {\n Conversations: {\n screen: ConversationsScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n headerTitle: (route.params as { title?: string })?.title ?? 'Chat',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationFilters: {\n screen: ConversationFiltersScreen,\n options: ConversationFiltersScreenOptions,\n },\n Conversation: {\n screen: ConversationScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n headerTitle: (props: NativeStackHeaderRightProps) => {\n const { conversation_id, title, badge, deleted, muted } =\n route.params as ConversationRouteProps\n\n return (\n <ConversationScreenTitle\n conversation_id={conversation_id}\n badge={badge}\n deleted={deleted}\n muted={muted}\n {...props}\n >\n {title ?? 'Conversation'}\n </ConversationScreenTitle>\n )\n },\n },\n withMinimalBack({\n onPress: () => {\n const params = route.params as ConversationRouteProps\n if ((params as ConversationFiltersParams)?.chat_group_graph_id) {\n // Ensure that conversations with a graph id pass them back to the conversation list\n const { chat_group_graph_id } = params\n navigation.popTo('Conversations', { chat_group_graph_id })\n } else {\n navigation.goBack()\n }\n },\n }),\n withRightClose({ onPress: () => navigation.getParent()?.goBack() })\n ),\n },\n ConversationReply: {\n screen: ConversationScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n { title: (route.params as ConversationRouteProps)?.title ?? 'Reply' },\n withMinimalBack({ onPress: navigation.goBack })\n ),\n },\n TeamConversation: {\n screen: TeamConversationScreen,\n if: useQualifiedByAge,\n options: {\n title: 'Finding conversation...',\n animation: 'none',\n cardStyleInterpolator: CardStyleInterpolators.forNoAnimation,\n },\n },\n ConversationDetails: {\n screen: ConversationDetailsScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n presentation: 'modal',\n title: 'Conversation details',\n },\n withRightDone({ onPress: navigation.goBack })\n ),\n },\n AvatarPicker: {\n screen: AvatarPickerScreen,\n options: AvatarPickerScreenOptions,\n },\n ChatSettings: {\n screen: SettingsScreen,\n options: ({ navigation }) =>\n composeOptions({ title: 'Chat settings' }, withMinimalBack({ onPress: navigation.goBack })),\n },\n NotificationSettings: {\n screen: NotificationSettingsScreen,\n options: ({ navigation }) =>\n navigation.getState().index === 0\n ? composeOptions(\n { title: 'Chat notifications' },\n withRightClose({ onPress: navigation.goBack })\n )\n : composeOptions(\n { title: 'Chat notifications' },\n withMinimalBack({ onPress: navigation.goBack })\n ),\n },\n PreferredAppSelection: {\n screen: PreferredAppSelectionScreen,\n options: ({ navigation }) =>\n composeOptions({ title: 'Preferred app' }, withMinimalBack({ onPress: navigation.goBack })),\n },\n GroupNotificationSettings: {\n screen: GroupNotificationSettingsScreen,\n options: ({ route, navigation }) => {\n const title = (route.params as { title?: string })?.title || 'Group Settings'\n\n // The dismiss button only shows when this is the entry screen (e.g.\n // deep links); deeper in the stack the back button covers dismissal.\n return navigation.getState().index === 0\n ? composeOptions(\n {\n title,\n },\n withRightClose({ onPress: navigation.goBack })\n )\n : composeOptions({ title }, withMinimalBack({ onPress: navigation.goBack }))\n },\n },\n GroupNotificationLevelSelect: {\n screen: GroupNotificationLevelSelectScreen,\n options: GroupNotificationLevelSelectScreenOptions,\n },\n ConversationNotificationLevelSelect: {\n screen: ConversationNotificationLevelSelectScreen,\n options: ConversationNotificationLevelSelectScreenOptions,\n },\n New: {\n screen: NewConversationStack,\n if: useQualifiedByAge,\n options: {\n headerShown: false,\n presentation: 'modal',\n },\n },\n GroupConversationNew: {\n screen: ConversationNewScreen,\n if: useQualifiedByAge,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerLeft: () => null,\n },\n withRightClose({ onPress: () => navigation.getParent()?.goBack() })\n ),\n },\n SendGiphy: {\n screen: SendGiphyScreen,\n options: SendGiphyScreenOptions,\n },\n MessageActions: {\n screen: MessageActionsScreen,\n // Something about sheetAllowedDetents declared inline breaks TS\n options: MessageActionsScreenOptions,\n },\n MessageReport: {\n screen: MessageReportScreen,\n options: MessageReportScreenOptions,\n },\n AttachmentActions: {\n screen: AttachmentActionsScreen,\n options: AttachmentActionsScreenOptions,\n },\n ConversationSelectType: {\n screen: ConversationSelectTypeScreen,\n options: ConversationSelectTypeScreenOptions,\n },\n Reactions: {\n screen: ReactionsScreen,\n options: ReactionsScreenOptions,\n },\n SystemMessagePeople: {\n screen: SystemMessagePeopleScreen,\n options: SystemMessagePeopleScreenOptions,\n },\n MessageReadReceipts: {\n screen: MessageReadReceiptsScreen,\n options: MessageReadReceiptsScreenOptions,\n },\n BugReport: {\n screen: BugReportScreen,\n options: BugReportScreenOptions,\n },\n GetHelp: {\n screen: GetHelpScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n headerTitle: 'Get help',\n headerBackVisible: false,\n presentation: 'modal',\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n NotFound: {\n screen: NotFound,\n options: {\n title: '404',\n },\n linking: {\n path: '*',\n },\n },\n },\n})\n\ntype ChatStackParamList = StaticParamList<typeof ChatStack>\n\ndeclare global {\n namespace ReactNavigation {\n interface RootParamList extends ChatStackParamList {}\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -54,7 +54,6 @@ export const ServicesForm = t0 => {
54
54
  }
55
55
  const safetyLockEnabled = t2;
56
56
  const [selectedPlanId, setSelectedPlanId] = useState(initialPlanId);
57
- const [filterByPlan, setFilterByPlan] = useState(!!initialPlanId);
58
57
  let t3;
59
58
  if ($[4] !== initialTeamIds) {
60
59
  t3 = uniq(initialTeamIds) || [];
@@ -71,7 +70,6 @@ export const ServicesForm = t0 => {
71
70
  t4 = () => {
72
71
  setSelectedTeamIds(initialState);
73
72
  setSelectedPlanId(initialPlanId);
74
- setFilterByPlan(!!initialPlanId);
75
73
  };
76
74
  t5 = [initialState, initialPlanId];
77
75
  $[6] = initialPlanId;
@@ -94,7 +92,8 @@ export const ServicesForm = t0 => {
94
92
  t6 = $[11];
95
93
  }
96
94
  const removeSelection = t6;
97
- const activePlanId = filterByPlan ? selectedPlanId : undefined;
95
+ const [filerByPlan, setFilterByPlan] = useState(false);
96
+ const activePlanId = filerByPlan ? selectedPlanId : undefined;
98
97
  let t7;
99
98
  if ($[12] !== activePlanId || $[13] !== safetyLockEnabled || $[14] !== selectedTeamIds) {
100
99
  t7 = {
@@ -132,12 +131,12 @@ export const ServicesForm = t0 => {
132
131
  validationPending
133
132
  } = useConversationValidate(t8);
134
133
  let t9;
135
- if ($[20] !== activePlanId || $[21] !== selectedTeamIds) {
134
+ if ($[20] !== selectedPlanId || $[21] !== selectedTeamIds) {
136
135
  t9 = {
137
136
  teamIds: selectedTeamIds,
138
- planId: activePlanId
137
+ planId: selectedPlanId
139
138
  };
140
- $[20] = activePlanId;
139
+ $[20] = selectedPlanId;
141
140
  $[21] = selectedTeamIds;
142
141
  $[22] = t9;
143
142
  } else {
@@ -203,13 +202,13 @@ export const ServicesForm = t0 => {
203
202
  isLoadingConversationCheck
204
203
  } = useFindOrCreateServicesConversation(t12);
205
204
  let t13;
206
- if ($[34] !== avatarSelection || $[35] !== customAvatarsEnabled || $[36] !== filterByPlan || $[37] !== isMemberError || $[38] !== members || $[39] !== removeSelection || $[40] !== selectedPlanId || $[41] !== selectedTeamIds || $[42] !== selectionHasConversation || $[43] !== teamFilterType) {
205
+ if ($[34] !== avatarSelection || $[35] !== customAvatarsEnabled || $[36] !== filerByPlan || $[37] !== isMemberError || $[38] !== members || $[39] !== removeSelection || $[40] !== selectedPlanId || $[41] !== selectedTeamIds || $[42] !== selectionHasConversation || $[43] !== teamFilterType) {
207
206
  t13 = /*#__PURE__*/_jsx(FormContent, {
208
207
  selectedTeamIds: selectedTeamIds,
209
208
  removeSelection: removeSelection,
210
209
  selectedPlanId: selectedPlanId,
211
210
  setSelectedPlanId: setSelectedPlanId,
212
- filterByPlan: filterByPlan,
211
+ filterByPlan: filerByPlan,
213
212
  setFilterByPlan: setFilterByPlan,
214
213
  members: members,
215
214
  isMemberError: isMemberError,
@@ -220,7 +219,7 @@ export const ServicesForm = t0 => {
220
219
  });
221
220
  $[34] = avatarSelection;
222
221
  $[35] = customAvatarsEnabled;
223
- $[36] = filterByPlan;
222
+ $[36] = filerByPlan;
224
223
  $[37] = isMemberError;
225
224
  $[38] = members;
226
225
  $[39] = removeSelection;