@planningcenter/chat-react-native 3.39.0-rc.0 → 3.39.0-rc.10
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/messages_disabled_banners.d.ts +6 -1
- package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
- package/build/components/conversation/messages_disabled_banners.js +8 -2
- package/build/components/conversation/messages_disabled_banners.js.map +1 -1
- package/build/contexts/api_provider.js +2 -1
- 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 +6 -2
- package/build/contexts/conversations_context.js.map +1 -1
- package/build/hooks/direct_messages/use_direct_message_affiliations.d.ts +5 -0
- package/build/hooks/direct_messages/use_direct_message_affiliations.d.ts.map +1 -0
- package/build/hooks/direct_messages/use_direct_message_affiliations.js +20 -0
- package/build/hooks/direct_messages/use_direct_message_affiliations.js.map +1 -0
- package/build/hooks/direct_messages/use_direct_message_candidates.d.ts +4 -0
- package/build/hooks/direct_messages/use_direct_message_candidates.d.ts.map +1 -0
- package/build/hooks/direct_messages/use_direct_message_candidates.js +28 -0
- package/build/hooks/direct_messages/use_direct_message_candidates.js.map +1 -0
- package/build/hooks/direct_messages/use_direct_message_conversation_validate.d.ts +11 -0
- package/build/hooks/direct_messages/use_direct_message_conversation_validate.d.ts.map +1 -0
- package/build/hooks/direct_messages/use_direct_message_conversation_validate.js +25 -0
- package/build/hooks/direct_messages/use_direct_message_conversation_validate.js.map +1 -0
- package/build/hooks/direct_messages/use_find_or_create_direct_message_conversation.d.ts +13 -0
- package/build/hooks/direct_messages/use_find_or_create_direct_message_conversation.d.ts.map +1 -0
- package/build/hooks/direct_messages/use_find_or_create_direct_message_conversation.js +51 -0
- package/build/hooks/direct_messages/use_find_or_create_direct_message_conversation.js.map +1 -0
- package/build/hooks/groups/use_group_chat_conversation_payload.d.ts.map +1 -1
- package/build/hooks/groups/use_group_chat_conversation_payload.js +2 -1
- package/build/hooks/groups/use_group_chat_conversation_payload.js.map +1 -1
- package/build/hooks/index.d.ts +1 -0
- package/build/hooks/index.d.ts.map +1 -1
- package/build/hooks/index.js +1 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/services/use_services_chat_conversation_payload.d.ts.map +1 -1
- package/build/hooks/services/use_services_chat_conversation_payload.js +2 -1
- package/build/hooks/services/use_services_chat_conversation_payload.js.map +1 -1
- package/build/hooks/use_api.d.ts +5 -1
- package/build/hooks/use_api.d.ts.map +1 -1
- package/build/hooks/use_api.js +2 -1
- package/build/hooks/use_api.js.map +1 -1
- package/build/hooks/use_chat_configuration.d.ts.map +1 -1
- package/build/hooks/use_chat_configuration.js +2 -1
- package/build/hooks/use_chat_configuration.js.map +1 -1
- package/build/hooks/use_chat_permissions.d.ts.map +1 -1
- package/build/hooks/use_chat_permissions.js +4 -1
- package/build/hooks/use_chat_permissions.js.map +1 -1
- package/build/hooks/use_conversation.d.ts.map +1 -1
- package/build/hooks/use_conversation.js +1 -0
- package/build/hooks/use_conversation.js.map +1 -1
- package/build/hooks/use_conversation_jolt_events.d.ts.map +1 -1
- package/build/hooks/use_conversation_jolt_events.js +2 -2
- package/build/hooks/use_conversation_jolt_events.js.map +1 -1
- package/build/hooks/use_current_person.d.ts.map +1 -1
- package/build/hooks/use_current_person.js +4 -2
- package/build/hooks/use_current_person.js.map +1 -1
- package/build/hooks/use_features.d.ts.map +1 -1
- package/build/hooks/use_features.js +2 -1
- package/build/hooks/use_features.js.map +1 -1
- package/build/hooks/use_groups.d.ts.map +1 -1
- package/build/hooks/use_groups.js +2 -1
- package/build/hooks/use_groups.js.map +1 -1
- package/build/hooks/use_groups_groups.d.ts.map +1 -1
- package/build/hooks/use_groups_groups.js +2 -1
- package/build/hooks/use_groups_groups.js.map +1 -1
- package/build/hooks/use_has_direct_messages.d.ts +2 -0
- package/build/hooks/use_has_direct_messages.d.ts.map +1 -0
- package/build/hooks/use_has_direct_messages.js +17 -0
- package/build/hooks/use_has_direct_messages.js.map +1 -0
- 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_organization.d.ts.map +1 -1
- package/build/hooks/use_organization.js +4 -1
- package/build/hooks/use_organization.js.map +1 -1
- package/build/hooks/use_person_settings.d.ts +6 -0
- package/build/hooks/use_person_settings.d.ts.map +1 -0
- package/build/hooks/use_person_settings.js +26 -0
- package/build/hooks/use_person_settings.js.map +1 -0
- package/build/navigation/index.d.ts +13 -0
- package/build/navigation/index.d.ts.map +1 -1
- package/build/navigation/index.js +9 -0
- package/build/navigation/index.js.map +1 -1
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +2 -1
- 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 +20 -5
- package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
- package/build/screens/conversation_filters/components/rows.d.ts +2 -1
- package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/rows.js +2 -2
- 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 +4 -0
- 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_screen.d.ts.map +1 -1
- package/build/screens/conversation_screen.js +1 -1
- package/build/screens/conversation_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts +1 -2
- 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 +319 -10
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
- package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_component.js +35 -17
- package/build/screens/conversations/components/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.map +1 -1
- package/build/screens/get_help_screen.d.ts.map +1 -1
- package/build/screens/get_help_screen.js +2 -18
- package/build/screens/get_help_screen.js.map +1 -1
- package/build/screens/index.d.ts +1 -0
- package/build/screens/index.d.ts.map +1 -1
- package/build/screens/index.js +1 -0
- package/build/screens/index.js.map +1 -1
- package/build/screens/settings_screen.d.ts +5 -0
- package/build/screens/settings_screen.d.ts.map +1 -0
- package/build/screens/settings_screen.js +56 -0
- package/build/screens/settings_screen.js.map +1 -0
- package/build/types/jolt_events/conversation_events.d.ts +2 -0
- package/build/types/jolt_events/conversation_events.d.ts.map +1 -1
- package/build/types/jolt_events/conversation_events.js.map +1 -1
- package/build/types/resources/conversation.d.ts +2 -0
- package/build/types/resources/conversation.d.ts.map +1 -1
- package/build/types/resources/conversation.js.map +1 -1
- package/build/types/resources/direct_message_affiliations.d.ts +8 -0
- package/build/types/resources/direct_message_affiliations.d.ts.map +1 -0
- package/build/types/resources/direct_message_affiliations.js +2 -0
- package/build/types/resources/direct_message_affiliations.js.map +1 -0
- package/build/types/resources/direct_message_candidate.d.ts +12 -0
- package/build/types/resources/direct_message_candidate.d.ts.map +1 -0
- package/build/types/resources/direct_message_candidate.js +2 -0
- package/build/types/resources/direct_message_candidate.js.map +1 -0
- package/build/types/resources/index.d.ts +2 -0
- package/build/types/resources/index.d.ts.map +1 -1
- package/build/types/resources/index.js +2 -0
- package/build/types/resources/index.js.map +1 -1
- package/build/types/resources/organization.d.ts +1 -0
- package/build/types/resources/organization.d.ts.map +1 -1
- package/build/types/resources/organization.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/request/conversation.d.ts +2 -1
- package/build/utils/request/conversation.d.ts.map +1 -1
- package/build/utils/request/conversation.js +15 -6
- package/build/utils/request/conversation.js.map +1 -1
- package/build/utils/time.d.ts +8 -0
- package/build/utils/time.d.ts.map +1 -0
- package/build/utils/time.js +15 -0
- package/build/utils/time.js.map +1 -0
- package/package.json +2 -2
- package/src/components/conversation/messages_disabled_banners.tsx +16 -2
- package/src/contexts/api_provider.tsx +4 -1
- package/src/contexts/conversations_context.tsx +6 -2
- package/src/hooks/direct_messages/use_direct_message_affiliations.ts +39 -0
- package/src/hooks/direct_messages/use_direct_message_candidates.ts +31 -0
- package/src/hooks/direct_messages/use_direct_message_conversation_validate.ts +35 -0
- package/src/hooks/direct_messages/use_find_or_create_direct_message_conversation.ts +66 -0
- package/src/hooks/groups/use_group_chat_conversation_payload.ts +2 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/services/use_services_chat_conversation_payload.ts +2 -1
- package/src/hooks/use_api.ts +10 -1
- package/src/hooks/use_chat_configuration.ts +2 -1
- package/src/hooks/use_chat_permissions.ts +4 -1
- package/src/hooks/use_conversation.ts +1 -0
- package/src/hooks/use_conversation_jolt_events.ts +3 -2
- package/src/hooks/use_current_person.ts +4 -2
- package/src/hooks/use_features.ts +2 -1
- package/src/hooks/use_groups.ts +16 -12
- package/src/hooks/use_groups_groups.ts +19 -15
- package/src/hooks/use_has_direct_messages.ts +21 -0
- package/src/hooks/use_jolt.ts +2 -1
- package/src/hooks/use_organization.ts +4 -1
- package/src/hooks/use_person_settings.ts +29 -0
- package/src/navigation/index.tsx +11 -0
- package/src/screens/conversation_details_screen.tsx +2 -1
- package/src/screens/conversation_filters/components/conversation_filters.tsx +25 -5
- package/src/screens/conversation_filters/components/rows.tsx +16 -3
- 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_screen.tsx +2 -1
- package/src/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.tsx +513 -10
- package/src/screens/conversations/components/list_header_component.tsx +84 -34
- package/src/screens/conversations/conversations_screen.tsx +1 -0
- package/src/screens/get_help_screen.tsx +2 -29
- package/src/screens/index.ts +1 -0
- package/src/screens/settings_screen.tsx +67 -0
- package/src/types/jolt_events/conversation_events.ts +2 -0
- package/src/types/resources/conversation.ts +3 -0
- package/src/types/resources/direct_message_affiliations.ts +8 -0
- package/src/types/resources/direct_message_candidate.ts +12 -0
- package/src/types/resources/index.ts +2 -0
- package/src/types/resources/organization.ts +1 -0
- package/src/types/resources/person.ts +1 -0
- package/src/utils/__tests__/conversation.test.ts +14 -0
- package/src/utils/request/conversation.ts +13 -5
- package/src/utils/time.ts +17 -0
|
@@ -6,6 +6,7 @@ export type ConversationsScreenProps = StaticScreenProps<{
|
|
|
6
6
|
title?: string;
|
|
7
7
|
chat_group_graph_id?: GraphId;
|
|
8
8
|
group_source_app_name?: AppName;
|
|
9
|
+
show_direct_messages?: boolean;
|
|
9
10
|
}>;
|
|
10
11
|
export declare function ConversationsScreen({ route }: ConversationsScreenProps): React.JSX.Element;
|
|
11
12
|
//# sourceMappingURL=conversations_screen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations_screen.d.ts","sourceRoot":"","sources":["../../../src/screens/conversations/conversations_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAG9D,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"conversations_screen.d.ts","sourceRoot":"","sources":["../../../src/screens/conversations/conversations_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAG9D,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAC,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,qBAYtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations_screen.js","sourceRoot":"","sources":["../../../src/screens/conversations/conversations_screen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AAGpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"conversations_screen.js","sourceRoot":"","sources":["../../../src/screens/conversations/conversations_screen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AAGpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AASxE,MAAM,UAAU,mBAAmB,CAAC,EAAE,KAAK,EAA4B;IACrE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,+BAA+B,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAA;IAE1E,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAC/C;QAAA,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EAC1D;MAAA,EAAE,4BAA4B,CAChC;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE;YACT,IAAI,EAAE,CAAC;YACP,cAAc,EAAE,QAAQ;SACzB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { StaticScreenProps } from '@react-navigation/native'\nimport React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { Conversations } from '../../components'\nimport { ConversationsContextProvider } from '../../contexts/conversations_context'\nimport { analyticsEvents, usePublishProductAnalyticsEvent } from '../../hooks/use_product_analytics'\nimport { AppName } from '../../types/resources/app_name'\nimport { GraphId } from '../../types/resources/group_resource'\nimport { ListHeaderComponent } from './components/list_header_component'\n\nexport type ConversationsScreenProps = StaticScreenProps<{\n title?: string\n chat_group_graph_id?: GraphId\n group_source_app_name?: AppName\n show_direct_messages?: boolean\n}>\n\nexport function ConversationsScreen({ route }: ConversationsScreenProps) {\n const styles = useStyles()\n\n usePublishProductAnalyticsEvent(analyticsEvents.conversation_index_opened)\n\n return (\n <View style={styles.container}>\n <ConversationsContextProvider args={route.params}>\n <Conversations ListHeaderComponent={ListHeaderComponent} />\n </ConversationsContextProvider>\n </View>\n )\n}\n\nconst useStyles = () => {\n return StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n },\n })\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_help_screen.d.ts","sourceRoot":"","sources":["../../src/screens/get_help_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"get_help_screen.d.ts","sourceRoot":"","sources":["../../src/screens/get_help_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAU3E,KAAK,uBAAuB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,KAAK,kBAAkB,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAA;AAuBpE,eAAO,MAAM,aAAa,GAAI,WAAW,kBAAkB,gCAyD1D,CAAA;AAsBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,QAWtC;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,QAWjD"}
|
|
@@ -4,24 +4,8 @@ import { Alert, Linking, StyleSheet, View } from 'react-native';
|
|
|
4
4
|
import { Heading, PressableRow, Text, TextInlineButton } from '../components';
|
|
5
5
|
import { useApiGet, useTheme } from '../hooks';
|
|
6
6
|
import { useAppName } from '../hooks/use_app_name';
|
|
7
|
+
import { useOrganization } from '../hooks/use_organization';
|
|
7
8
|
import { Clipboard } from '../utils';
|
|
8
|
-
const useOrganization = () => {
|
|
9
|
-
const { data: organization } = useApiGet({
|
|
10
|
-
url: '/',
|
|
11
|
-
data: {
|
|
12
|
-
fields: {
|
|
13
|
-
Organization: [
|
|
14
|
-
'contact_phone_number',
|
|
15
|
-
'contact_email',
|
|
16
|
-
'name',
|
|
17
|
-
'church_center_chat_help_url',
|
|
18
|
-
'services_chat_help_url',
|
|
19
|
-
],
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
return organization;
|
|
24
|
-
};
|
|
25
9
|
const useHelpUrls = () => {
|
|
26
10
|
const { data: helpUrls = [] } = useApiGet({
|
|
27
11
|
url: '/help_urls',
|
|
@@ -38,7 +22,7 @@ export const GetHelpScreen = ({ route }) => {
|
|
|
38
22
|
const styles = useStyles();
|
|
39
23
|
const appName = useAppName();
|
|
40
24
|
const navigation = useNavigation();
|
|
41
|
-
const organization = useOrganization();
|
|
25
|
+
const { data: organization } = useOrganization();
|
|
42
26
|
const contactPresent = organization?.contactEmail || organization?.contactPhoneNumber;
|
|
43
27
|
const helpUrls = useHelpUrls();
|
|
44
28
|
const appSpecificHelpUrls = useMemo(() => helpUrls
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_help_screen.js","sourceRoot":"","sources":["../../src/screens/get_help_screen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport { useCallback, useMemo } from 'react'\nimport { Alert, Linking, StyleSheet, View } from 'react-native'\nimport { Heading, PressableRow, Text, TextInlineButton } from '../components'\nimport { useApiGet, useTheme } from '../hooks'\nimport { useAppName } from '../hooks/use_app_name'\nimport { ResourceObject } from '../types'\nimport { Clipboard } from '../utils'\n\ntype GetHelpScreenRouteProps = {\n type?: 'chat' | 'general'\n}\n\ntype GetHelpScreenProps = StaticScreenProps<GetHelpScreenRouteProps>\n\ninterface OrganizationResource extends ResourceObject {\n id: number\n name: string\n contactEmail: string\n contactPhoneNumber: string\n churchCenterChatHelpUrl: string\n servicesChatHelpUrl: string\n}\n\nconst useOrganization = () => {\n const { data: organization } = useApiGet<OrganizationResource>({\n url: '/',\n data: {\n fields: {\n Organization: [\n 'contact_phone_number',\n 'contact_email',\n 'name',\n 'church_center_chat_help_url',\n 'services_chat_help_url',\n ],\n },\n },\n })\n\n return organization\n}\n\ninterface HelpUrlResource extends ResourceObject {\n id: number\n link: string\n title: string\n product: 'services' | 'churchcenter'\n type: 'chat' | 'general'\n}\n\nconst useHelpUrls = () => {\n const { data: helpUrls = [] } = useApiGet<HelpUrlResource[]>({\n url: '/help_urls',\n data: {\n fields: {\n HelpUrl: [],\n },\n },\n })\n\n return helpUrls\n}\n\nexport const GetHelpScreen = ({ route }: GetHelpScreenProps) => {\n const { type = 'chat' } = route.params || {}\n const styles = useStyles()\n const appName = useAppName()\n const navigation = useNavigation()\n const organization = useOrganization()\n const contactPresent = organization?.contactEmail || organization?.contactPhoneNumber\n const helpUrls = useHelpUrls()\n const appSpecificHelpUrls = useMemo(\n () =>\n helpUrls\n .filter(helpUrl => helpUrl.product === appName)\n .filter(helpUrl => helpUrl.type.includes(type)),\n [helpUrls, appName, type]\n )\n\n const handleNavigateToBugReport = useCallback(() => {\n navigation.navigate('BugReport')\n }, [navigation])\n\n return (\n <View style={[styles.container]}>\n {appSpecificHelpUrls.length > 0 && (\n <Heading variant=\"h2\" style={[styles.heading, styles.headingBottomBorder]}>\n How-to articles\n </Heading>\n )}\n {appSpecificHelpUrls.map(helpUrl => (\n <PressableRow\n key={helpUrl.id}\n onPress={() => Linking.openURL(helpUrl.link)}\n text={helpUrl.title}\n isActive={true}\n iconPath=\"general.newWindow\"\n />\n ))}\n {contactPresent && (\n <Heading variant=\"h2\" style={[styles.heading, styles.headingBottomBorder]}>\n Contact {organization?.name}\n </Heading>\n )}\n <ContactRow email={organization?.contactEmail} />\n <ContactRow phone={organization?.contactPhoneNumber} />\n <Heading variant=\"h2\" style={[styles.heading]}>\n Report a bug\n </Heading>\n <View style={styles.text}>\n <Text>\n Having an issue?{' '}\n <TextInlineButton onPress={handleNavigateToBugReport}>\n Submit a bug report\n </TextInlineButton>{' '}\n to the development team.\n </Text>\n </View>\n </View>\n )\n}\n\nconst ContactRow = ({ email, phone }: { email?: string; phone?: string }) => {\n const contact = email || phone\n if (!contact) return null\n\n return (\n <PressableRow\n onPress={() => {\n if (email) {\n sendEmail(contact)\n } else {\n placePhoneCall(contact)\n }\n }}\n text={contact || ''}\n isActive={true}\n iconPath={email ? 'services.email' : 'general.phone'}\n />\n )\n}\n\nexport function sendEmail(email: string) {\n if (!email) return\n\n const url = encodeURI(`mailto:${email}`)\n\n Linking.openURL(url).catch(() => {\n Alert.alert('Oops', `Unable to open: ${email}`, [\n { text: 'Copy to clipboard', onPress: () => Clipboard.setStringAsync(email) },\n { text: 'OK' },\n ])\n })\n}\n\nexport function placePhoneCall(phoneNumber: string) {\n if (!phoneNumber) return\n\n const url = encodeURI(`tel:${phoneNumber}`)\n\n Linking.openURL(url).catch(() => {\n Alert.alert('Oops', `Unable to open: ${phoneNumber}`, [\n { text: 'Copy to clipboard', onPress: () => Clipboard.setStringAsync(phoneNumber) },\n { text: 'OK' },\n ])\n })\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n flex: 1,\n },\n text: {\n paddingVertical: 4,\n paddingHorizontal: 16,\n },\n heading: {\n marginLeft: 16,\n paddingTop: 24,\n paddingBottom: 12,\n },\n headingBottomBorder: {\n marginLeft: 16,\n paddingLeft: 0,\n borderBottomWidth: 1,\n borderBottomColor: colors.borderColorDefaultBase,\n },\n headingAux: {\n paddingTop: 24,\n paddingHorizontal: 16,\n },\n })\n}\n"]}
|
|
1
|
+
{"version":3,"file":"get_help_screen.js","sourceRoot":"","sources":["../../src/screens/get_help_screen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport { useCallback, useMemo } from 'react'\nimport { Alert, Linking, StyleSheet, View } from 'react-native'\nimport { Heading, PressableRow, Text, TextInlineButton } from '../components'\nimport { useApiGet, useTheme } from '../hooks'\nimport { useAppName } from '../hooks/use_app_name'\nimport { useOrganization } from '../hooks/use_organization'\nimport { ResourceObject } from '../types'\nimport { Clipboard } from '../utils'\n\ntype GetHelpScreenRouteProps = {\n type?: 'chat' | 'general'\n}\n\ntype GetHelpScreenProps = StaticScreenProps<GetHelpScreenRouteProps>\n\ninterface HelpUrlResource extends ResourceObject {\n id: number\n link: string\n title: string\n product: 'services' | 'churchcenter'\n type: 'chat' | 'general'\n}\n\nconst useHelpUrls = () => {\n const { data: helpUrls = [] } = useApiGet<HelpUrlResource[]>({\n url: '/help_urls',\n data: {\n fields: {\n HelpUrl: [],\n },\n },\n })\n\n return helpUrls\n}\n\nexport const GetHelpScreen = ({ route }: GetHelpScreenProps) => {\n const { type = 'chat' } = route.params || {}\n const styles = useStyles()\n const appName = useAppName()\n const navigation = useNavigation()\n const { data: organization } = useOrganization()\n const contactPresent = organization?.contactEmail || organization?.contactPhoneNumber\n const helpUrls = useHelpUrls()\n const appSpecificHelpUrls = useMemo(\n () =>\n helpUrls\n .filter(helpUrl => helpUrl.product === appName)\n .filter(helpUrl => helpUrl.type.includes(type)),\n [helpUrls, appName, type]\n )\n\n const handleNavigateToBugReport = useCallback(() => {\n navigation.navigate('BugReport')\n }, [navigation])\n\n return (\n <View style={[styles.container]}>\n {appSpecificHelpUrls.length > 0 && (\n <Heading variant=\"h2\" style={[styles.heading, styles.headingBottomBorder]}>\n How-to articles\n </Heading>\n )}\n {appSpecificHelpUrls.map(helpUrl => (\n <PressableRow\n key={helpUrl.id}\n onPress={() => Linking.openURL(helpUrl.link)}\n text={helpUrl.title}\n isActive={true}\n iconPath=\"general.newWindow\"\n />\n ))}\n {contactPresent && (\n <Heading variant=\"h2\" style={[styles.heading, styles.headingBottomBorder]}>\n Contact {organization?.name}\n </Heading>\n )}\n <ContactRow email={organization?.contactEmail} />\n <ContactRow phone={organization?.contactPhoneNumber} />\n <Heading variant=\"h2\" style={[styles.heading]}>\n Report a bug\n </Heading>\n <View style={styles.text}>\n <Text>\n Having an issue?{' '}\n <TextInlineButton onPress={handleNavigateToBugReport}>\n Submit a bug report\n </TextInlineButton>{' '}\n to the development team.\n </Text>\n </View>\n </View>\n )\n}\n\nconst ContactRow = ({ email, phone }: { email?: string; phone?: string }) => {\n const contact = email || phone\n if (!contact) return null\n\n return (\n <PressableRow\n onPress={() => {\n if (email) {\n sendEmail(contact)\n } else {\n placePhoneCall(contact)\n }\n }}\n text={contact || ''}\n isActive={true}\n iconPath={email ? 'services.email' : 'general.phone'}\n />\n )\n}\n\nexport function sendEmail(email: string) {\n if (!email) return\n\n const url = encodeURI(`mailto:${email}`)\n\n Linking.openURL(url).catch(() => {\n Alert.alert('Oops', `Unable to open: ${email}`, [\n { text: 'Copy to clipboard', onPress: () => Clipboard.setStringAsync(email) },\n { text: 'OK' },\n ])\n })\n}\n\nexport function placePhoneCall(phoneNumber: string) {\n if (!phoneNumber) return\n\n const url = encodeURI(`tel:${phoneNumber}`)\n\n Linking.openURL(url).catch(() => {\n Alert.alert('Oops', `Unable to open: ${phoneNumber}`, [\n { text: 'Copy to clipboard', onPress: () => Clipboard.setStringAsync(phoneNumber) },\n { text: 'OK' },\n ])\n })\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n flex: 1,\n },\n text: {\n paddingVertical: 4,\n paddingHorizontal: 16,\n },\n heading: {\n marginLeft: 16,\n paddingTop: 24,\n paddingBottom: 12,\n },\n headingBottomBorder: {\n marginLeft: 16,\n paddingLeft: 0,\n borderBottomWidth: 1,\n borderBottomColor: colors.borderColorDefaultBase,\n },\n headingAux: {\n paddingTop: 24,\n paddingHorizontal: 16,\n },\n })\n}\n"]}
|
package/build/screens/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/screens/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4CAA4C,CAAA;AAC1D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,sCAAsC,CAAA;AACpD,cAAc,wEAAwE,CAAA;AACtF,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,8EAA8E,CAAA;AAC5F,cAAc,qFAAqF,CAAA;AACnG,cAAc,gDAAgD,CAAA;AAC9D,cAAc,sCAAsC,CAAA;AACpD,cAAc,gCAAgC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/screens/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4CAA4C,CAAA;AAC1D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,sCAAsC,CAAA;AACpD,cAAc,wEAAwE,CAAA;AACtF,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,8EAA8E,CAAA;AAC5F,cAAc,qFAAqF,CAAA;AACnG,cAAc,gDAAgD,CAAA;AAC9D,cAAc,sCAAsC,CAAA;AACpD,cAAc,gCAAgC,CAAA"}
|
package/build/screens/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/screens/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4CAA4C,CAAA;AAC1D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,sCAAsC,CAAA;AACpD,cAAc,wEAAwE,CAAA;AACtF,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,8EAA8E,CAAA;AAC5F,cAAc,qFAAqF,CAAA;AACnG,cAAc,gDAAgD,CAAA;AAC9D,cAAc,sCAAsC,CAAA;AACpD,cAAc,gCAAgC,CAAA","sourcesContent":["export * from './design_system_screen'\nexport * from './conversation_details_screen'\nexport * from './conversation_screen'\nexport * from './conversation_new/conversation_new_screen'\nexport * from './notification_settings_screen'\nexport * from './preferred_app_selection_screen'\nexport * from './group_notification_settings_screen'\nexport * from './conversation_filter_recipients/conversation_filter_recipients_screen'\nexport * from './message_actions_screen'\nexport * from './message_report_screen'\nexport * from './send_giphy_screen'\nexport * from './not_found'\nexport * from './reactions_screen'\nexport * from './team_conversation_screen'\nexport * from './bug_report_screen'\nexport * from './conversation/message_read_receipts_screen'\nexport * from './conversation_filters_screen'\nexport * from './conversation_filters/screen_props'\nexport * from './conversation_select_recipients/conversation_select_group_recipients_screen'\nexport * from './conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen'\nexport * from './attachment_actions/attachment_actions_screen'\nexport * from './conversations/conversations_screen'\nexport * from './system_message_people_screen'\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/screens/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,4CAA4C,CAAA;AAC1D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,sCAAsC,CAAA;AACpD,cAAc,wEAAwE,CAAA;AACtF,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AACnD,cAAc,8EAA8E,CAAA;AAC5F,cAAc,qFAAqF,CAAA;AACnG,cAAc,gDAAgD,CAAA;AAC9D,cAAc,sCAAsC,CAAA;AACpD,cAAc,gCAAgC,CAAA","sourcesContent":["export * from './settings_screen'\nexport * from './design_system_screen'\nexport * from './conversation_details_screen'\nexport * from './conversation_screen'\nexport * from './conversation_new/conversation_new_screen'\nexport * from './notification_settings_screen'\nexport * from './preferred_app_selection_screen'\nexport * from './group_notification_settings_screen'\nexport * from './conversation_filter_recipients/conversation_filter_recipients_screen'\nexport * from './message_actions_screen'\nexport * from './message_report_screen'\nexport * from './send_giphy_screen'\nexport * from './not_found'\nexport * from './reactions_screen'\nexport * from './team_conversation_screen'\nexport * from './bug_report_screen'\nexport * from './conversation/message_read_receipts_screen'\nexport * from './conversation_filters_screen'\nexport * from './conversation_filters/screen_props'\nexport * from './conversation_select_recipients/conversation_select_group_recipients_screen'\nexport * from './conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen'\nexport * from './attachment_actions/attachment_actions_screen'\nexport * from './conversations/conversations_screen'\nexport * from './system_message_people_screen'\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { StaticScreenProps } from '@react-navigation/native';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export type SettingsScreenProps = StaticScreenProps<{}>;
|
|
4
|
+
export declare function SettingsScreen({}: SettingsScreenProps): React.JSX.Element;
|
|
5
|
+
//# sourceMappingURL=settings_screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings_screen.d.ts","sourceRoot":"","sources":["../../src/screens/settings_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAA;AAEvD,wBAAgB,cAAc,CAAC,EAAE,EAAE,mBAAmB,qBA0BrD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import { Heading, Text } from '../components';
|
|
4
|
+
import { Switch } from '../components/display/switch';
|
|
5
|
+
import { useTheme } from '../hooks';
|
|
6
|
+
import { usePersonSettings } from '../hooks/use_person_settings';
|
|
7
|
+
export function SettingsScreen({}) {
|
|
8
|
+
const styles = useStyles();
|
|
9
|
+
const { directMessagesDisabled, setDirectMessagesDisabled, isMutating } = usePersonSettings();
|
|
10
|
+
return (<View style={styles.container}>
|
|
11
|
+
<View style={styles.sectionOuter}>
|
|
12
|
+
<View style={styles.sectionHeader}>
|
|
13
|
+
<Heading variant="h2">Messages</Heading>
|
|
14
|
+
</View>
|
|
15
|
+
<View style={styles.settingRow}>
|
|
16
|
+
<View style={styles.settingRowText}>
|
|
17
|
+
<Text>Allow direct messages</Text>
|
|
18
|
+
<Text variant="tertiary">
|
|
19
|
+
When disabled, you won't be able to participate in direct messages.
|
|
20
|
+
</Text>
|
|
21
|
+
</View>
|
|
22
|
+
<Switch value={!directMessagesDisabled} onValueChange={enabled => setDirectMessagesDisabled(!enabled)} disabled={isMutating}/>
|
|
23
|
+
</View>
|
|
24
|
+
</View>
|
|
25
|
+
</View>);
|
|
26
|
+
}
|
|
27
|
+
const useStyles = () => {
|
|
28
|
+
const { colors } = useTheme();
|
|
29
|
+
return StyleSheet.create({
|
|
30
|
+
container: {
|
|
31
|
+
flex: 1,
|
|
32
|
+
},
|
|
33
|
+
sectionOuter: {
|
|
34
|
+
paddingLeft: 16,
|
|
35
|
+
},
|
|
36
|
+
sectionHeader: {
|
|
37
|
+
paddingRight: 16,
|
|
38
|
+
paddingTop: 24,
|
|
39
|
+
paddingBottom: 12,
|
|
40
|
+
borderBottomWidth: 1,
|
|
41
|
+
borderBottomColor: colors.borderColorDefaultBase,
|
|
42
|
+
},
|
|
43
|
+
settingRow: {
|
|
44
|
+
flexDirection: 'row',
|
|
45
|
+
alignItems: 'flex-start',
|
|
46
|
+
justifyContent: 'space-between',
|
|
47
|
+
paddingRight: 16,
|
|
48
|
+
paddingVertical: 12,
|
|
49
|
+
},
|
|
50
|
+
settingRowText: {
|
|
51
|
+
flex: 1,
|
|
52
|
+
gap: 8,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=settings_screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings_screen.js","sourceRoot":"","sources":["../../src/screens/settings_screen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAIhE,MAAM,UAAU,cAAc,CAAC,EAAuB;IACpD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAE7F,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC/B;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAChC;UAAA,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CACzC;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAC7B;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CACjC;YAAA,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CACjC;YAAA,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CACtB;;YACF,EAAE,IAAI,CACR;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,MAAM,CACL,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAC/B,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,CAC9D,QAAQ,CAAC,CAAC,UAAU,CAAC,EAEzB;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC7B,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE;YACT,IAAI,EAAE,CAAC;SACR;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,EAAE;SAChB;QACD,aAAa,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,MAAM,CAAC,sBAAsB;SACjD;QACD,UAAU,EAAE;YACV,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,YAAY;YACxB,cAAc,EAAE,eAAe;YAC/B,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,EAAE;SACpB;QACD,cAAc,EAAE;YACd,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;SACP;KACF,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { StaticScreenProps } from '@react-navigation/native'\nimport React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { Heading, Text } from '../components'\nimport { Switch } from '../components/display/switch'\nimport { useTheme } from '../hooks'\nimport { usePersonSettings } from '../hooks/use_person_settings'\n\nexport type SettingsScreenProps = StaticScreenProps<{}>\n\nexport function SettingsScreen({}: SettingsScreenProps) {\n const styles = useStyles()\n const { directMessagesDisabled, setDirectMessagesDisabled, isMutating } = usePersonSettings()\n\n return (\n <View style={styles.container}>\n <View style={styles.sectionOuter}>\n <View style={styles.sectionHeader}>\n <Heading variant=\"h2\">Messages</Heading>\n </View>\n <View style={styles.settingRow}>\n <View style={styles.settingRowText}>\n <Text>Allow direct messages</Text>\n <Text variant=\"tertiary\">\n When disabled, you won't be able to participate in direct messages.\n </Text>\n </View>\n <Switch\n value={!directMessagesDisabled}\n onValueChange={enabled => setDirectMessagesDisabled(!enabled)}\n disabled={isMutating}\n />\n </View>\n </View>\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n return StyleSheet.create({\n container: {\n flex: 1,\n },\n sectionOuter: {\n paddingLeft: 16,\n },\n sectionHeader: {\n paddingRight: 16,\n paddingTop: 24,\n paddingBottom: 12,\n borderBottomWidth: 1,\n borderBottomColor: colors.borderColorDefaultBase,\n },\n settingRow: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n paddingRight: 16,\n paddingVertical: 12,\n },\n settingRowText: {\n flex: 1,\n gap: 8,\n },\n })\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CustomMessage } from '@planningcenter/jolt-client/dist/types/JoltConnection';
|
|
2
|
+
import type { ConversationDisabledReason } from '../resources/conversation';
|
|
2
3
|
type DateString = string;
|
|
3
4
|
interface BaseConversationEventData extends Record<string, unknown> {
|
|
4
5
|
data: {
|
|
@@ -14,6 +15,7 @@ interface BaseConversationEventData extends Record<string, unknown> {
|
|
|
14
15
|
latest_read_message_sort_key?: string;
|
|
15
16
|
organization_id: number;
|
|
16
17
|
disabled: boolean;
|
|
18
|
+
disabled_reason?: ConversationDisabledReason;
|
|
17
19
|
replies_disabled: boolean;
|
|
18
20
|
subtitle?: string;
|
|
19
21
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation_events.d.ts","sourceRoot":"","sources":["../../../src/types/jolt_events/conversation_events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAA;
|
|
1
|
+
{"version":3,"file":"conversation_events.d.ts","sourceRoot":"","sources":["../../../src/types/jolt_events/conversation_events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAA;AAC1F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAE3E,KAAK,UAAU,GAAG,MAAM,CAAA;AACxB,UAAU,yBAA0B,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,WAAW,EAAE,UAAU,CAAA;QACvB,UAAU,EAAE,UAAU,CAAA;QACtB,sBAAsB,CAAC,EAAE,MAAM,CAAA;QAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAA;QACjC,uBAAuB,CAAC,EAAE,UAAU,CAAA;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,2BAA2B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3C,yBAAyB,CAAC,EAAE,MAAM,CAAA;QAClC,4BAA4B,CAAC,EAAE,MAAM,CAAA;QACrC,eAAe,EAAE,MAAM,CAAA;QACvB,QAAQ,EAAE,OAAO,CAAA;QACjB,eAAe,CAAC,EAAE,0BAA0B,CAAA;QAC5C,gBAAgB,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,UAAU,CAAA;KACvB,CAAA;CACF;AAED,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC7D,KAAK,EAAE,sBAAsB,CAAA;IAC7B,IAAI,EAAE,yBAAyB,CAAA;CAChC;AAED,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC7D,KAAK,EAAE,sBAAsB,CAAA;IAC7B,IAAI,EAAE,yBAAyB,CAAA;CAChC;AAED,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC7D,KAAK,EAAE,wBAAwB,CAAA;IAC/B,IAAI,EAAE,yBAAyB,CAAA;CAChC;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,KAAK,EAAE,mBAAmB,CAAA;IAC1B,IAAI,EAAE,yBAAyB,CAAA;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation_events.js","sourceRoot":"","sources":["../../../src/types/jolt_events/conversation_events.ts"],"names":[],"mappings":"","sourcesContent":["import type { CustomMessage } from '@planningcenter/jolt-client/dist/types/JoltConnection'\n\ntype DateString = string\ninterface BaseConversationEventData extends Record<string, unknown> {\n data: {\n id: number\n archived_at: DateString\n created_at: DateString\n last_message_author_id?: number\n last_message_author_name?: string\n last_message_created_at?: DateString\n last_message_sort_key?: string\n last_message_idempotent_key?: string | null\n last_message_text_preview?: string\n latest_read_message_sort_key?: string\n organization_id: number\n disabled: boolean\n replies_disabled: boolean\n subtitle?: string\n title: string\n updated_at: DateString\n }\n}\n\nexport interface ConversationCreatedEvent extends CustomMessage {\n event: 'conversation.created'\n data: BaseConversationEventData\n}\n\nexport interface ConversationUpdatedEvent extends CustomMessage {\n event: 'conversation.updated'\n data: BaseConversationEventData\n}\n\nexport interface ConversationDeletedEvent extends CustomMessage {\n event: 'conversation.destroyed'\n data: BaseConversationEventData\n}\n\nexport interface ConversationReadEvent extends CustomMessage {\n event: 'conversation.read'\n data: BaseConversationEventData\n}\n"]}
|
|
1
|
+
{"version":3,"file":"conversation_events.js","sourceRoot":"","sources":["../../../src/types/jolt_events/conversation_events.ts"],"names":[],"mappings":"","sourcesContent":["import type { CustomMessage } from '@planningcenter/jolt-client/dist/types/JoltConnection'\nimport type { ConversationDisabledReason } from '../resources/conversation'\n\ntype DateString = string\ninterface BaseConversationEventData extends Record<string, unknown> {\n data: {\n id: number\n archived_at: DateString\n created_at: DateString\n last_message_author_id?: number\n last_message_author_name?: string\n last_message_created_at?: DateString\n last_message_sort_key?: string\n last_message_idempotent_key?: string | null\n last_message_text_preview?: string\n latest_read_message_sort_key?: string\n organization_id: number\n disabled: boolean\n disabled_reason?: ConversationDisabledReason\n replies_disabled: boolean\n subtitle?: string\n title: string\n updated_at: DateString\n }\n}\n\nexport interface ConversationCreatedEvent extends CustomMessage {\n event: 'conversation.created'\n data: BaseConversationEventData\n}\n\nexport interface ConversationUpdatedEvent extends CustomMessage {\n event: 'conversation.updated'\n data: BaseConversationEventData\n}\n\nexport interface ConversationDeletedEvent extends CustomMessage {\n event: 'conversation.destroyed'\n data: BaseConversationEventData\n}\n\nexport interface ConversationReadEvent extends CustomMessage {\n event: 'conversation.read'\n data: BaseConversationEventData\n}\n"]}
|
|
@@ -3,6 +3,7 @@ import { ConversationBadgeResource } from './conversation_badge';
|
|
|
3
3
|
import { ConversationMembershipResource } from './conversation_membership';
|
|
4
4
|
import { GroupResource } from './group_resource';
|
|
5
5
|
import { MemberAbilityResource } from './member_ability';
|
|
6
|
+
export type ConversationDisabledReason = 'safety_check' | 'direct_messages_disabled';
|
|
6
7
|
export interface ConversationResource {
|
|
7
8
|
type: 'Conversation';
|
|
8
9
|
id: number;
|
|
@@ -12,6 +13,7 @@ export interface ConversationResource {
|
|
|
12
13
|
createdAt: string;
|
|
13
14
|
deleted?: boolean;
|
|
14
15
|
disabled?: boolean;
|
|
16
|
+
disabledReason?: ConversationDisabledReason;
|
|
15
17
|
genderOption?: string | null;
|
|
16
18
|
groups?: GroupResource[];
|
|
17
19
|
previewAvatarUrls?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/types/resources/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACpC,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,sBAAsB,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAA;IAChE,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;IACpD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,KAAK,EAAE,OAAO,CAAA;IACd,eAAe,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB"}
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/types/resources/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,0BAA0B,GAAG,cAAc,GAAG,0BAA0B,CAAA;AAEpF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACpC,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,sBAAsB,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAA;IAChE,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,0BAA0B,CAAA;IAC3C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;IACpD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,KAAK,EAAE,OAAO,CAAA;IACd,eAAe,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/types/resources/conversation.ts"],"names":[],"mappings":"","sourcesContent":["import type { AnalyticsMetadataResource } from './analytics_metadata'\nimport { ConversationBadgeResource } from './conversation_badge'\nimport { ConversationMembershipResource } from './conversation_membership'\nimport { GroupResource } from './group_resource'\nimport { MemberAbilityResource } from './member_ability'\n\nexport interface ConversationResource {\n type: 'Conversation'\n id: number\n badges?: ConversationBadgeResource[]\n analyticsMetadata?: AnalyticsMetadataResource\n conversationMembership?: Partial<ConversationMembershipResource>\n createdAt: string\n deleted?: boolean\n disabled?: boolean\n genderOption?: string | null\n groups?: GroupResource[]\n previewAvatarUrls?: string[]\n customAvatarType?: 'image' | 'icon' | 'emoji' | null\n customAvatarKey?: string | null\n customAvatarColor?: string | null\n customAvatarImageUrl?: string | null\n lastMessageAuthorId?: string\n lastMessageAuthorName?: string\n lastMessageCreatedAt?: string\n lastMessageTextPreview?: string\n latestReadMessageSortKey?: string\n memberAbility?: MemberAbilityResource\n muted: boolean\n repliesDisabled: boolean\n title: string\n unreadCount: number\n unreadReactionCount?: number // Derived from Jolt events\n updatedAt: string\n}\n"]}
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/types/resources/conversation.ts"],"names":[],"mappings":"","sourcesContent":["import type { AnalyticsMetadataResource } from './analytics_metadata'\nimport { ConversationBadgeResource } from './conversation_badge'\nimport { ConversationMembershipResource } from './conversation_membership'\nimport { GroupResource } from './group_resource'\nimport { MemberAbilityResource } from './member_ability'\n\nexport type ConversationDisabledReason = 'safety_check' | 'direct_messages_disabled'\n\nexport interface ConversationResource {\n type: 'Conversation'\n id: number\n badges?: ConversationBadgeResource[]\n analyticsMetadata?: AnalyticsMetadataResource\n conversationMembership?: Partial<ConversationMembershipResource>\n createdAt: string\n deleted?: boolean\n disabled?: boolean\n disabledReason?: ConversationDisabledReason\n genderOption?: string | null\n groups?: GroupResource[]\n previewAvatarUrls?: string[]\n customAvatarType?: 'image' | 'icon' | 'emoji' | null\n customAvatarKey?: string | null\n customAvatarColor?: string | null\n customAvatarImageUrl?: string | null\n lastMessageAuthorId?: string\n lastMessageAuthorName?: string\n lastMessageCreatedAt?: string\n lastMessageTextPreview?: string\n latestReadMessageSortKey?: string\n memberAbility?: MemberAbilityResource\n muted: boolean\n repliesDisabled: boolean\n title: string\n unreadCount: number\n unreadReactionCount?: number // Derived from Jolt events\n updatedAt: string\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ResourceObject } from '../api_primitives';
|
|
2
|
+
export interface DirectMessageAffiliationsResource extends ResourceObject {
|
|
3
|
+
type: 'DirectMessageAffiliations';
|
|
4
|
+
id: string;
|
|
5
|
+
groups: Record<string, string>;
|
|
6
|
+
teams: Record<string, string>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=direct_message_affiliations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct_message_affiliations.d.ts","sourceRoot":"","sources":["../../../src/types/resources/direct_message_affiliations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,WAAW,iCAAkC,SAAQ,cAAc;IACvE,IAAI,EAAE,2BAA2B,CAAA;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct_message_affiliations.js","sourceRoot":"","sources":["../../../src/types/resources/direct_message_affiliations.ts"],"names":[],"mappings":"","sourcesContent":["import { ResourceObject } from '../api_primitives'\n\nexport interface DirectMessageAffiliationsResource extends ResourceObject {\n type: 'DirectMessageAffiliations'\n id: string\n groups: Record<string, string>\n teams: Record<string, string>\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ResourceObject } from '../api_primitives';
|
|
2
|
+
export interface DirectMessageCandidateResource extends ResourceObject {
|
|
3
|
+
type: 'DirectMessageCandidate';
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
avatar: string;
|
|
7
|
+
groups: number[];
|
|
8
|
+
teams: number[];
|
|
9
|
+
under_18: boolean;
|
|
10
|
+
directMessagesDisabled: boolean;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=direct_message_candidate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct_message_candidate.d.ts","sourceRoot":"","sources":["../../../src/types/resources/direct_message_candidate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,WAAW,8BAA+B,SAAQ,cAAc;IACpE,IAAI,EAAE,wBAAwB,CAAA;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,sBAAsB,EAAE,OAAO,CAAA;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct_message_candidate.js","sourceRoot":"","sources":["../../../src/types/resources/direct_message_candidate.ts"],"names":[],"mappings":"","sourcesContent":["import { ResourceObject } from '../api_primitives'\n\nexport interface DirectMessageCandidateResource extends ResourceObject {\n type: 'DirectMessageCandidate'\n id: string\n name: string\n avatar: string\n groups: number[]\n teams: number[]\n under_18: boolean\n directMessagesDisabled: boolean\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA","sourcesContent":["export * from './analytics_metadata'\nexport * from './conversation'\nexport * from './conversation_membership'\nexport * from './conversation_validate'\nexport * from './member'\nexport * from './message'\nexport * from './oauth_token'\nexport * from './person'\nexport * from './groups'\nexport * from './app_grant'\nexport * from './services'\nexport * from './organization'\nexport * from './group_membership'\nexport * from './group_resource'\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA","sourcesContent":["export * from './analytics_metadata'\nexport * from './direct_message_affiliations'\nexport * from './direct_message_candidate'\nexport * from './conversation'\nexport * from './conversation_membership'\nexport * from './conversation_validate'\nexport * from './member'\nexport * from './message'\nexport * from './oauth_token'\nexport * from './person'\nexport * from './groups'\nexport * from './app_grant'\nexport * from './services'\nexport * from './organization'\nexport * from './group_membership'\nexport * from './group_resource'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../src/types/resources/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,IAAI,EAAE,cAAc,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd"}
|
|
1
|
+
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../src/types/resources/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,IAAI,EAAE,cAAc,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../../../src/types/resources/organization.ts"],"names":[],"mappings":"","sourcesContent":["import { ResourceObject } from '../api_primitives'\n\nexport interface OrganizationResource extends ResourceObject {\n type: 'Organization'\n contactEmail?: string\n name?: string\n}\n"]}
|
|
1
|
+
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../../../src/types/resources/organization.ts"],"names":[],"mappings":"","sourcesContent":["import { ResourceObject } from '../api_primitives'\n\nexport interface OrganizationResource extends ResourceObject {\n type: 'Organization'\n contactEmail?: string\n contactPhoneNumber?: string\n name?: string\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../../src/types/resources/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAA;AAEV,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAA;AAEtE,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../../src/types/resources/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAA;AAEV,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAA;AAEtE,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,sBAAsB,EAAE,OAAO,CAAA;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person.js","sourceRoot":"","sources":["../../../src/types/resources/person.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;CACV,CAAA","sourcesContent":["import { ResourceObject } from '../api_primitives'\n\nexport const AgeQualificationStatus = {\n QUALIFIED: 'qualified',\n DISQUALIFIED: 'disqualified',\n UNKNOWN: 'unknown',\n} as const\n\nexport type AgeQualificationStatus =\n (typeof AgeQualificationStatus)[keyof typeof AgeQualificationStatus]\n\nexport interface PersonResource extends ResourceObject {\n id: number\n type: 'Person'\n name: string\n avatar: string\n}\n\nexport interface CurrentPersonResource extends PersonResource {\n canChat: boolean\n unreadCount: number\n pcoChatEnabled: boolean\n ageQualificationStatus?: AgeQualificationStatus\n}\n"]}
|
|
1
|
+
{"version":3,"file":"person.js","sourceRoot":"","sources":["../../../src/types/resources/person.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;CACV,CAAA","sourcesContent":["import { ResourceObject } from '../api_primitives'\n\nexport const AgeQualificationStatus = {\n QUALIFIED: 'qualified',\n DISQUALIFIED: 'disqualified',\n UNKNOWN: 'unknown',\n} as const\n\nexport type AgeQualificationStatus =\n (typeof AgeQualificationStatus)[keyof typeof AgeQualificationStatus]\n\nexport interface PersonResource extends ResourceObject {\n id: number\n type: 'Person'\n name: string\n avatar: string\n}\n\nexport interface CurrentPersonResource extends PersonResource {\n canChat: boolean\n unreadCount: number\n pcoChatEnabled: boolean\n ageQualificationStatus?: AgeQualificationStatus\n directMessagesDisabled: boolean\n}\n"]}
|
|
@@ -4,6 +4,7 @@ export interface ConversationRequestArgs {
|
|
|
4
4
|
gids: string;
|
|
5
5
|
chat_group_graph_id?: GraphId;
|
|
6
6
|
group_source_app_name?: string;
|
|
7
|
+
show_direct_messages?: boolean;
|
|
7
8
|
}
|
|
8
|
-
export declare const getConversationsRequestArgs: ({ gids, chat_group_graph_id, group_source_app_name, }?: Partial<ConversationRequestArgs>) => GetRequest;
|
|
9
|
+
export declare const getConversationsRequestArgs: ({ gids, chat_group_graph_id, group_source_app_name, show_direct_messages, }?: Partial<ConversationRequestArgs>) => GetRequest;
|
|
9
10
|
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/utils/request/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,2BAA2B,GAAI,
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/utils/request/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,eAAO,MAAM,2BAA2B,GAAI,8EAKzC,OAAO,CAAC,uBAAuB,CAAM,KAAG,UAkD1C,CAAA"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
export const getConversationsRequestArgs = ({ gids, chat_group_graph_id, group_source_app_name, } = {}) => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export const getConversationsRequestArgs = ({ gids, chat_group_graph_id, group_source_app_name, show_direct_messages, } = {}) => {
|
|
2
|
+
let filter;
|
|
3
|
+
if (chat_group_graph_id) {
|
|
4
|
+
filter = 'group';
|
|
5
|
+
}
|
|
6
|
+
else if (show_direct_messages) {
|
|
7
|
+
filter = 'mine_or_not_empty,direct_message';
|
|
8
|
+
}
|
|
9
|
+
else if (group_source_app_name) {
|
|
10
|
+
filter = 'group_source_app_name';
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
filter = 'mine_or_not_empty';
|
|
14
|
+
}
|
|
7
15
|
return {
|
|
8
16
|
url: '/me/conversations',
|
|
9
17
|
data: {
|
|
@@ -18,6 +26,7 @@ export const getConversationsRequestArgs = ({ gids, chat_group_graph_id, group_s
|
|
|
18
26
|
'created_at',
|
|
19
27
|
'badges',
|
|
20
28
|
'disabled',
|
|
29
|
+
'disabled_reason',
|
|
21
30
|
'groups',
|
|
22
31
|
'last_message_author_id',
|
|
23
32
|
'last_message_author_name',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/utils/request/conversation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/utils/request/conversation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,IAAI,EACJ,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,MACgB,EAAE,EAAc,EAAE;IACtD,IAAI,MAAc,CAAA;IAClB,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,GAAG,OAAO,CAAA;IAClB,CAAC;SAAM,IAAI,oBAAoB,EAAE,CAAC;QAChC,MAAM,GAAG,kCAAkC,CAAA;IAC7C,CAAC;SAAM,IAAI,qBAAqB,EAAE,CAAC;QACjC,MAAM,GAAG,uBAAuB,CAAA;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,mBAAmB,CAAA;IAC9B,CAAC;IAED,OAAO;QACL,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,eAAe;YACtB,MAAM;YACN,IAAI;YACJ,KAAK,EAAE,mBAAmB;YAC1B,qBAAqB;YACrB,MAAM,EAAE;gBACN,YAAY,EAAE;oBACZ,YAAY;oBACZ,QAAQ;oBACR,UAAU;oBACV,iBAAiB;oBACjB,QAAQ;oBACR,wBAAwB;oBACxB,0BAA0B;oBAC1B,yBAAyB;oBACzB,2BAA2B;oBAC3B,qBAAqB;oBACrB,oBAAoB;oBACpB,mBAAmB;oBACnB,qBAAqB;oBACrB,yBAAyB;oBACzB,gBAAgB;oBAChB,OAAO;oBACP,kBAAkB;oBAClB,OAAO;oBACP,cAAc;oBACd,YAAY;iBACb;gBACD,iBAAiB,EAAE,CAAC,UAAU,CAAC;gBAC/B,iBAAiB,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,MAAM,CAAC;aAC7D;YACD,OAAO,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SAC1C;KACF,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { GraphId } from '../../types/resources/group_resource'\nimport { GetRequest } from '../client/types'\n\nexport interface ConversationRequestArgs {\n gids: string\n chat_group_graph_id?: GraphId\n group_source_app_name?: string\n show_direct_messages?: boolean\n}\n\nexport const getConversationsRequestArgs = ({\n gids,\n chat_group_graph_id,\n group_source_app_name,\n show_direct_messages,\n}: Partial<ConversationRequestArgs> = {}): GetRequest => {\n let filter: string\n if (chat_group_graph_id) {\n filter = 'group'\n } else if (show_direct_messages) {\n filter = 'mine_or_not_empty,direct_message'\n } else if (group_source_app_name) {\n filter = 'group_source_app_name'\n } else {\n filter = 'mine_or_not_empty'\n }\n\n return {\n url: '/me/conversations',\n data: {\n perPage: 20,\n order: '-last_message',\n filter,\n gids,\n group: chat_group_graph_id,\n group_source_app_name,\n fields: {\n Conversation: [\n 'created_at',\n 'badges',\n 'disabled',\n 'disabled_reason',\n 'groups',\n 'last_message_author_id',\n 'last_message_author_name',\n 'last_message_created_at',\n 'last_message_text_preview',\n 'preview_avatar_urls',\n 'custom_avatar_type',\n 'custom_avatar_key',\n 'custom_avatar_color',\n 'custom_avatar_image_url',\n 'member_ability',\n 'muted',\n 'replies_disabled',\n 'title',\n 'unread_count',\n 'updated_at',\n ],\n AnalyticsMetadata: ['metadata'],\n ConversationBadge: ['app_name', 'pco_resource_type', 'text'],\n },\n include: ['badges', 'analytics_metadata'],\n },\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type TimeUnit = 'hours' | 'minutes' | 'seconds';
|
|
2
|
+
export declare function toMs(value: number, unit: TimeUnit): number;
|
|
3
|
+
export declare const FIVE_SECONDS: number;
|
|
4
|
+
export declare const FIVE_MINUTES: number;
|
|
5
|
+
export declare const THIRTY_MINUTES: number;
|
|
6
|
+
export declare const ONE_HOUR: number;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AAE/C,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAS1D;AAED,eAAO,MAAM,YAAY,QAAqB,CAAA;AAC9C,eAAO,MAAM,YAAY,QAAqB,CAAA;AAC9C,eAAO,MAAM,cAAc,QAAsB,CAAA;AACjD,eAAO,MAAM,QAAQ,QAAmB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function toMs(value, unit) {
|
|
2
|
+
switch (unit) {
|
|
3
|
+
case 'hours':
|
|
4
|
+
return value * 60 * 60 * 1000;
|
|
5
|
+
case 'minutes':
|
|
6
|
+
return value * 60 * 1000;
|
|
7
|
+
case 'seconds':
|
|
8
|
+
return value * 1000;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export const FIVE_SECONDS = toMs(5, 'seconds');
|
|
12
|
+
export const FIVE_MINUTES = toMs(5, 'minutes');
|
|
13
|
+
export const THIRTY_MINUTES = toMs(30, 'minutes');
|
|
14
|
+
export const ONE_HOUR = toMs(1, 'hours');
|
|
15
|
+
//# sourceMappingURL=time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAC,KAAa,EAAE,IAAc;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAC/B,KAAK,SAAS;YACZ,OAAO,KAAK,GAAG,EAAE,GAAG,IAAI,CAAA;QAC1B,KAAK,SAAS;YACZ,OAAO,KAAK,GAAG,IAAI,CAAA;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA","sourcesContent":["type TimeUnit = 'hours' | 'minutes' | 'seconds'\n\nexport function toMs(value: number, unit: TimeUnit): number {\n switch (unit) {\n case 'hours':\n return value * 60 * 60 * 1000\n case 'minutes':\n return value * 60 * 1000\n case 'seconds':\n return value * 1000\n }\n}\n\nexport const FIVE_SECONDS = toMs(5, 'seconds')\nexport const FIVE_MINUTES = toMs(5, 'minutes')\nexport const THIRTY_MINUTES = toMs(30, 'minutes')\nexport const ONE_HOUR = toMs(1, 'hours')\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@planningcenter/chat-react-native",
|
|
3
|
-
"version": "3.39.0-rc.
|
|
3
|
+
"version": "3.39.0-rc.10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"react-native": "./src/index.tsx",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"react-native-url-polyfill": "^2.0.0",
|
|
73
73
|
"typescript": "~5.9.2"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "6d8085c395109d5fb068d443b5ff320066f92952"
|
|
76
76
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { StyleSheet, View, type ViewStyle } from 'react-native'
|
|
2
2
|
import { useSafeAreaInsets } from 'react-native-safe-area-context'
|
|
3
3
|
import { useTheme } from '../../hooks'
|
|
4
|
+
import type { ConversationDisabledReason } from '../../types'
|
|
4
5
|
import { ADULT_REQUIREMENT_BODY } from '../../utils'
|
|
5
6
|
import { Text } from '../display'
|
|
6
7
|
|
|
@@ -21,10 +22,23 @@ export const MemberMessagesDisabledBanner = () => {
|
|
|
21
22
|
)
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
const DISABLED_REASON_TEXT: Record<ConversationDisabledReason, string> = {
|
|
26
|
+
safety_check: ADULT_REQUIREMENT_BODY,
|
|
27
|
+
direct_messages_disabled: 'Direct messages have been turned off by someone in this conversation.',
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const DEFAULT_DISABLED_TEXT = 'This conversation has been disabled.'
|
|
31
|
+
|
|
32
|
+
interface ConversationDisabledBannerProps {
|
|
33
|
+
disabledReason?: ConversationDisabledReason
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const ConversationDisabledBanner = ({ disabledReason }: ConversationDisabledBannerProps) => {
|
|
25
37
|
const styles = useStyles()
|
|
38
|
+
const description =
|
|
39
|
+
(disabledReason && DISABLED_REASON_TEXT[disabledReason]) ?? DEFAULT_DISABLED_TEXT
|
|
26
40
|
|
|
27
|
-
return <MessagesDisabledBanner description={
|
|
41
|
+
return <MessagesDisabledBanner description={description} style={styles.memberBanner} />
|
|
28
42
|
}
|
|
29
43
|
|
|
30
44
|
interface MessagesDisabledBannerProps {
|