@messenger-box/slack-ui-mobile 10.0.3-alpha.7 → 10.0.3-alpha.72
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/Actionsheet.js +96 -0
- package/lib/components/Actionsheet.js.map +1 -0
- package/lib/components/AppRootContextProviderComponent.js +16 -2
- package/lib/components/AppRootContextProviderComponent.js.map +1 -1
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js +13 -7
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js.map +1 -1
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js +11 -24
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js.map +1 -1
- package/lib/components/CustomDrawer/CustomDrawer.js +31 -31
- package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
- package/lib/components/Header/styles.js +2 -2
- package/lib/components/Header/styles.js.map +1 -1
- package/lib/components/LoadingSpinner/index.js +3 -3
- package/lib/components/LoadingSpinner/index.js.map +1 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.js +20 -25
- package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js +58 -40
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeaderChat.js +9 -9
- package/lib/components/NavigationHeader/NavigationHeaderChat.js.map +1 -1
- package/lib/components/NavigationHeader/index.js +1 -1
- package/lib/components/SlackSearchInput/Suggestion.js +1 -1
- package/lib/components/SlackSearchInput/Tag.js +1 -1
- package/lib/components/SlackSearchInput/index.js +3 -3
- package/lib/components/SlackSearchInput/index.js.map +1 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +19 -4
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js.map +1 -1
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js +41 -31
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
- package/lib/compute.js +32 -23
- package/lib/compute.js.map +1 -1
- package/lib/constants/Colors.js +2 -2
- package/lib/constants/globalStyles.js +3 -3
- package/lib/constants/globalStyles.js.map +1 -1
- package/lib/hooks/useOptimizedChannelsQueries.js +106 -0
- package/lib/hooks/useOptimizedChannelsQueries.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/navigation/SearchTabNavigation.js +47 -39
- package/lib/navigation/SearchTabNavigation.js.map +1 -1
- package/lib/navigation/TeamTabNavigation.js +51 -38
- package/lib/navigation/TeamTabNavigation.js.map +1 -1
- package/lib/queries/slackuiQueries.js +129 -0
- package/lib/queries/slackuiQueries.js.map +1 -0
- package/lib/routes.json +32 -23
- package/lib/screens/Account/AccountScreen.js +23 -26
- package/lib/screens/Account/AccountScreen.js.map +1 -1
- package/lib/screens/Activity/ActivityScreen.js +6 -2
- package/lib/screens/Activity/ActivityScreen.js.map +1 -1
- package/lib/screens/Channels/Add/AddName.js +33 -8
- package/lib/screens/Channels/Add/AddName.js.map +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js +6 -6
- package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
- package/lib/screens/Channels/AddChannel.js +5 -3
- package/lib/screens/Channels/AddChannel.js.map +1 -1
- package/lib/screens/Channels/Channels.js +101 -95
- package/lib/screens/Channels/Channels.js.map +1 -1
- package/lib/screens/Files/FilesScreen.js +2 -2
- package/lib/screens/Files/FilesScreen.js.map +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js +91 -77
- package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +249 -115
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
- package/lib/screens/Home/Components/InviteMembers/index.js +88 -0
- package/lib/screens/Home/Components/InviteMembers/index.js.map +1 -0
- package/lib/screens/Home/Components/Teams/Teams.js +110 -47
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +44 -75
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +161 -194
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/styles.js +4 -4
- package/lib/screens/Home/styles.js.map +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js +67 -34
- package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
- package/lib/screens/Inbox/InboxDialogMessages.js +2 -2
- package/lib/screens/Inbox/InboxDialogMessages.js.map +1 -1
- package/lib/screens/Inbox/InboxScreen.js +3 -3
- package/lib/screens/Inbox/InboxScreen.js.map +1 -1
- package/lib/screens/Login.js +4 -2
- package/lib/screens/Login.js.map +1 -1
- package/lib/screens/Organization/AddWorkspace.js +42 -38
- package/lib/screens/Organization/AddWorkspace.js.map +1 -1
- package/lib/screens/Organization/CreateOrganization.js +11 -2
- package/lib/screens/Organization/CreateOrganization.js.map +1 -1
- package/lib/screens/Organization/InitialChannelOnboarding.js +22 -4
- package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
- package/lib/screens/Organization/InitializeOrganizationChannel.js +9 -4
- package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
- package/lib/screens/Organization/InviteOrganizationMembers.js +52 -10
- package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
- package/lib/screens/Peoples/AddByEmail.js +24 -6
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js +172 -87
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/lib/screens/Peoples/AddPeople.js +21 -42
- package/lib/screens/Peoples/AddPeople.js.map +1 -1
- package/lib/screens/Peoples/People.js +42 -4
- package/lib/screens/Peoples/People.js.map +1 -1
- package/lib/screens/Profile/ProfileScreen.js +27 -12
- package/lib/screens/Profile/ProfileScreen.js.map +1 -1
- package/lib/screens/Saved/SavedScreen.js +2 -2
- package/lib/screens/Saved/SavedScreen.js.map +1 -1
- package/lib/screens/Search/Channels.js +20 -32
- package/lib/screens/Search/Channels.js.map +1 -1
- package/lib/screens/Search/Files.js +2 -2
- package/lib/screens/Search/Files.js.map +1 -1
- package/lib/screens/Search/JumpTo.js +2 -2
- package/lib/screens/Search/JumpTo.js.map +1 -1
- package/lib/screens/Search/People.js +19 -27
- package/lib/screens/Search/People.js.map +1 -1
- package/lib/screens/Search/Recents.js +26 -31
- package/lib/screens/Search/Recents.js.map +1 -1
- package/lib/screens/Search/SearchAddChannel.js +366 -227
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js +70 -37
- package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
- package/lib/screens/Search/SearchScreen.js +5 -3
- package/lib/screens/Search/SearchScreen.js.map +1 -1
- package/lib/screens/Search/styles.js +2 -2
- package/lib/screens/Search/styles.js.map +1 -1
- package/lib/screens/Teams/AddTeam.js +3 -3
- package/lib/screens/Teams/AddTeam.js.map +1 -1
- package/lib/screens/Teams/Components/Channels/Channels.js +6 -6
- package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Teams/Components/Members/Members.js +7 -3
- package/lib/screens/Teams/Components/Members/Members.js.map +1 -1
- package/lib/screens/Teams/Team.js +6 -8
- package/lib/screens/Teams/Team.js.map +1 -1
- package/lib/screens/Teams/Teams.js +137 -106
- package/lib/screens/Teams/Teams.js.map +1 -1
- package/lib/screens/Teams/useTeams.js +41 -0
- package/lib/screens/Teams/useTeams.js.map +1 -0
- package/lib/screens/Wiki/WikiScreen.js +2 -2
- package/lib/screens/Wiki/WikiScreen.js.map +1 -1
- package/lib/theme/index.js +2 -2
- package/lib/theme/index.js.map +1 -1
- package/package.json +6 -4
- package/lib/navigation/ActivityNavigator.js +0 -61
- package/lib/navigation/ActivityNavigator.js.map +0 -1
- package/lib/navigation/ExploreNavigator.js +0 -583
- package/lib/navigation/ExploreNavigator.js.map +0 -1
- package/lib/navigation/InboxNavigator.js +0 -183
- package/lib/navigation/InboxNavigator.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {Ionicons,AntDesign,MaterialCommunityIcons,FontAwesome5}from'@expo/vector-icons';import {useNavigation,useFocusEffect}from'@react-navigation/native';import React__default
|
|
1
|
+
import {Ionicons,AntDesign,MaterialCommunityIcons,FontAwesome5}from'@expo/vector-icons';import {useNavigation,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useMemo,useCallback,createContext}from'react';import {Share,TouchableHighlight,Dimensions}from'react-native';import {useSelector,shallowEqual}from'react-redux';import styles from'./styles.js';import {Center,Text,HStack,Box,Icon,AddIcon,Spinner,Divider,Fab}from'@admin-layout/gluestack-ui-mobile';import {RoomType}from'common';import {useSetDeviceTokenMutation,useOrganizationSharableLinkQuery}from'../../queries/slackuiQueries.js';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import {useDisclose}from'../../hooks/useDisclose.js';import {useExpoNotification}from'../../hooks/useExpoNotificationProvider.js';import {useOptimizedChannelsQueries}from'../../hooks/useOptimizedChannelsQueries.js';import Teams from'./Components/Teams/Teams.js';import Channels from'./Components/Channels/Channels.js';import DirectChannels from'./Components/DirectChannels/DirectChannels.js';import TopCommonSlider from'./Components/TopCommonSlider/TopCommonSlider.js';import {InviteMembers}from'./Components/InviteMembers/index.js';import Colors from'../../constants/Colors.js';import'../../constants/device.js';import'../../constants/globalStyles.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import'@react-navigation/core';import'../../components/Header/styles.js';import'../../components/Tiles/styles.js';import'../../components/CustomDrawer/CustomDrawer.js';import'../../components/CustomBottomTabs/CustomBottomTabs.js';import'../../components/NavigationHeader/NavigationHeader.js';import'@react-navigation/elements';import'@common-stack/client-react';import'../../components/NavigationHeader/InboxNavigationHeader.js';import colors from'tailwindcss/colors';import'../../components/WorkSpaceDrawer/WorkSpaceDrawer.js';import'../../components/Channels/ChannelsByAlphabeticalAccordion.js';import'../../components/SlackSearchInput/index.js';import'../../components/AppRootContextProviderComponent.js';import {Actionsheet as ActionSheet}from'../../components/Actionsheet.js';import {config}from'../../config/env-config.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
3
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
4
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -14,15 +14,30 @@ var __spreadValues = (a, b) => {
|
|
|
14
14
|
}
|
|
15
15
|
return a;
|
|
16
16
|
};
|
|
17
|
-
Dimensions.get("window").
|
|
18
|
-
|
|
19
|
-
const
|
|
17
|
+
Dimensions.get("window").height;
|
|
18
|
+
[RoomType.Channel, RoomType.Private, RoomType.Public];
|
|
19
|
+
const RefetchContext = createContext({
|
|
20
|
+
shouldRefetch: false,
|
|
21
|
+
setRefetchStatus: (status) => {
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
const ChannelsDataContext = createContext({
|
|
25
|
+
channelsData: [],
|
|
26
|
+
directChannelsData: [],
|
|
27
|
+
loading: false,
|
|
28
|
+
error: null,
|
|
29
|
+
refetchChannels: () => {
|
|
30
|
+
},
|
|
31
|
+
getChannelsForHome: (limit) => [],
|
|
32
|
+
getDirectChannelsForHome: (limit) => [],
|
|
33
|
+
hasChannels: false,
|
|
34
|
+
hasDirectChannels: false
|
|
35
|
+
});
|
|
20
36
|
const HomeScreen = ({
|
|
21
37
|
navigation,
|
|
22
38
|
route
|
|
23
39
|
}) => {
|
|
24
|
-
|
|
25
|
-
const user = useSelector((state) => state.user, shallowEqual);
|
|
40
|
+
useSelector((state) => state.user, shallowEqual);
|
|
26
41
|
const {
|
|
27
42
|
isOpen,
|
|
28
43
|
onOpen,
|
|
@@ -31,83 +46,106 @@ const HomeScreen = ({
|
|
|
31
46
|
const {
|
|
32
47
|
setSwipeEnabled,
|
|
33
48
|
orgName,
|
|
34
|
-
organizationDetail
|
|
35
|
-
setDrawerContent
|
|
49
|
+
organizationDetail
|
|
36
50
|
} = useDrawerLayout();
|
|
37
51
|
const {
|
|
38
|
-
expoToken
|
|
39
|
-
setExpoToken
|
|
52
|
+
expoToken
|
|
40
53
|
} = useExpoNotification();
|
|
41
54
|
const [setDeviceTokenMutation] = useSetDeviceTokenMutation();
|
|
42
|
-
const [
|
|
43
|
-
const [loading, setLoading] = React__default.useState(true);
|
|
44
|
-
((_a = navigationRef) == null ? void 0 : _a.isReady()) ? (_b = navigationRef) == null ? void 0 : _b.getCurrentRoute() : null;
|
|
45
|
-
const {
|
|
46
|
-
data: organizationSharableLink
|
|
47
|
-
} = useGetOrganizationSharableLinkQuery();
|
|
55
|
+
const [shouldRefetch, setShouldRefetch] = useState(false);
|
|
48
56
|
const {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
const [addDirectChannel, {
|
|
64
|
-
loading: addDirectChannaleLoading
|
|
65
|
-
}] = useAddDirectChannelMutation({
|
|
66
|
-
onCompleted: (data) => {
|
|
67
|
-
reFetchDirectChannels();
|
|
68
|
-
},
|
|
69
|
-
onError: (error2) => {
|
|
70
|
-
}
|
|
57
|
+
channelsData,
|
|
58
|
+
directChannelsData,
|
|
59
|
+
loading: channelsLoading,
|
|
60
|
+
error: channelsError,
|
|
61
|
+
refetchChannels,
|
|
62
|
+
getChannelsForHome,
|
|
63
|
+
getDirectChannelsForHome,
|
|
64
|
+
hasChannels,
|
|
65
|
+
hasDirectChannels
|
|
66
|
+
} = useOptimizedChannelsQueries({
|
|
67
|
+
orgName,
|
|
68
|
+
enabled: !!orgName
|
|
71
69
|
});
|
|
70
|
+
const refetchContextValue = useMemo(() => ({
|
|
71
|
+
shouldRefetch,
|
|
72
|
+
setRefetchStatus: setShouldRefetch
|
|
73
|
+
}), [shouldRefetch]);
|
|
74
|
+
const channelsDataContextValue = useMemo(() => ({
|
|
75
|
+
channelsData,
|
|
76
|
+
directChannelsData,
|
|
77
|
+
loading: channelsLoading,
|
|
78
|
+
error: channelsError,
|
|
79
|
+
refetchChannels,
|
|
80
|
+
getChannelsForHome,
|
|
81
|
+
getDirectChannelsForHome,
|
|
82
|
+
hasChannels,
|
|
83
|
+
hasDirectChannels
|
|
84
|
+
}), [channelsData, directChannelsData, channelsLoading, channelsError, refetchChannels, getChannelsForHome, getDirectChannelsForHome, hasChannels, hasDirectChannels]);
|
|
72
85
|
const {
|
|
73
|
-
data:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
variables: {
|
|
78
|
-
criteria: {
|
|
79
|
-
orgName,
|
|
80
|
-
type: RoomType.Direct,
|
|
81
|
-
team: null
|
|
82
|
-
},
|
|
83
|
-
limit: 21
|
|
84
|
-
},
|
|
85
|
-
onCompleted(data) {
|
|
86
|
-
}
|
|
86
|
+
data: organizationSharableLink
|
|
87
|
+
} = useOrganizationSharableLinkQuery(orgName, {
|
|
88
|
+
fetchPolicy: "cache-and-network",
|
|
89
|
+
skip: !isOpen
|
|
87
90
|
});
|
|
88
|
-
const {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
const shareLink = useCallback(async () => {
|
|
92
|
+
var _a;
|
|
93
|
+
try {
|
|
94
|
+
const result = await Share.share({
|
|
95
|
+
message: `${config.APP_NAME} - ${(_a = organizationSharableLink == null ? void 0 : organizationSharableLink.getOrganizationSharableLink) != null ? _a : ""}`
|
|
96
|
+
});
|
|
97
|
+
} catch (error) {
|
|
98
|
+
alert(error.message);
|
|
96
99
|
}
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
100
|
+
}, [organizationSharableLink == null ? void 0 : organizationSharableLink.getOrganizationSharableLink]);
|
|
101
|
+
const actionItems = useMemo(() => [{
|
|
102
|
+
id: 1,
|
|
103
|
+
label: /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "flex-1 justify-center items-center", style: {
|
|
104
|
+
backgroundColor: Colors.primaryBgColor,
|
|
105
|
+
paddingVertical: 12,
|
|
106
|
+
borderRadius: 8,
|
|
107
|
+
marginHorizontal: 10,
|
|
108
|
+
marginVertical: 5
|
|
109
|
+
} }, /* @__PURE__ */ React__default.createElement(Ionicons, { color: "white", name: "share-outline", size: 22 }), /* @__PURE__ */ React__default.createElement(Text, { className: "text-white", style: {
|
|
110
|
+
color: "white",
|
|
111
|
+
fontWeight: "600",
|
|
112
|
+
fontSize: 16
|
|
113
|
+
} }, "Share a Link")),
|
|
114
|
+
onPress: async () => await shareLink()
|
|
115
|
+
}, {
|
|
116
|
+
id: 2,
|
|
117
|
+
label: /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "flex-1 justify-center items-center", style: {
|
|
118
|
+
paddingVertical: 12,
|
|
119
|
+
borderRadius: 8,
|
|
120
|
+
marginHorizontal: 10,
|
|
121
|
+
marginVertical: 5,
|
|
122
|
+
backgroundColor: colors.gray[50]
|
|
123
|
+
} }, /* @__PURE__ */ React__default.createElement(AntDesign, { color: colors.gray[900], name: "adduser", size: 22 }), /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
124
|
+
color: colors.gray[900],
|
|
125
|
+
fontWeight: "600",
|
|
126
|
+
fontSize: 16
|
|
127
|
+
} }, "Add from Contacts")),
|
|
128
|
+
onPress: () => navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {
|
|
129
|
+
orgName
|
|
130
|
+
})
|
|
131
|
+
}, {
|
|
132
|
+
id: 3,
|
|
133
|
+
label: /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "flex-1 justify-center items-center", style: {
|
|
134
|
+
paddingVertical: 12,
|
|
135
|
+
borderRadius: 8,
|
|
136
|
+
marginHorizontal: 10,
|
|
137
|
+
marginVertical: 5,
|
|
138
|
+
backgroundColor: colors.gray[50]
|
|
139
|
+
} }, /* @__PURE__ */ React__default.createElement(MaterialCommunityIcons, { color: colors.gray[900], name: "email-outline", size: 22 }), /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
140
|
+
color: colors.gray[900],
|
|
141
|
+
fontWeight: "600",
|
|
142
|
+
fontSize: 16
|
|
143
|
+
} }, "Add by Email")),
|
|
144
|
+
onPress: () => navigation.navigate(NavigationRoutes.AddPeopleByEmail, {
|
|
145
|
+
orgName
|
|
146
|
+
})
|
|
147
|
+
}], [isOpen, navigation, orgName, shareLink]);
|
|
148
|
+
const handlerExpoToken = useCallback(() => {
|
|
111
149
|
if (expoToken) {
|
|
112
150
|
setDeviceTokenMutation({
|
|
113
151
|
variables: {
|
|
@@ -115,130 +153,59 @@ const HomeScreen = ({
|
|
|
115
153
|
}
|
|
116
154
|
});
|
|
117
155
|
}
|
|
118
|
-
}, [expoToken]);
|
|
119
|
-
|
|
156
|
+
}, [expoToken, setDeviceTokenMutation]);
|
|
157
|
+
useFocusEffect(useCallback(() => {
|
|
158
|
+
setSwipeEnabled(true);
|
|
159
|
+
handlerExpoToken();
|
|
160
|
+
setShouldRefetch(true);
|
|
120
161
|
if (orgName) {
|
|
121
|
-
|
|
122
|
-
criteria: {
|
|
123
|
-
orgName,
|
|
124
|
-
type: RoomType.Direct,
|
|
125
|
-
team: null
|
|
126
|
-
},
|
|
127
|
-
limit: 21
|
|
128
|
-
}).then((res) => {
|
|
129
|
-
var _a2, _b2, _c2;
|
|
130
|
-
if (((_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.channelsByUser) && (user == null ? void 0 : user.id)) {
|
|
131
|
-
const filteredChannels = (_c2 = (_b2 = res == null ? void 0 : res.data) == null ? void 0 : _b2.channelsByUser) == null ? void 0 : _c2.filter((channel) => channel.members.length === 1 && channel.members[0].user.id === (user == null ? void 0 : user.id));
|
|
132
|
-
if (!(filteredChannels == null ? void 0 : filteredChannels.length) && !addDirectChannaleLoading) {
|
|
133
|
-
addDirectChannel({
|
|
134
|
-
variables: {
|
|
135
|
-
receiver: [user.id],
|
|
136
|
-
displayName: "DIRECT CHANNEL",
|
|
137
|
-
channelOptions: {
|
|
138
|
-
schemeAdmin: true
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
}, [orgName, user, addDirectChannaleLoading]);
|
|
147
|
-
const reFetchChannels = React__default.useCallback(() => {
|
|
148
|
-
if (orgName)
|
|
149
|
-
reFetchUserChannels({
|
|
150
|
-
criteria: {
|
|
151
|
-
orgName,
|
|
152
|
-
type: defaultChannelType,
|
|
153
|
-
team: null
|
|
154
|
-
},
|
|
155
|
-
limit: 21
|
|
156
|
-
});
|
|
157
|
-
}, [orgName]);
|
|
158
|
-
const reFetchTeams = React__default.useCallback(() => {
|
|
159
|
-
if (orgName)
|
|
160
|
-
reFetchOrgTeams({
|
|
161
|
-
orgName
|
|
162
|
-
});
|
|
163
|
-
}, [orgName]);
|
|
164
|
-
const fetchMoreChannels = React__default.useCallback((skip) => {
|
|
165
|
-
var _a2;
|
|
166
|
-
(_a2 = fetchMoreUserChannels({
|
|
167
|
-
variables: {
|
|
168
|
-
criteria: {
|
|
169
|
-
orgName,
|
|
170
|
-
type: defaultChannelType,
|
|
171
|
-
team: null
|
|
172
|
-
},
|
|
173
|
-
skip
|
|
174
|
-
}
|
|
175
|
-
})) == null ? void 0 : _a2.then((res) => {
|
|
176
|
-
var _a3, _b2;
|
|
177
|
-
if (((_b2 = (_a3 = res == null ? void 0 : res.data) == null ? void 0 : _a3.channelsByUser) == null ? void 0 : _b2.length) == 0)
|
|
178
|
-
setShowMore(false);
|
|
179
|
-
});
|
|
180
|
-
}, [orgName]);
|
|
181
|
-
const shareLink = React__default.useCallback(async () => {
|
|
182
|
-
var _a2;
|
|
183
|
-
try {
|
|
184
|
-
const result = await Share.share({
|
|
185
|
-
message: `${config.APP_NAME} - ${(_a2 = organizationSharableLink == null ? void 0 : organizationSharableLink.getOrganizationSharableLink) != null ? _a2 : ""}`
|
|
186
|
-
});
|
|
187
|
-
if (result.action === Share.sharedAction) {
|
|
188
|
-
if (result.activityType) {
|
|
189
|
-
} else {
|
|
190
|
-
}
|
|
191
|
-
} else if (result.action === Share.dismissedAction) {
|
|
192
|
-
}
|
|
193
|
-
} catch (error2) {
|
|
194
|
-
alert(error2.message);
|
|
162
|
+
refetchChannels();
|
|
195
163
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
},
|
|
204
|
-
|
|
164
|
+
const timer = setTimeout(() => {
|
|
165
|
+
setShouldRefetch(false);
|
|
166
|
+
}, 500);
|
|
167
|
+
return () => {
|
|
168
|
+
clearTimeout(timer);
|
|
169
|
+
setSwipeEnabled(false);
|
|
170
|
+
};
|
|
171
|
+
}, [orgName, setSwipeEnabled, handlerExpoToken, refetchChannels]));
|
|
172
|
+
useCallback(() => /* @__PURE__ */ React__default.createElement(Box, { style: [styles.bottomContainer, {
|
|
173
|
+
marginBottom: 8,
|
|
174
|
+
paddingHorizontal: 16
|
|
175
|
+
}] }, /* @__PURE__ */ React__default.createElement(TouchableHighlight, { underlayColor: colors.gray[50], onPress: onOpen }, /* @__PURE__ */ React__default.createElement(Box, { className: "py-3 px-2" }, /* @__PURE__ */ React__default.createElement(HStack, { className: "w-full flex-1 items-center space-x-3" }, /* @__PURE__ */ React__default.createElement(Box, { style: {
|
|
176
|
+
backgroundColor: colors.gray[100],
|
|
177
|
+
borderRadius: 20,
|
|
178
|
+
padding: 6
|
|
179
|
+
} }, /* @__PURE__ */ React__default.createElement(Icon, { as: AddIcon, style: {
|
|
180
|
+
width: 20,
|
|
181
|
+
height: 20
|
|
182
|
+
}, color: colors.gray[700] })), /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
205
183
|
fontSize: 15,
|
|
206
|
-
color: "#fff"
|
|
207
|
-
} }, "Share a Link")), /* @__PURE__ */ React__default.createElement(ActionsheetItem, { py: "$0.5" }, /* @__PURE__ */ React__default.createElement(ActionsheetItemText, { color: "$black", style: {
|
|
208
|
-
color: "black",
|
|
209
|
-
fontSize: 14,
|
|
210
|
-
fontWeight: "500"
|
|
211
|
-
} }, "Expires in 26 days.", " ", /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
212
184
|
fontWeight: "500"
|
|
213
|
-
}, color:
|
|
185
|
+
}, color: colors.gray[800] }, "Add teammates")))), /* @__PURE__ */ React__default.createElement(ActionSheet, { isOpen, actionItems, onCancel: onClose, hideBottomWidth: true, header: /* @__PURE__ */ React__default.createElement(Text, { className: "text-center font-bold text-lg", style: {
|
|
186
|
+
paddingVertical: 16,
|
|
187
|
+
color: colors.gray[900]
|
|
188
|
+
} }, "Invite people to join your team") })), [isOpen, onOpen, onClose, actionItems]);
|
|
189
|
+
if (!orgName) {
|
|
190
|
+
return /* @__PURE__ */ React__default.createElement(Center, { className: "flex-1 bg-white" }, /* @__PURE__ */ React__default.createElement(Spinner, { size: "large", color: Colors.primaryBgColor }));
|
|
191
|
+
}
|
|
192
|
+
return /* @__PURE__ */ React__default.createElement(RefetchContext.Provider, { value: refetchContextValue }, /* @__PURE__ */ React__default.createElement(ChannelsDataContext.Provider, { value: channelsDataContextValue }, /* @__PURE__ */ React__default.createElement(VirtualizedScrollView, { className: "bg-white flex-1" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-white pb-10" }, /* @__PURE__ */ React__default.createElement(TopCommonSlider, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
|
|
193
|
+
marginVertical: 12
|
|
194
|
+
} }), /* @__PURE__ */ React__default.createElement(Teams, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
|
|
195
|
+
marginVertical: 12
|
|
196
|
+
} }), /* @__PURE__ */ React__default.createElement(Channels, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
|
|
197
|
+
marginVertical: 12
|
|
198
|
+
} }), /* @__PURE__ */ React__default.createElement(DirectChannels, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
|
|
199
|
+
marginVertical: 12
|
|
200
|
+
} }), /* @__PURE__ */ React__default.createElement(InviteMembers, null))), /* @__PURE__ */ React__default.createElement(Fab, { onPress: () => navigation.navigate(NavigationRoutes.SearchAddChannel, {
|
|
214
201
|
orgName
|
|
215
|
-
}),
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
} },
|
|
220
|
-
orgName
|
|
221
|
-
}), "$pressed-bg": "$coolGray200", "$active-bg": "$coolGray200", borderWidth: "$1", borderColor: "$coolGray400", borderRadius: "$lg", alignItems: "center", justifyContent: "center" }, /* @__PURE__ */ React__default.createElement(MaterialCommunityIcons, { color: "black", name: "email-outline", size: 20 }), /* @__PURE__ */ React__default.createElement(ActionsheetItemText, { style: {
|
|
222
|
-
fontWeight: "600",
|
|
223
|
-
fontSize: 15,
|
|
224
|
-
color: "#000"
|
|
225
|
-
} }, "Add by Email"))))))) : /* @__PURE__ */ React__default.createElement(Center, { flex: 1, h: windowHeight - windowHeight / 3, alignItems: "center", justifyContent: "center" }, /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
226
|
-
fontSize: 15
|
|
227
|
-
} }, "No organization found"))))), /* @__PURE__ */ React__default.createElement(
|
|
228
|
-
Fab,
|
|
229
|
-
{
|
|
230
|
-
onPress: () => navigation.navigate(NavigationRoutes.SearchAddChannel, {
|
|
231
|
-
orgName
|
|
232
|
-
}),
|
|
233
|
-
size: "sm",
|
|
234
|
-
bg: colors.primaryBgColor,
|
|
235
|
-
"$pressed-bg": colors.primaryButtonPressBgColor,
|
|
236
|
-
alignItems: "center"
|
|
237
|
-
},
|
|
238
|
-
/* @__PURE__ */ React__default.createElement(FontAwesome5, { color: "white", name: "edit", size: 15 })
|
|
239
|
-
));
|
|
202
|
+
}), size: "sm", className: "items-center shadow-lg", style: {
|
|
203
|
+
backgroundColor: Colors.primaryBgColor,
|
|
204
|
+
marginBottom: 20,
|
|
205
|
+
marginRight: 20
|
|
206
|
+
} }, /* @__PURE__ */ React__default.createElement(FontAwesome5, { color: "white", name: "edit", size: 18 }))));
|
|
240
207
|
};
|
|
241
|
-
const Home = (props) => {
|
|
208
|
+
const Home = React__default.memo((props) => {
|
|
242
209
|
const user = useSelector((state) => state.user, shallowEqual);
|
|
243
210
|
const {
|
|
244
211
|
orgName
|
|
@@ -251,6 +218,6 @@ const Home = (props) => {
|
|
|
251
218
|
};
|
|
252
219
|
}, []));
|
|
253
220
|
if (!orgName)
|
|
254
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
221
|
+
return /* @__PURE__ */ React__default.createElement(Center, { className: "flex-1 bg-white" }, /* @__PURE__ */ React__default.createElement(Text, null, "No Organization found"));
|
|
255
222
|
return /* @__PURE__ */ React__default.createElement(HomeScreen, __spreadValues({}, props));
|
|
256
|
-
};export{Home as default};//# sourceMappingURL=HomeScreen.js.map
|
|
223
|
+
});export{ChannelsDataContext,RefetchContext,Home as default};//# sourceMappingURL=HomeScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomeScreen.js","sources":["../../../src/screens/Home/HomeScreen.tsx"],"sourcesContent":["import { Ionicons, AntDesign, FontAwesome5, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useFocusEffect, useNavigation } from '@react-navigation/native';\nimport React, { useEffect } from 'react';\nimport { TouchableHighlight, Share, Platform, Dimensions } from 'react-native';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport styles from './styles';\nimport {\n View,\n Actionsheet,\n ActionsheetBackdrop,\n ActionsheetContent,\n ActionsheetDragIndicatorWrapper,\n ActionsheetDragIndicator,\n ActionsheetItem,\n ActionsheetItemText,\n ActionsheetIcon,\n Avatar,\n Icon,\n AddIcon,\n Text,\n Button,\n ButtonText,\n Spinner,\n Center,\n Fab,\n FabLabel,\n SafeAreaView,\n HStack,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { RoomType } from 'common';\nimport {\n useSetDeviceTokenMutation,\n useGetChannelsByUserQuery,\n useGetOrganizationTeamsQuery,\n useGetOrganizationSharableLinkQuery,\n useAddDirectChannelMutation,\n} from 'common/lib/generated/generated.js';\nimport { isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useDisclose } from '../../hooks/useDisclose';\nimport { useExpoNotification } from '../../hooks/useExpoNotificationProvider';\nimport { Teams } from './Components/Teams';\nimport { Channels } from './Components/Channels';\nimport { DirectChannels } from './Components/DirectChannels';\nimport { TopCommonSlider } from './Components/TopCommonSlider';\nimport { NavigationRoutes, colors } from '../../constants';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { navigationRef } from '@common-stack/client-react';\nimport { LoadingSpinnerDefault } from '../../components';\nimport { config } from '../../config';\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\nconst HomeScreen = ({ navigation, route }) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { isOpen, onOpen, onClose } = useDisclose();\n const { setSwipeEnabled, orgName, organizationDetail, setDrawerContent } = useDrawerLayout();\n const { expoToken, setExpoToken } = useExpoNotification();\n const [setDeviceTokenMutation] = useSetDeviceTokenMutation();\n // const [channels, setChannels] = React.useState([]);\n // const [teams, setTeams] = React.useState([]);\n const [showMore, setShowMore] = React.useState<boolean>(true);\n const [loading, setLoading] = React.useState<boolean>(true);\n const currentRoute = navigationRef?.isReady() ? navigationRef?.getCurrentRoute() : null;\n const { data: organizationSharableLink } = useGetOrganizationSharableLinkQuery();\n const {\n data: userChannels,\n loading: userChannelsLoading,\n refetch: reFetchUserChannels,\n fetchMore: fetchMoreUserChannels,\n } = useGetChannelsByUserQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: null,\n },\n limit: 21,\n },\n });\n\n const [addDirectChannel, { loading: addDirectChannaleLoading }] = useAddDirectChannelMutation({\n onCompleted: (data: any) => {\n reFetchDirectChannels();\n },\n onError: (error: any) => {},\n });\n\n const {\n data: userDirectChannels,\n loading: userDirectChannelsLoading,\n refetch: reFetchUserDirectChannels,\n } = useGetChannelsByUserQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: RoomType.Direct,\n team: null,\n },\n limit: 21,\n },\n onCompleted(data) {},\n });\n\n const {\n data: orgTeams,\n loading: orgTeamsLoading,\n error,\n refetch: reFetchOrgTeams,\n } = useGetOrganizationTeamsQuery({\n variables: { orgName: orgName },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n setSwipeEnabled(true);\n handlerExpoToken();\n // navigation.setOptions({ orgName: orgName });\n\n const timer = setTimeout(() => {\n setLoading(false);\n }, 0);\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setSwipeEnabled(false);\n clearTimeout(timer);\n setLoading(true);\n };\n }, []),\n );\n\n // React.useEffect(() => {\n // if (userChannels?.channelsByUser) {\n // const userChannelsData: any =\n // userChannels?.channelsByUser?.filter((i: any) => i.type !== RoomType.Direct) ?? [];\n // setChannels((oldChannels: any) => uniqBy([...userChannelsData, ...oldChannels], ({ id }) => id));\n // }\n // }, [userChannels]);\n\n // React.useEffect(() => {\n // if (orgTeams?.getOrganizationTeams) {\n // const orgTeamsData: any = orgTeams?.getOrganizationTeams ?? [];\n // setTeams((oldTeams: any) => uniqBy([...orgTeamsData, ...oldTeams], ({ id }) => id));\n // }\n // }, [orgTeams]);\n\n const handlerExpoToken = React.useCallback(() => {\n if (expoToken) {\n setDeviceTokenMutation({\n variables: {\n deviceToken: expoToken,\n },\n });\n }\n }, [expoToken]);\n\n const reFetchDirectChannels = React.useCallback(() => {\n if (orgName) {\n reFetchUserDirectChannels({\n criteria: {\n orgName: orgName,\n type: RoomType.Direct,\n team: null,\n },\n limit: 21,\n }).then((res) => {\n if (res?.data?.channelsByUser && user?.id) {\n const filteredChannels = res?.data?.channelsByUser?.filter(\n (channel) => channel.members.length === 1 && channel.members[0].user.id === user?.id,\n );\n\n if (!filteredChannels?.length && !addDirectChannaleLoading) {\n addDirectChannel({\n variables: {\n receiver: [user.id],\n displayName: 'DIRECT CHANNEL',\n channelOptions: { schemeAdmin: true },\n },\n });\n }\n }\n });\n }\n }, [orgName, user, addDirectChannaleLoading]);\n\n const reFetchChannels = React.useCallback(() => {\n if (orgName)\n reFetchUserChannels({\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: null,\n },\n limit: 21,\n });\n }, [orgName]);\n\n const reFetchTeams = React.useCallback(() => {\n if (orgName) reFetchOrgTeams({ orgName: orgName });\n }, [orgName]);\n\n const fetchMoreChannels = React.useCallback(\n (skip: number) => {\n fetchMoreUserChannels({\n variables: {\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: null,\n },\n skip,\n },\n })?.then((res: any) => {\n if (res?.data?.channelsByUser?.length == 0) setShowMore(false);\n // if (res?.data?.channelsByUser) {\n // const userChannelsData: any =\n // res?.data?.channelsByUser?.filter((i: any) => i.type !== RoomType.Direct) ?? [];\n // setChannels((oldChannels: any) => uniqBy([...userChannelsData, ...oldChannels], ({ id }) => id));\n // }\n });\n },\n [orgName],\n );\n\n const shareLink = React.useCallback(async () => {\n try {\n const result = await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n if (result.action === Share.sharedAction) {\n if (result.activityType) {\n // shared with activity type of result.activityType\n } else {\n // shared\n }\n } else if (result.action === Share.dismissedAction) {\n // dismissed\n }\n } catch (error: any) {\n alert(error.message);\n }\n }, [organizationSharableLink?.getOrganizationSharableLink]);\n\n return (\n <>\n <VirtualizedScrollView bg={'$white'} flex={1}>\n <View flex={1} bg={'$white'} pb={'$10'} pt={'$2'}>\n {/* <StatusBar style=\"light\" /> */}\n {loading ? (\n <LoadingSpinnerDefault />\n ) : (\n <>\n {orgName ? (\n <>\n <TopCommonSlider />\n <View style={styles.border} />\n\n {/* Organization Teams */}\n <Teams\n teams={orgTeams?.getOrganizationTeams}\n refetchTeams={reFetchTeams}\n loading={orgTeamsLoading}\n />\n\n {/* Channels */}\n <Channels\n channels={userChannels?.channelsByUser}\n reFetchChannels={reFetchChannels}\n loading={userChannelsLoading}\n fetchMoreChannels={fetchMoreChannels}\n showMore={showMore}\n />\n\n {/* Direct Channels */}\n <DirectChannels\n userDirectChannels={userDirectChannels?.channelsByUser ?? []}\n reFetchDirectChannels={reFetchDirectChannels}\n loading={userDirectChannelsLoading}\n />\n\n <View style={styles.bottomContainer}>\n <TouchableHighlight\n underlayColor={'transparent'}\n activeOpacity={0.5}\n onPress={onOpen}\n >\n <View pr={'$10'} py={'$1'}>\n <HStack w={'100%'} space={'sm'} flex={1} alignItems={'center'}>\n <Avatar\n key={'home-add-teammates-key'}\n size={'sm'}\n bg={'transparent'}\n >\n <Icon\n as={AddIcon}\n style={{ width: '70%', height: '70%' }}\n color={'$coolGray600'}\n />\n </Avatar>\n <Text\n style={{ fontSize: 14, fontWeight: '400' }}\n color={'$coolGray800'}\n >\n Add teammates\n </Text>\n </HStack>\n </View>\n {/* <View\n style={{\n paddingVertical: 5,\n // paddingHorizontal: 10,\n marginTop: 5,\n }}\n >\n <Text style={{ fontSize: 16, fontWeight: '400' }}>+ Add teammates</Text>\n </View> */}\n </TouchableHighlight>\n\n <Actionsheet isOpen={isOpen} onClose={onClose}>\n <ActionsheetBackdrop />\n <ActionsheetContent>\n <ActionsheetDragIndicatorWrapper>\n <ActionsheetDragIndicator />\n </ActionsheetDragIndicatorWrapper>\n\n <VStack space=\"sm\" w=\"$full\" p={20}>\n <ActionsheetItem\n onPress={async () => await shareLink()}\n bg={'$green800'}\n $pressed-bg=\"$green600\"\n $active-bg={'$green600'}\n borderRadius={'$lg'}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Ionicons color={'white'} name=\"share-outline\" size={20} />\n <ActionsheetItemText\n style={{ fontWeight: '600', fontSize: 15, color: '#fff' }}\n >\n Share a Link\n </ActionsheetItemText>\n </ActionsheetItem>\n <ActionsheetItem py={'$0.5'}>\n <ActionsheetItemText\n color=\"$black\"\n style={{ color: 'black', fontSize: 14, fontWeight: '500' }}\n >\n Expires in 26 days.{' '}\n <Text style={{ fontWeight: '500' }} color={'$red800'}>\n Deativate link\n </Text>\n </ActionsheetItemText>\n </ActionsheetItem>\n <ActionsheetItem\n bg={'$white'}\n onPress={() =>\n navigation.navigate(\n NavigationRoutes.AddPeopleFromContacts,\n {\n orgName,\n },\n )\n }\n $pressed-bg=\"$coolGray200\"\n $active-bg={'$coolGray200'}\n borderWidth={'$1'}\n borderColor=\"$coolGray400\"\n borderRadius={'$lg'}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <AntDesign color={'black'} name=\"adduser\" size={20} />\n <ActionsheetItemText\n style={{ fontWeight: '600', fontSize: 15, color: '#000' }}\n >\n Add from Contacts\n </ActionsheetItemText>\n </ActionsheetItem>\n\n <ActionsheetItem\n bg={'$white'}\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n })\n }\n $pressed-bg=\"$coolGray200\"\n $active-bg={'$coolGray200'}\n borderWidth={'$1'}\n borderColor=\"$coolGray400\"\n borderRadius={'$lg'}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <MaterialCommunityIcons\n color={'black'}\n name=\"email-outline\"\n size={20}\n />\n <ActionsheetItemText\n style={{ fontWeight: '600', fontSize: 15, color: '#000' }}\n >\n Add by Email\n </ActionsheetItemText>\n </ActionsheetItem>\n\n {/* <Button\n onPress={async () => await shareLink()}\n style={{ marginTop: 10 }}\n bg={'$green800'}\n $pressed-bg=\"$green600\"\n $active-bg={'$green600'}\n >\n <Ionicons color={'white'} name=\"share-outline\" size={20} />\n <ButtonText style={{ fontWeight: '600', fontSize: 15 }}>\n Share a Link\n </ButtonText>\n </Button>\n <Text\n pt={'$2'}\n color=\"$black\"\n style={{ color: 'black', fontSize: 14, fontWeight: '500' }}\n >\n Expires in 26 days.{' '}\n <Text style={{ fontWeight: '500' }} color={'$red800'}>\n Deativate link\n </Text>\n </Text> */}\n {/* <Button\n size=\"sm\"\n bg={'$white'}\n variant=\"outline\"\n style={{ marginTop: 10 }}\n onPress={() =>\n navigation.navigate(\n NavigationRoutes.AddPeopleFromContacts,\n {\n orgName,\n },\n )\n }\n >\n <AntDesign color={'black'} name=\"adduser\" size={20} />\n <ButtonText\n style={{ color: '#000', fontSize: 15, fontWeight: '600' }}\n >\n Add from Contacts\n </ButtonText>\n </Button> */}\n {/* <Button\n size=\"sm\"\n bg={'$white'}\n variant=\"outline\"\n style={{ marginTop: 10 }}\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n })\n }\n >\n <MaterialCommunityIcons\n color={'black'}\n name=\"email-outline\"\n size={20}\n />\n <ButtonText\n style={{ color: '#000', fontSize: 15, fontWeight: '600' }}\n >\n Add by Email\n </ButtonText>\n </Button> */}\n {/* <Button\n size=\"sm\"\n bg={'white'}\n _text={{ color: '#000', fontSize: 15, fontWeight: 600 }}\n leftIcon={\n <Icon as={AntDesign} color={'black'} name=\"adduser\" size=\"sm\" />\n }\n variant=\"outline\"\n style={{ marginTop: 10 }}\n >\n Add from Google Contacts\n </Button> */}\n </VStack>\n </ActionsheetContent>\n </Actionsheet>\n </View>\n </>\n ) : (\n //\n <Center\n flex={1}\n h={windowHeight - windowHeight / 3}\n alignItems={'center'}\n justifyContent={'center'}\n >\n <Text style={{ fontSize: 15 }}>No organization found</Text>\n </Center>\n )}\n </>\n )}\n </View>\n </VirtualizedScrollView>\n <Fab\n onPress={() => navigation.navigate(NavigationRoutes.SearchAddChannel, { orgName })}\n size=\"sm\"\n // borderRadius={'$lg'}\n bg={colors.primaryBgColor}\n $pressed-bg={colors.primaryButtonPressBgColor}\n alignItems=\"center\"\n >\n <FontAwesome5 color=\"white\" name=\"edit\" size={15} />\n </Fab>\n </>\n );\n};\n\nconst Home = (props: any) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n if (!user?.profile) navigation?.navigate(NavigationRoutes.Login);\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n if (!orgName) return <LoadingSpinnerDefault />;\n\n return <HomeScreen {...props} />;\n};\n\nexport default Home;\n"],"names":["React","error","_a","_b","_c"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HomeScreen.js","sources":["../../../src/screens/Home/HomeScreen.tsx"],"sourcesContent":["import { Ionicons, AntDesign, FontAwesome5, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useFocusEffect, useNavigation } from '@react-navigation/native';\nimport React, { useCallback, useState, useMemo, createContext } from 'react';\nimport { TouchableHighlight, Share, Dimensions } from 'react-native';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport styles from './styles';\nimport {\n Box,\n Avatar,\n Icon,\n AddIcon,\n Text,\n Spinner,\n Center,\n Fab,\n HStack,\n Divider,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { useSetDeviceTokenMutation, useOrganizationSharableLinkQuery } from '../../queries/slackuiQueries';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useDisclose } from '../../hooks/useDisclose';\nimport { useExpoNotification } from '../../hooks/useExpoNotificationProvider';\nimport { useOptimizedChannelsQueries } from '../../hooks/useOptimizedChannelsQueries';\nimport { Teams } from './Components/Teams';\nimport { Channels } from './Components/Channels/index';\nimport { DirectChannels } from './Components/DirectChannels';\nimport { TopCommonSlider } from './Components/TopCommonSlider';\nimport { InviteMembers } from './Components/InviteMembers';\nimport { NavigationRoutes, colors } from '../../constants';\nimport { LoadingSpinnerDefault, Actionsheet } from '../../components';\nimport { config } from '../../config';\nimport Colors from 'tailwindcss/colors';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\n// Create a context to control refetching across child components\nexport const RefetchContext = createContext({\n shouldRefetch: false,\n setRefetchStatus: (status: boolean) => {},\n});\n\n// Create a context to share optimized channel data across child components\nexport const ChannelsDataContext = createContext({\n channelsData: [],\n directChannelsData: [],\n loading: false,\n error: null,\n refetchChannels: () => {},\n getChannelsForHome: (limit?: number) => [],\n getDirectChannelsForHome: (limit?: number) => [],\n hasChannels: false,\n hasDirectChannels: false,\n});\n\nconst HomeScreen = ({ navigation, route }) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { isOpen, onOpen, onClose } = useDisclose();\n const { setSwipeEnabled, orgName, organizationDetail } = useDrawerLayout();\n const { expoToken } = useExpoNotification();\n const [setDeviceTokenMutation] = useSetDeviceTokenMutation();\n const [shouldRefetch, setShouldRefetch] = useState(false);\n\n // Use optimized channels queries hook\n const {\n channelsData,\n directChannelsData,\n loading: channelsLoading,\n error: channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n } = useOptimizedChannelsQueries({\n orgName,\n enabled: !!orgName,\n });\n\n // Memoize the refetch context value\n const refetchContextValue = useMemo(\n () => ({\n shouldRefetch,\n setRefetchStatus: setShouldRefetch,\n }),\n [shouldRefetch],\n );\n\n // Memoize the channels data context value\n const channelsDataContextValue = useMemo(\n () => ({\n channelsData,\n directChannelsData,\n loading: channelsLoading,\n error: channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n }),\n [\n channelsData,\n directChannelsData,\n channelsLoading,\n channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n ],\n );\n\n // Only fetch sharable link when needed (when action sheet is open)\n const { data: organizationSharableLink } = useOrganizationSharableLinkQuery(orgName, {\n fetchPolicy: 'cache-and-network',\n skip: !isOpen,\n });\n\n // Define shareLink before it's used in the memo\n const shareLink = useCallback(async () => {\n try {\n const result = await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n } catch (error: any) {\n alert(error.message);\n }\n }, [organizationSharableLink?.getOrganizationSharableLink]);\n\n // Memoize action items to prevent unnecessary re-renders\n const actionItems = useMemo(\n () => [\n {\n id: 1,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n backgroundColor: colors.primaryBgColor,\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n }}\n >\n <Ionicons color={'white'} name=\"share-outline\" size={22} />\n <Text className=\"text-white\" style={{ color: 'white', fontWeight: '600', fontSize: 16 }}>\n Share a Link\n </Text>\n </HStack>\n ),\n onPress: async () => await shareLink(),\n },\n {\n id: 2,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <AntDesign color={Colors.gray[900]} name=\"adduser\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>\n Add from Contacts\n </Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {\n orgName,\n }),\n },\n {\n id: 3,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <MaterialCommunityIcons color={Colors.gray[900]} name=\"email-outline\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>Add by Email</Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n }),\n },\n ],\n [isOpen, navigation, orgName, shareLink],\n );\n\n // Optimize token handling\n const handlerExpoToken = useCallback(() => {\n if (expoToken) {\n setDeviceTokenMutation({\n variables: {\n deviceToken: expoToken,\n },\n });\n }\n }, [expoToken, setDeviceTokenMutation]);\n\n useFocusEffect(\n useCallback(() => {\n setSwipeEnabled(true);\n handlerExpoToken();\n setShouldRefetch(true);\n\n // Refetch channels when focus changes\n if (orgName) {\n refetchChannels();\n }\n\n // Set refetch status to false after a short delay\n const timer = setTimeout(() => {\n setShouldRefetch(false);\n }, 500);\n\n return () => {\n clearTimeout(timer);\n setSwipeEnabled(false);\n };\n }, [orgName, setSwipeEnabled, handlerExpoToken, refetchChannels]),\n );\n\n // Memoize the AddTeammates component\n const AddTeammates = useCallback(\n () => (\n <Box style={[styles.bottomContainer, { marginBottom: 8, paddingHorizontal: 16 }]}>\n <TouchableHighlight underlayColor={Colors.gray[50]} onPress={onOpen}>\n <Box className=\"py-3 px-2\">\n <HStack className=\"w-full flex-1 items-center space-x-3\">\n <Box\n style={{\n backgroundColor: Colors.gray[100],\n borderRadius: 20,\n padding: 6,\n }}\n >\n <Icon as={AddIcon} style={{ width: 20, height: 20 }} color={Colors.gray[700]} />\n </Box>\n <Text style={{ fontSize: 15, fontWeight: '500' }} color={Colors.gray[800]}>\n Add teammates\n </Text>\n </HStack>\n </Box>\n </TouchableHighlight>\n\n <Actionsheet\n isOpen={isOpen}\n actionItems={actionItems}\n onCancel={onClose}\n hideBottomWidth={true}\n header={\n <Text\n className=\"text-center font-bold text-lg\"\n style={{\n paddingVertical: 16,\n color: Colors.gray[900],\n }}\n >\n Invite people to join your team\n </Text>\n }\n />\n </Box>\n ),\n [isOpen, onOpen, onClose, actionItems],\n );\n\n if (!orgName) {\n return (\n <Center className=\"flex-1 bg-white\">\n <Spinner size=\"large\" color={colors.primaryBgColor} />\n </Center>\n );\n }\n\n return (\n <RefetchContext.Provider value={refetchContextValue}>\n <ChannelsDataContext.Provider value={channelsDataContextValue}>\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <Box className=\"flex-1 bg-white pb-10\">\n <TopCommonSlider />\n <Divider style={{ marginVertical: 12 }} />\n <Teams />\n <Divider style={{ marginVertical: 12 }} />\n <Channels />\n <Divider style={{ marginVertical: 12 }} />\n <DirectChannels />\n <Divider style={{ marginVertical: 12 }} />\n {/* <AddTeammates />\n <Divider style={{ marginVertical: 12 }} /> */}\n <InviteMembers />\n </Box>\n </VirtualizedScrollView>\n <Fab\n onPress={() => navigation.navigate(NavigationRoutes.SearchAddChannel, { orgName })}\n size=\"sm\"\n className=\"items-center shadow-lg\"\n style={{ backgroundColor: colors.primaryBgColor, marginBottom: 20, marginRight: 20 }}\n >\n <FontAwesome5 color=\"white\" name=\"edit\" size={18} />\n </Fab>\n </ChannelsDataContext.Provider>\n </RefetchContext.Provider>\n );\n};\n\n// Memoize the entire Home component\nconst Home = React.memo((props: any) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n\n useFocusEffect(\n React.useCallback(() => {\n if (!user?.profile) navigation?.navigate(NavigationRoutes.Login);\n return () => {};\n }, []),\n );\n\n // if (!orgName) return <LoadingSpinnerDefault />;\n if (!orgName)\n return (\n <Center className=\"flex-1 bg-white\">\n <Text>No Organization found</Text>\n </Center>\n );\n\n return <HomeScreen {...props} />;\n});\n\nexport default Home;\n"],"names":["React","colors","Colors","Actionsheet"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {StyleSheet,Dimensions}from'react-native';import
|
|
1
|
+
import {StyleSheet,Dimensions}from'react-native';import Colors from'../../constants/Colors.js';Dimensions.get("window").width;
|
|
2
2
|
Dimensions.get("window").height;
|
|
3
3
|
const styles = StyleSheet.create({
|
|
4
4
|
container: {
|
|
@@ -61,8 +61,8 @@ const styles = StyleSheet.create({
|
|
|
61
61
|
alignItems: "center"
|
|
62
62
|
},
|
|
63
63
|
channelContainer: {
|
|
64
|
-
paddingHorizontal:
|
|
65
|
-
paddingVertical:
|
|
64
|
+
paddingHorizontal: 5,
|
|
65
|
+
paddingVertical: 5,
|
|
66
66
|
borderBottomWidth: 0.4,
|
|
67
67
|
borderBottomColor: "#868686"
|
|
68
68
|
},
|
|
@@ -75,7 +75,7 @@ const styles = StyleSheet.create({
|
|
|
75
75
|
marginTop: 5
|
|
76
76
|
},
|
|
77
77
|
headingText: {
|
|
78
|
-
color:
|
|
78
|
+
color: Colors.light.text,
|
|
79
79
|
fontSize: 16,
|
|
80
80
|
fontWeight: "400"
|
|
81
81
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../src/screens/Home/styles.ts"],"sourcesContent":["import { Dimensions, StyleSheet } from 'react-native';\nimport Colors from '../../constants/Colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n searchBar: {\n width: Dimensions.get('window').width - 35,\n height: 45,\n backgroundColor: 'white',\n borderRadius: 8,\n flexDirection: 'row',\n alignItems: 'center',\n marginHorizontal: 10,\n borderColor: '#bbb',\n borderWidth: 0.5,\n marginTop: 10,\n alignSelf: 'center',\n },\n searchLabel: {\n marginLeft: 20,\n fontSize: 16,\n color: '#bbb',\n },\n backgroundImage: {\n height: 500,\n width: '100%',\n resizeMode: 'cover',\n justifyContent: 'center',\n },\n title: {\n fontSize: 66,\n fontWeight: 'bold',\n color: 'white',\n width: '50%',\n marginLeft: 25,\n },\n border: {\n height: 0.4,\n marginTop: 20,\n backgroundColor: '#868686',\n },\n button: {\n backgroundColor: 'white',\n width: 200,\n height: 40,\n borderRadius: 10,\n marginLeft: 25,\n marginTop: 25,\n justifyContent: 'center',\n alignItems: 'center',\n },\n buttonLabel: {\n fontSize: 16,\n fontWeight: 'bold',\n },\n headingContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n channelContainer: {\n paddingHorizontal:
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/screens/Home/styles.ts"],"sourcesContent":["import { Dimensions, StyleSheet } from 'react-native';\nimport Colors from '../../constants/Colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n searchBar: {\n width: Dimensions.get('window').width - 35,\n height: 45,\n backgroundColor: 'white',\n borderRadius: 8,\n flexDirection: 'row',\n alignItems: 'center',\n marginHorizontal: 10,\n borderColor: '#bbb',\n borderWidth: 0.5,\n marginTop: 10,\n alignSelf: 'center',\n },\n searchLabel: {\n marginLeft: 20,\n fontSize: 16,\n color: '#bbb',\n },\n backgroundImage: {\n height: 500,\n width: '100%',\n resizeMode: 'cover',\n justifyContent: 'center',\n },\n title: {\n fontSize: 66,\n fontWeight: 'bold',\n color: 'white',\n width: '50%',\n marginLeft: 25,\n },\n border: {\n height: 0.4,\n marginTop: 20,\n backgroundColor: '#868686',\n },\n button: {\n backgroundColor: 'white',\n width: 200,\n height: 40,\n borderRadius: 10,\n marginLeft: 25,\n marginTop: 25,\n justifyContent: 'center',\n alignItems: 'center',\n },\n buttonLabel: {\n fontSize: 16,\n fontWeight: 'bold',\n },\n headingContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n channelContainer: {\n paddingHorizontal: 5,\n paddingVertical: 5,\n borderBottomWidth: 0.4,\n borderBottomColor: '#868686',\n },\n bottomContainer: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n },\n itemView: {\n paddingVertical: 8,\n marginTop: 5,\n },\n headingText: {\n color: Colors.light.text,\n fontSize: 16,\n fontWeight: '400',\n },\n iconStyle: {\n width: 25,\n height: 25,\n resizeMode: 'cover',\n },\n});\n\nexport default styles;\n"],"names":[],"mappings":"+FAEoB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACxB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACxC,MAAA,MAAA,GAAS,WAAW,MAAO,CAAA;AAAA,EAC/B,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,CAAA;AAAA,IACN,eAAiB,EAAA;AAAA,GACnB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,KAAO,EAAA,UAAA,CAAW,GAAI,CAAA,QAAQ,EAAE,KAAQ,GAAA,EAAA;AAAA,IACxC,MAAQ,EAAA,EAAA;AAAA,IACR,eAAiB,EAAA,OAAA;AAAA,IACjB,YAAc,EAAA,CAAA;AAAA,IACd,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,gBAAkB,EAAA,EAAA;AAAA,IAClB,WAAa,EAAA,MAAA;AAAA,IACb,WAAa,EAAA,GAAA;AAAA,IACb,SAAW,EAAA,EAAA;AAAA,IACX,SAAW,EAAA;AAAA,GACb;AAAA,EACA,WAAa,EAAA;AAAA,IACX,UAAY,EAAA,EAAA;AAAA,IACZ,QAAU,EAAA,EAAA;AAAA,IACV,KAAO,EAAA;AAAA,GACT;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,MAAQ,EAAA,GAAA;AAAA,IACR,KAAO,EAAA,MAAA;AAAA,IACP,UAAY,EAAA,OAAA;AAAA,IACZ,cAAgB,EAAA;AAAA,GAClB;AAAA,EACA,KAAO,EAAA;AAAA,IACL,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA,MAAA;AAAA,IACZ,KAAO,EAAA,OAAA;AAAA,IACP,KAAO,EAAA,KAAA;AAAA,IACP,UAAY,EAAA;AAAA,GACd;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,MAAQ,EAAA,GAAA;AAAA,IACR,SAAW,EAAA,EAAA;AAAA,IACX,eAAiB,EAAA;AAAA,GACnB;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,eAAiB,EAAA,OAAA;AAAA,IACjB,KAAO,EAAA,GAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,YAAc,EAAA,EAAA;AAAA,IACd,UAAY,EAAA,EAAA;AAAA,IACZ,SAAW,EAAA,EAAA;AAAA,IACX,cAAgB,EAAA,QAAA;AAAA,IAChB,UAAY,EAAA;AAAA,GACd;AAAA,EACA,WAAa,EAAA;AAAA,IACX,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA,GACd;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,aAAe,EAAA,KAAA;AAAA,IACf,cAAgB,EAAA,eAAA;AAAA,IAChB,UAAY,EAAA;AAAA,GACd;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,iBAAmB,EAAA,CAAA;AAAA,IACnB,eAAiB,EAAA,CAAA;AAAA,IACjB,iBAAmB,EAAA,GAAA;AAAA,IACnB,iBAAmB,EAAA;AAAA,GACrB;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,iBAAmB,EAAA,EAAA;AAAA,IACnB,eAAiB,EAAA;AAAA,GACnB;AAAA,EACA,QAAU,EAAA;AAAA,IACR,eAAiB,EAAA,CAAA;AAAA,IACjB,SAAW,EAAA;AAAA,GACb;AAAA,EACA,WAAa,EAAA;AAAA,IACX,KAAA,EAAO,OAAO,KAAM,CAAA,IAAA;AAAA,IACpB,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA,GACd;AAAA,EACA,SAAW,EAAA;AAAA,IACT,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,UAAY,EAAA;AAAA;AAEhB,CAAC"}
|