@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.
@@ -1,4 +1,4 @@
1
- import PropTypes from'prop-types';import React__default from'react';import {Modal,View,StyleSheet,TouchableHighlight,Text}from'react-native';import {Center}from'@admin-layout/gluestack-ui-mobile';const PRIMARY_COLOR = "rgb(0,98,255)";
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
- margin: 0,
22
+ backgroundColor: "rgba(0,0,0,0.5)",
22
23
  justifyContent: "flex-end"
23
- } }, /* @__PURE__ */ React__default.createElement(Center, { className: "flex-1 w-full h-min[40%] shadow-lg absolute bottom-0 bg-transparent ", style: {
24
- backgroundColor: "transparent"
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: (props == null ? void 0 : props.header) ? 0 : 12,
37
- borderTopRightRadius: (props == null ? void 0 : props.header) ? 0 : 12,
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
- width: "100%"
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
- };export{ActionSheet as default};//# sourceMappingURL=Actionsheet.js.map
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{default as 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
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":"0pIASA,YAAe,IAAI,QAAQ,aAAa,CAAA"}
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'expo-contacts';import'../config/env-config.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;
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'expo-contacts';import'../config/env-config.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;
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
- send({
33
- type: "SET_TEAMS",
34
- data: {
35
- teams: (data == null ? void 0 : data.getOrganizationTeams) || []
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 && (!teams || teams.length === 0)) {
107
+ if (orgName) {
110
108
  reFetchTeams();
111
109
  }
112
- }, [reFetchTeams, teams, orgName]));
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":"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"}