@planningcenter/chat-react-native 4.4.0-rc.7 → 4.4.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/jump_to_bottom_button.d.ts.map +1 -1
- package/build/components/conversation/jump_to_bottom_button.js +42 -40
- package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
- package/build/components/conversation/message.d.ts +2 -1
- package/build/components/conversation/message.d.ts.map +1 -1
- package/build/components/conversation/message.js +3 -1
- 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 -1
- 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 +35 -31
- package/build/components/conversation/message_list.js.map +1 -1
- package/build/components/conversation/message_reaction.d.ts +2 -1
- package/build/components/conversation/message_reaction.d.ts.map +1 -1
- package/build/components/conversation/message_reaction.js +67 -60
- package/build/components/conversation/message_reaction.js.map +1 -1
- package/build/components/conversation/messages_disabled_banners.d.ts +7 -5
- package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
- package/build/components/conversation/messages_disabled_banners.js +15 -14
- package/build/components/conversation/messages_disabled_banners.js.map +1 -1
- package/build/components/conversation/system_message.d.ts +2 -1
- package/build/components/conversation/system_message.d.ts.map +1 -1
- package/build/components/conversation/system_message.js +133 -100
- package/build/components/conversation/system_message.js.map +1 -1
- package/build/components/conversations/archived_results_footer.d.ts +6 -0
- package/build/components/conversations/archived_results_footer.d.ts.map +1 -0
- package/build/components/conversations/archived_results_footer.js +51 -0
- package/build/components/conversations/archived_results_footer.js.map +1 -0
- package/build/components/conversations/conversation_actions.d.ts.map +1 -1
- package/build/components/conversations/conversation_actions.js +241 -206
- package/build/components/conversations/conversation_actions.js.map +1 -1
- package/build/components/conversations/conversation_preview.d.ts.map +1 -1
- package/build/components/conversations/conversation_preview.js +102 -93
- package/build/components/conversations/conversation_preview.js.map +1 -1
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +66 -41
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
- package/build/components/conversations/conversations_blank_state.js +55 -12
- package/build/components/conversations/conversations_blank_state.js.map +1 -1
- package/build/components/conversations/filtered_results_footer.d.ts +2 -0
- package/build/components/conversations/filtered_results_footer.d.ts.map +1 -0
- package/build/components/conversations/filtered_results_footer.js +77 -0
- package/build/components/conversations/filtered_results_footer.js.map +1 -0
- package/build/components/display/action_button.d.ts.map +1 -1
- package/build/components/display/action_button.js +18 -16
- package/build/components/display/action_button.js.map +1 -1
- package/build/components/display/filter_dropdown.d.ts +14 -0
- package/build/components/display/filter_dropdown.d.ts.map +1 -0
- package/build/components/display/filter_dropdown.js +193 -0
- package/build/components/display/filter_dropdown.js.map +1 -0
- package/build/components/display/icon_tile.d.ts +13 -0
- package/build/components/display/icon_tile.d.ts.map +1 -0
- package/build/components/display/icon_tile.js +149 -0
- package/build/components/display/icon_tile.js.map +1 -0
- package/build/components/display/index.d.ts +2 -0
- package/build/components/display/index.d.ts.map +1 -1
- package/build/components/display/index.js +2 -0
- package/build/components/display/index.js.map +1 -1
- package/build/contexts/api_provider.d.ts.map +1 -1
- package/build/contexts/api_provider.js +21 -9
- package/build/contexts/api_provider.js.map +1 -1
- package/build/contexts/conversations_context.d.ts.map +1 -1
- package/build/contexts/conversations_context.js +21 -18
- package/build/contexts/conversations_context.js.map +1 -1
- package/build/hooks/groups/use_group_members_for_new_conversation.d.ts +196 -16
- package/build/hooks/groups/use_group_members_for_new_conversation.d.ts.map +1 -1
- package/build/hooks/groups/use_group_members_for_new_conversation.js +72 -58
- package/build/hooks/groups/use_group_members_for_new_conversation.js.map +1 -1
- package/build/hooks/index.d.ts +3 -0
- package/build/hooks/index.d.ts.map +1 -1
- package/build/hooks/index.js +3 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/use_animated_message_background_color.d.ts.map +1 -1
- package/build/hooks/use_animated_message_background_color.js +5 -3
- package/build/hooks/use_animated_message_background_color.js.map +1 -1
- package/build/hooks/use_api.d.ts +3 -2
- package/build/hooks/use_api.d.ts.map +1 -1
- package/build/hooks/use_api.js.map +1 -1
- package/build/hooks/use_can_browse_archived_conversations.d.ts +2 -0
- package/build/hooks/use_can_browse_archived_conversations.d.ts.map +1 -0
- package/build/hooks/use_can_browse_archived_conversations.js +29 -0
- package/build/hooks/use_can_browse_archived_conversations.js.map +1 -0
- package/build/hooks/use_clear_conversation_filters.d.ts +2 -0
- package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -0
- package/build/hooks/use_clear_conversation_filters.js +25 -0
- package/build/hooks/use_clear_conversation_filters.js.map +1 -0
- package/build/hooks/use_conversation.d.ts +73 -1
- package/build/hooks/use_conversation.d.ts.map +1 -1
- package/build/hooks/use_conversation.js +130 -3
- package/build/hooks/use_conversation.js.map +1 -1
- package/build/hooks/use_conversation_messages.d.ts.map +1 -1
- package/build/hooks/use_conversation_messages.js +29 -26
- package/build/hooks/use_conversation_messages.js.map +1 -1
- package/build/hooks/use_current_person.d.ts.map +1 -1
- package/build/hooks/use_current_person.js +1 -1
- package/build/hooks/use_current_person.js.map +1 -1
- package/build/hooks/use_jolt.d.ts +1 -0
- package/build/hooks/use_jolt.d.ts.map +1 -1
- package/build/hooks/use_jolt.js +59 -0
- package/build/hooks/use_jolt.js.map +1 -1
- package/build/hooks/use_manual_archiving_enabled.d.ts +2 -0
- package/build/hooks/use_manual_archiving_enabled.d.ts.map +1 -0
- package/build/hooks/use_manual_archiving_enabled.js +18 -0
- package/build/hooks/use_manual_archiving_enabled.js.map +1 -0
- package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
- package/build/hooks/use_mark_latest_message_read.js +3 -3
- package/build/hooks/use_mark_latest_message_read.js.map +1 -1
- package/build/hooks/use_reduce_motion.d.ts +2 -0
- package/build/hooks/use_reduce_motion.d.ts.map +1 -0
- package/build/hooks/use_reduce_motion.js +28 -0
- package/build/hooks/use_reduce_motion.js.map +1 -0
- package/build/hooks/use_unarchive_conversation_action.d.ts +7 -0
- package/build/hooks/use_unarchive_conversation_action.d.ts.map +1 -0
- package/build/hooks/use_unarchive_conversation_action.js +52 -0
- package/build/hooks/use_unarchive_conversation_action.js.map +1 -0
- package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.js +84 -61
- package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +490 -395
- package/build/screens/conversation_details_screen.js.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.js +88 -18
- package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
- package/build/screens/conversation_filters/components/rows.d.ts +9 -0
- package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/rows.js +93 -1
- package/build/screens/conversation_filters/components/rows.js.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.js +8 -4
- package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
- package/build/screens/conversation_filters/filter_types.d.ts +1 -0
- package/build/screens/conversation_filters/filter_types.d.ts.map +1 -1
- package/build/screens/conversation_filters/filter_types.js +1 -0
- package/build/screens/conversation_filters/filter_types.js.map +1 -1
- package/build/screens/conversation_filters/screen_props.d.ts +1 -0
- package/build/screens/conversation_filters/screen_props.d.ts.map +1 -1
- package/build/screens/conversation_filters/screen_props.js.map +1 -1
- package/build/screens/conversation_filters_screen.d.ts +1 -0
- package/build/screens/conversation_filters_screen.d.ts.map +1 -1
- package/build/screens/conversation_filters_screen.js +79 -48
- package/build/screens/conversation_filters_screen.js.map +1 -1
- package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
- package/build/screens/conversation_new/components/groups_form.js +37 -34
- package/build/screens/conversation_new/components/groups_form.js.map +1 -1
- package/build/screens/conversation_screen.d.ts.map +1 -1
- package/build/screens/conversation_screen.js +13 -10
- package/build/screens/conversation_screen.js.map +1 -1
- package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts +2 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js +580 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -0
- package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_component.js +95 -90
- package/build/screens/conversations/components/list_header_component.js.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.js +100 -95
- package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
- package/build/screens/conversations/conversations_screen.d.ts +1 -0
- package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
- package/build/screens/conversations/conversations_screen.js +15 -2
- package/build/screens/conversations/conversations_screen.js.map +1 -1
- package/build/screens/design_system_screen.d.ts.map +1 -1
- package/build/screens/design_system_screen.js +275 -215
- package/build/screens/design_system_screen.js.map +1 -1
- package/build/screens/message_actions_screen.d.ts.map +1 -1
- package/build/screens/message_actions_screen.js +112 -92
- package/build/screens/message_actions_screen.js.map +1 -1
- package/build/screens/search/search_screen.d.ts.map +1 -1
- package/build/screens/search/search_screen.js +10 -2
- package/build/screens/search/search_screen.js.map +1 -1
- package/build/screens/send_giphy_screen.d.ts +1 -0
- package/build/screens/send_giphy_screen.d.ts.map +1 -1
- package/build/screens/send_giphy_screen.js +108 -106
- package/build/screens/send_giphy_screen.js.map +1 -1
- package/build/screens/team_conversation_screen.js +1 -1
- package/build/screens/team_conversation_screen.js.map +1 -1
- package/build/types/jolt_events/message_events.d.ts +2 -0
- package/build/types/jolt_events/message_events.d.ts.map +1 -1
- package/build/types/jolt_events/message_events.js.map +1 -1
- package/build/types/resources/conversation.d.ts +2 -2
- package/build/types/resources/conversation.d.ts.map +1 -1
- package/build/types/resources/conversation.js.map +1 -1
- package/build/types/resources/member_ability.d.ts +2 -0
- package/build/types/resources/member_ability.d.ts.map +1 -1
- package/build/types/resources/member_ability.js.map +1 -1
- package/build/types/resources/message.d.ts +2 -0
- package/build/types/resources/message.d.ts.map +1 -1
- package/build/types/resources/message.js.map +1 -1
- package/build/types/resources/person.d.ts +1 -0
- package/build/types/resources/person.d.ts.map +1 -1
- package/build/types/resources/person.js.map +1 -1
- package/build/utils/archived_conversation.d.ts +5 -0
- package/build/utils/archived_conversation.d.ts.map +1 -0
- package/build/utils/archived_conversation.js +5 -0
- package/build/utils/archived_conversation.js.map +1 -0
- package/build/utils/date.d.ts +1 -0
- package/build/utils/date.d.ts.map +1 -1
- package/build/utils/date.js +9 -0
- package/build/utils/date.js.map +1 -1
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js +1 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.d.ts.map +1 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.js +2 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.js.map +1 -1
- package/build/utils/native_adapters/configuration.d.ts +3 -0
- package/build/utils/native_adapters/configuration.d.ts.map +1 -1
- package/build/utils/native_adapters/configuration.js +3 -0
- package/build/utils/native_adapters/configuration.js.map +1 -1
- package/build/utils/native_adapters/index.d.ts +1 -0
- package/build/utils/native_adapters/index.d.ts.map +1 -1
- package/build/utils/native_adapters/index.js +1 -0
- package/build/utils/native_adapters/index.js.map +1 -1
- package/build/utils/native_adapters/menu.d.ts +41 -0
- package/build/utils/native_adapters/menu.d.ts.map +1 -0
- package/build/utils/native_adapters/menu.js +56 -0
- package/build/utils/native_adapters/menu.js.map +1 -0
- package/build/utils/request/conversation.d.ts +2 -1
- package/build/utils/request/conversation.d.ts.map +1 -1
- package/build/utils/request/conversation.js +4 -1
- package/build/utils/request/conversation.js.map +1 -1
- package/build/utils/request/messages_data_options.d.ts.map +1 -1
- package/build/utils/request/messages_data_options.js +1 -1
- package/build/utils/request/messages_data_options.js.map +1 -1
- package/build/utils/system_messages.d.ts +7 -5
- package/build/utils/system_messages.d.ts.map +1 -1
- package/build/utils/system_messages.js +10 -2
- package/build/utils/system_messages.js.map +1 -1
- package/build/vendor/font_awesome_pro_solid_icons.d.ts +1 -0
- package/build/vendor/font_awesome_pro_solid_icons.d.ts.map +1 -1
- package/build/vendor/font_awesome_pro_solid_icons.js +5 -0
- package/build/vendor/font_awesome_pro_solid_icons.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/hooks/use_can_browse_archived_conversations.test.tsx +98 -0
- package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +132 -0
- package/src/__tests__/screens/conversation_filters_screen.test.tsx +76 -0
- package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
- package/src/__tests__/screens/message_actions_screen.test.tsx +65 -2
- package/src/__tests__/screens/send_giphy_screen.test.tsx +102 -0
- package/src/__tests__/utils/system_messages.ts +19 -32
- package/src/components/conversation/__tests__/message_list.test.tsx +68 -2
- package/src/components/conversation/__tests__/system_message.test.tsx +106 -0
- package/src/components/conversation/jump_to_bottom_button.tsx +4 -3
- package/src/components/conversation/message.tsx +3 -0
- package/src/components/conversation/message_form.tsx +3 -1
- package/src/components/conversation/message_list.tsx +9 -1
- package/src/components/conversation/message_reaction.tsx +7 -2
- package/src/components/conversation/messages_disabled_banners.tsx +17 -18
- package/src/components/conversation/system_message.tsx +44 -16
- package/src/components/conversations/__tests__/conversation_actions.test.tsx +67 -0
- package/src/components/conversations/__tests__/conversation_preview.test.tsx +105 -0
- package/src/components/conversations/__tests__/conversations.test.tsx +93 -0
- package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +73 -0
- package/src/components/conversations/archived_results_footer.tsx +36 -0
- package/src/components/conversations/conversation_actions.tsx +27 -19
- package/src/components/conversations/conversation_preview.tsx +39 -10
- package/src/components/conversations/conversations.tsx +26 -3
- package/src/components/conversations/conversations_blank_state.tsx +21 -0
- package/src/components/conversations/filtered_results_footer.tsx +38 -0
- package/src/components/display/__tests__/filter_dropdown.test.tsx +114 -0
- package/src/components/display/__tests__/icon_tile.test.tsx +16 -0
- package/src/components/display/action_button.tsx +4 -3
- package/src/components/display/filter_dropdown.tsx +124 -0
- package/src/components/display/icon_tile.tsx +67 -0
- package/src/components/display/index.ts +2 -0
- package/src/contexts/api_provider.tsx +8 -0
- package/src/contexts/conversations_context.tsx +2 -1
- package/src/hooks/__tests__/use_conversation_archive.test.tsx +152 -0
- package/src/hooks/__tests__/use_conversation_jolt_events.test.tsx +74 -0
- package/src/hooks/__tests__/use_conversation_messages.test.tsx +10 -2
- package/src/hooks/__tests__/use_jolt.test.tsx +100 -1
- package/src/hooks/__tests__/use_mark_latest_message_read.test.tsx +21 -7
- package/src/hooks/__tests__/use_reduce_motion.test.tsx +61 -0
- package/src/hooks/__tests__/use_unarchive_conversation_action.test.tsx +67 -0
- package/src/hooks/groups/use_group_members_for_new_conversation.ts +21 -16
- package/src/hooks/index.ts +3 -0
- package/src/hooks/use_animated_message_background_color.ts +6 -3
- package/src/hooks/use_api.ts +9 -2
- package/src/hooks/use_can_browse_archived_conversations.ts +17 -0
- package/src/hooks/use_clear_conversation_filters.ts +16 -0
- package/src/hooks/use_conversation.ts +44 -3
- package/src/hooks/use_conversation_messages.ts +7 -5
- package/src/hooks/use_current_person.ts +1 -0
- package/src/hooks/use_jolt.ts +57 -1
- package/src/hooks/use_manual_archiving_enabled.ts +10 -0
- package/src/hooks/use_mark_latest_message_read.ts +4 -3
- package/src/hooks/use_reduce_motion.ts +19 -0
- package/src/hooks/use_unarchive_conversation_action.ts +24 -0
- package/src/screens/__tests__/conversation_details_screen.test.tsx +305 -0
- package/src/screens/attachment_actions/__tests__/attachment_actions_screen.test.tsx +72 -0
- package/src/screens/attachment_actions/attachment_actions_screen.tsx +3 -1
- package/src/screens/conversation_details_screen.tsx +80 -16
- package/src/screens/conversation_filters/__tests__/conversation_filters.test.tsx +101 -0
- package/src/screens/conversation_filters/components/conversation_filters.tsx +40 -7
- package/src/screens/conversation_filters/components/rows.tsx +29 -1
- package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
- package/src/screens/conversation_filters/filter_types.ts +1 -0
- package/src/screens/conversation_filters/screen_props.ts +1 -0
- package/src/screens/conversation_filters_screen.tsx +25 -5
- package/src/screens/conversation_new/components/groups_form.tsx +1 -0
- package/src/screens/conversation_screen.tsx +4 -2
- package/src/screens/conversations/__tests__/conversations_screen.test.tsx +52 -0
- package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +259 -0
- package/src/screens/conversations/components/__tests__/list_header_component.test.tsx +21 -4
- package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +286 -0
- package/src/screens/conversations/components/list_header_component.tsx +17 -12
- package/src/screens/conversations/components/search_list_header_component.tsx +17 -12
- package/src/screens/conversations/conversations_screen.tsx +15 -2
- package/src/screens/design_system_screen.tsx +26 -0
- package/src/screens/message_actions_screen.tsx +29 -20
- package/src/screens/search/__tests__/search_screen.test.tsx +13 -1
- package/src/screens/search/search_screen.tsx +8 -2
- package/src/screens/send_giphy_screen.tsx +6 -3
- package/src/screens/team_conversation_screen.tsx +1 -1
- package/src/types/jolt_events/message_events.ts +2 -0
- package/src/types/resources/conversation.ts +2 -2
- package/src/types/resources/member_ability.ts +2 -0
- package/src/types/resources/message.ts +3 -0
- package/src/types/resources/person.ts +1 -0
- package/src/utils/__tests__/conversation.test.ts +1 -0
- package/src/utils/__tests__/date.test.ts +23 -0
- package/src/utils/__tests__/group_messages.test.ts +1 -0
- package/src/utils/archived_conversation.ts +13 -0
- package/src/utils/date.ts +8 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/jolt/__tests__/transform_message_event_data_to_message_resource.test.ts +35 -0
- package/src/utils/jolt/transform_message_event_data_to_message_resource.ts +1 -0
- package/src/utils/native_adapters/__tests__/menu.test.tsx +46 -0
- package/src/utils/native_adapters/configuration.ts +5 -0
- package/src/utils/native_adapters/index.ts +1 -0
- package/src/utils/native_adapters/menu.tsx +70 -0
- package/src/utils/request/conversation.ts +4 -0
- package/src/utils/request/messages_data_options.ts +1 -0
- package/src/utils/system_messages.ts +19 -10
- package/src/vendor/font_awesome_pro_solid_icons.ts +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_actions_screen.d.ts","sourceRoot":"","sources":["../../src/screens/message_actions_screen.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"message_actions_screen.d.ts","sourceRoot":"","sources":["../../src/screens/message_actions_screen.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAuBzF,eAAO,MAAM,2BAA2B,6EAGtC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC,CAAA;AAEF,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,yBAAyB,kDA+BxE"}
|
|
@@ -10,6 +10,7 @@ import { useReactionStyles } from '../components/conversation/message_reaction';
|
|
|
10
10
|
import FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet';
|
|
11
11
|
import { useCreateAndroidRippleColor, useFontScale, useTheme } from '../hooks';
|
|
12
12
|
import { useApiClient } from '../hooks/use_api_client';
|
|
13
|
+
import { useConversation } from '../hooks/use_conversation';
|
|
13
14
|
import { useConversationMessages } from '../hooks/use_conversation_messages';
|
|
14
15
|
import { availableFeatures, useFeatures } from '../hooks/use_features';
|
|
15
16
|
import { useMessageReactionToggle } from '../hooks/use_message_reaction_toggle';
|
|
@@ -22,7 +23,7 @@ export const MessageActionsScreenOptions = getFormSheetScreenOptions({
|
|
|
22
23
|
headerTitle: 'Message actions'
|
|
23
24
|
});
|
|
24
25
|
export function MessageActionsScreen(t0) {
|
|
25
|
-
const $ = _c(
|
|
26
|
+
const $ = _c(20);
|
|
26
27
|
const {
|
|
27
28
|
route
|
|
28
29
|
} = t0;
|
|
@@ -58,56 +59,82 @@ export function MessageActionsScreen(t0) {
|
|
|
58
59
|
refetch
|
|
59
60
|
} = useConversationMessages(t1, t2);
|
|
60
61
|
let t3;
|
|
61
|
-
if ($[3] !==
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
if ($[3] !== conversation_id) {
|
|
63
|
+
t3 = {
|
|
64
|
+
conversation_id
|
|
65
|
+
};
|
|
66
|
+
$[3] = conversation_id;
|
|
67
|
+
$[4] = t3;
|
|
68
|
+
} else {
|
|
69
|
+
t3 = $[4];
|
|
70
|
+
}
|
|
71
|
+
let t4;
|
|
72
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
73
|
+
t4 = {
|
|
74
|
+
refetchOnMount: false
|
|
75
|
+
};
|
|
76
|
+
$[5] = t4;
|
|
77
|
+
} else {
|
|
78
|
+
t4 = $[5];
|
|
79
|
+
}
|
|
80
|
+
const {
|
|
81
|
+
data: conversation
|
|
82
|
+
} = useConversation(t3, t4);
|
|
83
|
+
let t5;
|
|
84
|
+
if ($[6] !== message_id || $[7] !== messages) {
|
|
85
|
+
let t6;
|
|
86
|
+
if ($[9] !== message_id) {
|
|
87
|
+
t6 = m => m.id === message_id;
|
|
88
|
+
$[9] = message_id;
|
|
89
|
+
$[10] = t6;
|
|
67
90
|
} else {
|
|
68
|
-
|
|
91
|
+
t6 = $[10];
|
|
69
92
|
}
|
|
70
|
-
|
|
71
|
-
$[
|
|
72
|
-
$[
|
|
73
|
-
$[
|
|
93
|
+
t5 = messages.find(t6);
|
|
94
|
+
$[6] = message_id;
|
|
95
|
+
$[7] = messages;
|
|
96
|
+
$[8] = t5;
|
|
74
97
|
} else {
|
|
75
|
-
|
|
98
|
+
t5 = $[8];
|
|
76
99
|
}
|
|
77
|
-
const message =
|
|
100
|
+
const message = t5;
|
|
78
101
|
if (!message) {
|
|
79
102
|
return null;
|
|
80
103
|
}
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
104
|
+
const t6 = !!conversation.disabled;
|
|
105
|
+
const t7 = canDeleteNonAuthoredMessages || false;
|
|
106
|
+
let t8;
|
|
107
|
+
if ($[11] !== conversation_id || $[12] !== inReplyScreen || $[13] !== isSystemMessage || $[14] !== message || $[15] !== refetch || $[16] !== reply_root_author_name || $[17] !== t6 || $[18] !== t7) {
|
|
108
|
+
t8 = /*#__PURE__*/_jsx(MessageActionsScreenContent, {
|
|
85
109
|
message: message,
|
|
86
110
|
conversation_id: conversation_id,
|
|
87
|
-
|
|
111
|
+
conversationDisabled: t6,
|
|
112
|
+
canDeleteNonAuthoredMessages: t7,
|
|
88
113
|
refetchMessages: refetch,
|
|
89
114
|
inReplyScreen: inReplyScreen,
|
|
90
115
|
replyRootAuthorName: reply_root_author_name,
|
|
91
116
|
isSystemMessage: isSystemMessage
|
|
92
117
|
});
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
98
|
-
$[
|
|
99
|
-
$[
|
|
100
|
-
$[
|
|
101
|
-
|
|
102
|
-
|
|
118
|
+
$[11] = conversation_id;
|
|
119
|
+
$[12] = inReplyScreen;
|
|
120
|
+
$[13] = isSystemMessage;
|
|
121
|
+
$[14] = message;
|
|
122
|
+
$[15] = refetch;
|
|
123
|
+
$[16] = reply_root_author_name;
|
|
124
|
+
$[17] = t6;
|
|
125
|
+
$[18] = t7;
|
|
126
|
+
$[19] = t8;
|
|
127
|
+
} else {
|
|
128
|
+
t8 = $[19];
|
|
103
129
|
}
|
|
104
|
-
return
|
|
130
|
+
return t8;
|
|
105
131
|
}
|
|
106
132
|
function MessageActionsScreenContent(t0) {
|
|
107
133
|
const $ = _c(93);
|
|
108
134
|
const {
|
|
109
135
|
message,
|
|
110
136
|
conversation_id,
|
|
137
|
+
conversationDisabled,
|
|
111
138
|
canDeleteNonAuthoredMessages,
|
|
112
139
|
refetchMessages,
|
|
113
140
|
inReplyScreen,
|
|
@@ -443,45 +470,37 @@ function MessageActionsScreenContent(t0) {
|
|
|
443
470
|
t19 = $[65];
|
|
444
471
|
}
|
|
445
472
|
const showReportMessageAction = t19;
|
|
446
|
-
const
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
$[67] = handleReactionToggle;
|
|
463
|
-
$[68] = navigation;
|
|
464
|
-
$[69] = t22;
|
|
465
|
-
} else {
|
|
466
|
-
t22 = $[69];
|
|
467
|
-
}
|
|
468
|
-
let t23;
|
|
469
|
-
if ($[70] !== styles.reactionList || $[71] !== t22) {
|
|
470
|
-
t23 = /*#__PURE__*/_jsx(View, {
|
|
471
|
-
style: t21,
|
|
472
|
-
children: t22
|
|
473
|
+
const showDeleteMessageAction = !conversationDisabled && (message?.mine || canDeleteNonAuthoredMessages);
|
|
474
|
+
let t20;
|
|
475
|
+
if ($[66] !== availableReactions || $[67] !== conversationDisabled || $[68] !== handleReactionToggle || $[69] !== navigation || $[70] !== styles.reactionList) {
|
|
476
|
+
t20 = !conversationDisabled && /*#__PURE__*/_jsx(View, {
|
|
477
|
+
style: styles.reactionList,
|
|
478
|
+
children: availableReactions.map((reaction_1, index) => /*#__PURE__*/_jsx(Reaction, {
|
|
479
|
+
reaction: reaction_1,
|
|
480
|
+
onPress: () => {
|
|
481
|
+
Haptic.impactLight();
|
|
482
|
+
handleReactionToggle({
|
|
483
|
+
value: reaction_1.value,
|
|
484
|
+
mine: reaction_1.mine
|
|
485
|
+
});
|
|
486
|
+
navigation.goBack();
|
|
487
|
+
}
|
|
488
|
+
}, index))
|
|
473
489
|
});
|
|
490
|
+
$[66] = availableReactions;
|
|
491
|
+
$[67] = conversationDisabled;
|
|
492
|
+
$[68] = handleReactionToggle;
|
|
493
|
+
$[69] = navigation;
|
|
474
494
|
$[70] = styles.reactionList;
|
|
475
|
-
$[71] =
|
|
476
|
-
$[72] = t23;
|
|
495
|
+
$[71] = t20;
|
|
477
496
|
} else {
|
|
478
|
-
|
|
497
|
+
t20 = $[71];
|
|
479
498
|
}
|
|
480
|
-
let
|
|
481
|
-
if ($[
|
|
482
|
-
|
|
499
|
+
let t21;
|
|
500
|
+
if ($[72] !== conversationDisabled || $[73] !== handleCopyPress || $[74] !== handleDeleteConfirm || $[75] !== handleEditPress || $[76] !== handleRemoveLinkPreviewConfirm || $[77] !== handleReplyPress || $[78] !== handleReportPress || $[79] !== handleViewReadReceiptsPress || $[80] !== hasExpandedLink || $[81] !== inReplyScreen || $[82] !== isPending || $[83] !== isSystemMessage || $[84] !== message.mine || $[85] !== showDeleteMessageAction || $[86] !== showReportMessageAction || $[87] !== styles.actions) {
|
|
501
|
+
t21 = !isSystemMessage && /*#__PURE__*/_jsxs(View, {
|
|
483
502
|
style: styles.actions,
|
|
484
|
-
children: [!inReplyScreen && /*#__PURE__*/_jsx(FormSheet.Action, {
|
|
503
|
+
children: [!inReplyScreen && !conversationDisabled && /*#__PURE__*/_jsx(FormSheet.Action, {
|
|
485
504
|
onPress: handleReplyPress,
|
|
486
505
|
title: "Reply to message",
|
|
487
506
|
iconName: "registrations.undo",
|
|
@@ -497,7 +516,7 @@ function MessageActionsScreenContent(t0) {
|
|
|
497
516
|
title: "Report message",
|
|
498
517
|
iconName: "chat.reportMessageO",
|
|
499
518
|
accessibilityHint: "Opens a form to report this message"
|
|
500
|
-
}), message?.mine && /*#__PURE__*/_jsx(FormSheet.Action, {
|
|
519
|
+
}), message?.mine && !conversationDisabled && /*#__PURE__*/_jsx(FormSheet.Action, {
|
|
501
520
|
onPress: () => handleEditPress(),
|
|
502
521
|
title: "Edit message",
|
|
503
522
|
iconName: "accounts.editor",
|
|
@@ -507,12 +526,12 @@ function MessageActionsScreenContent(t0) {
|
|
|
507
526
|
title: "View read receipts",
|
|
508
527
|
iconName: "general.checkPerson",
|
|
509
528
|
accessibilityHint: "Opens a modal with a list of people who read your message."
|
|
510
|
-
}), message?.mine && hasExpandedLink && /*#__PURE__*/_jsx(FormSheet.Action, {
|
|
529
|
+
}), message?.mine && hasExpandedLink && !conversationDisabled && /*#__PURE__*/_jsx(FormSheet.Action, {
|
|
511
530
|
onPress: () => handleRemoveLinkPreviewConfirm(),
|
|
512
531
|
title: "Remove link preview",
|
|
513
532
|
iconName: "general.brokenLink",
|
|
514
533
|
accessibilityHint: "Removes an expanded link preview from the message."
|
|
515
|
-
}),
|
|
534
|
+
}), showDeleteMessageAction && /*#__PURE__*/_jsx(FormSheet.Action, {
|
|
516
535
|
onPress: () => handleDeleteConfirm(),
|
|
517
536
|
title: "Delete message",
|
|
518
537
|
iconName: "publishing.trash",
|
|
@@ -521,39 +540,40 @@ function MessageActionsScreenContent(t0) {
|
|
|
521
540
|
accessibilityHint: "Opens a confirmation alert to delete this message permanently."
|
|
522
541
|
})]
|
|
523
542
|
});
|
|
524
|
-
$[
|
|
525
|
-
$[
|
|
526
|
-
$[
|
|
527
|
-
$[
|
|
528
|
-
$[
|
|
529
|
-
$[
|
|
530
|
-
$[
|
|
531
|
-
$[
|
|
532
|
-
$[
|
|
533
|
-
$[
|
|
534
|
-
$[
|
|
535
|
-
$[
|
|
536
|
-
$[
|
|
543
|
+
$[72] = conversationDisabled;
|
|
544
|
+
$[73] = handleCopyPress;
|
|
545
|
+
$[74] = handleDeleteConfirm;
|
|
546
|
+
$[75] = handleEditPress;
|
|
547
|
+
$[76] = handleRemoveLinkPreviewConfirm;
|
|
548
|
+
$[77] = handleReplyPress;
|
|
549
|
+
$[78] = handleReportPress;
|
|
550
|
+
$[79] = handleViewReadReceiptsPress;
|
|
551
|
+
$[80] = hasExpandedLink;
|
|
552
|
+
$[81] = inReplyScreen;
|
|
553
|
+
$[82] = isPending;
|
|
554
|
+
$[83] = isSystemMessage;
|
|
555
|
+
$[84] = message.mine;
|
|
556
|
+
$[85] = showDeleteMessageAction;
|
|
537
557
|
$[86] = showReportMessageAction;
|
|
538
558
|
$[87] = styles.actions;
|
|
539
|
-
$[88] =
|
|
559
|
+
$[88] = t21;
|
|
540
560
|
} else {
|
|
541
|
-
|
|
561
|
+
t21 = $[88];
|
|
542
562
|
}
|
|
543
|
-
let
|
|
544
|
-
if ($[89] !== styles.formSheetContent || $[90] !==
|
|
545
|
-
|
|
546
|
-
style:
|
|
547
|
-
children: [
|
|
563
|
+
let t22;
|
|
564
|
+
if ($[89] !== styles.formSheetContent || $[90] !== t20 || $[91] !== t21) {
|
|
565
|
+
t22 = /*#__PURE__*/_jsxs(FormSheet.Root, {
|
|
566
|
+
style: styles.formSheetContent,
|
|
567
|
+
children: [t20, t21]
|
|
548
568
|
});
|
|
549
569
|
$[89] = styles.formSheetContent;
|
|
550
|
-
$[90] =
|
|
551
|
-
$[91] =
|
|
552
|
-
$[92] =
|
|
570
|
+
$[90] = t20;
|
|
571
|
+
$[91] = t21;
|
|
572
|
+
$[92] = t22;
|
|
553
573
|
} else {
|
|
554
|
-
|
|
574
|
+
t22 = $[92];
|
|
555
575
|
}
|
|
556
|
-
return
|
|
576
|
+
return t22;
|
|
557
577
|
}
|
|
558
578
|
function _temp6() {
|
|
559
579
|
Alert.alert("Oops", "We were unable to remove the preview. Please try again.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_actions_screen.js","names":["PlatformPressable","StackActions","useNavigation","useMutation","useQueryClient","isNil","omitBy","React","useCallback","Alert","Platform","StyleSheet","View","Text","useReactionStyles","FormSheet","getFormSheetScreenOptions","useCreateAndroidRippleColor","useFontScale","useTheme","useApiClient","useConversationMessages","availableFeatures","useFeatures","useMessageReactionToggle","REACTION_EMOJIS","applyMessageDeletionToCaches","getThreadedMessagesQueryKey","Clipboard","Haptic","jsx","_jsx","jsxs","_jsxs","MessageActionsScreenOptions","sheetAllowedDetents","headerTitle","MessageActionsScreen","t0","$","_c","route","conversation_id","message_id","canDeleteNonAuthoredMessages","inReplyScreen","reply_root_author_name","isSystemMessage","params","t1","t2","Symbol","for","refetchOnMount","messages","refetch","t3","t4","m","id","find","message","t5","MessageActionsScreenContent","refetchMessages","replyRootAuthorName","navigation","apiClient","queryClient","styles","useStyles","featureEnabled","attachments","_temp","expandedLink","hasExpandedLink","reactionCounts","myReactions","filter","_temp2","map","_temp3","Object","entries","value","emoji","mine","includes","availableReactions","giphyTitleLink","_temp4","titleLink","attachmentForCopy","replyRootId","goBack","requestAnimationFrame","navigate","reply_root_id","handleReplyPress","text","textToCopy","setStringAsync","notificationSuccess","handleCopyPress","t6","impactLight","handleReportPress","t7","handleReactionToggle","isPending","t8","url","chat","delete","deleteMessage","t9","t10","invalidateQueries","queryKey","t11","mutationFn","mutationKey","onSuccess","onError","_temp5","mutate","handleDeleteMessage","t12","alert","style","onPress","handleDeleteConfirm","t13","state","getState","targetRouteName","targetRoute","routes","r","name","editing_message_id","dispatch","popTo","handleEditPress","t14","params_0","handleViewReadReceiptsPress","t15","url_0","data","type","attributes","expanded_link_id","post","removeLinkPreview","t16","t17","_temp6","handleRemoveLinkPreview","t18","handleRemoveLinkPreviewConfirm","t19","message_reporting","showReportMessageAction","t20","formSheetContent","t21","reactionList","t22","reaction_1","index","Reaction","reaction","t23","children","t24","actions","Action","title","iconName","accessibilityHint","accessibilityRole","appearance","t25","Root","attachment_0","attachment","reaction_0","reactionStyles","colors","baseRippleColor","interaction","fillColorNeutral060","color","androidRippleColor","borderless","foreground","reactionEmoji","allowFontScaling","android_ripple","maxFontSizeMultiplier","fontScale","baseSize","Math","max","borderColorDefaultBase","reactionBtnSize","select","ios","android","create","paddingTop","flexDirection","justifyContent","alignItems","gap","paddingBottom","borderBottomColor","borderBottomWidth","height","width","borderWidth","borderRadius","overflow","fontSize","textAlign"],"sources":["../../src/screens/message_actions_screen.tsx"],"sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport { StackActions, StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\nimport { isNil, omitBy } from 'lodash'\nimport React, { useCallback } from 'react'\nimport { Alert, Platform, StyleSheet, View } from 'react-native'\nimport { Text } from '../components'\nimport { useReactionStyles } from '../components/conversation/message_reaction'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useCreateAndroidRippleColor, useFontScale, useTheme } from '../hooks'\nimport { useApiClient } from '../hooks/use_api_client'\nimport { useConversationMessages } from '../hooks/use_conversation_messages'\nimport { availableFeatures, useFeatures } from '../hooks/use_features'\nimport { useMessageReactionToggle } from '../hooks/use_message_reaction_toggle'\nimport { MessageResource } from '../types'\nimport { ReactionCountResource } from '../types/resources/reaction'\nimport { REACTION_EMOJIS } from '../utils'\nimport {\n applyMessageDeletionToCaches,\n getThreadedMessagesQueryKey,\n} from '../utils/cache/messages_cache'\nimport { Clipboard, Haptic } from '../utils/native_adapters'\n\nexport const MessageActionsScreenOptions = getFormSheetScreenOptions({\n sheetAllowedDetents: [0.5],\n headerTitle: 'Message actions',\n})\n\nexport type MessageActionsScreenProps = StaticScreenProps<{\n message_id: string\n reply_root_author_name?: string\n conversation_id: number\n canDeleteNonAuthoredMessages?: boolean\n inReplyScreen?: boolean\n isSystemMessage?: boolean\n}>\n\nexport function MessageActionsScreen({ route }: MessageActionsScreenProps) {\n const {\n conversation_id,\n message_id,\n canDeleteNonAuthoredMessages,\n inReplyScreen,\n reply_root_author_name,\n isSystemMessage,\n } = route.params\n\n const { messages, refetch } = useConversationMessages(\n { conversation_id },\n { refetchOnMount: false }\n )\n const message = messages.find(m => m.id === message_id)\n\n if (!message) return null\n\n return (\n <MessageActionsScreenContent\n message={message}\n conversation_id={conversation_id}\n canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages || false}\n refetchMessages={refetch}\n inReplyScreen={inReplyScreen}\n replyRootAuthorName={reply_root_author_name}\n isSystemMessage={isSystemMessage}\n />\n )\n}\n\nfunction MessageActionsScreenContent({\n message,\n conversation_id,\n canDeleteNonAuthoredMessages,\n refetchMessages,\n inReplyScreen,\n replyRootAuthorName,\n isSystemMessage,\n}: {\n message: MessageResource\n conversation_id: number\n canDeleteNonAuthoredMessages: boolean\n refetchMessages: () => void\n inReplyScreen?: boolean\n replyRootAuthorName?: string\n isSystemMessage?: boolean\n}) {\n const navigation = useNavigation()\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const styles = useStyles()\n const { featureEnabled } = useFeatures()\n const expandedLink = message.attachments.find(attachment => attachment.type === 'ExpandedLink')\n const hasExpandedLink = !!expandedLink\n\n const myReactions = message?.reactionCounts\n .filter(reaction => reaction.mine)\n .map(reaction => reaction.value)\n\n const availableReactions = Object.entries(REACTION_EMOJIS).map(([value, emoji]) => {\n return {\n value: value as ReactionCountResource['value'],\n emoji,\n mine: myReactions?.includes(value as ReactionCountResource['value']),\n }\n })\n\n const attachmentForCopy = (): string => {\n const giphyTitleLink = message?.attachments.find(\n attachment => attachment.type === 'giphy'\n )?.titleLink\n\n if (giphyTitleLink) return giphyTitleLink\n return ''\n }\n\n const handleReplyPress = useCallback(() => {\n navigation.goBack()\n // Waits for the modal to be dismissed before pushing the reply screen\n requestAnimationFrame(() => {\n navigation.navigate('ConversationReply', {\n conversation_id,\n reply_root_id: message.replyRootId || message.id,\n reply_root_author_name: replyRootAuthorName,\n })\n })\n }, [navigation, conversation_id, message.id, message.replyRootId, replyRootAuthorName])\n\n const handleCopyPress = async () => {\n const textToCopy = message?.text || attachmentForCopy()\n if (textToCopy) {\n await Clipboard.setStringAsync(textToCopy)\n Haptic.notificationSuccess()\n }\n navigation.goBack()\n }\n\n const handleReportPress = useCallback(() => {\n Haptic.impactLight()\n navigation.navigate('MessageReport', {\n conversation_id,\n message_id: message.id,\n })\n }, [navigation, conversation_id, message.id])\n\n const { handleReactionToggle, isPending } = useMessageReactionToggle({\n conversation_id,\n message,\n })\n\n const deleteMessage = useCallback(() => {\n const url = `/me/conversations/${conversation_id}/messages/${message.id}/`\n\n return apiClient.chat.delete({ url })\n }, [apiClient, conversation_id, message.id])\n\n const { mutate: handleDeleteMessage } = useMutation({\n mutationFn: deleteMessage,\n mutationKey: ['deleteMessage', message.id],\n onSuccess: () => {\n applyMessageDeletionToCaches(queryClient, conversation_id, message)\n if (message.replyRootId) {\n queryClient.invalidateQueries({\n queryKey: getThreadedMessagesQueryKey(conversation_id, message.replyRootId),\n })\n }\n refetchMessages()\n Haptic.notificationSuccess()\n },\n onError: () => {\n Alert.alert('Oops', 'We were unable to delete this message. Please try again.')\n },\n })\n\n const handleDeleteConfirm = useCallback(() => {\n Alert.alert('Delete message', 'Are you sure you want to permanently delete this message?', [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Delete',\n style: 'destructive',\n onPress: () => {\n handleDeleteMessage()\n navigation.goBack()\n },\n },\n ])\n }, [handleDeleteMessage, navigation])\n\n const handleEditPress = useCallback(() => {\n const state = navigation.getState?.()\n const targetRouteName = inReplyScreen ? 'ConversationReply' : 'Conversation'\n const targetRoute = state?.routes?.find(r => r.name === targetRouteName)\n const params = omitBy(\n {\n ...(targetRoute?.params || {}),\n conversation_id,\n editing_message_id: message.id,\n },\n isNil\n )\n navigation.dispatch(StackActions.popTo(targetRouteName, params))\n }, [navigation, conversation_id, message.id, inReplyScreen])\n\n const handleViewReadReceiptsPress = useCallback(() => {\n Haptic.impactLight()\n const params = omitBy(\n {\n conversation_id,\n message_id: message.id,\n },\n isNil\n )\n navigation.dispatch(StackActions.popTo('MessageReadReceipts', params))\n }, [navigation, conversation_id, message.id])\n\n const removeLinkPreview = useCallback(() => {\n const url = `/me/conversations/${conversation_id}/messages/${message.id}/remove_expanded_link`\n const data = {\n data: { type: 'ExpandedLink', attributes: { expanded_link_id: expandedLink?.id } },\n }\n\n return apiClient.chat.post({ url, data })\n }, [apiClient, conversation_id, message.id, expandedLink])\n\n const { mutate: handleRemoveLinkPreview } = useMutation({\n mutationFn: removeLinkPreview,\n onSuccess: () => {\n refetchMessages()\n Haptic.notificationSuccess()\n navigation.goBack()\n },\n onError: () => {\n Alert.alert('Oops', 'We were unable to remove the preview. Please try again.')\n },\n })\n\n const handleRemoveLinkPreviewConfirm = useCallback(() => {\n Alert.alert('Remove link preview?', 'This will remove the image preview but retain the link', [\n { text: 'Cancel', style: 'cancel' },\n { text: 'Remove', style: 'destructive', onPress: () => handleRemoveLinkPreview() },\n ])\n }, [handleRemoveLinkPreview])\n\n const showReportMessageAction =\n !message?.mine && featureEnabled(availableFeatures.message_reporting)\n\n return (\n <FormSheet.Root style={styles.formSheetContent}>\n <View style={styles.reactionList}>\n {availableReactions.map((reaction, index) => (\n <Reaction\n key={index}\n reaction={reaction}\n onPress={() => {\n Haptic.impactLight()\n handleReactionToggle({\n value: reaction.value,\n mine: reaction.mine,\n })\n navigation.goBack()\n }}\n />\n ))}\n </View>\n {!isSystemMessage && (\n <View style={styles.actions}>\n {!inReplyScreen && (\n <FormSheet.Action\n onPress={handleReplyPress}\n title=\"Reply to message\"\n iconName=\"registrations.undo\"\n accessibilityHint=\"Navigates to the reply screen\"\n accessibilityRole=\"link\"\n />\n )}\n <FormSheet.Action\n onPress={handleCopyPress}\n title=\"Copy text\"\n iconName=\"services.fileCopy\"\n accessibilityHint=\"Copies text and links to clipboard\"\n />\n {showReportMessageAction && (\n <FormSheet.Action\n onPress={handleReportPress}\n title=\"Report message\"\n iconName=\"chat.reportMessageO\"\n accessibilityHint=\"Opens a form to report this message\"\n />\n )}\n {message?.mine && (\n <FormSheet.Action\n onPress={() => handleEditPress()}\n title=\"Edit message\"\n iconName=\"accounts.editor\"\n accessibilityHint=\"Opens existing text in the message form input.\"\n />\n )}\n {message?.mine && (\n <FormSheet.Action\n onPress={() => handleViewReadReceiptsPress()}\n title=\"View read receipts\"\n iconName=\"general.checkPerson\"\n accessibilityHint=\"Opens a modal with a list of people who read your message.\"\n />\n )}\n {message?.mine && hasExpandedLink && (\n <FormSheet.Action\n onPress={() => handleRemoveLinkPreviewConfirm()}\n title=\"Remove link preview\"\n iconName=\"general.brokenLink\"\n accessibilityHint=\"Removes an expanded link preview from the message.\"\n />\n )}\n {(message?.mine || canDeleteNonAuthoredMessages) && (\n <FormSheet.Action\n onPress={() => handleDeleteConfirm()}\n title=\"Delete message\"\n iconName=\"publishing.trash\"\n appearance=\"danger\"\n disabled={isPending}\n accessibilityHint=\"Opens a confirmation alert to delete this message permanently.\"\n />\n )}\n </View>\n )}\n </FormSheet.Root>\n )\n}\n\nconst Reaction = ({\n reaction,\n onPress,\n}: {\n reaction: { value: ReactionCountResource['value']; emoji: string; mine: boolean | undefined }\n onPress: () => void\n}) => {\n const styles = useStyles()\n const reactionStyles = useReactionStyles({ mine: reaction.mine ? 1 : 0 })\n\n const { colors } = useTheme()\n const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060\n const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor })\n\n return (\n <PlatformPressable\n key={reaction.value}\n style={[reactionStyles.reaction, styles.reaction]}\n android_ripple={{ color: androidRippleColor, borderless: false, foreground: true }}\n onPress={onPress}\n >\n <Text style={styles.reactionEmoji} allowFontScaling={false}>\n {REACTION_EMOJIS[reaction.value]}\n </Text>\n </PlatformPressable>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: 1.3 })\n\n const btnBorderWidth = 1\n const baseSize = 46 * Math.max(1, fontScale)\n const reactionBtnSize = Platform.select({\n ios: baseSize,\n android: baseSize + btnBorderWidth * 2,\n })\n\n return StyleSheet.create({\n formSheetContent: {\n paddingTop: 16,\n },\n reactionList: {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 16,\n paddingTop: 8,\n paddingBottom: 16,\n borderBottomColor: colors.borderColorDefaultBase,\n borderBottomWidth: 1,\n },\n reaction: {\n height: reactionBtnSize,\n width: reactionBtnSize,\n borderWidth: btnBorderWidth,\n borderRadius: 32,\n justifyContent: 'center',\n overflow: 'hidden',\n },\n reactionEmoji: {\n fontSize: 24,\n textAlign: 'center',\n },\n actions: {\n paddingTop: 4,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"message_actions_screen.js","names":["PlatformPressable","StackActions","useNavigation","useMutation","useQueryClient","isNil","omitBy","React","useCallback","Alert","Platform","StyleSheet","View","Text","useReactionStyles","FormSheet","getFormSheetScreenOptions","useCreateAndroidRippleColor","useFontScale","useTheme","useApiClient","useConversation","useConversationMessages","availableFeatures","useFeatures","useMessageReactionToggle","REACTION_EMOJIS","applyMessageDeletionToCaches","getThreadedMessagesQueryKey","Clipboard","Haptic","jsx","_jsx","jsxs","_jsxs","MessageActionsScreenOptions","sheetAllowedDetents","headerTitle","MessageActionsScreen","t0","$","_c","route","conversation_id","message_id","canDeleteNonAuthoredMessages","inReplyScreen","reply_root_author_name","isSystemMessage","params","t1","t2","Symbol","for","refetchOnMount","messages","refetch","t3","t4","data","conversation","t5","t6","m","id","find","message","disabled","t7","t8","MessageActionsScreenContent","conversationDisabled","refetchMessages","replyRootAuthorName","navigation","apiClient","queryClient","styles","useStyles","featureEnabled","attachments","_temp","expandedLink","hasExpandedLink","reactionCounts","myReactions","filter","_temp2","map","_temp3","Object","entries","value","emoji","mine","includes","availableReactions","giphyTitleLink","_temp4","titleLink","attachmentForCopy","replyRootId","goBack","requestAnimationFrame","navigate","reply_root_id","handleReplyPress","text","textToCopy","setStringAsync","notificationSuccess","handleCopyPress","impactLight","handleReportPress","handleReactionToggle","isPending","url","chat","delete","deleteMessage","t9","t10","invalidateQueries","queryKey","t11","mutationFn","mutationKey","onSuccess","onError","_temp5","mutate","handleDeleteMessage","t12","alert","style","onPress","handleDeleteConfirm","t13","state","getState","targetRouteName","targetRoute","routes","r","name","editing_message_id","dispatch","popTo","handleEditPress","t14","params_0","handleViewReadReceiptsPress","t15","url_0","type","attributes","expanded_link_id","post","removeLinkPreview","t16","t17","_temp6","handleRemoveLinkPreview","t18","handleRemoveLinkPreviewConfirm","t19","message_reporting","showReportMessageAction","showDeleteMessageAction","t20","reactionList","children","reaction_1","index","Reaction","reaction","t21","actions","Action","title","iconName","accessibilityHint","accessibilityRole","appearance","t22","formSheetContent","Root","attachment_0","attachment","reaction_0","reactionStyles","colors","baseRippleColor","interaction","fillColorNeutral060","color","androidRippleColor","borderless","foreground","reactionEmoji","allowFontScaling","android_ripple","maxFontSizeMultiplier","fontScale","baseSize","Math","max","borderColorDefaultBase","reactionBtnSize","select","ios","android","create","paddingTop","flexDirection","justifyContent","alignItems","gap","paddingBottom","borderBottomColor","borderBottomWidth","height","width","borderWidth","borderRadius","overflow","fontSize","textAlign"],"sources":["../../src/screens/message_actions_screen.tsx"],"sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport { StackActions, StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\nimport { isNil, omitBy } from 'lodash'\nimport React, { useCallback } from 'react'\nimport { Alert, Platform, StyleSheet, View } from 'react-native'\nimport { Text } from '../components'\nimport { useReactionStyles } from '../components/conversation/message_reaction'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useCreateAndroidRippleColor, useFontScale, useTheme } from '../hooks'\nimport { useApiClient } from '../hooks/use_api_client'\nimport { useConversation } from '../hooks/use_conversation'\nimport { useConversationMessages } from '../hooks/use_conversation_messages'\nimport { availableFeatures, useFeatures } from '../hooks/use_features'\nimport { useMessageReactionToggle } from '../hooks/use_message_reaction_toggle'\nimport { MessageResource } from '../types'\nimport { ReactionCountResource } from '../types/resources/reaction'\nimport { REACTION_EMOJIS } from '../utils'\nimport {\n applyMessageDeletionToCaches,\n getThreadedMessagesQueryKey,\n} from '../utils/cache/messages_cache'\nimport { Clipboard, Haptic } from '../utils/native_adapters'\n\nexport const MessageActionsScreenOptions = getFormSheetScreenOptions({\n sheetAllowedDetents: [0.5],\n headerTitle: 'Message actions',\n})\n\nexport type MessageActionsScreenProps = StaticScreenProps<{\n message_id: string\n reply_root_author_name?: string\n conversation_id: number\n canDeleteNonAuthoredMessages?: boolean\n inReplyScreen?: boolean\n isSystemMessage?: boolean\n}>\n\nexport function MessageActionsScreen({ route }: MessageActionsScreenProps) {\n const {\n conversation_id,\n message_id,\n canDeleteNonAuthoredMessages,\n inReplyScreen,\n reply_root_author_name,\n isSystemMessage,\n } = route.params\n\n const { messages, refetch } = useConversationMessages(\n { conversation_id },\n { refetchOnMount: false }\n )\n const { data: conversation } = useConversation({ conversation_id }, { refetchOnMount: false })\n const message = messages.find(m => m.id === message_id)\n\n if (!message) return null\n\n return (\n <MessageActionsScreenContent\n message={message}\n conversation_id={conversation_id}\n conversationDisabled={!!conversation.disabled}\n canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages || false}\n refetchMessages={refetch}\n inReplyScreen={inReplyScreen}\n replyRootAuthorName={reply_root_author_name}\n isSystemMessage={isSystemMessage}\n />\n )\n}\n\nfunction MessageActionsScreenContent({\n message,\n conversation_id,\n conversationDisabled,\n canDeleteNonAuthoredMessages,\n refetchMessages,\n inReplyScreen,\n replyRootAuthorName,\n isSystemMessage,\n}: {\n message: MessageResource\n conversation_id: number\n conversationDisabled: boolean\n canDeleteNonAuthoredMessages: boolean\n refetchMessages: () => void\n inReplyScreen?: boolean\n replyRootAuthorName?: string\n isSystemMessage?: boolean\n}) {\n const navigation = useNavigation()\n const apiClient = useApiClient()\n const queryClient = useQueryClient()\n const styles = useStyles()\n const { featureEnabled } = useFeatures()\n const expandedLink = message.attachments.find(attachment => attachment.type === 'ExpandedLink')\n const hasExpandedLink = !!expandedLink\n\n const myReactions = message?.reactionCounts\n .filter(reaction => reaction.mine)\n .map(reaction => reaction.value)\n\n const availableReactions = Object.entries(REACTION_EMOJIS).map(([value, emoji]) => {\n return {\n value: value as ReactionCountResource['value'],\n emoji,\n mine: myReactions?.includes(value as ReactionCountResource['value']),\n }\n })\n\n const attachmentForCopy = (): string => {\n const giphyTitleLink = message?.attachments.find(\n attachment => attachment.type === 'giphy'\n )?.titleLink\n\n if (giphyTitleLink) return giphyTitleLink\n return ''\n }\n\n const handleReplyPress = useCallback(() => {\n navigation.goBack()\n // Waits for the modal to be dismissed before pushing the reply screen\n requestAnimationFrame(() => {\n navigation.navigate('ConversationReply', {\n conversation_id,\n reply_root_id: message.replyRootId || message.id,\n reply_root_author_name: replyRootAuthorName,\n })\n })\n }, [navigation, conversation_id, message.id, message.replyRootId, replyRootAuthorName])\n\n const handleCopyPress = async () => {\n const textToCopy = message?.text || attachmentForCopy()\n if (textToCopy) {\n await Clipboard.setStringAsync(textToCopy)\n Haptic.notificationSuccess()\n }\n navigation.goBack()\n }\n\n const handleReportPress = useCallback(() => {\n Haptic.impactLight()\n navigation.navigate('MessageReport', {\n conversation_id,\n message_id: message.id,\n })\n }, [navigation, conversation_id, message.id])\n\n const { handleReactionToggle, isPending } = useMessageReactionToggle({\n conversation_id,\n message,\n })\n\n const deleteMessage = useCallback(() => {\n const url = `/me/conversations/${conversation_id}/messages/${message.id}/`\n\n return apiClient.chat.delete({ url })\n }, [apiClient, conversation_id, message.id])\n\n const { mutate: handleDeleteMessage } = useMutation({\n mutationFn: deleteMessage,\n mutationKey: ['deleteMessage', message.id],\n onSuccess: () => {\n applyMessageDeletionToCaches(queryClient, conversation_id, message)\n if (message.replyRootId) {\n queryClient.invalidateQueries({\n queryKey: getThreadedMessagesQueryKey(conversation_id, message.replyRootId),\n })\n }\n refetchMessages()\n Haptic.notificationSuccess()\n },\n onError: () => {\n Alert.alert('Oops', 'We were unable to delete this message. Please try again.')\n },\n })\n\n const handleDeleteConfirm = useCallback(() => {\n Alert.alert('Delete message', 'Are you sure you want to permanently delete this message?', [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Delete',\n style: 'destructive',\n onPress: () => {\n handleDeleteMessage()\n navigation.goBack()\n },\n },\n ])\n }, [handleDeleteMessage, navigation])\n\n const handleEditPress = useCallback(() => {\n const state = navigation.getState?.()\n const targetRouteName = inReplyScreen ? 'ConversationReply' : 'Conversation'\n const targetRoute = state?.routes?.find(r => r.name === targetRouteName)\n const params = omitBy(\n {\n ...(targetRoute?.params || {}),\n conversation_id,\n editing_message_id: message.id,\n },\n isNil\n )\n navigation.dispatch(StackActions.popTo(targetRouteName, params))\n }, [navigation, conversation_id, message.id, inReplyScreen])\n\n const handleViewReadReceiptsPress = useCallback(() => {\n Haptic.impactLight()\n const params = omitBy(\n {\n conversation_id,\n message_id: message.id,\n },\n isNil\n )\n navigation.dispatch(StackActions.popTo('MessageReadReceipts', params))\n }, [navigation, conversation_id, message.id])\n\n const removeLinkPreview = useCallback(() => {\n const url = `/me/conversations/${conversation_id}/messages/${message.id}/remove_expanded_link`\n const data = {\n data: { type: 'ExpandedLink', attributes: { expanded_link_id: expandedLink?.id } },\n }\n\n return apiClient.chat.post({ url, data })\n }, [apiClient, conversation_id, message.id, expandedLink])\n\n const { mutate: handleRemoveLinkPreview } = useMutation({\n mutationFn: removeLinkPreview,\n onSuccess: () => {\n refetchMessages()\n Haptic.notificationSuccess()\n navigation.goBack()\n },\n onError: () => {\n Alert.alert('Oops', 'We were unable to remove the preview. Please try again.')\n },\n })\n\n const handleRemoveLinkPreviewConfirm = useCallback(() => {\n Alert.alert('Remove link preview?', 'This will remove the image preview but retain the link', [\n { text: 'Cancel', style: 'cancel' },\n { text: 'Remove', style: 'destructive', onPress: () => handleRemoveLinkPreview() },\n ])\n }, [handleRemoveLinkPreview])\n\n const showReportMessageAction =\n !message?.mine && featureEnabled(availableFeatures.message_reporting)\n const showDeleteMessageAction =\n !conversationDisabled && (message?.mine || canDeleteNonAuthoredMessages)\n\n return (\n <FormSheet.Root style={styles.formSheetContent}>\n {!conversationDisabled && (\n <View style={styles.reactionList}>\n {availableReactions.map((reaction, index) => (\n <Reaction\n key={index}\n reaction={reaction}\n onPress={() => {\n Haptic.impactLight()\n handleReactionToggle({\n value: reaction.value,\n mine: reaction.mine,\n })\n navigation.goBack()\n }}\n />\n ))}\n </View>\n )}\n {!isSystemMessage && (\n <View style={styles.actions}>\n {!inReplyScreen && !conversationDisabled && (\n <FormSheet.Action\n onPress={handleReplyPress}\n title=\"Reply to message\"\n iconName=\"registrations.undo\"\n accessibilityHint=\"Navigates to the reply screen\"\n accessibilityRole=\"link\"\n />\n )}\n <FormSheet.Action\n onPress={handleCopyPress}\n title=\"Copy text\"\n iconName=\"services.fileCopy\"\n accessibilityHint=\"Copies text and links to clipboard\"\n />\n {showReportMessageAction && (\n <FormSheet.Action\n onPress={handleReportPress}\n title=\"Report message\"\n iconName=\"chat.reportMessageO\"\n accessibilityHint=\"Opens a form to report this message\"\n />\n )}\n {message?.mine && !conversationDisabled && (\n <FormSheet.Action\n onPress={() => handleEditPress()}\n title=\"Edit message\"\n iconName=\"accounts.editor\"\n accessibilityHint=\"Opens existing text in the message form input.\"\n />\n )}\n {message?.mine && (\n <FormSheet.Action\n onPress={() => handleViewReadReceiptsPress()}\n title=\"View read receipts\"\n iconName=\"general.checkPerson\"\n accessibilityHint=\"Opens a modal with a list of people who read your message.\"\n />\n )}\n {message?.mine && hasExpandedLink && !conversationDisabled && (\n <FormSheet.Action\n onPress={() => handleRemoveLinkPreviewConfirm()}\n title=\"Remove link preview\"\n iconName=\"general.brokenLink\"\n accessibilityHint=\"Removes an expanded link preview from the message.\"\n />\n )}\n {showDeleteMessageAction && (\n <FormSheet.Action\n onPress={() => handleDeleteConfirm()}\n title=\"Delete message\"\n iconName=\"publishing.trash\"\n appearance=\"danger\"\n disabled={isPending}\n accessibilityHint=\"Opens a confirmation alert to delete this message permanently.\"\n />\n )}\n </View>\n )}\n </FormSheet.Root>\n )\n}\n\nconst Reaction = ({\n reaction,\n onPress,\n}: {\n reaction: { value: ReactionCountResource['value']; emoji: string; mine: boolean | undefined }\n onPress: () => void\n}) => {\n const styles = useStyles()\n const reactionStyles = useReactionStyles({ mine: reaction.mine ? 1 : 0 })\n\n const { colors } = useTheme()\n const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060\n const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor })\n\n return (\n <PlatformPressable\n key={reaction.value}\n style={[reactionStyles.reaction, styles.reaction]}\n android_ripple={{ color: androidRippleColor, borderless: false, foreground: true }}\n onPress={onPress}\n >\n <Text style={styles.reactionEmoji} allowFontScaling={false}>\n {REACTION_EMOJIS[reaction.value]}\n </Text>\n </PlatformPressable>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: 1.3 })\n\n const btnBorderWidth = 1\n const baseSize = 46 * Math.max(1, fontScale)\n const reactionBtnSize = Platform.select({\n ios: baseSize,\n android: baseSize + btnBorderWidth * 2,\n })\n\n return StyleSheet.create({\n formSheetContent: {\n paddingTop: 16,\n },\n reactionList: {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 16,\n paddingTop: 8,\n paddingBottom: 16,\n borderBottomColor: colors.borderColorDefaultBase,\n borderBottomWidth: 1,\n },\n reaction: {\n height: reactionBtnSize,\n width: reactionBtnSize,\n borderWidth: btnBorderWidth,\n borderRadius: 32,\n justifyContent: 'center',\n overflow: 'hidden',\n },\n reactionEmoji: {\n fontSize: 24,\n textAlign: 'center',\n },\n actions: {\n paddingTop: 4,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_screen.d.ts","sourceRoot":"","sources":["../../../src/screens/search/search_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,0BAA0B,CAAA;AACvE,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,gCAAgC,CAAA;AAevC,eAAO,MAAM,mBAAmB,GAAI,iBAEjC,sBAAsB,CAAC,aAAa,CAAC,KAAG,4BAIxC,CAAA;AAEH,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"search_screen.d.ts","sourceRoot":"","sources":["../../../src/screens/search/search_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,0BAA0B,CAAA;AACvE,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,gCAAgC,CAAA;AAevC,eAAO,MAAM,mBAAmB,GAAI,iBAEjC,sBAAsB,CAAC,aAAa,CAAC,KAAG,4BAIxC,CAAA;AAEH,wBAAgB,YAAY,4CAuD3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import { useNavigation } from '@react-navigation/native';
|
|
3
3
|
import React, { useRef, useState } from 'react';
|
|
4
|
-
import { Keyboard, StyleSheet, View } from 'react-native';
|
|
4
|
+
import { Keyboard, ScrollView, StyleSheet, View } from 'react-native';
|
|
5
5
|
import { KeyboardView } from '../../components';
|
|
6
6
|
import { composeOptions, withMinimalBack } from '../../components/display/platform_modal_header_buttons';
|
|
7
7
|
import { useDebouncedSearchTerm } from '../../hooks/use_debounced_search_term';
|
|
@@ -98,7 +98,11 @@ export function SearchScreen() {
|
|
|
98
98
|
term: debouncedTerm,
|
|
99
99
|
onSelect: openResult,
|
|
100
100
|
onSettled: publishSearch
|
|
101
|
-
}, debouncedTerm) : /*#__PURE__*/_jsx(
|
|
101
|
+
}, debouncedTerm) : /*#__PURE__*/_jsx(ScrollView, {
|
|
102
|
+
contentContainerStyle: styles.prompt,
|
|
103
|
+
keyboardShouldPersistTaps: "handled",
|
|
104
|
+
children: /*#__PURE__*/_jsx(SearchPromptBlankState, {})
|
|
105
|
+
});
|
|
102
106
|
$[8] = debouncedTerm;
|
|
103
107
|
$[9] = openResult;
|
|
104
108
|
$[10] = publishSearch;
|
|
@@ -126,6 +130,10 @@ export function SearchScreen() {
|
|
|
126
130
|
const styles = StyleSheet.create({
|
|
127
131
|
container: {
|
|
128
132
|
flex: 1
|
|
133
|
+
},
|
|
134
|
+
prompt: {
|
|
135
|
+
flexGrow: 1,
|
|
136
|
+
justifyContent: 'center'
|
|
129
137
|
}
|
|
130
138
|
});
|
|
131
139
|
//# sourceMappingURL=search_screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search_screen.js","names":["useNavigation","React","useRef","useState","Keyboard","StyleSheet","View","KeyboardView","composeOptions","withMinimalBack","useDebouncedSearchTerm","analyticsEvents","useProductAnalytics","SearchPromptBlankState","SearchField","SearchResultsList","jsx","_jsx","jsxs","_jsxs","SearchScreenOptions","navigation","title","animation","onPress","goBack","SearchScreen","$","_c","term","setTerm","debouncedTerm","publishEvent","t0","Symbol","for","Set","publishedTerms","t1","settledTerm","counts","current","has","add","search_performed","term_length","length","conversation_result_count","conversationResultCount","message_result_count","messageResultCount","publishSearch","t2","result","position","dismiss","search_result_opened","result_type","type","navigate","conversation_id","Number","id","extra","conversationId","initial_message_id","openResult","t3","t4","
|
|
1
|
+
{"version":3,"file":"search_screen.js","names":["useNavigation","React","useRef","useState","Keyboard","ScrollView","StyleSheet","View","KeyboardView","composeOptions","withMinimalBack","useDebouncedSearchTerm","analyticsEvents","useProductAnalytics","SearchPromptBlankState","SearchField","SearchResultsList","jsx","_jsx","jsxs","_jsxs","SearchScreenOptions","navigation","title","animation","onPress","goBack","SearchScreen","$","_c","term","setTerm","debouncedTerm","publishEvent","t0","Symbol","for","Set","publishedTerms","t1","settledTerm","counts","current","has","add","search_performed","term_length","length","conversation_result_count","conversationResultCount","message_result_count","messageResultCount","publishSearch","t2","result","position","dismiss","search_result_opened","result_type","type","navigate","conversation_id","Number","id","extra","conversationId","initial_message_id","openResult","t3","t4","contentContainerStyle","styles","prompt","keyboardShouldPersistTaps","children","t5","style","container","testID","create","flex","flexGrow","justifyContent"],"sources":["../../../src/screens/search/search_screen.tsx"],"sourcesContent":["import { ParamListBase, useNavigation } from '@react-navigation/native'\nimport {\n NativeStackNavigationOptions,\n NativeStackScreenProps,\n} from '@react-navigation/native-stack'\nimport React, { useRef, useState } from 'react'\nimport { Keyboard, ScrollView, StyleSheet, View } from 'react-native'\nimport { KeyboardView } from '../../components'\nimport {\n composeOptions,\n withMinimalBack,\n} from '../../components/display/platform_modal_header_buttons'\nimport { useDebouncedSearchTerm } from '../../hooks/use_debounced_search_term'\nimport { analyticsEvents, useProductAnalytics } from '../../hooks/use_product_analytics'\nimport type { SearchResultResource } from '../../types/resources/search_result'\nimport { SearchPromptBlankState } from './components/search_blank_states'\nimport { SearchField } from './components/search_field'\nimport { SearchResultsList, type SearchResultCounts } from './components/search_results_list'\n\nexport const SearchScreenOptions = ({\n navigation,\n}: NativeStackScreenProps<ParamListBase>): NativeStackNavigationOptions =>\n composeOptions(\n { title: 'Search', animation: 'fade' },\n withMinimalBack({ onPress: () => navigation.goBack() })\n )\n\nexport function SearchScreen() {\n const navigation = useNavigation()\n const [term, setTerm] = useState('')\n const debouncedTerm = useDebouncedSearchTerm(term)\n const { publishEvent } = useProductAnalytics()\n const publishedTerms = useRef(new Set<string>())\n\n const publishSearch = (settledTerm: string, counts: SearchResultCounts) => {\n if (publishedTerms.current.has(settledTerm)) return\n\n publishedTerms.current.add(settledTerm)\n publishEvent(analyticsEvents.search_performed, {\n term_length: settledTerm.length,\n conversation_result_count: counts.conversationResultCount,\n message_result_count: counts.messageResultCount,\n })\n }\n\n const openResult = (result: SearchResultResource, position: number) => {\n Keyboard.dismiss()\n publishEvent(analyticsEvents.search_result_opened, { result_type: result.type, position })\n\n if (result.type === 'conversation') {\n navigation.navigate('Conversation', {\n conversation_id: Number(result.id),\n title: result.title,\n })\n } else {\n navigation.navigate('Conversation', {\n conversation_id: result.extra.conversationId,\n initial_message_id: result.id,\n title: result.title,\n })\n }\n }\n\n return (\n <KeyboardView>\n <View style={styles.container} testID=\"search-screen\">\n <SearchField term={term} onChange={setTerm} />\n {debouncedTerm.length > 0 ? (\n <SearchResultsList\n key={debouncedTerm}\n term={debouncedTerm}\n onSelect={openResult}\n onSettled={publishSearch}\n />\n ) : (\n <ScrollView contentContainerStyle={styles.prompt} keyboardShouldPersistTaps=\"handled\">\n <SearchPromptBlankState />\n </ScrollView>\n )}\n </View>\n </KeyboardView>\n )\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n prompt: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import { StaticScreenProps } from '@react-navigation/native';
|
|
|
2
2
|
export declare const SendGiphyScreenOptions: () => import("@react-navigation/native-stack").NativeStackNavigationOptions;
|
|
3
3
|
export type SendGiphyScreenProps = StaticScreenProps<{
|
|
4
4
|
conversation_id: number;
|
|
5
|
+
reply_root_id?: string | null;
|
|
5
6
|
search_term: string;
|
|
6
7
|
}>;
|
|
7
8
|
export declare function SendGiphyScreen({ route }: SendGiphyScreenProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send_giphy_screen.d.ts","sourceRoot":"","sources":["../../src/screens/send_giphy_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAYzF,eAAO,MAAM,sBAAsB,6EAGjC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACnD,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAC,CAAA;AAEF,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"send_giphy_screen.d.ts","sourceRoot":"","sources":["../../src/screens/send_giphy_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAYzF,eAAO,MAAM,sBAAsB,6EAGjC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACnD,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;CACpB,CAAC,CAAA;AAEF,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,2CA+G9D"}
|