@planningcenter/chat-react-native 4.3.0-rc.9 → 4.3.1-qa-989.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.
- package/build/components/conversation/attachments/giphy_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/giphy_attachment.js +2 -2
- package/build/components/conversation/attachments/giphy_attachment.js.map +1 -1
- package/build/components/conversation/attachments/image_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/image_attachment.js +5 -3
- package/build/components/conversation/attachments/image_attachment.js.map +1 -1
- package/build/components/conversation/message.d.ts +3 -1
- package/build/components/conversation/message.d.ts.map +1 -1
- package/build/components/conversation/message.js +183 -158
- package/build/components/conversation/message.js.map +1 -1
- package/build/components/conversation/message_form.d.ts.map +1 -1
- package/build/components/conversation/message_form.js +3 -3
- package/build/components/conversation/message_form.js.map +1 -1
- package/build/components/conversation/message_list.d.ts.map +1 -1
- package/build/components/conversation/message_list.js +143 -88
- package/build/components/conversation/message_list.js.map +1 -1
- package/build/components/conversation/system_message.js +3 -3
- package/build/components/conversation/system_message.js.map +1 -1
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +0 -6
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/contexts/api_provider.d.ts.map +1 -1
- package/build/contexts/api_provider.js +28 -25
- package/build/contexts/api_provider.js.map +1 -1
- package/build/hooks/use_animated_message_background_color.d.ts +1 -0
- package/build/hooks/use_animated_message_background_color.d.ts.map +1 -1
- package/build/hooks/use_animated_message_background_color.js +26 -9
- package/build/hooks/use_animated_message_background_color.js.map +1 -1
- package/build/hooks/use_chat_permissions.d.ts +10 -2
- package/build/hooks/use_chat_permissions.d.ts.map +1 -1
- package/build/hooks/use_chat_permissions.js +8 -0
- package/build/hooks/use_chat_permissions.js.map +1 -1
- package/build/hooks/use_debounced_search_term.d.ts +2 -0
- package/build/hooks/use_debounced_search_term.d.ts.map +1 -0
- package/build/hooks/use_debounced_search_term.js +40 -0
- package/build/hooks/use_debounced_search_term.js.map +1 -0
- package/build/hooks/use_features.d.ts +2 -0
- package/build/hooks/use_features.d.ts.map +1 -1
- package/build/hooks/use_features.js +3 -1
- package/build/hooks/use_features.js.map +1 -1
- package/build/hooks/use_jolt.d.ts.map +1 -1
- package/build/hooks/use_jolt.js +2 -1
- package/build/hooks/use_jolt.js.map +1 -1
- package/build/hooks/use_product_analytics.d.ts +9 -0
- package/build/hooks/use_product_analytics.d.ts.map +1 -1
- package/build/hooks/use_product_analytics.js +4 -2
- package/build/hooks/use_product_analytics.js.map +1 -1
- package/build/hooks/use_search_enabled.d.ts +2 -0
- package/build/hooks/use_search_enabled.d.ts.map +1 -0
- package/build/hooks/use_search_enabled.js +18 -0
- package/build/hooks/use_search_enabled.js.map +1 -0
- package/build/hooks/use_search_results.d.ts +19 -0
- package/build/hooks/use_search_results.d.ts.map +1 -0
- package/build/hooks/use_search_results.js +153 -0
- package/build/hooks/use_search_results.js.map +1 -0
- package/build/screens/age_check/age_check_underage_screen.d.ts.map +1 -1
- package/build/screens/age_check/age_check_underage_screen.js +2 -1
- package/build/screens/age_check/age_check_underage_screen.js.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.js +5 -2
- package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
- package/build/screens/bug_report_screen.d.ts.map +1 -1
- package/build/screens/bug_report_screen.js +2 -2
- package/build/screens/bug_report_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts +2 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.js +39 -24
- package/build/screens/conversation_select_recipients/components/view_more_link_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +142 -158
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.js +3 -3
- package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
- package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
- package/build/screens/conversations/conversations_screen.js +2 -5
- package/build/screens/conversations/conversations_screen.js.map +1 -1
- package/build/screens/get_help_screen.js +2 -2
- package/build/screens/get_help_screen.js.map +1 -1
- package/build/screens/message_actions_screen.js +6 -2
- package/build/screens/message_actions_screen.js.map +1 -1
- package/build/screens/search/components/conversation_result_row.d.ts +8 -0
- package/build/screens/search/components/conversation_result_row.d.ts.map +1 -0
- package/build/screens/search/components/conversation_result_row.js +80 -0
- package/build/screens/search/components/conversation_result_row.js.map +1 -0
- package/build/screens/search/components/conversation_results.d.ts +8 -0
- package/build/screens/search/components/conversation_results.d.ts.map +1 -0
- package/build/screens/search/components/conversation_results.js +77 -0
- package/build/screens/search/components/conversation_results.js.map +1 -0
- package/build/screens/search/components/message_result_row.d.ts +8 -0
- package/build/screens/search/components/message_result_row.d.ts.map +1 -0
- package/build/screens/search/components/message_result_row.js +152 -0
- package/build/screens/search/components/message_result_row.js.map +1 -0
- package/build/screens/search/components/result_row.d.ts +10 -0
- package/build/screens/search/components/result_row.d.ts.map +1 -0
- package/build/screens/search/components/result_row.js +102 -0
- package/build/screens/search/components/result_row.js.map +1 -0
- package/build/screens/search/components/results_section.d.ts +9 -0
- package/build/screens/search/components/results_section.d.ts.map +1 -0
- package/build/screens/search/components/results_section.js +51 -0
- package/build/screens/search/components/results_section.js.map +1 -0
- package/build/screens/search/components/search_results_list.d.ts +13 -0
- package/build/screens/search/components/search_results_list.d.ts.map +1 -0
- package/build/screens/search/components/search_results_list.js +344 -0
- package/build/screens/search/components/search_results_list.js.map +1 -0
- package/build/screens/search/components/snippet.d.ts +8 -0
- package/build/screens/search/components/snippet.d.ts.map +1 -0
- package/build/screens/search/components/snippet.js +68 -0
- package/build/screens/search/components/snippet.js.map +1 -0
- package/build/screens/search/search_screen.d.ts.map +1 -1
- package/build/screens/search/search_screen.js +92 -20
- package/build/screens/search/search_screen.js.map +1 -1
- package/build/utils/client/request_helpers.js +1 -1
- package/build/utils/client/request_helpers.js.map +1 -1
- package/build/utils/native_adapters/linking.d.ts +11 -3
- package/build/utils/native_adapters/linking.d.ts.map +1 -1
- package/build/utils/native_adapters/linking.js.map +1 -1
- package/build/utils/response_error.d.ts +1 -1
- package/build/utils/response_error.d.ts.map +1 -1
- package/build/utils/response_error.js +1 -1
- package/build/utils/response_error.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/components/conversation/attachments/giphy_attachment.test.tsx +76 -0
- package/src/__tests__/contexts/api_provider.test.tsx +50 -0
- package/src/__tests__/screens/attachment_actions_screen.test.tsx +81 -0
- package/src/__tests__/screens/get_help_screen.test.ts +36 -0
- package/src/__tests__/screens/message_actions_screen.test.tsx +136 -0
- package/src/__tests__/utils/client.ts +3 -4
- package/src/components/conversation/__tests__/message_form.test.tsx +83 -0
- package/src/components/conversation/__tests__/message_list.test.tsx +71 -3
- package/src/components/conversation/attachments/giphy_attachment.tsx +2 -3
- package/src/components/conversation/attachments/image_attachment.tsx +2 -3
- package/src/components/conversation/message.tsx +12 -1
- package/src/components/conversation/message_form.tsx +2 -2
- package/src/components/conversation/message_list.tsx +26 -1
- package/src/components/conversation/system_message.tsx +3 -3
- package/src/components/conversations/conversations.tsx +0 -7
- package/src/contexts/__tests__/api_provider.test.tsx +106 -0
- package/src/contexts/api_provider.tsx +6 -9
- package/src/hooks/__tests__/use_debounced_search_term.test.tsx +38 -0
- package/src/hooks/__tests__/use_jolt.test.tsx +70 -0
- package/src/hooks/__tests__/use_search_results.test.tsx +88 -0
- package/src/hooks/use_animated_message_background_color.ts +37 -12
- package/src/hooks/use_chat_permissions.ts +15 -2
- package/src/hooks/use_debounced_search_term.ts +20 -0
- package/src/hooks/use_features.ts +2 -0
- package/src/hooks/use_jolt.ts +10 -7
- package/src/hooks/use_product_analytics.ts +3 -1
- package/src/hooks/use_search_enabled.ts +9 -0
- package/src/hooks/use_search_results.ts +78 -0
- package/src/screens/age_check/age_check_underage_screen.tsx +2 -1
- package/src/screens/attachment_actions/attachment_actions_screen.tsx +3 -2
- package/src/screens/bug_report_screen.tsx +2 -10
- package/src/screens/conversation_select_recipients/components/view_more_link_row.tsx +12 -3
- package/src/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.tsx +3 -8
- package/src/screens/conversations/__tests__/conversations_screen.test.tsx +71 -0
- package/src/screens/conversations/components/search_list_header_component.tsx +1 -1
- package/src/screens/conversations/conversations_screen.tsx +2 -3
- package/src/screens/get_help_screen.tsx +2 -2
- package/src/screens/message_actions_screen.tsx +6 -2
- package/src/screens/search/__tests__/search_screen.test.tsx +194 -0
- package/src/screens/search/components/__tests__/conversation_results.test.tsx +55 -0
- package/src/screens/search/components/__tests__/message_result_row.test.tsx +65 -0
- package/src/screens/search/components/__tests__/result_row.test.tsx +33 -0
- package/src/screens/search/components/__tests__/search_results_list.test.tsx +180 -0
- package/src/screens/search/components/conversation_result_row.tsx +36 -0
- package/src/screens/search/components/conversation_results.tsx +43 -0
- package/src/screens/search/components/message_result_row.tsx +48 -0
- package/src/screens/search/components/result_row.tsx +58 -0
- package/src/screens/search/components/results_section.tsx +34 -0
- package/src/screens/search/components/search_results_list.tsx +168 -0
- package/src/screens/search/components/snippet.tsx +37 -0
- package/src/screens/search/search_screen.tsx +50 -4
- package/src/utils/__tests__/response_error.test.ts +7 -2
- package/src/utils/client/__tests__/request_helpers.test.ts +40 -0
- package/src/utils/client/request_helpers.ts +1 -1
- package/src/utils/native_adapters/__tests__/linking.test.ts +12 -0
- package/src/utils/native_adapters/linking.ts +12 -3
- package/src/utils/response_error.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use_product_analytics.js","names":["useCallback","useEffect","useMemo","useRef","useChatContext","keysToSnakeCase","SHA256","enc","analyticsEvents","conversation_index_opened","conversation_show_opened","contentSha256","payload","toString","Hex","sendEvents","events","config","chunks","i","length","push","slice","Promise","all","map","chunk","JSON","stringify","fetch","endpoint","method","headers","token","body","catch","error","__DEV__","console","warn","useProductAnalytics","$","_c","productAnalyticsConfig","metadata","t0","t1","snakeCasedBaseMeta","t2","name","t3","meta","undefined","resolve","mergedMeta","publishEvent","eventsWithMeta","event","publishEvents","t4","usePublishProductAnalyticsEvent","eventName","hasPublishedEventRef","current","normalizeAnalyticsMetadata","resource","analyticsMetadata"],"sources":["../../src/hooks/use_product_analytics.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useChatContext } from '../contexts/chat_context'\nimport { ProductAnalyticsConfig } from '../types/product_analytics'\nimport { AnalyticsMetadataResource } from '../types/resources/analytics_metadata'\nimport { keysToSnakeCase } from '../utils/client/utils'\nimport { SHA256, enc } from '../utils/sha_256'\n\nexport interface EventMetadata {\n [key: string]: string | number | boolean | null | undefined\n}\n\nexport const analyticsEvents = {\n conversation_index_opened: 'chat.mobile.conversations.index.opened',\n conversation_show_opened: 'chat.mobile.conversations.show.opened',\n} as const satisfies Record<string, `chat.mobile.${string}`>\n\ntype AnalyticsEventName = (typeof analyticsEvents)[keyof typeof analyticsEvents]\n\ninterface AnalyticsEvent {\n name: string\n meta: EventMetadata\n}\n\nfunction contentSha256(payload: string): string {\n return SHA256(payload).toString(enc.Hex)\n}\n\nfunction sendEvents(events: AnalyticsEvent[], config: ProductAnalyticsConfig): Promise<Response[]> {\n // Split into chunks of 10 and make parallel requests\n const chunks: AnalyticsEvent[][] = []\n for (let i = 0; i < events.length; i += 10) {\n chunks.push(events.slice(i, i + 10))\n }\n\n return Promise.all(\n chunks.map(async chunk => {\n const payload = JSON.stringify({ events: chunk })\n return fetch(config.endpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n 'X-Authorization': `Bearer ${config.token}`,\n 'X-Amz-Content-Sha256': contentSha256(payload),\n },\n body: payload,\n })\n })\n ).catch(error => {\n if (__DEV__) {\n console.warn('Product Analytics request failed:', error)\n }\n return [] as Response[]\n })\n}\n\
|
|
1
|
+
{"version":3,"file":"use_product_analytics.js","names":["useCallback","useEffect","useMemo","useRef","useChatContext","keysToSnakeCase","SHA256","enc","analyticsEvents","conversation_index_opened","conversation_show_opened","search_performed","search_result_opened","contentSha256","payload","toString","Hex","sendEvents","events","config","chunks","i","length","push","slice","Promise","all","map","chunk","JSON","stringify","fetch","endpoint","method","headers","token","body","catch","error","__DEV__","console","warn","useProductAnalytics","$","_c","productAnalyticsConfig","metadata","t0","t1","snakeCasedBaseMeta","t2","name","t3","meta","undefined","resolve","mergedMeta","publishEvent","eventsWithMeta","event","publishEvents","t4","usePublishProductAnalyticsEvent","eventName","hasPublishedEventRef","current","normalizeAnalyticsMetadata","resource","analyticsMetadata"],"sources":["../../src/hooks/use_product_analytics.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useChatContext } from '../contexts/chat_context'\nimport { ProductAnalyticsConfig } from '../types/product_analytics'\nimport { AnalyticsMetadataResource } from '../types/resources/analytics_metadata'\nimport { keysToSnakeCase } from '../utils/client/utils'\nimport { SHA256, enc } from '../utils/sha_256'\n\nexport interface EventMetadata {\n [key: string]: string | number | boolean | null | undefined\n}\n\nexport const analyticsEvents = {\n conversation_index_opened: 'chat.mobile.conversations.index.opened',\n conversation_show_opened: 'chat.mobile.conversations.show.opened',\n search_performed: 'chat.mobile.search.performed',\n search_result_opened: 'chat.mobile.search.result.opened',\n} as const satisfies Record<string, `chat.mobile.${string}`>\n\ntype AnalyticsEventName = (typeof analyticsEvents)[keyof typeof analyticsEvents]\n\ninterface AnalyticsEvent {\n name: string\n meta: EventMetadata\n}\n\nfunction contentSha256(payload: string): string {\n return SHA256(payload).toString(enc.Hex)\n}\n\nfunction sendEvents(events: AnalyticsEvent[], config: ProductAnalyticsConfig): Promise<Response[]> {\n // Split into chunks of 10 and make parallel requests\n const chunks: AnalyticsEvent[][] = []\n for (let i = 0; i < events.length; i += 10) {\n chunks.push(events.slice(i, i + 10))\n }\n\n return Promise.all(\n chunks.map(async chunk => {\n const payload = JSON.stringify({ events: chunk })\n return fetch(config.endpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n 'X-Authorization': `Bearer ${config.token}`,\n 'X-Amz-Content-Sha256': contentSha256(payload),\n },\n body: payload,\n })\n })\n ).catch(error => {\n if (__DEV__) {\n console.warn('Product Analytics request failed:', error)\n }\n return [] as Response[]\n })\n}\n\nexport const useProductAnalytics = () => {\n const { productAnalyticsConfig } = useChatContext()\n\n const snakeCasedBaseMeta = useMemo(\n () => keysToSnakeCase(productAnalyticsConfig?.metadata || {}),\n [productAnalyticsConfig?.metadata]\n )\n\n const publishEvent = useCallback(\n (name: AnalyticsEventName, meta: EventMetadata = {}): Promise<Response[]> => {\n if (!productAnalyticsConfig) {\n if (__DEV__) {\n console.warn('Product Analytics not available')\n }\n return Promise.resolve([])\n }\n\n const mergedMeta = { ...snakeCasedBaseMeta, ...meta } as EventMetadata\n\n return sendEvents([{ name, meta: mergedMeta }], productAnalyticsConfig)\n },\n [productAnalyticsConfig, snakeCasedBaseMeta]\n )\n\n const publishEvents = useCallback(\n (events: Array<{ name: AnalyticsEventName; meta?: EventMetadata }>): Promise<Response[]> => {\n if (!productAnalyticsConfig) {\n if (__DEV__) {\n console.warn('Product Analytics not available')\n }\n return Promise.resolve([])\n }\n\n const eventsWithMeta = events.map(event => ({\n name: event.name,\n meta: { ...snakeCasedBaseMeta, ...event.meta } as EventMetadata,\n }))\n\n return sendEvents(eventsWithMeta, productAnalyticsConfig)\n },\n [productAnalyticsConfig, snakeCasedBaseMeta]\n )\n\n return { publishEvent, publishEvents }\n}\n\nexport function usePublishProductAnalyticsEvent(\n eventName: AnalyticsEventName,\n meta: EventMetadata = {}\n) {\n const { publishEvent } = useProductAnalytics()\n const hasPublishedEventRef = useRef(false)\n\n useEffect(() => {\n if (hasPublishedEventRef.current) return\n\n hasPublishedEventRef.current = true\n\n publishEvent(eventName, meta)\n }, [eventName, meta, publishEvent])\n}\n\nexport function normalizeAnalyticsMetadata(resource: {\n analyticsMetadata?: AnalyticsMetadataResource\n}) {\n return keysToSnakeCase(resource?.analyticsMetadata?.metadata || {}) as Record<string, unknown>\n}\n"],"mappings":";AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC/D,SAASC,cAAc,QAAQ,0BAA0B;AAGzD,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,MAAM,EAAEC,GAAG,QAAQ,kBAAkB;AAM9C,OAAO,MAAMC,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,wCAAwC;EACnEC,wBAAwB,EAAE,uCAAuC;EACjEC,gBAAgB,EAAE,8BAA8B;EAChDC,oBAAoB,EAAE;AACxB,CAA4D;AAS5D,SAASC,aAAaA,CAACC,OAAe,EAAU;EAC9C,OAAOR,MAAM,CAACQ,OAAO,CAAC,CAACC,QAAQ,CAACR,GAAG,CAACS,GAAG,CAAC;AAC1C;AAEA,SAASC,UAAUA,CAACC,MAAwB,EAAEC,MAA8B,EAAuB;EACjG;EACA,MAAMC,MAA0B,GAAG,EAAE;EACrC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,MAAM,CAACI,MAAM,EAAED,CAAC,IAAI,EAAE,EAAE;IAC1CD,MAAM,CAACG,IAAI,CAACL,MAAM,CAACM,KAAK,CAACH,CAAC,EAAEA,CAAC,GAAG,EAAE,CAAC,CAAC;EACtC;EAEA,OAAOI,OAAO,CAACC,GAAG,CAChBN,MAAM,CAACO,GAAG,CAAC,MAAMC,KAAK,IAAI;IACxB,MAAMd,OAAO,GAAGe,IAAI,CAACC,SAAS,CAAC;MAAEZ,MAAM,EAAEU;IAAM,CAAC,CAAC;IACjD,OAAOG,KAAK,CAACZ,MAAM,CAACa,QAAQ,EAAE;MAC5BC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACP,cAAc,EAAE,iCAAiC;QACjD,iBAAiB,EAAE,UAAUf,MAAM,CAACgB,KAAK,EAAE;QAC3C,sBAAsB,EAAEtB,aAAa,CAACC,OAAO;MAC/C,CAAC;MACDsB,IAAI,EAAEtB;IACR,CAAC,CAAC;EACJ,CAAC,CACH,CAAC,CAACuB,KAAK,CAACC,KAAK,IAAI;IACf,IAAIC,OAAO,EAAE;MACXC,OAAO,CAACC,IAAI,CAAC,mCAAmC,EAAEH,KAAK,CAAC;IAC1D;IACA,OAAO,EAAE;EACX,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMI,mBAAmB,GAAGA,CAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACjC;IAAAC;EAAA,IAAmCzC,cAAc,CAAC,CAAC;EAIhDyC,sBAAsB,EAAAC,QAAU;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAE,sBAAA,EAAAC,QAAA;IADXC,EAAA,GAAAF,sBAAsB,EAAAC,QAAgB,IAAtC,CAAqC,CAAC;IAAAH,CAAA,MAAAE,sBAAA,EAAAC,QAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,QAAAI,EAAA;IAAtDC,EAAA,GAAA3C,eAAe,CAAC0C,EAAsC,CAAC;IAAAJ,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAD/D,MAAAM,kBAAA,GACQD,EAAuD;EAE9D,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAE,sBAAA,IAAAF,CAAA,QAAAM,kBAAA;IAGCC,EAAA,GAAAA,CAAAC,IAAA,EAAAC,EAAA;MAA2B,MAAAC,IAAA,GAAAD,EAAwB,KAAxBE,SAAwB,GAAxB,CAAuB,CAAC,GAAxBF,EAAwB;MACjD,IAAI,CAACP,sBAAsB;QACzB,IAAIN,OAAO;UACTC,OAAO,CAAAC,IAAK,CAAC,iCAAiC,CAAC;QAAA;QAChD,OACMhB,OAAO,CAAA8B,OAAQ,CAAC,EAAE,CAAC;MAAA;MAG5B,MAAAC,UAAA,GAAmB;QAAA,GAAKP,kBAAkB;QAAA,GAAKI;MAAK,CAAC;MAAiB,OAE/DpC,UAAU,CAAC,CAAC;QAAAkC,IAAA;QAAAE,IAAA,EAAcG;MAAW,CAAC,CAAC,EAAEX,sBAAsB,CAAC;IAAA,CACxE;IAAAF,CAAA,MAAAE,sBAAA;IAAAF,CAAA,MAAAM,kBAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAZH,MAAAc,YAAA,GAAqBP,EAcpB;EAAA,IAAAE,EAAA;EAAA,IAAAT,CAAA,QAAAE,sBAAA,IAAAF,CAAA,QAAAM,kBAAA;IAGCG,EAAA,GAAAlC,MAAA;MACE,IAAI,CAAC2B,sBAAsB;QACzB,IAAIN,OAAO;UACTC,OAAO,CAAAC,IAAK,CAAC,iCAAiC,CAAC;QAAA;QAChD,OACMhB,OAAO,CAAA8B,OAAQ,CAAC,EAAE,CAAC;MAAA;MAG5B,MAAAG,cAAA,GAAuBxC,MAAM,CAAAS,GAAI,CAACgC,KAAA,KAAU;QAAAR,IAAA,EACpCQ,KAAK,CAAAR,IAAK;QAAAE,IAAA,EACV;UAAA,GAAKJ,kBAAkB;UAAA,GAAKU,KAAK,CAAAN;QAAM;MAC/C,CAAC,CAAC,CAAC;MAAA,OAEIpC,UAAU,CAACyC,cAAc,EAAEb,sBAAsB,CAAC;IAAA,CAC1D;IAAAF,CAAA,MAAAE,sBAAA;IAAAF,CAAA,MAAAM,kBAAA;IAAAN,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAfH,MAAAiB,aAAA,GAAsBR,EAiBrB;EAAA,IAAAS,EAAA;EAAA,IAAAlB,CAAA,SAAAc,YAAA,IAAAd,CAAA,SAAAiB,aAAA;IAEMC,EAAA;MAAAJ,YAAA;MAAAG;IAA8B,CAAC;IAAAjB,CAAA,OAAAc,YAAA;IAAAd,CAAA,OAAAiB,aAAA;IAAAjB,CAAA,OAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAAA,OAA/BkB,EAA+B;AAAA,CACvC;AAED,OAAO,SAAAC,gCAAAC,SAAA,EAAAhB,EAAA;EAAA,MAAAJ,CAAA,GAAAC,EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAL,CAAA,QAAAI,EAAA;IAELC,EAAA,GAAAD,EAAwB,KAAxBO,SAAwB,GAAxB,CAAuB,CAAC,GAAxBP,EAAwB;IAAAJ,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAxB,MAAAU,IAAA,GAAAL,EAAwB;EAExB;IAAAS;EAAA,IAAyBf,mBAAmB,CAAC,CAAC;EAC9C,MAAAsB,oBAAA,GAA6B7D,MAAM,CAAC,KAAK,CAAC;EAAA,IAAA+C,EAAA;EAAA,IAAAE,EAAA;EAAA,IAAAT,CAAA,QAAAoB,SAAA,IAAApB,CAAA,QAAAU,IAAA,IAAAV,CAAA,QAAAc,YAAA;IAEhCP,EAAA,GAAAA,CAAA;MACR,IAAIc,oBAAoB,CAAAC,OAAQ;QAAA;MAAA;MAEhCD,oBAAoB,CAAAC,OAAA,GAAW,IAAH;MAE5BR,YAAY,CAACM,SAAS,EAAEV,IAAI,CAAC;IAAA,CAC9B;IAAED,EAAA,IAACW,SAAS,EAAEV,IAAI,EAAEI,YAAY,CAAC;IAAAd,CAAA,MAAAoB,SAAA;IAAApB,CAAA,MAAAU,IAAA;IAAAV,CAAA,MAAAc,YAAA;IAAAd,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAS,EAAA;EAAA;IAAAF,EAAA,GAAAP,CAAA;IAAAS,EAAA,GAAAT,CAAA;EAAA;EANlC1C,SAAS,CAACiD,EAMT,EAAEE,EAA+B,CAAC;AAAA;AAGrC,OAAO,SAASc,0BAA0BA,CAACC,QAE1C,EAAE;EACD,OAAO9D,eAAe,CAAC8D,QAAQ,EAAEC,iBAAiB,EAAEtB,QAAQ,IAAI,CAAC,CAAC,CAAC;AACrE","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_search_enabled.d.ts","sourceRoot":"","sources":["../../src/hooks/use_search_enabled.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,YAM/B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
|
+
import { availableFeatures, useFeatures } from './use_features';
|
|
3
|
+
export function useSearchEnabled() {
|
|
4
|
+
const $ = _c(2);
|
|
5
|
+
const {
|
|
6
|
+
featureEnabled
|
|
7
|
+
} = useFeatures();
|
|
8
|
+
let t0;
|
|
9
|
+
if ($[0] !== featureEnabled) {
|
|
10
|
+
t0 = featureEnabled(availableFeatures.search) || featureEnabled(availableFeatures.search_rollout);
|
|
11
|
+
$[0] = featureEnabled;
|
|
12
|
+
$[1] = t0;
|
|
13
|
+
} else {
|
|
14
|
+
t0 = $[1];
|
|
15
|
+
}
|
|
16
|
+
return t0;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=use_search_enabled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_search_enabled.js","names":["availableFeatures","useFeatures","useSearchEnabled","$","_c","featureEnabled","t0","search","search_rollout"],"sources":["../../src/hooks/use_search_enabled.ts"],"sourcesContent":["import { availableFeatures, useFeatures } from './use_features'\n\nexport function useSearchEnabled() {\n const { featureEnabled } = useFeatures()\n\n return (\n featureEnabled(availableFeatures.search) || featureEnabled(availableFeatures.search_rollout)\n )\n}\n"],"mappings":";AAAA,SAASA,iBAAiB,EAAEC,WAAW,QAAQ,gBAAgB;AAE/D,OAAO,SAAAC,iBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL;IAAAC;EAAA,IAA2BJ,WAAW,CAAC,CAAC;EAAA,IAAAK,EAAA;EAAA,IAAAH,CAAA,QAAAE,cAAA;IAGtCC,EAAA,GAAAD,cAAc,CAACL,iBAAiB,CAAAO,MAA2D,CAAC,IAAhDF,cAAc,CAACL,iBAAiB,CAAAQ,cAAe,CAAC;IAAAL,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,OAA5FG,EAA4F;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ApiCollection } from '../types';
|
|
2
|
+
import type { SearchResultResource } from '../types/resources/search_result';
|
|
3
|
+
export type SearchResultsCollection = ApiCollection<SearchResultResource> & {
|
|
4
|
+
meta: {
|
|
5
|
+
failedTypes?: SearchResultResource['type'][];
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare const NO_FAILED_TYPES: SearchResultResource['type'][];
|
|
9
|
+
export declare function useSearchResults(term: string): {
|
|
10
|
+
results: SearchResultResource[];
|
|
11
|
+
failedTypes: ("message" | "conversation")[];
|
|
12
|
+
isPending: boolean;
|
|
13
|
+
isError: boolean;
|
|
14
|
+
isFetchNextPageError: boolean;
|
|
15
|
+
loadMore: () => Promise<import("@tanstack/query-core").InfiniteQueryObserverResult<import("@tanstack/query-core").InfiniteData<SearchResultsCollection, unknown>, Error>>;
|
|
16
|
+
hasNextPage: boolean;
|
|
17
|
+
isFetchingNextPage: boolean;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=use_search_results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_search_results.d.ts","sourceRoot":"","sources":["../../src/hooks/use_search_results.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAQ5E,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,oBAAoB,CAAC,GAAG;IAC1E,IAAI,EAAE;QAAE,WAAW,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAA;KAAE,CAAA;CACvD,CAAA;AAID,eAAO,MAAM,eAAe,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAO,CAAA;AAEjE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;EA4C5C"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
|
+
import { useInfiniteQuery } from '@tanstack/react-query';
|
|
3
|
+
import { useCallback, useMemo } from 'react';
|
|
4
|
+
import { getSearchResultsQueryKey, getSearchResultsRequestArgs } from '../utils/request/get_search_results';
|
|
5
|
+
import { ONE_MINUTE } from '../utils/time';
|
|
6
|
+
import { useApiClient } from './use_api_client';
|
|
7
|
+
export const NO_FAILED_TYPES = [];
|
|
8
|
+
export function useSearchResults(term) {
|
|
9
|
+
const $ = _c(25);
|
|
10
|
+
const apiClient = useApiClient();
|
|
11
|
+
let t0;
|
|
12
|
+
let t1;
|
|
13
|
+
let trimmedTerm;
|
|
14
|
+
if ($[0] !== term) {
|
|
15
|
+
trimmedTerm = term.trim();
|
|
16
|
+
t1 = useInfiniteQuery;
|
|
17
|
+
t0 = getSearchResultsQueryKey(trimmedTerm);
|
|
18
|
+
$[0] = term;
|
|
19
|
+
$[1] = t0;
|
|
20
|
+
$[2] = t1;
|
|
21
|
+
$[3] = trimmedTerm;
|
|
22
|
+
} else {
|
|
23
|
+
t0 = $[1];
|
|
24
|
+
t1 = $[2];
|
|
25
|
+
trimmedTerm = $[3];
|
|
26
|
+
}
|
|
27
|
+
let t2;
|
|
28
|
+
if ($[4] !== apiClient || $[5] !== trimmedTerm) {
|
|
29
|
+
t2 = t3 => {
|
|
30
|
+
const {
|
|
31
|
+
pageParam
|
|
32
|
+
} = t3;
|
|
33
|
+
const requestArgs = getSearchResultsRequestArgs(trimmedTerm);
|
|
34
|
+
return apiClient.chat.get({
|
|
35
|
+
url: requestArgs.url,
|
|
36
|
+
data: {
|
|
37
|
+
...requestArgs.data,
|
|
38
|
+
...pageParam
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
$[4] = apiClient;
|
|
43
|
+
$[5] = trimmedTerm;
|
|
44
|
+
$[6] = t2;
|
|
45
|
+
} else {
|
|
46
|
+
t2 = $[6];
|
|
47
|
+
}
|
|
48
|
+
let t3;
|
|
49
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
50
|
+
t3 = {};
|
|
51
|
+
$[7] = t3;
|
|
52
|
+
} else {
|
|
53
|
+
t3 = $[7];
|
|
54
|
+
}
|
|
55
|
+
const t4 = trimmedTerm.length >= 1;
|
|
56
|
+
let t5;
|
|
57
|
+
if ($[8] !== t0 || $[9] !== t2 || $[10] !== t4) {
|
|
58
|
+
t5 = {
|
|
59
|
+
queryKey: t0,
|
|
60
|
+
queryFn: t2,
|
|
61
|
+
initialPageParam: t3,
|
|
62
|
+
getNextPageParam: _temp,
|
|
63
|
+
enabled: t4,
|
|
64
|
+
staleTime: ONE_MINUTE,
|
|
65
|
+
refetchOnWindowFocus: false,
|
|
66
|
+
refetchOnMount: false,
|
|
67
|
+
retry: 1
|
|
68
|
+
};
|
|
69
|
+
$[8] = t0;
|
|
70
|
+
$[9] = t2;
|
|
71
|
+
$[10] = t4;
|
|
72
|
+
$[11] = t5;
|
|
73
|
+
} else {
|
|
74
|
+
t5 = $[11];
|
|
75
|
+
}
|
|
76
|
+
const {
|
|
77
|
+
data,
|
|
78
|
+
isPending,
|
|
79
|
+
isError,
|
|
80
|
+
isFetchNextPageError,
|
|
81
|
+
fetchNextPage,
|
|
82
|
+
hasNextPage,
|
|
83
|
+
isFetchingNextPage
|
|
84
|
+
} = t1(t5);
|
|
85
|
+
let t6;
|
|
86
|
+
if ($[12] !== data?.pages) {
|
|
87
|
+
t6 = uniqueResults(data?.pages.flatMap(_temp2) ?? []);
|
|
88
|
+
$[12] = data?.pages;
|
|
89
|
+
$[13] = t6;
|
|
90
|
+
} else {
|
|
91
|
+
t6 = $[13];
|
|
92
|
+
}
|
|
93
|
+
const results = t6;
|
|
94
|
+
const failedTypes = data?.pages[0]?.meta.failedTypes ?? NO_FAILED_TYPES;
|
|
95
|
+
let t7;
|
|
96
|
+
if ($[14] !== fetchNextPage) {
|
|
97
|
+
t7 = () => fetchNextPage({
|
|
98
|
+
cancelRefetch: false
|
|
99
|
+
});
|
|
100
|
+
$[14] = fetchNextPage;
|
|
101
|
+
$[15] = t7;
|
|
102
|
+
} else {
|
|
103
|
+
t7 = $[15];
|
|
104
|
+
}
|
|
105
|
+
const loadMore = t7;
|
|
106
|
+
const t8 = isError && !isFetchNextPageError;
|
|
107
|
+
let t9;
|
|
108
|
+
if ($[16] !== failedTypes || $[17] !== hasNextPage || $[18] !== isFetchNextPageError || $[19] !== isFetchingNextPage || $[20] !== isPending || $[21] !== loadMore || $[22] !== results || $[23] !== t8) {
|
|
109
|
+
t9 = {
|
|
110
|
+
results,
|
|
111
|
+
failedTypes,
|
|
112
|
+
isPending,
|
|
113
|
+
isError: t8,
|
|
114
|
+
isFetchNextPageError,
|
|
115
|
+
loadMore,
|
|
116
|
+
hasNextPage,
|
|
117
|
+
isFetchingNextPage
|
|
118
|
+
};
|
|
119
|
+
$[16] = failedTypes;
|
|
120
|
+
$[17] = hasNextPage;
|
|
121
|
+
$[18] = isFetchNextPageError;
|
|
122
|
+
$[19] = isFetchingNextPage;
|
|
123
|
+
$[20] = isPending;
|
|
124
|
+
$[21] = loadMore;
|
|
125
|
+
$[22] = results;
|
|
126
|
+
$[23] = t8;
|
|
127
|
+
$[24] = t9;
|
|
128
|
+
} else {
|
|
129
|
+
t9 = $[24];
|
|
130
|
+
}
|
|
131
|
+
return t9;
|
|
132
|
+
}
|
|
133
|
+
function _temp2(page) {
|
|
134
|
+
return page.data;
|
|
135
|
+
}
|
|
136
|
+
function _temp(lastPage) {
|
|
137
|
+
return nextPageParam(lastPage.meta.next?.offset);
|
|
138
|
+
}
|
|
139
|
+
function nextPageParam(offset) {
|
|
140
|
+
return offset ? {
|
|
141
|
+
offset: Number(offset)
|
|
142
|
+
} : undefined;
|
|
143
|
+
}
|
|
144
|
+
function uniqueResults(results) {
|
|
145
|
+
const seen = new Set();
|
|
146
|
+
return results.filter(result => {
|
|
147
|
+
const key = `${result.type}:${result.id}`;
|
|
148
|
+
if (seen.has(key)) return false;
|
|
149
|
+
seen.add(key);
|
|
150
|
+
return true;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=use_search_results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_search_results.js","names":["useInfiniteQuery","useCallback","useMemo","getSearchResultsQueryKey","getSearchResultsRequestArgs","ONE_MINUTE","useApiClient","NO_FAILED_TYPES","useSearchResults","term","$","_c","apiClient","t0","t1","trimmedTerm","trim","t2","t3","pageParam","requestArgs","chat","get","url","data","Symbol","for","t4","length","t5","queryKey","queryFn","initialPageParam","getNextPageParam","_temp","enabled","staleTime","refetchOnWindowFocus","refetchOnMount","retry","isPending","isError","isFetchNextPageError","fetchNextPage","hasNextPage","isFetchingNextPage","t6","pages","uniqueResults","flatMap","_temp2","results","failedTypes","meta","t7","cancelRefetch","loadMore","t8","t9","page","lastPage","nextPageParam","next","offset","Number","undefined","seen","Set","filter","result","key","type","id","has","add"],"sources":["../../src/hooks/use_search_results.ts"],"sourcesContent":["import { useInfiniteQuery } from '@tanstack/react-query'\nimport { useCallback, useMemo } from 'react'\nimport type { ApiCollection } from '../types'\nimport type { SearchResultResource } from '../types/resources/search_result'\nimport {\n getSearchResultsQueryKey,\n getSearchResultsRequestArgs,\n} from '../utils/request/get_search_results'\nimport { ONE_MINUTE } from '../utils/time'\nimport { useApiClient } from './use_api_client'\n\nexport type SearchResultsCollection = ApiCollection<SearchResultResource> & {\n meta: { failedTypes?: SearchResultResource['type'][] }\n}\n\ntype SearchResultsPageParam = { offset?: number }\n\nexport const NO_FAILED_TYPES: SearchResultResource['type'][] = []\n\nexport function useSearchResults(term: string) {\n const apiClient = useApiClient()\n const trimmedTerm = term.trim()\n\n const {\n data,\n isPending,\n isError,\n isFetchNextPageError,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage,\n } = useInfiniteQuery({\n queryKey: getSearchResultsQueryKey(trimmedTerm),\n queryFn: ({ pageParam }) => {\n const requestArgs = getSearchResultsRequestArgs(trimmedTerm)\n return apiClient.chat.get<SearchResultsCollection>({\n url: requestArgs.url,\n data: { ...requestArgs.data, ...pageParam },\n })\n },\n initialPageParam: {} as SearchResultsPageParam,\n getNextPageParam: lastPage => nextPageParam(lastPage.meta.next?.offset),\n enabled: trimmedTerm.length >= 1,\n staleTime: ONE_MINUTE,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n retry: 1,\n })\n\n const results = useMemo(() => uniqueResults(data?.pages.flatMap(page => page.data) ?? []), [data])\n const failedTypes = data?.pages[0]?.meta.failedTypes ?? NO_FAILED_TYPES\n const loadMore = useCallback(() => fetchNextPage({ cancelRefetch: false }), [fetchNextPage])\n\n return {\n results,\n failedTypes,\n isPending,\n isError: isError && !isFetchNextPageError,\n isFetchNextPageError,\n loadMore,\n hasNextPage,\n isFetchingNextPage,\n }\n}\n\nfunction nextPageParam(offset?: string): SearchResultsPageParam | undefined {\n return offset ? { offset: Number(offset) } : undefined\n}\n\nfunction uniqueResults(results: SearchResultResource[]) {\n const seen = new Set<string>()\n return results.filter(result => {\n const key = `${result.type}:${result.id}`\n if (seen.has(key)) return false\n seen.add(key)\n return true\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"age_check_underage_screen.d.ts","sourceRoot":"","sources":["../../../src/screens/age_check/age_check_underage_screen.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"age_check_underage_screen.d.ts","sourceRoot":"","sources":["../../../src/screens/age_check/age_check_underage_screen.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,sBAAsB,CAAC,EAAE,YAAY,EAAE,GAAE,2BAAgC,2CAuDxF"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import { useRoute } from '@react-navigation/native';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { StyleSheet, View, ScrollView } from 'react-native';
|
|
5
5
|
import { Heading } from '../../components';
|
|
6
6
|
import { Icon, Text, TextInlineButton } from '../../components/display';
|
|
7
7
|
import { useTheme } from '../../hooks';
|
|
8
|
+
import { Linking } from '../../utils';
|
|
8
9
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
10
|
export function AgeCheckUnderageScreen(t0) {
|
|
10
11
|
const $ = _c(30);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"age_check_underage_screen.js","names":["useRoute","React","
|
|
1
|
+
{"version":3,"file":"age_check_underage_screen.js","names":["useRoute","React","StyleSheet","View","ScrollView","Heading","Icon","Text","TextInlineButton","useTheme","Linking","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AgeCheckUnderageScreen","t0","$","_c","t1","undefined","contactEmail","styles","useStyles","route","email","params","t2","openURL","openChurchAdminHelp","openTerms","_temp","t3","icon","name","size","style","t4","baseText","variant","children","t5","linkText","accessibilityRole","accessibilityHint","t6","t7","t8","t9","content","t10","container","scrollView","contentContainerStyle","colors","iconColorDefaultDisabled","textColorDefaultSecondary","create","flex","alignItems","justifyContent","gap","padding","minHeight","color","maxWidth","textAlign","fontSize"],"sources":["../../../src/screens/age_check/age_check_underage_screen.tsx"],"sourcesContent":["import { useRoute, RouteProp } from '@react-navigation/native'\nimport React from 'react'\nimport { StyleSheet, View, ScrollView } from 'react-native'\nimport { Heading } from '../../components'\nimport { Icon, Text, TextInlineButton } from '../../components/display'\nimport { useTheme } from '../../hooks'\nimport { Linking } from '../../utils'\nimport type { AgeCheckParams } from './screen_props'\n\nexport interface AgeCheckUnderageScreenProps {\n contactEmail?: string\n}\n\nexport function AgeCheckUnderageScreen({ contactEmail }: AgeCheckUnderageScreenProps = {}) {\n const styles = useStyles()\n const route = useRoute<RouteProp<AgeCheckParams, 'UnderagePerson'>>()\n\n const email = contactEmail ?? route?.params?.contactEmail\n\n const openChurchAdminHelp = () => {\n if (!email) return\n Linking.openURL(`mailto:${email}`)\n }\n\n const openTerms = () => {\n Linking.openURL('https://www.planningcenter.com/terms')\n }\n\n return (\n <ScrollView style={styles.scrollView} contentContainerStyle={styles.container}>\n <Icon name=\"general.outlinedTextMessage\" size={32} style={styles.icon} />\n\n <View style={styles.content}>\n <Heading variant=\"h3\" style={styles.baseText}>\n Chat is only available for users 13 and older.\n </Heading>\n <Text variant=\"tertiary\" style={styles.baseText}>\n If you submitted the wrong birthdate by accident,{` `}\n {email ? (\n <TextInlineButton\n onPress={openChurchAdminHelp}\n accessibilityRole=\"link\"\n accessibilityHint=\"Opens email client to contact your church administrator\"\n style={styles.linkText}\n >\n please contact your church administrator\n </TextInlineButton>\n ) : (\n <>please contact your church administrator</>\n )}\n {` `}\n to update your profile.\n </Text>\n <Text variant=\"tertiary\" style={styles.baseText}>\n For more information, view our{` `}\n <TextInlineButton\n onPress={openTerms}\n accessibilityRole=\"link\"\n accessibilityHint=\"Opens terms of service in browser\"\n style={styles.linkText}\n >\n terms of service\n </TextInlineButton>\n .\n </Text>\n </View>\n </ScrollView>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n return StyleSheet.create({\n scrollView: {\n flex: 1,\n },\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n gap: 16,\n padding: 16,\n minHeight: '100%',\n },\n icon: {\n color: colors.iconColorDefaultDisabled,\n },\n content: {\n alignItems: 'center',\n gap: 8,\n maxWidth: 250,\n },\n baseText: {\n textAlign: 'center',\n color: colors.textColorDefaultSecondary,\n },\n linkText: {\n fontSize: 14,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment_actions_screen.d.ts","sourceRoot":"","sources":["../../../src/screens/attachment_actions/attachment_actions_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"attachment_actions_screen.d.ts","sourceRoot":"","sources":["../../../src/screens/attachment_actions/attachment_actions_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAO3E,eAAO,MAAM,8BAA8B,6EAEzC,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC3D,YAAY,EAAE,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,4BAA4B,EAAE,OAAO,CAAA;IACrC,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,wBAAgB,uBAAuB,CAAC,EAAE,KAAK,EAAE,EAAE,4BAA4B,2CAgE9E"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import { useNavigation } from '@react-navigation/native';
|
|
3
3
|
import React, { useCallback } from 'react';
|
|
4
|
-
import { Alert,
|
|
4
|
+
import { Alert, StyleSheet } from 'react-native';
|
|
5
5
|
import FormSheet, { getFormSheetScreenOptions } from '../../components/primitive/form_sheet';
|
|
6
|
+
import { Linking } from '../../utils';
|
|
6
7
|
import { useDeleteAttachment } from './hooks/useDeleteAttachment';
|
|
7
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
export const AttachmentActionsScreenOptions = getFormSheetScreenOptions({
|
|
@@ -76,7 +77,9 @@ export function AttachmentActionsScreen(t0) {
|
|
|
76
77
|
let t4;
|
|
77
78
|
if ($[10] !== attachmentUrl || $[11] !== navigation) {
|
|
78
79
|
t4 = () => {
|
|
79
|
-
Linking.openURL(attachmentUrl
|
|
80
|
+
Linking.openURL(attachmentUrl, {
|
|
81
|
+
forceOpenInBrowser: true
|
|
82
|
+
});
|
|
80
83
|
navigation.goBack();
|
|
81
84
|
};
|
|
82
85
|
$[10] = attachmentUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment_actions_screen.js","names":["useNavigation","React","useCallback","Alert","
|
|
1
|
+
{"version":3,"file":"attachment_actions_screen.js","names":["useNavigation","React","useCallback","Alert","StyleSheet","FormSheet","getFormSheetScreenOptions","Linking","useDeleteAttachment","jsx","_jsx","jsxs","_jsxs","AttachmentActionsScreenOptions","headerTitle","AttachmentActionsScreen","t0","$","_c","route","navigation","attachmentId","attachmentContentType","attachmentUrl","conversation_id","canDeleteNonAuthoredMessages","myMessage","params","t1","getAttachmentLabelName","attachmentName","canDelete","styles","useStyles","t2","handleDeleteAttachment","t3","alert","text","style","onPress","goBack","handleDeleteConfirm","t4","openURL","forceOpenInBrowser","handleOpenInBrowser","t5","t6","t7","Action","iconName","title","accessibilityRole","accessibilityLabel","accessibilityHint","t8","appearance","t9","formSheetContent","Root","contentStyle","children","create","paddingTop","contentType","startsWith"],"sources":["../../../src/screens/attachment_actions/attachment_actions_screen.tsx"],"sourcesContent":["import { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport React, { useCallback } from 'react'\nimport { Alert, StyleSheet } from 'react-native'\nimport FormSheet, { getFormSheetScreenOptions } from '../../components/primitive/form_sheet'\nimport { Linking } from '../../utils'\nimport { useDeleteAttachment } from './hooks/useDeleteAttachment'\n\nexport const AttachmentActionsScreenOptions = getFormSheetScreenOptions({\n headerTitle: 'Attachment actions',\n})\n\nexport type AttachmentActionsScreenProps = StaticScreenProps<{\n attachmentId: string\n attachmentContentType: string\n attachmentUrl: string\n conversation_id: number\n canDeleteNonAuthoredMessages: boolean\n myMessage: boolean\n}>\n\nexport function AttachmentActionsScreen({ route }: AttachmentActionsScreenProps) {\n const navigation = useNavigation()\n const {\n attachmentId,\n attachmentContentType,\n attachmentUrl,\n conversation_id,\n canDeleteNonAuthoredMessages,\n myMessage,\n } = route.params\n\n const attachmentName = getAttachmentLabelName(attachmentContentType)\n const canDelete = myMessage || canDeleteNonAuthoredMessages\n const styles = useStyles()\n\n const { handleDeleteAttachment } = useDeleteAttachment({\n conversation_id,\n attachmentId,\n attachmentName,\n })\n\n const handleDeleteConfirm = useCallback(() => {\n Alert.alert(\n `Delete ${attachmentName}`,\n 'Are you sure you want to permanently delete this attachment?',\n [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Delete',\n style: 'destructive',\n onPress: () => {\n handleDeleteAttachment()\n navigation.goBack()\n },\n },\n ]\n )\n }, [attachmentName, handleDeleteAttachment, navigation])\n\n const handleOpenInBrowser = () => {\n Linking.openURL(attachmentUrl, { forceOpenInBrowser: true })\n navigation.goBack()\n }\n\n return (\n <FormSheet.Root contentStyle={styles.formSheetContent}>\n <FormSheet.Action\n iconName=\"general.newWindow\"\n title=\"Open in browser\"\n accessibilityRole=\"link\"\n accessibilityLabel={`Open ${attachmentName} in browser`}\n accessibilityHint={`${attachmentName} can be downloaded and shared through the browser.`}\n onPress={handleOpenInBrowser}\n />\n {canDelete && (\n <FormSheet.Action\n appearance=\"danger\"\n iconName=\"publishing.trash\"\n title={`Delete ${attachmentName}`}\n onPress={handleDeleteConfirm}\n />\n )}\n </FormSheet.Root>\n )\n}\n\nconst useStyles = () => {\n return StyleSheet.create({\n formSheetContent: {\n paddingTop: 16,\n },\n })\n}\n\nfunction getAttachmentLabelName(contentType: string) {\n if (contentType.startsWith('image/')) return 'image'\n if (contentType.startsWith('video/')) return 'video'\n if (contentType.startsWith('audio/')) return 'audio'\n if (contentType === 'application/pdf') return 'PDF'\n if (contentType.startsWith('application/')) return 'file'\n\n return ''\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bug_report_screen.d.ts","sourceRoot":"","sources":["../../src/screens/bug_report_screen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"bug_report_screen.d.ts","sourceRoot":"","sources":["../../src/screens/bug_report_screen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,gCAAgC,CAAA;AA6CvC,eAAO,MAAM,sBAAsB,GAAI,iBAEpC,sBAAsB,CAAC,GAAG,CAAC,KAAG,4BAI9B,CAAA;AAoBH,wBAAgB,eAAe,4CAmS9B"}
|
|
@@ -2,7 +2,7 @@ import { c as _c } from "react/compiler-runtime";
|
|
|
2
2
|
import { useNavigation } from '@react-navigation/native';
|
|
3
3
|
import { startsWith } from 'lodash';
|
|
4
4
|
import React, { useCallback, useState } from 'react';
|
|
5
|
-
import { View, StyleSheet, TextInput,
|
|
5
|
+
import { View, StyleSheet, TextInput, ScrollView, TouchableOpacity, Platform } from 'react-native';
|
|
6
6
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
7
7
|
import { Button, Spinner, Text, TextInlineButton, ImageAttachmentPreview, Icon, KeyboardScrollView } from '../components';
|
|
8
8
|
import { composeOptions, HeaderDismissButton, useHeaderRight, withLeftClose } from '../components/display/platform_modal_header_buttons';
|
|
@@ -14,7 +14,7 @@ import { useTheme } from '../hooks';
|
|
|
14
14
|
import { useAppName } from '../hooks/use_app_name';
|
|
15
15
|
import { useReportBugAction } from '../hooks/use_report_bug_action';
|
|
16
16
|
import { useUploadClient } from '../hooks/use_upload_client';
|
|
17
|
-
import { ImagePicker, platformFontWeightBold } from '../utils';
|
|
17
|
+
import { ImagePicker, Linking, platformFontWeightBold } from '../utils';
|
|
18
18
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
19
|
const MAX_DESCRIPTION_LENGTH = 2000;
|
|
20
20
|
var BUG_TYPE_OPTIONS = /*#__PURE__*/function (BUG_TYPE_OPTIONS) {
|