@messenger-box/slack-ui-mobile 10.0.3-alpha.31 → 10.0.3-alpha.34
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 +19 -14
- package/lib/components/Actionsheet.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/navigation/SearchTabNavigation.js +1 -1
- package/lib/navigation/TeamTabNavigation.js +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 +11 -13
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +51 -65
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Peoples/AddByEmail.js +1 -1
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js +118 -83
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import PropTypes from'prop-types';import React__default from'react';import {Modal,View,StyleSheet,TouchableHighlight,Text}from'react-native';
|
|
1
|
+
import PropTypes from'prop-types';import React__default from'react';import {Modal,TouchableOpacity,View,StyleSheet,TouchableHighlight,Text}from'react-native';const PRIMARY_COLOR = "rgb(0,98,255)";
|
|
2
2
|
const WHITE = "#ffffff";
|
|
3
3
|
const BORDER_COLOR = "#DBDBDB";
|
|
4
4
|
const ActionSheet = (props) => {
|
|
@@ -6,22 +6,26 @@ const ActionSheet = (props) => {
|
|
|
6
6
|
const {
|
|
7
7
|
actionItems,
|
|
8
8
|
isOpen,
|
|
9
|
-
onCancel
|
|
9
|
+
onCancel,
|
|
10
|
+
isShowCancelButton = true
|
|
10
11
|
} = props;
|
|
11
|
-
const actionSheetItems = [...actionItems || [], {
|
|
12
|
+
const actionSheetItems = isShowCancelButton ? [...actionItems || [], {
|
|
12
13
|
id: "#cancel",
|
|
13
14
|
label: "Cancel",
|
|
14
15
|
onPress: (_a = props == null ? void 0 : props.onCancel) != null ? _a : () => {
|
|
15
16
|
}
|
|
16
|
-
}];
|
|
17
|
+
}] : [...actionItems || []];
|
|
17
18
|
if (!isOpen)
|
|
18
19
|
return null;
|
|
19
|
-
return /* @__PURE__ */ React__default.createElement(Modal, { visible: isOpen, transparent: true, animationType: "slide", onRequestClose: onCancel, style: {
|
|
20
|
+
return /* @__PURE__ */ React__default.createElement(Modal, { visible: isOpen, transparent: true, animationType: "slide", onRequestClose: onCancel }, /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: {
|
|
20
21
|
flex: 1,
|
|
21
|
-
|
|
22
|
+
backgroundColor: "rgba(0,0,0,0.5)",
|
|
22
23
|
justifyContent: "flex-end"
|
|
23
|
-
} }, /* @__PURE__ */ React__default.createElement(
|
|
24
|
-
|
|
24
|
+
}, activeOpacity: 1, onPress: onCancel }, /* @__PURE__ */ React__default.createElement(View, { style: {
|
|
25
|
+
width: "100%",
|
|
26
|
+
paddingBottom: 20
|
|
27
|
+
}, onStartShouldSetResponder: () => true, onTouchEnd: (e) => {
|
|
28
|
+
e.stopPropagation();
|
|
25
29
|
} }, /* @__PURE__ */ React__default.createElement(View, { style: styles.modalContent }, props == null ? void 0 : props.header, actionSheetItems.map((actionItem, index) => {
|
|
26
30
|
return /* @__PURE__ */ React__default.createElement(TouchableHighlight, { style: [styles.actionSheetView, index === 0 && {
|
|
27
31
|
borderTopLeftRadius: (props == null ? void 0 : props.header) ? 0 : 12,
|
|
@@ -33,8 +37,8 @@ const ActionSheet = (props) => {
|
|
|
33
37
|
borderBottomWidth: 0,
|
|
34
38
|
backgroundColor: WHITE,
|
|
35
39
|
marginTop: 8,
|
|
36
|
-
borderTopLeftRadius:
|
|
37
|
-
borderTopRightRadius:
|
|
40
|
+
borderTopLeftRadius: 12,
|
|
41
|
+
borderTopRightRadius: 12,
|
|
38
42
|
borderBottomLeftRadius: 12,
|
|
39
43
|
borderBottomRightRadius: 12
|
|
40
44
|
}, (props == null ? void 0 : props.hideBottomWidth) && actionItem.id !== "#cancel" && {
|
|
@@ -47,7 +51,7 @@ const ActionSheet = (props) => {
|
|
|
47
51
|
}, index === actionSheetItems.length - 1 && {
|
|
48
52
|
color: "#fa1616"
|
|
49
53
|
}] }, actionItem.label) : actionItem.label);
|
|
50
|
-
}))));
|
|
54
|
+
})))));
|
|
51
55
|
};
|
|
52
56
|
const styles = StyleSheet.create({
|
|
53
57
|
modalContent: {
|
|
@@ -59,7 +63,7 @@ const styles = StyleSheet.create({
|
|
|
59
63
|
marginRight: 15,
|
|
60
64
|
marginBottom: 20,
|
|
61
65
|
paddingHorizontal: 10,
|
|
62
|
-
|
|
66
|
+
backgroundColor: WHITE
|
|
63
67
|
},
|
|
64
68
|
actionSheetText: {
|
|
65
69
|
fontSize: 18,
|
|
@@ -87,5 +91,6 @@ ActionSheet.propTypes = {
|
|
|
87
91
|
onCancel: PropTypes.func,
|
|
88
92
|
actionTextColor: PropTypes.string,
|
|
89
93
|
hideBottomWidth: PropTypes.bool,
|
|
90
|
-
header: PropTypes.node
|
|
91
|
-
|
|
94
|
+
header: PropTypes.node,
|
|
95
|
+
isShowCancelButton: PropTypes.bool
|
|
96
|
+
};export{ActionSheet as Actionsheet,ActionSheet as default};//# sourceMappingURL=Actionsheet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actionsheet.js","sources":["../../src/components/Actionsheet.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport { StyleSheet, Text, TouchableHighlight, View, Modal } from 'react-native';\nimport { Center } from '@admin-layout/gluestack-ui-mobile';\n\nconst PRIMARY_COLOR = 'rgb(0,98,255)';\nconst WHITE = '#ffffff';\nconst BORDER_COLOR = '#DBDBDB';\n\nconst ActionSheet = (props) => {\n const { actionItems, isOpen, onCancel } = props;\n const actionSheetItems = [\n ...(actionItems || []),\n {\n id: '#cancel',\n label: 'Cancel',\n onPress: props?.onCancel ?? (() => {}),\n },\n ];\n if (!isOpen) return null;\n return (\n <Modal\n visible={isOpen}\n transparent={true}\n animationType=\"slide\"\n onRequestClose={onCancel}\n style={{\n flex: 1,\n margin: 0,\n justifyContent: 'flex-end',\n }}\n >\n <Center\n className=\"flex-1 w-full h-min[40%] shadow-lg absolute bottom-0 bg-transparent \"\n style={{ backgroundColor: 'transparent' }}\n >\n <View style={styles.modalContent}>\n {props?.header}\n {actionSheetItems.map((actionItem, index) => {\n return (\n <TouchableHighlight\n style={[\n styles.actionSheetView,\n\n index === 0 && {\n borderTopLeftRadius: props?.header ? 0 : 12,\n borderTopRightRadius: props?.header ? 0 : 12,\n },\n index === actionSheetItems.length - 2 && {\n borderBottomLeftRadius: 12,\n borderBottomRightRadius: 12,\n },\n index === actionSheetItems.length - 1 && {\n borderBottomWidth: 0,\n backgroundColor: WHITE,\n marginTop: 8,\n borderTopLeftRadius: props?.header ? 0 : 12,\n borderTopRightRadius: props?.header ? 0 : 12,\n borderBottomLeftRadius: 12,\n borderBottomRightRadius: 12,\n },\n props?.hideBottomWidth &&\n actionItem.id !== '#cancel' && {\n borderBottomWidth: 0,\n borderColor: 'transparent',\n paddingTop: 5,\n paddingBottom: 5,\n },\n ]}\n underlayColor={'#f7f7f7'}\n key={index}\n onPress={actionItem.onPress}\n >\n {typeof actionItem.label === 'string' ? (\n <Text\n allowFontScaling={false}\n style={[\n styles.actionSheetText,\n props?.actionTextColor && {\n color: props?.actionTextColor,\n },\n index === actionSheetItems.length - 1 && {\n color: '#fa1616',\n },\n ]}\n >\n {actionItem.label}\n </Text>\n ) : (\n actionItem.label\n )}\n </TouchableHighlight>\n );\n })}\n </View>\n </Center>\n </Modal>\n );\n};\n\nconst styles = StyleSheet.create({\n modalContent: {\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n borderBottomLeftRadius: 12,\n borderBottomRightRadius: 12,\n marginLeft: 15,\n marginRight: 15,\n marginBottom: 20,\n paddingHorizontal: 10,\n width: '100%',\n },\n actionSheetText: {\n fontSize: 18,\n color: PRIMARY_COLOR,\n },\n actionSheetView: {\n backgroundColor: WHITE,\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n paddingTop: 16,\n paddingBottom: 16,\n borderBottomWidth: StyleSheet.hairlineWidth,\n borderColor: BORDER_COLOR,\n },\n});\n\nActionSheet.propTypes = {\n isOpen: PropTypes.bool,\n actionItems: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n label: PropTypes.any,\n onPress: PropTypes.func,\n }),\n ).isRequired,\n onCancel: PropTypes.func,\n actionTextColor: PropTypes.string,\n hideBottomWidth: PropTypes.bool,\n header: PropTypes.node,\n};\n\n// ActionSheet.defaultProps = {\n// actionItems: [],\n// onCancel: () => { },\n// actionTextColor: null\n// }\n\nexport default ActionSheet;\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actionsheet.js","sources":["../../src/components/Actionsheet.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport { StyleSheet, Text, TouchableHighlight, View, Modal, TouchableOpacity } from 'react-native';\nimport { Center } from '@admin-layout/gluestack-ui-mobile';\n\nconst PRIMARY_COLOR = 'rgb(0,98,255)';\nconst WHITE = '#ffffff';\nconst BORDER_COLOR = '#DBDBDB';\n\nconst ActionSheet = (props) => {\n const { actionItems, isOpen, onCancel, isShowCancelButton = true } = props;\n const actionSheetItems = isShowCancelButton\n ? [\n ...(actionItems || []),\n {\n id: '#cancel',\n label: 'Cancel',\n onPress: props?.onCancel ?? (() => {}),\n },\n ]\n : [...(actionItems || [])];\n if (!isOpen) return null;\n return (\n <Modal visible={isOpen} transparent={true} animationType=\"slide\" onRequestClose={onCancel}>\n <TouchableOpacity\n style={{\n flex: 1,\n backgroundColor: 'rgba(0,0,0,0.5)',\n justifyContent: 'flex-end',\n }}\n activeOpacity={1}\n onPress={onCancel}\n >\n <View\n style={{\n width: '100%',\n paddingBottom: 20,\n }}\n onStartShouldSetResponder={() => true}\n onTouchEnd={(e) => {\n e.stopPropagation();\n }}\n >\n <View style={styles.modalContent}>\n {props?.header}\n {actionSheetItems.map((actionItem, index) => {\n return (\n <TouchableHighlight\n style={[\n styles.actionSheetView,\n index === 0 && {\n borderTopLeftRadius: props?.header ? 0 : 12,\n borderTopRightRadius: props?.header ? 0 : 12,\n },\n index === actionSheetItems.length - 2 && {\n borderBottomLeftRadius: 12,\n borderBottomRightRadius: 12,\n },\n index === actionSheetItems.length - 1 && {\n borderBottomWidth: 0,\n backgroundColor: WHITE,\n marginTop: 8,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n borderBottomLeftRadius: 12,\n borderBottomRightRadius: 12,\n },\n props?.hideBottomWidth &&\n actionItem.id !== '#cancel' && {\n borderBottomWidth: 0,\n borderColor: 'transparent',\n paddingTop: 5,\n paddingBottom: 5,\n },\n ]}\n underlayColor={'#f7f7f7'}\n key={index}\n onPress={actionItem.onPress}\n >\n {typeof actionItem.label === 'string' ? (\n <Text\n allowFontScaling={false}\n style={[\n styles.actionSheetText,\n props?.actionTextColor && {\n color: props?.actionTextColor,\n },\n index === actionSheetItems.length - 1 && {\n color: '#fa1616',\n },\n ]}\n >\n {actionItem.label}\n </Text>\n ) : (\n actionItem.label\n )}\n </TouchableHighlight>\n );\n })}\n </View>\n </View>\n </TouchableOpacity>\n </Modal>\n );\n};\n\nconst styles = StyleSheet.create({\n modalContent: {\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n borderBottomLeftRadius: 12,\n borderBottomRightRadius: 12,\n marginLeft: 15,\n marginRight: 15,\n marginBottom: 20,\n paddingHorizontal: 10,\n backgroundColor: WHITE,\n },\n actionSheetText: {\n fontSize: 18,\n color: PRIMARY_COLOR,\n },\n actionSheetView: {\n backgroundColor: WHITE,\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n paddingTop: 16,\n paddingBottom: 16,\n borderBottomWidth: StyleSheet.hairlineWidth,\n borderColor: BORDER_COLOR,\n },\n});\n\nActionSheet.propTypes = {\n isOpen: PropTypes.bool,\n actionItems: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n label: PropTypes.any,\n onPress: PropTypes.func,\n }),\n ).isRequired,\n onCancel: PropTypes.func,\n actionTextColor: PropTypes.string,\n hideBottomWidth: PropTypes.bool,\n header: PropTypes.node,\n isShowCancelButton: PropTypes.bool,\n};\n\n// ActionSheet.defaultProps = {\n// actionItems: [],\n// onCancel: () => { },\n// actionTextColor: null\n// }\n\nexport { ActionSheet as Actionsheet };\nexport default ActionSheet;\n"],"names":["React"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {Feature}from'@common-stack/client-react';import SlackUIModule from'./module.js';export{default as colors}from'./constants/Colors.js';export{default as device}from'./constants/device.js';export{default as fonts}from'./constants/fonts.js';export{default as gStyle}from'./constants/globalStyles.js';export{default as images}from'./constants/preloadImages.js';export{default as Layout}from'./constants/Layout.js';export{NavigationRoutes}from'./constants/routes.js';export{Login}from'./screens/Login.js';export{default as Home}from'./screens/Home/HomeScreen.js';export{default as InboxScreen}from'./screens/Inbox/InboxScreen.js';export{default as InboxChannelDetailScreen}from'./screens/Inbox/InboxChannelDetail.js';export{default as Account}from'./screens/Account/AccountScreen.js';export{default as Profile}from'./screens/Profile/ProfileScreen.js';export{default as Activity}from'./screens/Activity/ActivityScreen.js';export{default as Saved}from'./screens/Saved/SavedScreen.js';export{default as Notification}from'./screens/Notification/NotificationsScreen.js';export{default as Search}from'./screens/Search/SearchScreen.js';export{default as SearchChannelPeople}from'./screens/Search/SearchChannelPeople.js';export{default as SearchAddChannel}from'./screens/Search/SearchAddChannel.js';export{default as JumpTo}from'./screens/Search/JumpTo.js';export{default as Files}from'./screens/Files/FilesScreen.js';export{default as Wiki}from'./screens/Wiki/WikiScreen.js';export{default as Channels}from'./screens/Channels/Channels.js';export{default as AddChannel}from'./screens/Channels/AddChannel.js';export{default as AddChannelName}from'./screens/Channels/Add/AddName.js';export{default as AddChannelVisibility}from'./screens/Channels/Add/AddVisibility.js';export{default as Peoples}from'./screens/Peoples/People.js';export{default as AddPeople}from'./screens/Peoples/AddPeople.js';export{default as AddPeopleByEmail}from'./screens/Peoples/AddByEmail.js';export{default as AddFromContacts}from'./screens/Peoples/AddFromContacts.js';export{default as AddTeam}from'./screens/Teams/AddTeam.js';export{default as Team}from'./screens/Teams/Team.js';export{default as Teams}from'./screens/Teams/Teams.js';export{default as CreateOrganization}from'./screens/Organization/CreateOrganization.js';export{default as InviteOrganizationMembers}from'./screens/Organization/InviteOrganizationMembers.js';export{default as InitializeOrganizationChannel}from'./screens/Organization/InitializeOrganizationChannel.js';export{default as InitialChannelOnboarding}from'./screens/Organization/InitialChannelOnboarding.js';export{default as AddWorkSpace}from'./screens/Organization/AddWorkspace.js';export{default as Header}from'./components/Header/Header.js';export{default as Tiles}from'./components/Tiles/Tiles.js';export{default as CustomDrawer}from'./components/CustomDrawer/CustomDrawer.js';export{default as CustomBottomTabs}from'./components/CustomBottomTabs/CustomBottomTabs.js';export{default as NavigationHeader}from'./components/NavigationHeader/NavigationHeader.js';export{default as chatNavigationHeader}from'./components/NavigationHeader/NavigationHeaderChat.js';export{default as InboxNavigationHeader}from'./components/NavigationHeader/InboxNavigationHeader.js';export{default as LoadingSpinner,LoadingSpinnerDefault}from'./components/LoadingSpinner/index.js';export{default as WorkSpaceDrawer}from'./components/WorkSpaceDrawer/WorkSpaceDrawer.js';export{ChannelsByAlphabeticalAccordion}from'./components/Channels/ChannelsByAlphabeticalAccordion.js';export{SlackInput}from'./components/SlackSearchInput/index.js';export{default as AppRootContextProviderComponent}from'./components/AppRootContextProviderComponent.js';export{
|
|
1
|
+
import {Feature}from'@common-stack/client-react';import SlackUIModule from'./module.js';export{default as colors}from'./constants/Colors.js';export{default as device}from'./constants/device.js';export{default as fonts}from'./constants/fonts.js';export{default as gStyle}from'./constants/globalStyles.js';export{default as images}from'./constants/preloadImages.js';export{default as Layout}from'./constants/Layout.js';export{NavigationRoutes}from'./constants/routes.js';export{Login}from'./screens/Login.js';export{default as Home}from'./screens/Home/HomeScreen.js';export{default as InboxScreen}from'./screens/Inbox/InboxScreen.js';export{default as InboxChannelDetailScreen}from'./screens/Inbox/InboxChannelDetail.js';export{default as Account}from'./screens/Account/AccountScreen.js';export{default as Profile}from'./screens/Profile/ProfileScreen.js';export{default as Activity}from'./screens/Activity/ActivityScreen.js';export{default as Saved}from'./screens/Saved/SavedScreen.js';export{default as Notification}from'./screens/Notification/NotificationsScreen.js';export{default as Search}from'./screens/Search/SearchScreen.js';export{default as SearchChannelPeople}from'./screens/Search/SearchChannelPeople.js';export{default as SearchAddChannel}from'./screens/Search/SearchAddChannel.js';export{default as JumpTo}from'./screens/Search/JumpTo.js';export{default as Files}from'./screens/Files/FilesScreen.js';export{default as Wiki}from'./screens/Wiki/WikiScreen.js';export{default as Channels}from'./screens/Channels/Channels.js';export{default as AddChannel}from'./screens/Channels/AddChannel.js';export{default as AddChannelName}from'./screens/Channels/Add/AddName.js';export{default as AddChannelVisibility}from'./screens/Channels/Add/AddVisibility.js';export{default as Peoples}from'./screens/Peoples/People.js';export{default as AddPeople}from'./screens/Peoples/AddPeople.js';export{default as AddPeopleByEmail}from'./screens/Peoples/AddByEmail.js';export{default as AddFromContacts}from'./screens/Peoples/AddFromContacts.js';export{default as AddTeam}from'./screens/Teams/AddTeam.js';export{default as Team}from'./screens/Teams/Team.js';export{default as Teams}from'./screens/Teams/Teams.js';export{default as CreateOrganization}from'./screens/Organization/CreateOrganization.js';export{default as InviteOrganizationMembers}from'./screens/Organization/InviteOrganizationMembers.js';export{default as InitializeOrganizationChannel}from'./screens/Organization/InitializeOrganizationChannel.js';export{default as InitialChannelOnboarding}from'./screens/Organization/InitialChannelOnboarding.js';export{default as AddWorkSpace}from'./screens/Organization/AddWorkspace.js';export{default as Header}from'./components/Header/Header.js';export{default as Tiles}from'./components/Tiles/Tiles.js';export{default as CustomDrawer}from'./components/CustomDrawer/CustomDrawer.js';export{default as CustomBottomTabs}from'./components/CustomBottomTabs/CustomBottomTabs.js';export{default as NavigationHeader}from'./components/NavigationHeader/NavigationHeader.js';export{default as chatNavigationHeader}from'./components/NavigationHeader/NavigationHeaderChat.js';export{default as InboxNavigationHeader}from'./components/NavigationHeader/InboxNavigationHeader.js';export{default as LoadingSpinner,LoadingSpinnerDefault}from'./components/LoadingSpinner/index.js';export{default as WorkSpaceDrawer}from'./components/WorkSpaceDrawer/WorkSpaceDrawer.js';export{ChannelsByAlphabeticalAccordion}from'./components/Channels/ChannelsByAlphabeticalAccordion.js';export{SlackInput}from'./components/SlackSearchInput/index.js';export{default as AppRootContextProviderComponent}from'./components/AppRootContextProviderComponent.js';export{Actionsheet}from'./components/Actionsheet.js';export{default as useCachedResources}from'./hooks/useCachedResources.js';export{default as useColorScheme}from'./hooks/useColorScheme.js';export{DrawerLayoutContext,DrawerLayoutProvider,useDrawerLayout}from'./hooks/useDrawerLayout.js';export{ExpoNotificationContext,ExpoNotificationProvider,useExpoNotification}from'./hooks/useExpoNotificationProvider.js';export{useDisclose}from'./hooks/useDisclose.js';export{customTheme}from'./theme/index.js';import'./locales/index.js';var index = new Feature(SlackUIModule);export{index as default};//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { Feature } from '@common-stack/client-react';\nimport SlackUIModule from './module';\n\nexport * from './navigation';\nexport * from './constants';\nexport * from './screens';\nexport * from './components';\nexport * from './hooks';\nexport * from './theme';\nexport * from './locales';\n\nexport default new Feature(SlackUIModule);\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { Feature } from '@common-stack/client-react';\nimport SlackUIModule from './module';\n\nexport * from './navigation';\nexport * from './constants';\nexport * from './screens';\nexport * from './components';\nexport * from './hooks';\nexport * from './theme';\nexport * from './locales';\n\nexport default new Feature(SlackUIModule);\n"],"names":[],"mappings":"+oIASA,YAAe,IAAI,QAAQ,aAAa,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {useWindowDimensions,View,StyleSheet,TouchableOpacity,Animated,StatusBar}from'react-native';import {SceneMap,TabView}from'react-native-tab-view';import {createMaterialTopTabNavigator}from'@react-navigation/material-top-tabs';import'../screens/Login.js';import'../screens/Home/HomeScreen.js';import'@adminide-stack/user-auth0-client';import'@messenger-box/platform-mobile';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'../hooks/useDrawerLayout.js';import'../hooks/useExpoNotificationProvider.js';import'common';import'common/graphql';import'@admin-layout/gluestack-ui-mobile';import'expo-status-bar';import'react-redux';import'lodash-es';import Colors from'../constants/Colors.js';import'../constants/device.js';import'../constants/globalStyles.js';import'../constants/Layout.js';import'tailwindcss/colors';import'@react-navigation/native';import SearchScreen from'../screens/Search/SearchScreen.js';import'../screens/Search/SearchChannelPeople.js';import'../screens/Search/SearchAddChannel.js';import'../screens/Search/JumpTo.js';import'../screens/Channels/Channels.js';import'../screens/Channels/AddChannel.js';import'../screens/Channels/Add/AddName.js';import'../screens/Channels/Add/AddVisibility.js';import'../screens/Peoples/People.js';import'../screens/Peoples/AddByEmail.js';import'
|
|
1
|
+
import React__default from'react';import {useWindowDimensions,View,StyleSheet,TouchableOpacity,Animated,StatusBar}from'react-native';import {SceneMap,TabView}from'react-native-tab-view';import {createMaterialTopTabNavigator}from'@react-navigation/material-top-tabs';import'../screens/Login.js';import'../screens/Home/HomeScreen.js';import'@adminide-stack/user-auth0-client';import'@messenger-box/platform-mobile';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'../hooks/useDrawerLayout.js';import'../hooks/useExpoNotificationProvider.js';import'common';import'common/graphql';import'@admin-layout/gluestack-ui-mobile';import'expo-status-bar';import'react-redux';import'lodash-es';import Colors from'../constants/Colors.js';import'../constants/device.js';import'../constants/globalStyles.js';import'../constants/Layout.js';import'tailwindcss/colors';import'@react-navigation/native';import SearchScreen from'../screens/Search/SearchScreen.js';import'../screens/Search/SearchChannelPeople.js';import'../screens/Search/SearchAddChannel.js';import'../screens/Search/JumpTo.js';import'../screens/Channels/Channels.js';import'../screens/Channels/AddChannel.js';import'../screens/Channels/Add/AddName.js';import'../screens/Channels/Add/AddVisibility.js';import'../screens/Peoples/People.js';import'../screens/Peoples/AddByEmail.js';import'../screens/Peoples/AddFromContacts.js';import'../screens/Teams/Team.js';import'../screens/Teams/Teams.js';import'../screens/Organization/CreateOrganization.js';import'../screens/Organization/InviteOrganizationMembers.js';import'../screens/Organization/InitializeOrganizationChannel.js';import'../screens/Organization/InitialChannelOnboarding.js';import'../screens/Organization/AddWorkspace.js';import {LoadingSpinnerDefault}from'../components/LoadingSpinner/index.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __defProps = Object.defineProperties;
|
|
3
3
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {useWindowDimensions,View,StyleSheet,TouchableOpacity,Animated,StatusBar}from'react-native';import {TabView,SceneMap}from'react-native-tab-view';import'../screens/Login.js';import'../screens/Home/HomeScreen.js';import'@adminide-stack/user-auth0-client';import'@messenger-box/platform-mobile';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'../hooks/useDrawerLayout.js';import'../hooks/useExpoNotificationProvider.js';import'common';import'common/graphql';import'@admin-layout/gluestack-ui-mobile';import'expo-status-bar';import'react-redux';import'lodash-es';import Colors from'../constants/Colors.js';import'../constants/device.js';import'../constants/globalStyles.js';import'../constants/Layout.js';import'tailwindcss/colors';import'@react-navigation/native';import'../screens/Search/SearchScreen.js';import'../screens/Search/SearchChannelPeople.js';import'../screens/Search/SearchAddChannel.js';import'../screens/Search/JumpTo.js';import'../screens/Channels/Channels.js';import'../screens/Channels/AddChannel.js';import'../screens/Channels/Add/AddName.js';import'../screens/Channels/Add/AddVisibility.js';import'../screens/Peoples/People.js';import'../screens/Peoples/AddByEmail.js';import'
|
|
1
|
+
import React__default from'react';import {useWindowDimensions,View,StyleSheet,TouchableOpacity,Animated,StatusBar}from'react-native';import {TabView,SceneMap}from'react-native-tab-view';import'../screens/Login.js';import'../screens/Home/HomeScreen.js';import'@adminide-stack/user-auth0-client';import'@messenger-box/platform-mobile';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'../hooks/useDrawerLayout.js';import'../hooks/useExpoNotificationProvider.js';import'common';import'common/graphql';import'@admin-layout/gluestack-ui-mobile';import'expo-status-bar';import'react-redux';import'lodash-es';import Colors from'../constants/Colors.js';import'../constants/device.js';import'../constants/globalStyles.js';import'../constants/Layout.js';import'tailwindcss/colors';import'@react-navigation/native';import'../screens/Search/SearchScreen.js';import'../screens/Search/SearchChannelPeople.js';import'../screens/Search/SearchAddChannel.js';import'../screens/Search/JumpTo.js';import'../screens/Channels/Channels.js';import'../screens/Channels/AddChannel.js';import'../screens/Channels/Add/AddName.js';import'../screens/Channels/Add/AddVisibility.js';import'../screens/Peoples/People.js';import'../screens/Peoples/AddByEmail.js';import'../screens/Peoples/AddFromContacts.js';import Team from'../screens/Teams/Team.js';import'../screens/Teams/Teams.js';import'../screens/Organization/CreateOrganization.js';import'../screens/Organization/InviteOrganizationMembers.js';import'../screens/Organization/InitializeOrganizationChannel.js';import'../screens/Organization/InitialChannelOnboarding.js';import'../screens/Organization/AddWorkspace.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __defProps = Object.defineProperties;
|
|
3
3
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import React__default from'react';import {TouchableOpacity,Share}from'react-native';import {Ionicons,AntDesign,MaterialCommunityIcons}from'@expo/vector-icons';import {useNavigation}from'@react-navigation/native';import {HStack,Text,Box}from'@admin-layout/gluestack-ui-mobile';import {useDisclose}from'../../../../hooks/useDisclose.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'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../../hooks/useDrawerLayout.js';import'../../../../hooks/useExpoNotificationProvider.js';import {Actionsheet as ActionSheet}from'../../../../components/Actionsheet.js';import {useGetOrganizationSharableLinkQuery}from'common/graphql';import {config}from'../../../../config/env-config.js';const InviteMembers = () => {
|
|
2
|
+
const {
|
|
3
|
+
isOpen,
|
|
4
|
+
onOpen,
|
|
5
|
+
onClose
|
|
6
|
+
} = useDisclose();
|
|
7
|
+
const navigation = useNavigation();
|
|
8
|
+
const {
|
|
9
|
+
orgName
|
|
10
|
+
} = useDrawerLayout();
|
|
11
|
+
const {
|
|
12
|
+
data: organizationSharableLink
|
|
13
|
+
} = useGetOrganizationSharableLinkQuery({
|
|
14
|
+
fetchPolicy: "cache-and-network",
|
|
15
|
+
skip: !isOpen
|
|
16
|
+
});
|
|
17
|
+
const shareLink = async () => {
|
|
18
|
+
var _a;
|
|
19
|
+
try {
|
|
20
|
+
await Share.share({
|
|
21
|
+
message: `${config.APP_NAME} - ${(_a = organizationSharableLink == null ? void 0 : organizationSharableLink.getOrganizationSharableLink) != null ? _a : ""}`
|
|
22
|
+
});
|
|
23
|
+
} catch (error) {
|
|
24
|
+
alert(error.message);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const actionItems = [
|
|
28
|
+
{
|
|
29
|
+
id: 1,
|
|
30
|
+
label: /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "flex-1 justify-center items-center", style: {
|
|
31
|
+
backgroundColor: Colors.green,
|
|
32
|
+
paddingVertical: 12,
|
|
33
|
+
borderRadius: 8,
|
|
34
|
+
marginHorizontal: 10,
|
|
35
|
+
marginVertical: 5
|
|
36
|
+
} }, /* @__PURE__ */ React__default.createElement(Ionicons, { color: "white", name: "share-outline", size: 22 }), /* @__PURE__ */ React__default.createElement(Text, { className: "text-white", style: {
|
|
37
|
+
color: "white",
|
|
38
|
+
fontWeight: "600",
|
|
39
|
+
fontSize: 16
|
|
40
|
+
} }, "Share a Link")),
|
|
41
|
+
onPress: shareLink
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 2,
|
|
45
|
+
label: /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "flex-1 justify-center items-center border", style: {
|
|
46
|
+
paddingVertical: 12,
|
|
47
|
+
borderRadius: 8,
|
|
48
|
+
marginHorizontal: 10,
|
|
49
|
+
marginVertical: 5,
|
|
50
|
+
backgroundColor: colors.gray[50]
|
|
51
|
+
} }, /* @__PURE__ */ React__default.createElement(AntDesign, { color: colors.gray[900], name: "adduser", size: 22 }), /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
52
|
+
color: colors.gray[900],
|
|
53
|
+
fontWeight: "600",
|
|
54
|
+
fontSize: 16
|
|
55
|
+
} }, "Add from Contacts")),
|
|
56
|
+
onPress: () => navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {
|
|
57
|
+
orgName
|
|
58
|
+
})
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 4,
|
|
62
|
+
label: /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "flex-1 justify-center items-center border", style: {
|
|
63
|
+
paddingVertical: 12,
|
|
64
|
+
borderRadius: 8,
|
|
65
|
+
marginHorizontal: 10,
|
|
66
|
+
marginVertical: 5,
|
|
67
|
+
backgroundColor: colors.gray[50]
|
|
68
|
+
} }, /* @__PURE__ */ React__default.createElement(MaterialCommunityIcons, { color: colors.gray[900], name: "email-outline", size: 22 }), /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
69
|
+
color: colors.gray[900],
|
|
70
|
+
fontWeight: "600",
|
|
71
|
+
fontSize: 16
|
|
72
|
+
} }, "Add by Email")),
|
|
73
|
+
onPress: () => navigation.navigate(NavigationRoutes.AddPeopleByEmail, {
|
|
74
|
+
orgName
|
|
75
|
+
})
|
|
76
|
+
}
|
|
77
|
+
];
|
|
78
|
+
return /* @__PURE__ */ React__default.createElement(Box, { style: {
|
|
79
|
+
marginBottom: 8,
|
|
80
|
+
paddingHorizontal: 12
|
|
81
|
+
} }, /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: onOpen }, /* @__PURE__ */ React__default.createElement(Box, { className: "py-3 " }, /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", className: "w-full flex-1 items-center space-x-3" }, /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(Ionicons, { name: "add", size: 20, color: "black" })), /* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
82
|
+
fontSize: 15,
|
|
83
|
+
fontWeight: "500"
|
|
84
|
+
}, color: colors.gray[800] }, "Add teammates")))), /* @__PURE__ */ React__default.createElement(ActionSheet, { isOpen, actionItems, onCancel: onClose, hideBottomWidth: true, isShowCancelButton: false, header: /* @__PURE__ */ React__default.createElement(Text, { className: "text-center font-bold text-lg bg-white", style: {
|
|
85
|
+
paddingVertical: 16,
|
|
86
|
+
color: colors.gray[900]
|
|
87
|
+
} }, "Invite people to join your team") }));
|
|
88
|
+
};export{InviteMembers};//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/screens/Home/Components/InviteMembers/index.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableHighlight, Share, TouchableOpacity } from 'react-native';\nimport { Ionicons, AntDesign, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useNavigation } from '@react-navigation/native';\nimport { Box, Text, HStack, VStack } from '@admin-layout/gluestack-ui-mobile';\nimport { useDisclose } from '../../../../hooks/useDisclose';\nimport { NavigationRoutes, colors } from '../../../../constants';\nimport { Actionsheet } from '../../../../components';\nimport { useGetOrganizationSharableLinkQuery } from 'common/graphql';\nimport { useDrawerLayout } from '../../../../hooks/useDrawerLayout';\nimport { config } from '../../../../config';\nimport Colors from 'tailwindcss/colors';\n\nexport const InviteMembers = () => {\n const { isOpen, onOpen, onClose } = useDisclose();\n const navigation = useNavigation<any>();\n const { orgName } = useDrawerLayout();\n\n // Only fetch sharable link when needed (when action sheet is open)\n const { data: organizationSharableLink } = useGetOrganizationSharableLinkQuery({\n fetchPolicy: 'cache-and-network',\n skip: !isOpen,\n });\n\n const shareLink = async () => {\n try {\n await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n } catch (error: any) {\n alert(error.message);\n }\n };\n\n const actionItems = [\n {\n id: 1,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n backgroundColor: colors.green,\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: shareLink,\n },\n {\n id: 2,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center border\"\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 }}>Add from Contacts</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 // <AntDesign color={Colors.gray[900]} name=\"google\" size={22} />\n // <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>\n // Add from Google Contacts\n // </Text>\n // </HStack>\n // ),\n // onPress: () => {\n // // Navigate to Google contacts integration\n // // This would be implemented based on your app's functionality\n // },\n // },\n {\n id: 4,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center border\"\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\n return (\n <Box style={{ marginBottom: 8, paddingHorizontal: 12 }}>\n {/* Floating Action Button to open ActionSheet */}\n <TouchableOpacity onPress={onOpen}>\n <Box className=\"py-3 \">\n <HStack space={'sm'} className=\"w-full flex-1 items-center space-x-3\">\n <Box>\n <Ionicons name=\"add\" size={20} color=\"black\" />\n </Box>\n <Text style={{ fontSize: 15, fontWeight: '500' }} color={Colors.gray[800]}>\n Add teammates\n </Text>\n </HStack>\n </Box>\n </TouchableOpacity>\n\n <Actionsheet\n isOpen={isOpen}\n actionItems={actionItems}\n onCancel={onClose}\n hideBottomWidth={true}\n isShowCancelButton={false}\n header={\n <Text\n className=\"text-center font-bold text-lg bg-white\"\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};\n"],"names":["React","colors","Colors","Actionsheet"],"mappings":"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"}
|
|
@@ -29,12 +29,15 @@ import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native'
|
|
|
29
29
|
fetchPolicy: "cache-and-network",
|
|
30
30
|
nextFetchPolicy: "cache-first",
|
|
31
31
|
onCompleted(data) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
var _a;
|
|
33
|
+
if ((_a = data == null ? void 0 : data.getOrganizationTeams) == null ? void 0 : _a.length) {
|
|
34
|
+
send({
|
|
35
|
+
type: "SET_TEAMS",
|
|
36
|
+
data: {
|
|
37
|
+
teams: (data == null ? void 0 : data.getOrganizationTeams) || []
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
38
41
|
},
|
|
39
42
|
onError(error2) {
|
|
40
43
|
const isTeamServiceError = error2.message.includes("Service 'TeamService");
|
|
@@ -100,16 +103,11 @@ import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native'
|
|
|
100
103
|
});
|
|
101
104
|
};
|
|
102
105
|
}, [send]);
|
|
103
|
-
useEffect(() => {
|
|
104
|
-
if (shouldRefetch && orgName) {
|
|
105
|
-
reFetchTeams();
|
|
106
|
-
}
|
|
107
|
-
}, [shouldRefetch, orgName, reFetchTeams]);
|
|
108
106
|
useFocusEffect(useCallback(() => {
|
|
109
|
-
if (orgName
|
|
107
|
+
if (orgName) {
|
|
110
108
|
reFetchTeams();
|
|
111
109
|
}
|
|
112
|
-
}, [
|
|
110
|
+
}, [orgName]));
|
|
113
111
|
const organizationTeams = useMemo(() => {
|
|
114
112
|
var _a;
|
|
115
113
|
return teams && (teams == null ? void 0 : teams.length) && take(orderBy(uniqBy((_a = [...teams]) == null ? void 0 : _a.filter((t) => (t == null ? void 0 : t.orgName) === orgName), ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Teams.js","sources":["../../../../../src/screens/Home/Components/Teams/Teams.tsx"],"sourcesContent":["import { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport React, { useState, useEffect, useCallback, useMemo, useContext } from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport styles from '../../styles';\nimport { View, FlatList, Box, Text, Spinner, HStack, VStack } from '@admin-layout/gluestack-ui-mobile';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport { useNavigation } from '@react-navigation/native';\nimport { orderBy, uniqBy, take } from 'lodash-es';\nimport { useGetOrganizationTeamsQuery } from 'common/graphql';\nimport { useDrawerLayout } from '../../../../hooks';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport colors from 'tailwindcss/colors';\nimport { teamsXstate } from './workflow/teams-xstate';\nimport { useSafeMachine } from './hooks/useSafeMachine';\nimport { RefetchContext } from '../../HomeScreen';\n\nconst Teams = () => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const [teamExpandable, setTeamExpendable] = useState(true);\n const user = useSelector(userSelector, shallowEqual);\n const isFocused = useIsFocused();\n const { shouldRefetch } = useContext(RefetchContext);\n\n // Using the safe XState machine hook\n const [state, send] = useSafeMachine(teamsXstate);\n const { teams, loading, teamsLoading, error } = state.context;\n\n const {\n data: orgTeams,\n loading: orgTeamsLoading,\n error: orgTeamsError,\n refetch: reFetchOrgTeams,\n } = useGetOrganizationTeamsQuery({\n variables: { orgName: orgName },\n fetchPolicy: 'cache-and-network',\n nextFetchPolicy: 'cache-first',\n onCompleted(data) {\n send({\n type: 'SET_TEAMS',\n data: { teams: data?.getOrganizationTeams || [] },\n });\n },\n onError(error) {\n // Check specifically for team service errors\n const isTeamServiceError = error.message.includes(\"Service 'TeamService\");\n const errorMessage = isTeamServiceError\n ? 'Team service is temporarily unavailable. Please try again later.'\n : error.message;\n\n // Update state to reflect the error\n send({\n type: 'ERROR',\n data: { message: errorMessage },\n });\n },\n skip: !orgName,\n });\n\n const reFetchTeams = useCallback(() => {\n // Skip refetch if we're already loading\n if (state.context.teamsLoading) {\n console.log('Skipping teams refetch - already in progress');\n return;\n }\n\n if (orgName) {\n console.log('Refetching teams');\n send({ type: 'REFETCH_TEAMS' });\n reFetchOrgTeams({ orgName: orgName })\n .then((res) => {\n if (res?.data?.getOrganizationTeams) {\n send({\n type: 'SET_TEAMS',\n data: { teams: res.data.getOrganizationTeams },\n });\n }\n })\n .catch((error) => {\n // Check specifically for team service errors\n const isTeamServiceError = error.message && error.message.includes(\"Service 'TeamService\");\n const errorMessage = isTeamServiceError\n ? 'Teams are temporarily unavailable. Please try again later.'\n : error.message || 'Failed to fetch teams';\n\n send({\n type: 'ERROR',\n data: { message: errorMessage },\n });\n });\n }\n }, [orgName, send, state.context.teamsLoading, reFetchOrgTeams]);\n\n // Initialize XState with the org name when component mounts or orgName changes\n useEffect(() => {\n if (orgName && !state.context.orgName) {\n console.log('Initializing state with orgName:', orgName);\n send({\n type: 'INITIAL_CONTEXT',\n data: { orgName },\n });\n }\n }, [orgName, state.context.orgName, send]);\n\n // Clean up when unmounting\n useEffect(() => {\n return () => {\n send({ type: 'CLEAR_DATA' });\n };\n }, [send]);\n\n // Use RefetchContext to control when to refetch data\n useEffect(() => {\n if (shouldRefetch && orgName) {\n reFetchTeams();\n }\n }, [shouldRefetch, orgName, reFetchTeams]);\n\n useFocusEffect(\n useCallback(() => {\n // Only fetch teams when first focused or when we don't have any teams\n if (orgName && (!teams || teams.length === 0)) {\n reFetchTeams();\n }\n }, [reFetchTeams, teams, orgName]),\n );\n\n const organizationTeams = useMemo(() => {\n return (\n (teams &&\n teams?.length &&\n take(\n orderBy(\n uniqBy(\n [...teams]?.filter((t: any) => t?.orgName === orgName),\n ({ _id }) => _id,\n ),\n [(ch: any) => ch?.title.toLowerCase()],\n ['asc'],\n ),\n 10,\n )) ||\n []\n );\n }, [teams, orgName]);\n\n const viewTeam = useCallback(\n (item: any) => {\n navigation.navigate(NavigationRoutes.ViewTeam, {\n teamId: item?.id?.toString(),\n teamName: item?.name,\n title: item?.title?.toString(),\n totalMembers: item?.teamMembers?.length,\n orgName: orgName,\n hideTabBar: true,\n });\n },\n [orgName, navigation],\n );\n\n const renderOrganizationTeamItem = useCallback(\n ({ item }) => (\n <TouchableOpacity\n key={item.id}\n onPress={() => viewTeam(item)}\n style={{ paddingVertical: 2, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Octicons color={colors.gray[700]} name=\"lock\" size={18} />\n <Text className=\"text-gray-900 flex-1 text-base\">{item.title}</Text>\n </HStack>\n </TouchableOpacity>\n ),\n [viewTeam],\n );\n\n const ListEmptyComponent = useCallback(() => {\n return (\n <Box style={{ padding: 12 }}>\n {teamsLoading ? (\n <Box style={{ alignItems: 'center', paddingVertical: 16 }}>\n <Spinner color=\"#4A154B\" size=\"small\" />\n <Text style={{ marginTop: 8, color: '#616061' }}>Loading teams...</Text>\n </Box>\n ) : error ? (\n <Box style={{ padding: 8, backgroundColor: '#FFF4F4', borderRadius: 4 }}>\n <Text color=\"#E01E5A\" style={{ marginBottom: 8, fontWeight: '500' }}>\n {error}\n </Text>\n <TouchableOpacity onPress={reFetchTeams}>\n <HStack space=\"sm\" style={{ alignItems: 'center' }}>\n <Feather name=\"refresh-cw\" color=\"#1264A3\" size={16} />\n <Text color=\"#1264A3\" style={{ fontWeight: '500' }}>\n Retry\n </Text>\n </HStack>\n </TouchableOpacity>\n </Box>\n ) : (\n <Box style={{ alignItems: 'center', paddingVertical: 16 }}>\n <Box style={{ padding: 12, marginBottom: 8, borderRadius: 24, backgroundColor: '#F8F8F8' }}>\n <Octicons name=\"organization\" color=\"#616061\" size={20} />\n </Box>\n <Text style={{ color: '#616061', textAlign: 'center' }}>No teams available</Text>\n </Box>\n )}\n </Box>\n );\n }, [teamsLoading, error, reFetchTeams]);\n\n const ListFooterComponent = useCallback(() => {\n return (\n <VStack>\n {teams?.length > 10 && (\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.Teams, { orgName })}\n style={{ paddingVertical: 8, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <MaterialIcons color=\"#616061\" name=\"search\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Browse all Teams</Text>\n </HStack>\n </TouchableOpacity>\n )}\n\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.AddTeam, { orgName })}\n style={{ paddingBottom: 5, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Feather color=\"#616061\" name=\"plus\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Add Team</Text>\n </HStack>\n </TouchableOpacity>\n </VStack>\n );\n }, [teams, orgName, navigation]);\n\n const SectionHeader = useCallback(() => {\n return (\n <TouchableOpacity\n style={{\n paddingVertical: 8,\n paddingHorizontal: 12,\n marginBottom: 4,\n }}\n onPress={() => setTeamExpendable(!teamExpandable)}\n >\n <HStack className=\"items-center justify-between\">\n <Text className=\"text-gray-900 font-bold text-lg\">Teams</Text>\n <HStack space=\"sm\" className=\"items-center\">\n {teamsLoading && <Spinner size=\"small\" color=\"#4A154B\" />}\n <MaterialIcons\n name={teamExpandable ? 'keyboard-arrow-up' : 'keyboard-arrow-down'}\n color=\"#616061\"\n size={22}\n />\n </HStack>\n </HStack>\n </TouchableOpacity>\n );\n }, [teamExpandable, teamsLoading]);\n\n return (\n <View style={{ flex: 1 }}>\n <SectionHeader />\n\n {teamExpandable && (\n <FlatList\n data={organizationTeams}\n renderItem={renderOrganizationTeamItem}\n keyExtractor={(item) => String(item.id || item._id)}\n ListEmptyComponent={ListEmptyComponent}\n ListFooterComponent={ListFooterComponent}\n showsVerticalScrollIndicator={false}\n initialNumToRender={10}\n maxToRenderPerBatch={10}\n windowSize={5}\n contentContainerStyle={{\n flexGrow: 1,\n }}\n />\n )}\n </View>\n );\n};\n\nexport default React.memo(Teams);\n"],"names":["error","React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Teams.js","sources":["../../../../../src/screens/Home/Components/Teams/Teams.tsx"],"sourcesContent":["import { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport React, { useState, useEffect, useCallback, useMemo, useContext } from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport styles from '../../styles';\nimport { View, FlatList, Box, Text, Spinner, HStack, VStack } from '@admin-layout/gluestack-ui-mobile';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport { useNavigation } from '@react-navigation/native';\nimport { orderBy, uniqBy, take } from 'lodash-es';\nimport { useGetOrganizationTeamsQuery } from 'common/graphql';\nimport { useDrawerLayout } from '../../../../hooks';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport colors from 'tailwindcss/colors';\nimport { teamsXstate } from './workflow/teams-xstate';\nimport { useSafeMachine } from './hooks/useSafeMachine';\nimport { RefetchContext } from '../../HomeScreen';\n\nconst Teams = () => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const [teamExpandable, setTeamExpendable] = useState(true);\n const user = useSelector(userSelector, shallowEqual);\n const isFocused = useIsFocused();\n const { shouldRefetch } = useContext(RefetchContext);\n\n // Using the safe XState machine hook\n const [state, send] = useSafeMachine(teamsXstate);\n const { teams, loading, teamsLoading, error } = state.context;\n\n const {\n data: orgTeams,\n loading: orgTeamsLoading,\n error: orgTeamsError,\n refetch: reFetchOrgTeams,\n } = useGetOrganizationTeamsQuery({\n variables: { orgName: orgName },\n fetchPolicy: 'cache-and-network',\n nextFetchPolicy: 'cache-first',\n onCompleted(data) {\n if (data?.getOrganizationTeams?.length) {\n send({\n type: 'SET_TEAMS',\n data: { teams: data?.getOrganizationTeams || [] },\n });\n }\n },\n onError(error) {\n // Check specifically for team service errors\n const isTeamServiceError = error.message.includes(\"Service 'TeamService\");\n const errorMessage = isTeamServiceError\n ? 'Team service is temporarily unavailable. Please try again later.'\n : error.message;\n\n // Update state to reflect the error\n send({\n type: 'ERROR',\n data: { message: errorMessage },\n });\n },\n skip: !orgName,\n });\n\n const reFetchTeams = useCallback(() => {\n // Skip refetch if we're already loading\n if (state.context.teamsLoading) {\n console.log('Skipping teams refetch - already in progress');\n return;\n }\n\n if (orgName) {\n console.log('Refetching teams');\n send({ type: 'REFETCH_TEAMS' });\n reFetchOrgTeams({ orgName: orgName })\n .then((res) => {\n if (res?.data?.getOrganizationTeams) {\n send({\n type: 'SET_TEAMS',\n data: { teams: res.data.getOrganizationTeams },\n });\n }\n })\n .catch((error) => {\n // Check specifically for team service errors\n const isTeamServiceError = error.message && error.message.includes(\"Service 'TeamService\");\n const errorMessage = isTeamServiceError\n ? 'Teams are temporarily unavailable. Please try again later.'\n : error.message || 'Failed to fetch teams';\n\n send({\n type: 'ERROR',\n data: { message: errorMessage },\n });\n });\n }\n }, [orgName, send, state.context.teamsLoading, reFetchOrgTeams]);\n\n // Initialize XState with the org name when component mounts or orgName changes\n useEffect(() => {\n if (orgName && !state.context.orgName) {\n console.log('Initializing state with orgName:', orgName);\n send({\n type: 'INITIAL_CONTEXT',\n data: { orgName },\n });\n }\n }, [orgName, state.context.orgName, send]);\n\n // Clean up when unmounting\n useEffect(() => {\n return () => {\n send({ type: 'CLEAR_DATA' });\n };\n }, [send]);\n\n // Use RefetchContext to control when to refetch data\n // useEffect(() => {\n // if (shouldRefetch && orgName) {\n // reFetchTeams();\n // }\n // }, [shouldRefetch, orgName, reFetchTeams]);\n\n // useFocusEffect(\n // useCallback(() => {\n // // Only fetch teams when first focused or when we don't have any teams\n // if (orgName && (!teams || teams.length === 0)) {\n // reFetchTeams();\n // }\n // }, [reFetchTeams, teams, orgName]),\n // );\n\n useFocusEffect(\n useCallback(() => {\n // Only fetch teams when first focused or when we don't have any teams\n if (orgName) {\n reFetchTeams();\n }\n }, [orgName]),\n );\n\n const organizationTeams = useMemo(() => {\n return (\n (teams &&\n teams?.length &&\n take(\n orderBy(\n uniqBy(\n [...teams]?.filter((t: any) => t?.orgName === orgName),\n ({ _id }) => _id,\n ),\n [(ch: any) => ch?.title.toLowerCase()],\n ['asc'],\n ),\n 10,\n )) ||\n []\n );\n }, [teams, orgName]);\n\n const viewTeam = useCallback(\n (item: any) => {\n navigation.navigate(NavigationRoutes.ViewTeam, {\n teamId: item?.id?.toString(),\n teamName: item?.name,\n title: item?.title?.toString(),\n totalMembers: item?.teamMembers?.length,\n orgName: orgName,\n hideTabBar: true,\n });\n },\n [orgName, navigation],\n );\n\n const renderOrganizationTeamItem = useCallback(\n ({ item }) => (\n <TouchableOpacity\n key={item.id}\n onPress={() => viewTeam(item)}\n style={{ paddingVertical: 2, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Octicons color={colors.gray[700]} name=\"lock\" size={18} />\n <Text className=\"text-gray-900 flex-1 text-base\">{item.title}</Text>\n </HStack>\n </TouchableOpacity>\n ),\n [viewTeam],\n );\n\n const ListEmptyComponent = useCallback(() => {\n return (\n <Box style={{ padding: 12 }}>\n {teamsLoading ? (\n <Box style={{ alignItems: 'center', paddingVertical: 16 }}>\n <Spinner color=\"#4A154B\" size=\"small\" />\n <Text style={{ marginTop: 8, color: '#616061' }}>Loading teams...</Text>\n </Box>\n ) : error ? (\n <Box style={{ padding: 8, backgroundColor: '#FFF4F4', borderRadius: 4 }}>\n <Text color=\"#E01E5A\" style={{ marginBottom: 8, fontWeight: '500' }}>\n {error}\n </Text>\n <TouchableOpacity onPress={reFetchTeams}>\n <HStack space=\"sm\" style={{ alignItems: 'center' }}>\n <Feather name=\"refresh-cw\" color=\"#1264A3\" size={16} />\n <Text color=\"#1264A3\" style={{ fontWeight: '500' }}>\n Retry\n </Text>\n </HStack>\n </TouchableOpacity>\n </Box>\n ) : (\n <Box style={{ alignItems: 'center', paddingVertical: 16 }}>\n <Box style={{ padding: 12, marginBottom: 8, borderRadius: 24, backgroundColor: '#F8F8F8' }}>\n <Octicons name=\"organization\" color=\"#616061\" size={20} />\n </Box>\n <Text style={{ color: '#616061', textAlign: 'center' }}>No teams available</Text>\n </Box>\n )}\n </Box>\n );\n }, [teamsLoading, error, reFetchTeams]);\n\n const ListFooterComponent = useCallback(() => {\n return (\n <VStack>\n {teams?.length > 10 && (\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.Teams, { orgName })}\n style={{ paddingVertical: 8, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <MaterialIcons color=\"#616061\" name=\"search\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Browse all Teams</Text>\n </HStack>\n </TouchableOpacity>\n )}\n\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.AddTeam, { orgName })}\n style={{ paddingBottom: 5, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Feather color=\"#616061\" name=\"plus\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Add Team</Text>\n </HStack>\n </TouchableOpacity>\n </VStack>\n );\n }, [teams, orgName, navigation]);\n\n const SectionHeader = useCallback(() => {\n return (\n <TouchableOpacity\n style={{\n paddingVertical: 8,\n paddingHorizontal: 12,\n marginBottom: 4,\n }}\n onPress={() => setTeamExpendable(!teamExpandable)}\n >\n <HStack className=\"items-center justify-between\">\n <Text className=\"text-gray-900 font-bold text-lg\">Teams</Text>\n <HStack space=\"sm\" className=\"items-center\">\n {teamsLoading && <Spinner size=\"small\" color=\"#4A154B\" />}\n <MaterialIcons\n name={teamExpandable ? 'keyboard-arrow-up' : 'keyboard-arrow-down'}\n color=\"#616061\"\n size={22}\n />\n </HStack>\n </HStack>\n </TouchableOpacity>\n );\n }, [teamExpandable, teamsLoading]);\n\n return (\n <View style={{ flex: 1 }}>\n <SectionHeader />\n\n {teamExpandable && (\n <FlatList\n data={organizationTeams}\n renderItem={renderOrganizationTeamItem}\n keyExtractor={(item) => String(item.id || item._id)}\n ListEmptyComponent={ListEmptyComponent}\n ListFooterComponent={ListFooterComponent}\n showsVerticalScrollIndicator={false}\n initialNumToRender={10}\n maxToRenderPerBatch={10}\n windowSize={5}\n contentContainerStyle={{\n flexGrow: 1,\n }}\n />\n )}\n </View>\n );\n};\n\nexport default React.memo(Teams);\n"],"names":["error","React"],"mappings":"+9BAiBA,MAAM,QAAQ,MAAM;AAClB,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAA,MAAM,aAAa,aAAmB,EAAA;AACtC,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,SAAS,IAAI,CAAA;AACzD,EAAa,WAAY,CAAA,YAAA,EAAc,YAAY;AACnD,EAAkB,YAAa;AAC/B,EAAM,MAAA;AAAA,IACJ;AAAA,GACF,GAAI,WAAW,cAAc,CAAA;AAG7B,EAAA,MAAM,CAAC,KAAA,EAAO,IAAI,CAAA,GAAI,eAA0B,CAAA;AAChD,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,MACE,KAAM,CAAA,OAAA;AACV,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,QAAA;AAAA,IACN,OAAS,EAAA,eAAA;AAAA,IACT,KAAO,EAAA,aAAA;AAAA,IACP,OAAS,EAAA;AAAA,MACP,4BAA6B,CAAA;AAAA,IAC/B,SAAW,EAAA;AAAA,MACT;AAAA,KACF;AAAA,IACA,WAAa,EAAA,mBAAA;AAAA,IACb,eAAiB,EAAA,aAAA;AAAA,IACjB,YAAY,IAAM,EAAA;AAjDtB,MAAA,IAAA,EAAA;AAkDM,MAAI,IAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,oBAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAA4B,MAAQ,EAAA;AACtC,QAAK,IAAA,CAAA;AAAA,UACH,IAAM,EAAA,WAAA;AAAA,UACN,IAAM,EAAA;AAAA,YACJ,KAAA,EAAA,CAAO,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,oBAAA,KAAwB;AAAC;AACxC,SACD,CAAA;AAAA;AACH,KACF;AAAA,IACA,QAAQA,MAAO,EAAA;AAEb,MAAA,MAAM,kBAAqBA,GAAAA,MAAAA,CAAM,OAAQ,CAAA,QAAA,CAAS,sBAAsB,CAAA;AACxE,MAAM,MAAA,YAAA,GAAe,kBAAqB,GAAA,kEAAA,GAAqEA,MAAM,CAAA,OAAA;AAGrH,MAAK,IAAA,CAAA;AAAA,QACH,IAAM,EAAA,OAAA;AAAA,QACN,IAAM,EAAA;AAAA,UACJ,OAAS,EAAA;AAAA;AACX,OACD,CAAA;AAAA,KACH;AAAA,IACA,MAAM,CAAC;AAAA,GACR,CAAA;AACD,EAAM,MAAA,YAAA,GAAe,YAAY,MAAM;AAErC,IAAI,IAAA,KAAA,CAAM,QAAQ,YAAc,EAAA;AAC9B,MAAA,OAAA,CAAQ,IAAI,8CAA8C,CAAA;AAC1D,MAAA;AAAA;AAEF,IAAA,IAAI,OAAS,EAAA;AACX,MAAA,OAAA,CAAQ,IAAI,kBAAkB,CAAA;AAC9B,MAAK,IAAA,CAAA;AAAA,QACH,IAAM,EAAA;AAAA,OACP,CAAA;AACD,MAAgB,eAAA,CAAA;AAAA,QACd;AAAA,OACD,CAAE,CAAA,IAAA,CAAK,CAAO,GAAA,KAAA;AAvFrB,QAAA,IAAA,EAAA;AAwFQ,QAAI,IAAA,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,IAAL,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAW,oBAAsB,EAAA;AACnC,UAAK,IAAA,CAAA;AAAA,YACH,IAAM,EAAA,WAAA;AAAA,YACN,IAAM,EAAA;AAAA,cACJ,KAAA,EAAO,IAAI,IAAK,CAAA;AAAA;AAClB,WACD,CAAA;AAAA;AACH,OACD,CAAA,CAAE,KAAM,CAAA,CAAAA,MAAS,KAAA;AAEhB,QAAA,MAAM,qBAAqBA,MAAM,CAAA,OAAA,IAAWA,MAAM,CAAA,OAAA,CAAQ,SAAS,sBAAsB,CAAA;AACzF,QAAA,MAAM,YAAe,GAAA,kBAAA,GAAqB,4DAA+DA,GAAAA,MAAAA,CAAM,OAAW,IAAA,uBAAA;AAC1H,QAAK,IAAA,CAAA;AAAA,UACH,IAAM,EAAA,OAAA;AAAA,UACN,IAAM,EAAA;AAAA,YACJ,OAAS,EAAA;AAAA;AACX,SACD,CAAA;AAAA,OACF,CAAA;AAAA;AACH,GACF,EAAG,CAAC,OAAS,EAAA,IAAA,EAAM,MAAM,OAAQ,CAAA,YAAA,EAAc,eAAe,CAAC,CAAA;AAG/D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAW,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,OAAS,EAAA;AACrC,MAAQ,OAAA,CAAA,GAAA,CAAI,oCAAoC,OAAO,CAAA;AACvD,MAAK,IAAA,CAAA;AAAA,QACH,IAAM,EAAA,iBAAA;AAAA,QACN,IAAM,EAAA;AAAA,UACJ;AAAA;AACF,OACD,CAAA;AAAA;AACH,KACC,CAAC,OAAA,EAAS,MAAM,OAAQ,CAAA,OAAA,EAAS,IAAI,CAAC,CAAA;AAGzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,OAAO,MAAM;AACX,MAAK,IAAA,CAAA;AAAA,QACH,IAAM,EAAA;AAAA,OACP,CAAA;AAAA,KACH;AAAA,GACF,EAAG,CAAC,IAAI,CAAC,CAAA;AAkBT,EAAA,cAAA,CAAe,YAAY,MAAM;AAE/B,IAAA,IAAI,OAAS,EAAA;AACX,MAAa,YAAA,EAAA;AAAA;AACf,GACC,EAAA,CAAC,OAAO,CAAC,CAAC,CAAA;AACb,EAAM,MAAA,iBAAA,GAAoB,QAAQ,MAAM;AA1J1C,IAAA,IAAA,EAAA;AA2JI,IAAA,OAAO,UAAS,KAAO,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,MAAA,CAAA,IAAU,IAAK,CAAA,OAAA,CAAQ,QAAO,EAAC,GAAA,CAAA,GAAG,KAAK,CAAA,KAAT,mBAAY,MAAO,CAAA,CAAC,OAAW,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,OAAA,MAAY,UAAU,CAAC;AAAA,MAC5G;AAAA,UACI,GAAG,CAAA,EAAG,CAAC,CAAC,OAAY,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAA,CAAM,WAAa,EAAA,CAAA,EAAG,CAAC,KAAK,CAAC,CAAG,EAAA,EAAE,KAAK,EAAC;AAAA,GACrE,EAAA,CAAC,KAAO,EAAA,OAAO,CAAC,CAAA;AACnB,EAAM,MAAA,QAAA,GAAW,WAAY,CAAA,CAAC,IAAc,KAAA;AA/J9C,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAgKI,IAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,QAAU,EAAA;AAAA,MAC7C,MAAA,EAAA,CAAQ,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,EAAA,KAAN,IAAU,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA,EAAA;AAAA,MAClB,UAAU,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,IAAA;AAAA,MAChB,KAAA,EAAA,CAAO,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,KAAA,KAAN,IAAa,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA,EAAA;AAAA,MACpB,YAAA,EAAA,CAAc,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,WAAA,KAAN,IAAmB,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA;AAAA,MACjC,OAAA;AAAA,MACA,UAAY,EAAA;AAAA,KACb,CAAA;AAAA,GACA,EAAA,CAAC,OAAS,EAAA,UAAU,CAAC,CAAA;AACxB,EAAM,MAAA,0BAAA,GAA6B,YAAY,CAAC;AAAA,IAC9C;AAAA,GACF,qBAAOC,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,GAAK,EAAA,IAAA,CAAK,EAAI,EAAA,OAAA,EAAS,MAAM,QAAA,CAAS,IAAI,CAAA,EAAG,KAAO,EAAA;AAAA,IAC1E,eAAiB,EAAA,CAAA;AAAA,IACjB,iBAAmB,EAAA;AAAA,GAEP,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,KAAA,EAAM,IAAK,EAAA,SAAA,EAAU,cACzB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,KAAA,EAAO,MAAO,CAAA,IAAA,CAAK,GAAM,CAAA,EAAA,IAAA,EAAK,MAAO,EAAA,IAAA,EAAM,EAAI,EAAA,CAAA,kBACxDA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,SAAU,EAAA,gCAAA,EAAA,EAAkC,IAAK,CAAA,KAAM,CACjE,CACJ,CAAqB,EAAA,CAAC,QAAQ,CAAC,CAAA;AACzC,EAAM,MAAA,kBAAA,GAAqB,YAAY,MAAM;AAC3C,IAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,OAAI,KAAO,EAAA;AAAA,MACjB,OAAS,EAAA;AAAA,KAEE,EAAA,EAAA,YAAA,mBAAgBA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,KAAO,EAAA;AAAA,MACpC,UAAY,EAAA,QAAA;AAAA,MACZ,eAAiB,EAAA;AAAA,KACnB,EAAA,kBACmBA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,KAAM,EAAA,SAAA,EAAU,MAAK,OAAQ,EAAA,CAAA,kBACrCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,MAC3B,SAAW,EAAA,CAAA;AAAA,MACX,KAAO,EAAA;AAAA,SACN,kBAAgB,CACP,IAAS,KAAQ,mBAAAA,cAAA,CAAA,aAAA,CAAC,OAAI,KAAO,EAAA;AAAA,MACzC,OAAS,EAAA,CAAA;AAAA,MACT,eAAiB,EAAA,SAAA;AAAA,MACjB,YAAc,EAAA;AAAA,KAEE,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAM,WAAU,KAAO,EAAA;AAAA,MAC3C,YAAc,EAAA,CAAA;AAAA,MACd,UAAY,EAAA;AAAA,KACd,EAAA,EACqB,KACL,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,OAAS,EAAA,YAAA,EAAA,kBACtBA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,KAAM,EAAA,IAAA,EAAK,KAAO,EAAA;AAAA,MAC1C,UAAY,EAAA;AAAA,KAEQ,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,OAAQ,EAAA,EAAA,IAAA,EAAK,cAAa,KAAM,EAAA,SAAA,EAAU,IAAM,EAAA,EAAA,EAAI,CACrD,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAM,WAAU,KAAO,EAAA;AAAA,MAC/C,UAAY,EAAA;AAAA,KACd,EAAA,EAAG,OAEiB,CACJ,CACJ,CACJ,CAAS,mBAAAA,cAAA,CAAA,aAAA,CAAC,OAAI,KAAO,EAAA;AAAA,MACjC,UAAY,EAAA,QAAA;AAAA,MACZ,eAAiB,EAAA;AAAA,KACnB,EAAA,kBACmBA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,KAAO,EAAA;AAAA,MAC1B,OAAS,EAAA,EAAA;AAAA,MACT,YAAc,EAAA,CAAA;AAAA,MACd,YAAc,EAAA,EAAA;AAAA,MACd,eAAiB,EAAA;AAAA,KAEC,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,IAAA,EAAK,cAAe,EAAA,KAAA,EAAM,SAAU,EAAA,IAAA,EAAM,EAAI,EAAA,CAC5D,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,MAC3B,KAAO,EAAA,SAAA;AAAA,MACP,SAAW,EAAA;AAAA,KACb,EAAA,EAAG,oBAAkB,CACT,CACR,CAAA;AAAA,GACP,EAAA,CAAC,YAAc,EAAA,KAAA,EAAO,YAAY,CAAC,CAAA;AACtC,EAAM,MAAA,mBAAA,GAAsB,YAAY,MAAM;AAC5C,IAAA,uBAAQA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CACK,KAAO,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,MAAA,IAAS,EAAM,oBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,OAAA,EAAS,MAAM,UAAA,CAAW,QAAS,CAAA,gBAAA,CAAiB,KAAO,EAAA;AAAA,MAC5G;AAAA,KACD,GAAG,KAAO,EAAA;AAAA,MACT,eAAiB,EAAA,CAAA;AAAA,MACjB,iBAAmB,EAAA;AAAA,yBAEFA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,OAAM,IAAK,EAAA,SAAA,EAAU,kCACxBA,cAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,KAAM,EAAA,SAAA,EAAU,MAAK,QAAS,EAAA,IAAA,EAAM,IAAI,CACvD,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,MAC7B,QAAU,EAAA,EAAA;AAAA,MACV,KAAO,EAAA;AAAA,KACN,EAAA,EAAA,kBAAgB,CACL,CACJ,CAEJ,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,OAAA,EAAS,MAAM,UAAA,CAAW,QAAS,CAAA,gBAAA,CAAiB,OAAS,EAAA;AAAA,MACvF;AAAA,KACD,GAAG,KAAO,EAAA;AAAA,MACT,aAAe,EAAA,CAAA;AAAA,MACf,iBAAmB,EAAA;AAAA,yBAENA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,OAAM,IAAK,EAAA,SAAA,EAAU,kCACxBA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,KAAM,EAAA,SAAA,EAAU,MAAK,MAAO,EAAA,IAAA,EAAM,IAAI,CAC/C,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,MACzB,QAAU,EAAA,EAAA;AAAA,MACV,KAAO,EAAA;AAAA,KACN,EAAA,EAAA,UAAQ,CACD,CACJ,CACJ,CAAA;AAAA,GACP,EAAA,CAAC,KAAO,EAAA,OAAA,EAAS,UAAU,CAAC,CAAA;AAC/B,EAAM,MAAA,aAAA,GAAgB,YAAY,MAAM;AACtC,IAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAiB,KAAO,EAAA;AAAA,MAC9B,eAAiB,EAAA,CAAA;AAAA,MACjB,iBAAmB,EAAA,EAAA;AAAA,MACnB,YAAc,EAAA;AAAA,OACb,OAAS,EAAA,MAAM,kBAAkB,CAAC,cAAc,qBACtCA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,WAAU,8BACd,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,SAAU,EAAA,iCAAA,EAAA,EAAkC,OAAK,CACvD,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,KAAM,EAAA,IAAA,EAAK,WAAU,cACxB,EAAA,EAAA,YAAA,iDAAiB,OAAQ,EAAA,EAAA,IAAA,EAAK,SAAQ,KAAM,EAAA,SAAA,EAAU,mBACtDA,cAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,MAAM,cAAiB,GAAA,mBAAA,GAAsB,uBAAuB,KAAM,EAAA,SAAA,EAAU,MAAM,EAAI,EAAA,CACjH,CACJ,CACJ,CAAA;AAAA,GACP,EAAA,CAAC,cAAgB,EAAA,YAAY,CAAC,CAAA;AACjC,EAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,IAClB,IAAM,EAAA;AAAA,GAEE,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,aAAc,EAAA,IAAA,CAAA,EAEd,cAAkB,oBAAAA,cAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,IAAA,EAAM,iBAAmB,EAAA,UAAA,EAAY,0BAA4B,EAAA,YAAA,EAAc,CAAQ,IAAA,KAAA,MAAA,CAAO,IAAK,CAAA,EAAA,IAAM,IAAK,CAAA,GAAG,CAAG,EAAA,kBAAA,EAAwC,mBAA0C,EAAA,4BAAA,EAA8B,KAAO,EAAA,kBAAA,EAAoB,EAAI,EAAA,mBAAA,EAAqB,EAAI,EAAA,UAAA,EAAY,GAAG,qBAAuB,EAAA;AAAA,IACrW,QAAU,EAAA;AAAA,KACT,CACC,CAAA;AACR,CAAA;AACA,cAAeA,cAAA,CAAM,KAAK,KAAK,CAAA"}
|