@messenger-box/slack-ui-mobile 10.0.2-alpha.5 → 10.0.3-alpha.5
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/lib/components/AppRootContextProviderComponent.js +2 -5
- package/lib/components/AppRootContextProviderComponent.js.map +1 -1
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js +16 -81
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js.map +1 -1
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js +60 -75
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js.map +1 -1
- package/lib/components/CustomDrawer/CustomDrawer.js +78 -185
- package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
- package/lib/components/Header/Header.js +1 -8
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/styles.js +14 -14
- package/lib/components/Header/styles.js.map +1 -1
- package/lib/components/LoadingSpinner/index.js +6 -29
- package/lib/components/LoadingSpinner/index.js.map +1 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.js +84 -176
- package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js +154 -276
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeaderChat.js +25 -66
- package/lib/components/NavigationHeader/NavigationHeaderChat.js.map +1 -1
- package/lib/components/NavigationHeader/index.js +1 -1
- package/lib/components/SlackSearchInput/Suggestion.js +40 -14
- package/lib/components/SlackSearchInput/Suggestion.js.map +1 -1
- package/lib/components/SlackSearchInput/Tag.js +43 -17
- package/lib/components/SlackSearchInput/Tag.js.map +1 -1
- package/lib/components/SlackSearchInput/index.js +57 -114
- package/lib/components/SlackSearchInput/index.js.map +1 -1
- package/lib/components/Tiles/Tiles.js +1 -8
- package/lib/components/Tiles/Tiles.js.map +1 -1
- package/lib/components/Tiles/styles.js +14 -14
- package/lib/components/Tiles/styles.js.map +1 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +27 -17
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js.map +1 -1
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js +86 -193
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
- package/lib/compute.js +222 -234
- package/lib/compute.js.map +1 -1
- package/lib/config/env-config.js +14 -12
- package/lib/config/env-config.js.map +1 -1
- package/lib/constants/Colors.js +52 -56
- package/lib/constants/Colors.js.map +1 -1
- package/lib/constants/Layout.js +2 -2
- package/lib/constants/Layout.js.map +1 -1
- package/lib/constants/device.js +4 -12
- package/lib/constants/device.js.map +1 -1
- package/lib/constants/fonts.js +5 -5
- package/lib/constants/fonts.js.map +1 -1
- package/lib/constants/globalStyles.js +13 -13
- package/lib/constants/globalStyles.js.map +1 -1
- package/lib/constants/preloadImages.js +11 -22
- package/lib/constants/preloadImages.js.map +1 -1
- package/lib/constants/routes.js +37 -43
- package/lib/constants/routes.js.map +1 -1
- package/lib/hooks/useCachedResources.js +32 -18
- package/lib/hooks/useCachedResources.js.map +1 -1
- package/lib/hooks/useColorScheme.js +1 -4
- package/lib/hooks/useColorScheme.js.map +1 -1
- package/lib/hooks/useDisclose.js.map +1 -1
- package/lib/hooks/useDrawerLayout.js +33 -104
- package/lib/hooks/useDrawerLayout.js.map +1 -1
- package/lib/hooks/useExpoNotificationProvider.js +35 -41
- package/lib/hooks/useExpoNotificationProvider.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/locales/index.js +4 -4
- package/lib/locales/index.js.map +1 -1
- package/lib/module.js +1 -4
- package/lib/module.js.map +1 -1
- package/lib/navigation/ActivityNavigator.js +31 -25
- package/lib/navigation/ActivityNavigator.js.map +1 -1
- package/lib/navigation/ExploreNavigator.js +199 -440
- package/lib/navigation/ExploreNavigator.js.map +1 -1
- package/lib/navigation/InboxNavigator.js +69 -128
- package/lib/navigation/InboxNavigator.js.map +1 -1
- package/lib/navigation/SearchTabNavigation.js +60 -138
- package/lib/navigation/SearchTabNavigation.js.map +1 -1
- package/lib/navigation/TeamTabNavigation.js +52 -41
- package/lib/navigation/TeamTabNavigation.js.map +1 -1
- package/lib/screens/Account/AccountScreen.js +51 -239
- package/lib/screens/Account/AccountScreen.js.map +1 -1
- package/lib/screens/Activity/ActivityScreen.js +1 -9
- package/lib/screens/Activity/ActivityScreen.js.map +1 -1
- package/lib/screens/Channels/Add/AddName.js +25 -115
- package/lib/screens/Channels/Add/AddName.js.map +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js +43 -111
- package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
- package/lib/screens/Channels/AddChannel.js +25 -100
- package/lib/screens/Channels/AddChannel.js.map +1 -1
- package/lib/screens/Channels/Channels.js +65 -190
- package/lib/screens/Channels/Channels.js.map +1 -1
- package/lib/screens/Files/FilesScreen.js +1 -12
- package/lib/screens/Files/FilesScreen.js.map +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js +53 -190
- package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +99 -285
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
- package/lib/screens/Home/Components/Teams/Teams.js +34 -122
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +36 -59
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +113 -242
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/styles.js +27 -27
- package/lib/screens/Home/styles.js.map +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js +124 -430
- package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
- package/lib/screens/Inbox/InboxDialogMessages.js +21 -4
- package/lib/screens/Inbox/InboxDialogMessages.js.map +1 -1
- package/lib/screens/Inbox/InboxScreen.js +27 -11
- package/lib/screens/Inbox/InboxScreen.js.map +1 -1
- package/lib/screens/Inbox/InboxThreadMessages.js +21 -7
- package/lib/screens/Inbox/InboxThreadMessages.js.map +1 -1
- package/lib/screens/Inbox/InboxThreads.js +21 -6
- package/lib/screens/Inbox/InboxThreads.js.map +1 -1
- package/lib/screens/Login.js +7 -63
- package/lib/screens/Login.js.map +1 -1
- package/lib/screens/Notification/NotificationsScreen.js +3 -5
- package/lib/screens/Notification/NotificationsScreen.js.map +1 -1
- package/lib/screens/Organization/AddWorkspace.js +52 -180
- package/lib/screens/Organization/AddWorkspace.js.map +1 -1
- package/lib/screens/Organization/CreateOrganization.js +20 -80
- package/lib/screens/Organization/CreateOrganization.js.map +1 -1
- package/lib/screens/Organization/InitialChannelOnboarding.js +26 -148
- package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
- package/lib/screens/Organization/InitializeOrganizationChannel.js +23 -76
- package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
- package/lib/screens/Organization/InviteOrganizationMembers.js +15 -98
- package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
- package/lib/screens/Peoples/AddByEmail.js +33 -130
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js +79 -155
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/lib/screens/Peoples/AddPeople.js +127 -236
- package/lib/screens/Peoples/AddPeople.js.map +1 -1
- package/lib/screens/Peoples/People.js +9 -13
- package/lib/screens/Peoples/People.js.map +1 -1
- package/lib/screens/Profile/ProfileScreen.js +25 -83
- package/lib/screens/Profile/ProfileScreen.js.map +1 -1
- package/lib/screens/Saved/SavedScreen.js +1 -9
- package/lib/screens/Saved/SavedScreen.js.map +1 -1
- package/lib/screens/Search/Channels.js +52 -123
- package/lib/screens/Search/Channels.js.map +1 -1
- package/lib/screens/Search/Files.js +5 -24
- package/lib/screens/Search/Files.js.map +1 -1
- package/lib/screens/Search/JumpTo.js +44 -127
- package/lib/screens/Search/JumpTo.js.map +1 -1
- package/lib/screens/Search/People.js +52 -123
- package/lib/screens/Search/People.js.map +1 -1
- package/lib/screens/Search/Recents.js +52 -123
- package/lib/screens/Search/Recents.js.map +1 -1
- package/lib/screens/Search/SearchAddChannel.js +224 -427
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js +86 -230
- package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
- package/lib/screens/Search/SearchScreen.js +39 -41
- package/lib/screens/Search/SearchScreen.js.map +1 -1
- package/lib/screens/Search/styles.js +26 -26
- package/lib/screens/Search/styles.js.map +1 -1
- package/lib/screens/Teams/AddTeam.js +26 -103
- package/lib/screens/Teams/AddTeam.js.map +1 -1
- package/lib/screens/Teams/Components/Channels/Channels.js +54 -88
- package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Teams/Components/Members/Members.js +24 -81
- package/lib/screens/Teams/Components/Members/Members.js.map +1 -1
- package/lib/screens/Teams/Team.js +48 -47
- package/lib/screens/Teams/Team.js.map +1 -1
- package/lib/screens/Teams/Teams.js +59 -140
- package/lib/screens/Teams/Teams.js.map +1 -1
- package/lib/screens/Wiki/WikiScreen.js +1 -12
- package/lib/screens/Wiki/WikiScreen.js.map +1 -1
- package/lib/theme/index.js +0 -2
- package/lib/theme/index.js.map +1 -1
- package/package.json +3 -3
- package/lib/components/AddMemberToChannel/AddMemberToChannel.d.ts +0 -3
- package/lib/components/AddMemberToChannel/index.d.ts +0 -2
- package/lib/components/AppRootContextProviderComponent.d.ts +0 -6
- package/lib/components/CachedImage/consts.d.ts +0 -2
- package/lib/components/CachedImage/index.d.ts +0 -8
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.d.ts +0 -8
- package/lib/components/Channels/index.d.ts +0 -2
- package/lib/components/CustomBottomTabs/CustomBottomTabs.d.ts +0 -3
- package/lib/components/CustomBottomTabs/index.d.ts +0 -2
- package/lib/components/CustomDrawer/CustomDrawer.d.ts +0 -3
- package/lib/components/CustomDrawer/index.d.ts +0 -2
- package/lib/components/Header/Header.d.ts +0 -8
- package/lib/components/Header/index.d.ts +0 -2
- package/lib/components/Header/styles.d.ts +0 -43
- package/lib/components/LoadingSpinner/index.d.ts +0 -7
- package/lib/components/NavigationComponent/NavigationComponent.d.ts +0 -8
- package/lib/components/NavigationComponent/index.d.ts +0 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.d.ts +0 -3
- package/lib/components/NavigationHeader/NavigationHeader.d.ts +0 -5
- package/lib/components/NavigationHeader/NavigationHeaderChat.d.ts +0 -3
- package/lib/components/NavigationHeader/index.d.ts +0 -5
- package/lib/components/RootNavigation.d.ts +0 -3
- package/lib/components/Search/AddByEmail.d.ts +0 -3
- package/lib/components/Search/AddChannel.d.ts +0 -3
- package/lib/components/Search/AddFromContacts.d.ts +0 -3
- package/lib/components/Search/AddPeople.d.ts +0 -3
- package/lib/components/Search/AddTeam.d.ts +0 -3
- package/lib/components/Search/Channels.d.ts +0 -3
- package/lib/components/Search/People.d.ts +0 -5
- package/lib/components/SlackSearchInput/Suggestion.d.ts +0 -8
- package/lib/components/SlackSearchInput/Tag.d.ts +0 -8
- package/lib/components/SlackSearchInput/index.d.ts +0 -61
- package/lib/components/Tiles/Tiles.d.ts +0 -7
- package/lib/components/Tiles/index.d.ts +0 -2
- package/lib/components/Tiles/styles.d.ts +0 -40
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.d.ts +0 -3
- package/lib/components/VirtualizedScrollView/index.d.ts +0 -2
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.d.ts +0 -3
- package/lib/components/WorkSpaceDrawer/index.d.ts +0 -2
- package/lib/components/index.d.ts +0 -11
- package/lib/compute.d.ts +0 -5
- package/lib/config/env-config.d.ts +0 -5
- package/lib/config/index.d.ts +0 -1
- package/lib/constants/Colors.d.ts +0 -61
- package/lib/constants/Layout.d.ts +0 -8
- package/lib/constants/device.d.ts +0 -10
- package/lib/constants/fonts.d.ts +0 -8
- package/lib/constants/globalStyles.d.ts +0 -202
- package/lib/constants/index.d.ts +0 -8
- package/lib/constants/preloadImages.d.ts +0 -14
- package/lib/constants/routes.d.ts +0 -36
- package/lib/hooks/index.d.ts +0 -6
- package/lib/hooks/useCachedResources.d.ts +0 -1
- package/lib/hooks/useColorScheme.d.ts +0 -2
- package/lib/hooks/useColorScheme.web.d.ts +0 -1
- package/lib/hooks/useDisclose.d.ts +0 -5
- package/lib/hooks/useDrawerLayout.d.ts +0 -18
- package/lib/hooks/useExpoNotificationProvider.d.ts +0 -7
- package/lib/hooks/useIsAuthenticated.d.ts +0 -2
- package/lib/index.d.ts +0 -10
- package/lib/locales/en/index.d.ts +0 -3
- package/lib/locales/fr/index.d.ts +0 -2
- package/lib/locales/index.d.ts +0 -1
- package/lib/module.d.ts +0 -3
- package/lib/navigation/AccountNavigator.d.ts +0 -2
- package/lib/navigation/ActivityNavigator.d.ts +0 -2
- package/lib/navigation/ExploreNavigator.d.ts +0 -2
- package/lib/navigation/InboxNavigator.d.ts +0 -2
- package/lib/navigation/InboxTabNavigation.d.ts +0 -3
- package/lib/navigation/MentionsNavigator.d.ts +0 -2
- package/lib/navigation/SearchNavigator.d.ts +0 -2
- package/lib/navigation/SearchTabNavigation.d.ts +0 -3
- package/lib/navigation/TeamTabNavigation.d.ts +0 -3
- package/lib/navigation/index.d.ts +0 -3
- package/lib/screens/Account/AccountScreen.d.ts +0 -3
- package/lib/screens/Account/index.d.ts +0 -2
- package/lib/screens/Activity/ActivityScreen.d.ts +0 -7
- package/lib/screens/Activity/index.d.ts +0 -2
- package/lib/screens/Activity/styles.d.ts +0 -85
- package/lib/screens/Channels/Add/AddName.d.ts +0 -3
- package/lib/screens/Channels/Add/AddVisibility.d.ts +0 -3
- package/lib/screens/Channels/Add/index.d.ts +0 -3
- package/lib/screens/Channels/AddChannel.d.ts +0 -3
- package/lib/screens/Channels/Channels.d.ts +0 -3
- package/lib/screens/Channels/index.d.ts +0 -4
- package/lib/screens/Files/FilesScreen.d.ts +0 -6
- package/lib/screens/Files/index.d.ts +0 -2
- package/lib/screens/Home/Components/Channels/Channels.d.ts +0 -9
- package/lib/screens/Home/Components/Channels/index.d.ts +0 -2
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.d.ts +0 -3
- package/lib/screens/Home/Components/DirectChannels/index.d.ts +0 -2
- package/lib/screens/Home/Components/Teams/Teams.d.ts +0 -7
- package/lib/screens/Home/Components/Teams/index.d.ts +0 -2
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.d.ts +0 -3
- package/lib/screens/Home/Components/TopCommonSlider/index.d.ts +0 -2
- package/lib/screens/Home/HomeScreen.d.ts +0 -3
- package/lib/screens/Home/index.d.ts +0 -2
- package/lib/screens/Home/styles.d.ts +0 -86
- package/lib/screens/Inbox/InboxChannelDetail.d.ts +0 -3
- package/lib/screens/Inbox/InboxDialogMessages.d.ts +0 -3
- package/lib/screens/Inbox/InboxScreen.d.ts +0 -3
- package/lib/screens/Inbox/InboxThreadMessages.d.ts +0 -3
- package/lib/screens/Inbox/InboxThreads.d.ts +0 -3
- package/lib/screens/Inbox/index.d.ts +0 -3
- package/lib/screens/Login.d.ts +0 -3
- package/lib/screens/Notification/NotificationsScreen.d.ts +0 -2
- package/lib/screens/Notification/index.d.ts +0 -2
- package/lib/screens/Organization/AddWorkspace.d.ts +0 -3
- package/lib/screens/Organization/CreateOrganization.d.ts +0 -3
- package/lib/screens/Organization/InitialChannelOnboarding.d.ts +0 -3
- package/lib/screens/Organization/InitializeOrganizationChannel.d.ts +0 -3
- package/lib/screens/Organization/InviteOrganizationMembers.d.ts +0 -3
- package/lib/screens/Organization/index.d.ts +0 -6
- package/lib/screens/Peoples/AddByEmail.d.ts +0 -3
- package/lib/screens/Peoples/AddFromContacts.d.ts +0 -3
- package/lib/screens/Peoples/AddPeople.d.ts +0 -3
- package/lib/screens/Peoples/People.d.ts +0 -3
- package/lib/screens/Peoples/index.d.ts +0 -5
- package/lib/screens/Profile/ProfileScreen.d.ts +0 -3
- package/lib/screens/Profile/index.d.ts +0 -2
- package/lib/screens/Profile/styles.d.ts +0 -83
- package/lib/screens/Saved/SavedScreen.d.ts +0 -7
- package/lib/screens/Saved/index.d.ts +0 -2
- package/lib/screens/Saved/styles.d.ts +0 -85
- package/lib/screens/Search/Channels.d.ts +0 -6
- package/lib/screens/Search/Files.d.ts +0 -3
- package/lib/screens/Search/JumpTo.d.ts +0 -4
- package/lib/screens/Search/People.d.ts +0 -6
- package/lib/screens/Search/Recents.d.ts +0 -6
- package/lib/screens/Search/SearchAddChannel.d.ts +0 -4
- package/lib/screens/Search/SearchChannelPeople.d.ts +0 -4
- package/lib/screens/Search/SearchScreen.d.ts +0 -5
- package/lib/screens/Search/index.d.ts +0 -5
- package/lib/screens/Search/styles.d.ts +0 -83
- package/lib/screens/Teams/AddTeam.d.ts +0 -3
- package/lib/screens/Teams/Components/Channels/Channels.d.ts +0 -3
- package/lib/screens/Teams/Components/Channels/index.d.ts +0 -2
- package/lib/screens/Teams/Components/Members/Members.d.ts +0 -8
- package/lib/screens/Teams/Components/Members/index.d.ts +0 -2
- package/lib/screens/Teams/Team.d.ts +0 -7
- package/lib/screens/Teams/Teams.d.ts +0 -3
- package/lib/screens/Teams/index.d.ts +0 -4
- package/lib/screens/Wiki/WikiScreen.d.ts +0 -6
- package/lib/screens/Wiki/index.d.ts +0 -2
- package/lib/screens/index.d.ts +0 -16
- package/lib/theme/index.d.ts +0 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React__default,{useState,useEffect}from'react';import {Button,ButtonText,Box,SafeAreaView,VStack,ButtonIcon,CheckIcon,Heading,HStack,Text,Input,InputField}from'@admin-layout/gluestack-ui-mobile';import {Dimensions
|
|
2
|
-
Dimensions.get(
|
|
3
|
-
Dimensions.get(
|
|
1
|
+
import React__default,{useState,useEffect}from'react';import {Button,ButtonText,Box,SafeAreaView,VStack,ButtonIcon,CheckIcon,Heading,HStack,Text,Input,InputField}from'@admin-layout/gluestack-ui-mobile';import {TouchableOpacity,Dimensions}from'react-native';import {Ionicons,AntDesign}from'@expo/vector-icons';import {useIsFocused}from'@react-navigation/native';import {useSendOrganizationInvitationMutation}from'common/lib/generated/generated.js';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';Dimensions.get("window").width;
|
|
2
|
+
Dimensions.get("window").height;
|
|
3
|
+
Dimensions.get("screen").height;
|
|
4
4
|
const AddPeopleByEmail = ({
|
|
5
5
|
navigation,
|
|
6
6
|
route
|
|
@@ -10,9 +10,8 @@ const AddPeopleByEmail = ({
|
|
|
10
10
|
orgName
|
|
11
11
|
} = useDrawerLayout();
|
|
12
12
|
const user = useSelector(userSelector);
|
|
13
|
-
useState([]);
|
|
14
|
-
const [email, setEmail] = useState(
|
|
15
|
-
// const emailReg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w\w+)+$/;
|
|
13
|
+
const [contacts, setContacts] = useState([]);
|
|
14
|
+
const [email, setEmail] = useState("");
|
|
16
15
|
const emailReg = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
17
16
|
const [emailSent, setEmailSent] = useState(false);
|
|
18
17
|
const [sendOrganizationInvitationMutation, {
|
|
@@ -20,144 +19,48 @@ const AddPeopleByEmail = ({
|
|
|
20
19
|
loading,
|
|
21
20
|
error
|
|
22
21
|
}] = useSendOrganizationInvitationMutation({
|
|
23
|
-
onCompleted: res => {
|
|
24
|
-
console.log(
|
|
25
|
-
if (res
|
|
22
|
+
onCompleted: (res) => {
|
|
23
|
+
console.log("org invitation res", JSON.stringify(res));
|
|
24
|
+
if (res == null ? void 0 : res.sendOrganizationInvitation)
|
|
25
|
+
setEmailSent(true);
|
|
26
26
|
},
|
|
27
|
-
onError: e => {
|
|
28
|
-
console.log(
|
|
27
|
+
onError: (e) => {
|
|
28
|
+
console.log("e", JSON.stringify(e));
|
|
29
29
|
setEmailSent(false);
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
useEffect(() => {
|
|
33
33
|
return () => {
|
|
34
34
|
setEmailSent(false);
|
|
35
|
-
setEmail(
|
|
35
|
+
setEmail("");
|
|
36
36
|
};
|
|
37
37
|
}, []);
|
|
38
38
|
useEffect(() => {
|
|
39
39
|
navigation.setOptions({
|
|
40
40
|
headerShown: true,
|
|
41
|
-
headerTitleAlign:
|
|
41
|
+
headerTitleAlign: "left",
|
|
42
42
|
headerTitleStyle: {},
|
|
43
|
-
title: emailSent ?
|
|
44
|
-
headerLeft: props => React__default.createElement(TouchableOpacity, {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
disabled: email && emailReg.test(email) === true ? false : true,
|
|
57
|
-
variant: 'link',
|
|
58
|
-
onPress: () => {
|
|
59
|
-
var _a;
|
|
60
|
-
return sendOrganizationInvitationMutation({
|
|
61
|
-
variables: {
|
|
62
|
-
request: {
|
|
63
|
-
emails: [email],
|
|
64
|
-
orgName: orgName,
|
|
65
|
-
invitedBy: (_a = user === null || user === void 0 ? void 0 : user.profile) === null || _a === void 0 ? void 0 : _a.name,
|
|
66
|
-
sentInvitee: true
|
|
67
|
-
}
|
|
43
|
+
title: emailSent ? "" : "Add by Email",
|
|
44
|
+
headerLeft: (props) => /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: {
|
|
45
|
+
paddingHorizontal: 10
|
|
46
|
+
}, onPress: () => navigation == null ? void 0 : navigation.goBack() }, /* @__PURE__ */ React__default.createElement(Ionicons, { color: "black", name: "chevron-back", size: 20 })),
|
|
47
|
+
headerRight: (props) => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, emailSent ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null) : /* @__PURE__ */ React__default.createElement(Button, { mr: "$2", disabled: email && emailReg.test(email) === true ? false : true, variant: "link", onPress: () => {
|
|
48
|
+
var _a;
|
|
49
|
+
return sendOrganizationInvitationMutation({
|
|
50
|
+
variables: {
|
|
51
|
+
request: {
|
|
52
|
+
emails: [email],
|
|
53
|
+
orgName,
|
|
54
|
+
invitedBy: (_a = user == null ? void 0 : user.profile) == null ? void 0 : _a.name,
|
|
55
|
+
sentInvitee: true
|
|
68
56
|
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}, React__default.createElement(ButtonText, {
|
|
72
|
-
color: email && emailReg.test(email) === true ? '$black' : '$trueGray400'
|
|
73
|
-
}, "SEND")))
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
} }, /* @__PURE__ */ React__default.createElement(ButtonText, { color: email && emailReg.test(email) === true ? "$black" : "$trueGray400" }, "SEND")))
|
|
74
60
|
});
|
|
75
61
|
}, [isFocused, navigation, email, orgName, user, emailSent]);
|
|
76
|
-
return React__default.createElement(Box, {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
},
|
|
80
|
-
flex: 1
|
|
81
|
-
}, React__default.createElement(VStack, {
|
|
82
|
-
space: 'lg',
|
|
83
|
-
py: '$5',
|
|
84
|
-
flex: 1,
|
|
85
|
-
justifyContent: 'space-between'
|
|
86
|
-
}, React__default.createElement(Box, {
|
|
87
|
-
alignItems: 'center',
|
|
88
|
-
justifyContent: 'center',
|
|
89
|
-
borderRadius: "$full"
|
|
90
|
-
}, React__default.createElement(Button, {
|
|
91
|
-
borderRadius: "$full",
|
|
92
|
-
bg: '$green100',
|
|
93
|
-
size: 'lg'
|
|
94
|
-
}, React__default.createElement(ButtonIcon, {
|
|
95
|
-
color: '#14532d',
|
|
96
|
-
as: CheckIcon
|
|
97
|
-
}))), React__default.createElement(Heading, {
|
|
98
|
-
textAlign: 'center'
|
|
99
|
-
}, "Invitation sent"), React__default.createElement(HStack, {
|
|
100
|
-
flex: 1,
|
|
101
|
-
space: 'sm',
|
|
102
|
-
px: '$4',
|
|
103
|
-
pr: '$10'
|
|
104
|
-
}, React__default.createElement(Box, null, React__default.createElement(AntDesign, {
|
|
105
|
-
color: "black",
|
|
106
|
-
name: "adduser",
|
|
107
|
-
size: 30
|
|
108
|
-
})), React__default.createElement(Box, null, React__default.createElement(Text, {
|
|
109
|
-
color: '$black',
|
|
110
|
-
fontWeight: '$bold'
|
|
111
|
-
}, email), React__default.createElement(Text, null, "Invited as a member of ", orgName, ".They'll be able to receive and reply to messages by email untill they join."))), React__default.createElement(Box, {
|
|
112
|
-
px: '$5'
|
|
113
|
-
}, React__default.createElement(Button, {
|
|
114
|
-
bg: '$green900',
|
|
115
|
-
"$pressed-bg": "$green600",
|
|
116
|
-
"$active-bg": '$green600',
|
|
117
|
-
rounded: '$lg',
|
|
118
|
-
onPress: () => {
|
|
119
|
-
setEmail('');
|
|
120
|
-
navigation.goBack();
|
|
121
|
-
}
|
|
122
|
-
}, React__default.createElement(ButtonText, {
|
|
123
|
-
fontWeight: "600",
|
|
124
|
-
fontSize: 15
|
|
125
|
-
}, "Done"))))) : React__default.createElement(Input, {
|
|
126
|
-
variant: "underlined",
|
|
127
|
-
borderWidth: '$1',
|
|
128
|
-
size: 'xl',
|
|
129
|
-
borderColor: '$coolGray300'
|
|
130
|
-
}, React__default.createElement(InputField, {
|
|
131
|
-
px: '$3',
|
|
132
|
-
type: "text",
|
|
133
|
-
size: "xl",
|
|
134
|
-
textTransform: 'none',
|
|
135
|
-
autoCapitalize: 'none',
|
|
136
|
-
autoCorrect: false,
|
|
137
|
-
placeholderTextColor: '#404040',
|
|
138
|
-
fontSize: 14,
|
|
139
|
-
value: email,
|
|
140
|
-
placeholder: "name@example.com",
|
|
141
|
-
onChangeText: v => setEmail(v),
|
|
142
|
-
textContentType: "emailAddress",
|
|
143
|
-
keyboardType: "email-address"
|
|
144
|
-
}))
|
|
145
|
-
// <Input
|
|
146
|
-
// textTransform={'none'}
|
|
147
|
-
// borderWidth={1}
|
|
148
|
-
// borderColor={'coolGray.300'}
|
|
149
|
-
// _focus={{ borderColor: 'coolGray.300' }}
|
|
150
|
-
// py={4}
|
|
151
|
-
// px={3}
|
|
152
|
-
// _input={{ placeholderTextColor: '#404040', fontSize: 14 }}
|
|
153
|
-
// variant="underlined"
|
|
154
|
-
// placeholder="name@example.com"
|
|
155
|
-
// value={email}
|
|
156
|
-
// onChangeText={(v) => setEmail(v)}
|
|
157
|
-
// textContentType="emailAddress"
|
|
158
|
-
// keyboardType="email-address"
|
|
159
|
-
// autoCapitalize="none"
|
|
160
|
-
// autoCorrect={false}
|
|
161
|
-
// />
|
|
162
|
-
);
|
|
62
|
+
return /* @__PURE__ */ React__default.createElement(Box, { flex: 1, bg: "$white" }, emailSent ? /* @__PURE__ */ React__default.createElement(SafeAreaView, { flex: 1 }, /* @__PURE__ */ React__default.createElement(VStack, { space: "lg", py: "$5", flex: 1, justifyContent: "space-between" }, /* @__PURE__ */ React__default.createElement(Box, { alignItems: "center", justifyContent: "center", borderRadius: "$full" }, /* @__PURE__ */ React__default.createElement(Button, { borderRadius: "$full", bg: "$green100", size: "lg" }, /* @__PURE__ */ React__default.createElement(ButtonIcon, { color: "#14532d", as: CheckIcon }))), /* @__PURE__ */ React__default.createElement(Heading, { textAlign: "center" }, "Invitation sent"), /* @__PURE__ */ React__default.createElement(HStack, { flex: 1, space: "sm", px: "$4", pr: "$10" }, /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(AntDesign, { color: "black", name: "adduser", size: 30 })), /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(Text, { color: "$black", fontWeight: "$bold" }, email), /* @__PURE__ */ React__default.createElement(Text, null, "Invited as a member of ", orgName, ".They'll be able to receive and reply to messages by email untill they join."))), /* @__PURE__ */ React__default.createElement(Box, { px: "$5" }, /* @__PURE__ */ React__default.createElement(Button, { bg: "$green900", "$pressed-bg": "$green600", "$active-bg": "$green600", rounded: "$lg", onPress: () => {
|
|
63
|
+
setEmail("");
|
|
64
|
+
navigation.goBack();
|
|
65
|
+
} }, /* @__PURE__ */ React__default.createElement(ButtonText, { fontWeight: "600", fontSize: 15 }, "Done"))))) : /* @__PURE__ */ React__default.createElement(Input, { variant: "underlined", borderWidth: "$1", size: "xl", borderColor: "$coolGray300" }, /* @__PURE__ */ React__default.createElement(InputField, { px: "$3", type: "text", size: "xl", textTransform: "none", autoCapitalize: "none", autoCorrect: false, placeholderTextColor: "#404040", fontSize: 14, value: email, placeholder: "name@example.com", onChangeText: (v) => setEmail(v), textContentType: "emailAddress", keyboardType: "email-address" })));
|
|
163
66
|
};export{AddPeopleByEmail as default};//# sourceMappingURL=AddByEmail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddByEmail.js","sources":["../../../src/screens/Peoples/AddByEmail.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddByEmail.js","sources":["../../../src/screens/Peoples/AddByEmail.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport {\n Input,\n InputField,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n ButtonIcon,\n SafeAreaView,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n Image,\n Checkbox,\n ChevronLeftIcon,\n Heading,\n CheckIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StyleSheet, TouchableOpacity, Linking, Platform, Dimensions } from 'react-native';\nimport Colors from '../../constants/Colors';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, Ionicons } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused } from '@react-navigation/native';\nimport { useSendOrganizationInvitationMutation } from 'common/lib/generated/generated.js';\nimport { useDrawerLayout } from '../../hooks';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\nconst screenHeight = Dimensions.get('screen').height;\n\nconst AddPeopleByEmail = ({ navigation, route }: any) => {\n const isFocused = useIsFocused();\n const { orgName } = useDrawerLayout();\n const user = useSelector(userSelector);\n const [contacts, setContacts] = useState([]);\n const [email, setEmail] = useState('');\n // const emailReg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w\\w+)+$/;\n const emailReg = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const [emailSent, setEmailSent] = useState(false);\n const [sendOrganizationInvitationMutation, { data, loading, error }] = useSendOrganizationInvitationMutation({\n onCompleted: (res) => {\n console.log('org invitation res', JSON.stringify(res));\n if (res?.sendOrganizationInvitation) setEmailSent(true);\n },\n onError: (e) => {\n console.log('e', JSON.stringify(e));\n setEmailSent(false);\n },\n });\n\n useEffect(() => {\n return () => {\n setEmailSent(false);\n setEmail('');\n };\n }, []);\n\n useEffect(() => {\n if (isFocused) {\n }\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n title: emailSent ? '' : 'Add by Email',\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation?.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <>\n {emailSent ? (\n <></>\n ) : (\n <Button\n mr={'$2'}\n disabled={email && emailReg.test(email) === true ? false : true}\n variant={'link'}\n onPress={() =>\n sendOrganizationInvitationMutation({\n variables: {\n request: {\n emails: [email],\n orgName: orgName,\n invitedBy: user?.profile?.name,\n sentInvitee: true,\n },\n },\n })\n }\n >\n <ButtonText color={email && emailReg.test(email) === true ? '$black' : '$trueGray400'}>\n SEND\n </ButtonText>\n </Button>\n )}\n </>\n ),\n });\n }, [isFocused, navigation, email, orgName, user, emailSent]);\n\n return (\n <Box flex={1} bg={'$white'}>\n {emailSent ? (\n <SafeAreaView flex={1}>\n <VStack space={'lg'} py={'$5'} flex={1} justifyContent={'space-between'}>\n <Box alignItems={'center'} justifyContent={'center'} borderRadius=\"$full\">\n {/* <CheckIcon size={10} mt=\"0.5\" color=\"emerald.500\" /> */}\n <Button borderRadius=\"$full\" bg={'$green100'} size={'lg'}>\n {/* <AntDesign name=\"check\" size={25} /> */}\n <ButtonIcon color={'#14532d'} as={CheckIcon} />\n </Button>\n </Box>\n <Heading textAlign={'center'}>Invitation sent</Heading>\n <HStack flex={1} space={'sm'} px={'$4'} pr={'$10'}>\n <Box>\n <AntDesign color=\"black\" name=\"adduser\" size={30} />\n </Box>\n <Box>\n <Text color={'$black'} fontWeight={'$bold'}>\n {email}\n </Text>\n <Text>\n Invited as a member of {orgName}.They'll be able to receive and reply to messages by\n email untill they join.\n </Text>\n </Box>\n </HStack>\n <Box px={'$5'}>\n <Button\n bg={'$green900'}\n $pressed-bg=\"$green600\"\n $active-bg={'$green600'}\n rounded={'$lg'}\n onPress={() => {\n setEmail('');\n navigation.goBack();\n }}\n >\n <ButtonText fontWeight=\"600\" fontSize={15}>\n Done\n </ButtonText>\n </Button>\n </Box>\n </VStack>\n </SafeAreaView>\n ) : (\n <Input variant=\"underlined\" borderWidth={'$1'} size={'xl'} borderColor={'$coolGray300'}>\n <InputField\n px={'$3'}\n type=\"text\"\n size=\"xl\"\n textTransform={'none'}\n autoCapitalize={'none'}\n autoCorrect={false}\n placeholderTextColor={'#404040'}\n fontSize={14}\n value={email}\n placeholder=\"name@example.com\"\n onChangeText={(v) => setEmail(v)}\n textContentType=\"emailAddress\"\n keyboardType=\"email-address\"\n />\n </Input>\n // <Input\n // textTransform={'none'}\n // borderWidth={1}\n // borderColor={'coolGray.300'}\n // _focus={{ borderColor: 'coolGray.300' }}\n // py={4}\n // px={3}\n // _input={{ placeholderTextColor: '#404040', fontSize: 14 }}\n // variant=\"underlined\"\n // placeholder=\"name@example.com\"\n // value={email}\n // onChangeText={(v) => setEmail(v)}\n // textContentType=\"emailAddress\"\n // keyboardType=\"email-address\"\n // autoCapitalize=\"none\"\n // autoCorrect={false}\n // />\n )}\n {/* <View flex={1}>\n <VirtualizedScrollView>\n <VStack space=\"5\" pt={2}></VStack>\n </VirtualizedScrollView>\n </View> */}\n </Box>\n );\n};\n\nexport default AddPeopleByEmail;\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default,{useState,useEffect}from'react';import {Button,ButtonText,View,Input,InputField,VStack,FlatList,Box,Text,HStack,Image,Avatar,AvatarFallbackText,Checkbox,CheckboxIndicator,CheckboxIcon,CheckIcon}from'@admin-layout/gluestack-ui-mobile';import {TouchableOpacity,Platform,Linking}from'react-native';import {useGetOrganizationSharableLinkQuery}from'common/lib/generated/generated.js';import {NavigationRoutes}from'../../constants/routes.js';import {Ionicons}from'@expo/vector-icons';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useIsFocused}from'@react-navigation/native';import*as Contacts from'expo-contacts';import {config}from'../../config/env-config.js';const AddFromContacts = ({
|
|
2
2
|
navigation,
|
|
3
3
|
route
|
|
4
4
|
}) => {
|
|
@@ -8,193 +8,117 @@ import {__awaiter}from'tslib';import React__default,{useState,useEffect}from'rea
|
|
|
8
8
|
const {
|
|
9
9
|
data: organizationSharableLink
|
|
10
10
|
} = useGetOrganizationSharableLinkQuery();
|
|
11
|
-
useEffect(() => {}, [selectedContacts]);
|
|
12
11
|
useEffect(() => {
|
|
13
|
-
|
|
12
|
+
}, [selectedContacts]);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
(async () => {
|
|
14
15
|
const {
|
|
15
16
|
status
|
|
16
|
-
} =
|
|
17
|
-
if (status ===
|
|
17
|
+
} = await Contacts.requestPermissionsAsync();
|
|
18
|
+
if (status === "granted") {
|
|
18
19
|
const {
|
|
19
20
|
data
|
|
20
|
-
} =
|
|
21
|
+
} = await Contacts.getContactsAsync({
|
|
21
22
|
fields: [Contacts.Fields.FirstName, Contacts.Fields.LastName, Contacts.Fields.PhoneNumbers, Contacts.Fields.Image]
|
|
22
|
-
// fields: [Contacts.Fields.Emails, Contacts.PHONE_NUMBERS, Contacts.IMAGE],
|
|
23
23
|
});
|
|
24
24
|
if (data.length > 0) {
|
|
25
|
-
const
|
|
26
|
-
setContacts(
|
|
25
|
+
const contacts2 = data;
|
|
26
|
+
setContacts(contacts2);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
})
|
|
29
|
+
})();
|
|
30
30
|
}, []);
|
|
31
31
|
useEffect(() => {
|
|
32
32
|
navigation.setOptions({
|
|
33
33
|
headerShown: true,
|
|
34
|
-
headerTitleAlign:
|
|
34
|
+
headerTitleAlign: "left",
|
|
35
35
|
headerTitleStyle: {},
|
|
36
|
-
headerLeft: props => React__default.createElement(TouchableOpacity, {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
}, React__default.createElement(Ionicons, {
|
|
47
|
-
color: "black",
|
|
48
|
-
name: "chevron-back",
|
|
49
|
-
size: 20
|
|
50
|
-
})),
|
|
51
|
-
headerRight: props => React__default.createElement(Button, {
|
|
52
|
-
mr: '$2',
|
|
53
|
-
onPress: () => sendInvitation(),
|
|
54
|
-
disabled: selectedContacts.length > 0 ? false : true,
|
|
55
|
-
variant: 'link'
|
|
56
|
-
}, React__default.createElement(ButtonText, {
|
|
57
|
-
color: selectedContacts.length > 0 ? '$black' : '$trueGray500'
|
|
58
|
-
}, "Send"))
|
|
36
|
+
headerLeft: (props) => /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: {
|
|
37
|
+
paddingHorizontal: 10
|
|
38
|
+
}, onPress: () => {
|
|
39
|
+
var _a;
|
|
40
|
+
return navigation.navigate(NavigationRoutes.Home, {
|
|
41
|
+
orgName: (_a = route == null ? void 0 : route.params) == null ? void 0 : _a.orgName
|
|
42
|
+
});
|
|
43
|
+
} }, /* @__PURE__ */ React__default.createElement(Ionicons, { color: "black", name: "chevron-back", size: 20 })),
|
|
44
|
+
headerRight: (props) => /* @__PURE__ */ React__default.createElement(Button, { mr: "$2", onPress: () => sendInvitation(), disabled: selectedContacts.length > 0 ? false : true, variant: "link" }, /* @__PURE__ */ React__default.createElement(ButtonText, { color: selectedContacts.length > 0 ? "$black" : "$trueGray500" }, "Send"))
|
|
59
45
|
});
|
|
60
46
|
}, [isFocused, navigation, selectedContacts]);
|
|
61
|
-
const setSelectedContactsData = item => {
|
|
47
|
+
const setSelectedContactsData = (item) => {
|
|
62
48
|
let obj = {
|
|
63
49
|
id: item.id,
|
|
64
|
-
name: item.firstName +
|
|
50
|
+
name: item.firstName + " " + item.lastName,
|
|
65
51
|
mobile: item.phoneNumbers[0]
|
|
66
52
|
};
|
|
67
|
-
const resultArr = selectedContacts.filter(arrObj => arrObj.id !== obj.id);
|
|
68
|
-
if (resultArr.length === selectedContacts.length)
|
|
53
|
+
const resultArr = selectedContacts.filter((arrObj) => arrObj.id !== obj.id);
|
|
54
|
+
if (resultArr.length === selectedContacts.length)
|
|
55
|
+
resultArr.push(obj);
|
|
69
56
|
setSelectedContacts(resultArr);
|
|
70
57
|
};
|
|
71
58
|
const renderContactList = ({
|
|
72
59
|
item
|
|
73
60
|
}) => {
|
|
74
61
|
var _a, _b, _c, _d, _e;
|
|
75
|
-
const title = (_b = (_a = item
|
|
76
|
-
const matches = (_c = title
|
|
77
|
-
const acronym = (_e = (_d = matches
|
|
78
|
-
return React__default.createElement(TouchableOpacity, {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
onPress: () => setSelectedContactsData(item)
|
|
84
|
-
}, React__default.createElement(Box, {
|
|
85
|
-
pl: '$4',
|
|
86
|
-
pr: '$5',
|
|
87
|
-
py: "$2"
|
|
88
|
-
}, React__default.createElement(HStack, {
|
|
89
|
-
space: 'sm',
|
|
90
|
-
justifyContent: "space-between",
|
|
91
|
-
alignItems: 'center'
|
|
92
|
-
}, React__default.createElement(HStack, {
|
|
93
|
-
alignItems: "center"
|
|
94
|
-
}, item.imageAvailable ? React__default.createElement(Image, {
|
|
95
|
-
mx: '$2',
|
|
96
|
-
px: '$2',
|
|
97
|
-
py: '$2',
|
|
98
|
-
size: "sm",
|
|
99
|
-
source: {
|
|
100
|
-
uri: item.image.uri
|
|
101
|
-
},
|
|
102
|
-
alt: item.firstName
|
|
103
|
-
}) : React__default.createElement(Button, {
|
|
104
|
-
mx: '$2',
|
|
105
|
-
px: '$2',
|
|
106
|
-
py: '$2',
|
|
107
|
-
size: 'sm',
|
|
108
|
-
bg: '$coolGray500'
|
|
109
|
-
}, React__default.createElement(Avatar, {
|
|
110
|
-
bg: 'transparent',
|
|
111
|
-
size: 'sm'
|
|
112
|
-
}, React__default.createElement(AvatarFallbackText, {
|
|
113
|
-
color: '$white',
|
|
114
|
-
fontWeight: "600"
|
|
115
|
-
}, acronym))), React__default.createElement(Box, null, React__default.createElement(Text, {
|
|
116
|
-
color: "$coolGray800",
|
|
117
|
-
fontWeight: "$bold"
|
|
118
|
-
}, item.firstName, " ", item.lastName), React__default.createElement(Text, null, item.phoneNumbers[0].number))), React__default.createElement(Checkbox, {
|
|
119
|
-
onChange: () => setSelectedContactsData(item),
|
|
120
|
-
value: item.id,
|
|
121
|
-
isChecked: selectedContacts.filter(i => i.id === item.id).length > 0 ? true : false,
|
|
122
|
-
accessibilityLabel: item.firstName,
|
|
123
|
-
"aria-label": item.firstName
|
|
124
|
-
}, React__default.createElement(CheckboxIndicator, null, React__default.createElement(CheckboxIcon, {
|
|
125
|
-
as: CheckIcon
|
|
126
|
-
}))))));
|
|
62
|
+
const title = (_b = (_a = item == null ? void 0 : item.firstName) != null ? _a : " " + (item == null ? void 0 : item.lastName)) != null ? _b : "";
|
|
63
|
+
const matches = (_c = title == null ? void 0 : title.match(/\b(\w)/g)) != null ? _c : "";
|
|
64
|
+
const acronym = (_e = (_d = matches == null ? void 0 : matches.join("")) == null ? void 0 : _d.substring(0, 2)) != null ? _e : "";
|
|
65
|
+
return /* @__PURE__ */ React__default.createElement(TouchableOpacity, { key: item.id, style: {
|
|
66
|
+
marginTop: 5
|
|
67
|
+
}, onPress: () => setSelectedContactsData(item) }, /* @__PURE__ */ React__default.createElement(Box, { pl: "$4", pr: "$5", py: "$2" }, /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", justifyContent: "space-between", alignItems: "center" }, /* @__PURE__ */ React__default.createElement(HStack, { alignItems: "center" }, item.imageAvailable ? /* @__PURE__ */ React__default.createElement(Image, { mx: "$2", px: "$2", py: "$2", size: "sm", source: {
|
|
68
|
+
uri: item.image.uri
|
|
69
|
+
}, alt: item.firstName }) : /* @__PURE__ */ React__default.createElement(Button, { mx: "$2", px: "$2", py: "$2", size: "sm", bg: "$coolGray500" }, /* @__PURE__ */ React__default.createElement(Avatar, { bg: "transparent", size: "sm" }, /* @__PURE__ */ React__default.createElement(AvatarFallbackText, { color: "$white", fontWeight: "600" }, acronym))), /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(Text, { color: "$coolGray800", fontWeight: "$bold" }, item.firstName, " ", item.lastName), /* @__PURE__ */ React__default.createElement(Text, null, item.phoneNumbers[0].number))), /* @__PURE__ */ React__default.createElement(Checkbox, { onChange: () => setSelectedContactsData(item), value: item.id, isChecked: selectedContacts.filter((i) => i.id === item.id).length > 0 ? true : false, accessibilityLabel: item.firstName, "aria-label": item.firstName }, /* @__PURE__ */ React__default.createElement(CheckboxIndicator, null, /* @__PURE__ */ React__default.createElement(CheckboxIcon, { as: CheckIcon }))))));
|
|
127
70
|
};
|
|
128
71
|
const sendInvitation = () => {
|
|
129
72
|
var _a;
|
|
130
|
-
const mobileNumbers = selectedContacts.map(i => i.mobile.number);
|
|
131
|
-
let numbers =
|
|
132
|
-
mobileNumbers.forEach(phoneNumber => {
|
|
133
|
-
numbers += `${phoneNumber.replace(/\s/g,
|
|
73
|
+
const mobileNumbers = selectedContacts.map((i) => i.mobile.number);
|
|
74
|
+
let numbers = "";
|
|
75
|
+
mobileNumbers.forEach((phoneNumber) => {
|
|
76
|
+
numbers += `${phoneNumber.replace(/\s/g, "")},`;
|
|
134
77
|
});
|
|
135
78
|
numbers = numbers.slice(0, -1);
|
|
136
|
-
Platform.OS ===
|
|
137
|
-
const message = `Join me on ${config.APP_NAME} - it's faster, simpler way to work.Singup here from any device. ${(_a = organizationSharableLink
|
|
138
|
-
|
|
139
|
-
const url = Platform.OS === 'android' ? `sms:${numbers}?body=${encodeURIComponent(message)}` : `sms:/open?addresses=${numbers}&body=${encodeURIComponent(message)}`;
|
|
79
|
+
Platform.OS === "ios" ? "&" : "?";
|
|
80
|
+
const message = `Join me on ${config.APP_NAME} - it's faster, simpler way to work.Singup here from any device. ${(_a = organizationSharableLink == null ? void 0 : organizationSharableLink.getOrganizationSharableLink) != null ? _a : ""}`;
|
|
81
|
+
const url = Platform.OS === "android" ? `sms:${numbers}?body=${encodeURIComponent(message)}` : `sms:/open?addresses=${numbers}&body=${encodeURIComponent(message)}`;
|
|
140
82
|
Linking.openURL(url);
|
|
141
83
|
};
|
|
142
|
-
return React__default.createElement(View, {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
color: "$black",
|
|
160
|
-
placeholder: "Search",
|
|
161
|
-
onChange: ({
|
|
162
|
-
nativeEvent: {
|
|
163
|
-
eventCount,
|
|
164
|
-
target,
|
|
165
|
-
text
|
|
166
|
-
}
|
|
167
|
-
}) => {},
|
|
168
|
-
autoCapitalize: 'none',
|
|
169
|
-
autoCorrect: false
|
|
170
|
-
})), React__default.createElement(View, {
|
|
171
|
-
flex: 1
|
|
172
|
-
}, React__default.createElement(VirtualizedScrollView, null, React__default.createElement(VStack, {
|
|
173
|
-
space: "md",
|
|
174
|
-
pt: '$2'
|
|
175
|
-
}, React__default.createElement(FlatList, {
|
|
176
|
-
px: '$2',
|
|
177
|
-
contentContainerStyle: {
|
|
178
|
-
flex: 1
|
|
179
|
-
},
|
|
180
|
-
data: contacts && contacts.length > 0 ? contacts : [],
|
|
181
|
-
// data={[]}
|
|
182
|
-
renderItem: renderContactList,
|
|
183
|
-
ListEmptyComponent: () => {
|
|
184
|
-
return React__default.createElement(TouchableOpacity, {
|
|
185
|
-
style: {
|
|
186
|
-
marginTop: 5
|
|
84
|
+
return /* @__PURE__ */ React__default.createElement(View, { flex: 1, bg: "$white" }, /* @__PURE__ */ React__default.createElement(Input, { pl: "$4", variant: "underlined" }, /* @__PURE__ */ React__default.createElement(
|
|
85
|
+
InputField,
|
|
86
|
+
{
|
|
87
|
+
px: "$3",
|
|
88
|
+
bg: "$coolGray100",
|
|
89
|
+
alignItems: "center",
|
|
90
|
+
type: "text",
|
|
91
|
+
size: "xl",
|
|
92
|
+
placeholderTextColor: "#404040",
|
|
93
|
+
fontSize: 14,
|
|
94
|
+
color: "$black",
|
|
95
|
+
placeholder: "Search",
|
|
96
|
+
onChange: ({
|
|
97
|
+
nativeEvent: {
|
|
98
|
+
eventCount,
|
|
99
|
+
target,
|
|
100
|
+
text
|
|
187
101
|
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
102
|
+
}) => {
|
|
103
|
+
},
|
|
104
|
+
autoCapitalize: "none",
|
|
105
|
+
autoCorrect: false
|
|
106
|
+
}
|
|
107
|
+
)), /* @__PURE__ */ React__default.createElement(View, { flex: 1 }, /* @__PURE__ */ React__default.createElement(VirtualizedScrollView, null, /* @__PURE__ */ React__default.createElement(VStack, { space: "md", pt: "$2" }, /* @__PURE__ */ React__default.createElement(
|
|
108
|
+
FlatList,
|
|
109
|
+
{
|
|
110
|
+
px: "$2",
|
|
111
|
+
contentContainerStyle: {
|
|
112
|
+
flex: 1
|
|
113
|
+
},
|
|
114
|
+
data: contacts && contacts.length > 0 ? contacts : [],
|
|
115
|
+
renderItem: renderContactList,
|
|
116
|
+
ListEmptyComponent: () => {
|
|
117
|
+
return /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: {
|
|
118
|
+
marginTop: 5
|
|
119
|
+
} }, /* @__PURE__ */ React__default.createElement(Box, { bg: "#fff", py: "$2" }, /* @__PURE__ */ React__default.createElement(VStack, { space: "md" }, /* @__PURE__ */ React__default.createElement(Box, { px: "$4", py: "$5" }, /* @__PURE__ */ React__default.createElement(Text, null, "No contact found")))));
|
|
120
|
+
},
|
|
121
|
+
key: "add-from-contacts-search-list"
|
|
122
|
+
}
|
|
123
|
+
)))));
|
|
200
124
|
};export{AddFromContacts as default};//# sourceMappingURL=AddFromContacts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddFromContacts.js","sources":["../../../src/screens/Peoples/AddFromContacts.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddFromContacts.js","sources":["../../../src/screens/Peoples/AddFromContacts.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport {\n Input,\n InputField,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n ButtonIcon,\n SafeAreaView,\n CheckIcon,\n FlatList,\n HStack,\n Avatar,\n AvatarImage,\n AvatarFallbackText,\n Image,\n Checkbox,\n CheckboxIndicator,\n CheckboxIcon,\n Textarea,\n TextareaInput,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StyleSheet, TouchableOpacity, Linking, Platform } from 'react-native';\nimport Colors from '../../constants/Colors';\nimport {\n useGetOrganizationSharableLinkQuery,\n useAddChannelMutation,\n useGetChannelsByUserQuery,\n} from 'common/lib/generated/generated.js';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, Ionicons } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused } from '@react-navigation/native';\nimport * as Contacts from 'expo-contacts';\nimport { config } from '../../config';\n\nconst AddFromContacts = ({ navigation, route }: any) => {\n const isFocused = useIsFocused();\n const [contacts, setContacts] = useState([]);\n const [selectedContacts, setSelectedContacts] = useState<any>([]);\n const { data: organizationSharableLink } = useGetOrganizationSharableLinkQuery();\n\n useEffect(() => {}, [selectedContacts]);\n\n useEffect(() => {\n (async () => {\n const { status } = await Contacts.requestPermissionsAsync();\n if (status === 'granted') {\n const { data } = await Contacts.getContactsAsync({\n fields: [\n Contacts.Fields.FirstName,\n Contacts.Fields.LastName,\n Contacts.Fields.PhoneNumbers,\n Contacts.Fields.Image,\n ],\n // fields: [Contacts.Fields.Emails, Contacts.PHONE_NUMBERS, Contacts.IMAGE],\n });\n\n if (data.length > 0) {\n const contacts: any = data;\n setContacts(contacts);\n }\n }\n })();\n }, []);\n\n useEffect(() => {\n if (isFocused) {\n }\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerLeft: (props: any) => (\n <TouchableOpacity\n style={{ paddingHorizontal: 10 }}\n onPress={() => navigation.navigate(NavigationRoutes.Home, { orgName: route?.params?.orgName })}\n >\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <Button\n mr={'$2'}\n onPress={() => sendInvitation()}\n disabled={selectedContacts.length > 0 ? false : true}\n variant={'link'}\n >\n <ButtonText color={selectedContacts.length > 0 ? '$black' : '$trueGray500'}>Send</ButtonText>\n </Button>\n ),\n });\n }, [isFocused, navigation, selectedContacts]);\n\n const setSelectedContactsData = (item: any) => {\n let obj = { id: item.id, name: item.firstName + ' ' + item.lastName, mobile: item.phoneNumbers[0] };\n const resultArr = selectedContacts.filter((arrObj: any) => arrObj.id !== obj.id);\n if (resultArr.length === selectedContacts.length) resultArr.push(obj);\n\n setSelectedContacts(resultArr);\n };\n\n const renderContactList = ({ item }: any) => {\n const title = item?.firstName ?? '' + ' ' + item?.lastName ?? '';\n const matches: any = title?.match(/\\b(\\w)/g) ?? '';\n const acronym: any = matches?.join('')?.substring(0, 2) ?? '';\n return (\n <TouchableOpacity key={item.id} style={{ marginTop: 5 }} onPress={() => setSelectedContactsData(item)}>\n <Box pl={'$4'} pr={'$5'} py=\"$2\">\n <HStack space={'sm'} justifyContent=\"space-between\" alignItems={'center'}>\n <HStack alignItems=\"center\">\n {item.imageAvailable ? (\n <Image\n mx={'$2'}\n px={'$2'}\n py={'$2'}\n size=\"sm\"\n source={{ uri: item.image.uri }}\n alt={item.firstName}\n />\n ) : (\n <Button mx={'$2'} px={'$2'} py={'$2'} size={'sm'} bg={'$coolGray500'}>\n <Avatar bg={'transparent'} size={'sm'}>\n <AvatarFallbackText color={'$white'} fontWeight=\"600\">\n {acronym}\n </AvatarFallbackText>\n </Avatar>\n </Button>\n )}\n\n <Box>\n <Text color=\"$coolGray800\" fontWeight=\"$bold\">\n {item.firstName} {item.lastName}\n </Text>\n <Text>{item.phoneNumbers[0].number}</Text>\n </Box>\n </HStack>\n\n <Checkbox\n onChange={() => setSelectedContactsData(item)}\n value={item.id}\n isChecked={selectedContacts.filter((i: any) => i.id === item.id).length > 0 ? true : false}\n accessibilityLabel={item.firstName}\n aria-label={item.firstName}\n >\n <CheckboxIndicator>\n <CheckboxIcon as={CheckIcon} />\n </CheckboxIndicator>\n </Checkbox>\n </HStack>\n </Box>\n </TouchableOpacity>\n );\n };\n\n const sendInvitation = () => {\n const mobileNumbers = selectedContacts.map((i: any) => i.mobile.number);\n let numbers = '';\n mobileNumbers.forEach((phoneNumber: string) => {\n numbers += `${phoneNumber.replace(/\\s/g, '')},`;\n });\n numbers = numbers.slice(0, -1);\n const smtDivider = Platform.OS === 'ios' ? '&' : '?';\n\n const message = `Join me on ${\n config.APP_NAME\n } - it's faster, simpler way to work.Singup here from any device. ${\n organizationSharableLink?.getOrganizationSharableLink ?? ''\n }`;\n // Linking.openURL(`sms:&addresses=${mobileNumbers}${smtDivider}body=${message}`);\n const url =\n Platform.OS === 'android'\n ? `sms:${numbers}?body=${encodeURIComponent(message)}`\n : `sms:/open?addresses=${numbers}&body=${encodeURIComponent(message)}`;\n Linking.openURL(url);\n };\n\n return (\n <View flex={1} bg={'$white'}>\n <Input pl={'$4'} variant=\"underlined\">\n <InputField\n //autoFocus={true}\n px={'$3'}\n bg={'$coolGray100'}\n alignItems=\"center\"\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n fontSize={14}\n color=\"$black\"\n placeholder=\"Search\"\n onChange={({ nativeEvent: { eventCount, target, text } }) => {}}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n {/* \n <Textarea\n h={'$10'}\n bg={'$coolGray100'}\n // py={4}\n px={'$3'}\n >\n <TextareaInput placeholderTextColor={'#404040'} fontSize={14} placeholder=\"Search...\" />\n </Textarea> */}\n <View flex={1}>\n <VirtualizedScrollView>\n <VStack space=\"md\" pt={'$2'}>\n <FlatList\n px={'$2'}\n contentContainerStyle={{\n flex: 1,\n }}\n data={contacts && contacts.length > 0 ? contacts : []}\n // data={[]}\n renderItem={renderContactList}\n ListEmptyComponent={() => {\n return (\n <TouchableOpacity style={{ marginTop: 5 }}>\n <Box bg={'#fff'} py={'$2'}>\n <VStack space=\"md\">\n <Box px=\"$4\" py={'$5'}>\n <Text>No contact found</Text>\n </Box>\n </VStack>\n </Box>\n </TouchableOpacity>\n );\n }}\n key={'add-from-contacts-search-list'}\n />\n </VStack>\n </VirtualizedScrollView>\n </View>\n </View>\n );\n};\n\nexport default AddFromContacts;\n"],"names":["contacts","React"],"mappings":"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"}
|