@messenger-box/slack-ui-mobile 10.0.3-alpha.47 → 10.0.3-alpha.48

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.
Files changed (47) hide show
  1. package/lib/components/AppRootContextProviderComponent.js +1 -1
  2. package/lib/components/AppRootContextProviderComponent.js.map +1 -1
  3. package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +1 -1
  4. package/lib/hooks/useOptimizedChannelsQueries.js +106 -0
  5. package/lib/hooks/useOptimizedChannelsQueries.js.map +1 -0
  6. package/lib/index.js +1 -1
  7. package/lib/index.js.map +1 -1
  8. package/lib/navigation/SearchTabNavigation.js +1 -1
  9. package/lib/navigation/TeamTabNavigation.js +1 -1
  10. package/lib/screens/Account/AccountScreen.js +1 -1
  11. package/lib/screens/Account/AccountScreen.js.map +1 -1
  12. package/lib/screens/Channels/Add/AddVisibility.js +1 -1
  13. package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
  14. package/lib/screens/Channels/Channels.js +1 -1
  15. package/lib/screens/Channels/Channels.js.map +1 -1
  16. package/lib/screens/Home/Components/Channels/Channels.js +16 -53
  17. package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
  18. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +58 -61
  19. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
  20. package/lib/screens/Home/Components/Teams/Teams.js +1 -1
  21. package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
  22. package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +1 -1
  23. package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
  24. package/lib/screens/Home/HomeScreen.js +45 -5
  25. package/lib/screens/Home/HomeScreen.js.map +1 -1
  26. package/lib/screens/Inbox/InboxChannelDetail.js +1 -1
  27. package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
  28. package/lib/screens/Inbox/InboxScreen.js +1 -1
  29. package/lib/screens/Peoples/AddByEmail.js +1 -1
  30. package/lib/screens/Peoples/AddByEmail.js.map +1 -1
  31. package/lib/screens/Peoples/AddPeople.js +1 -1
  32. package/lib/screens/Peoples/AddPeople.js.map +1 -1
  33. package/lib/screens/Search/JumpTo.js +1 -1
  34. package/lib/screens/Search/JumpTo.js.map +1 -1
  35. package/lib/screens/Search/SearchAddChannel.js +1 -1
  36. package/lib/screens/Search/SearchAddChannel.js.map +1 -1
  37. package/lib/screens/Search/SearchChannelPeople.js +1 -1
  38. package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
  39. package/lib/screens/Search/SearchScreen.js +1 -1
  40. package/lib/screens/Teams/AddTeam.js +1 -1
  41. package/lib/screens/Teams/AddTeam.js.map +1 -1
  42. package/lib/screens/Teams/Components/Channels/Channels.js +1 -1
  43. package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
  44. package/lib/screens/Teams/Team.js +1 -1
  45. package/lib/screens/Teams/Teams.js +1 -1
  46. package/lib/screens/Teams/Teams.js.map +1 -1
  47. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"TopCommonSlider.js","sources":["../../../../../src/screens/Home/Components/TopCommonSlider/TopCommonSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, StyleSheet } from 'react-native';\nimport { Image, FlatList, Box, Text, VStack, Button } from '@admin-layout/gluestack-ui-mobile';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport send from '../../../../assets/images/send.png';\nimport chat from '../../../../assets/images/chat.png';\nimport saveForLater from '../../../../assets/images/save-for-later.png';\nimport { useNavigation } from '@react-navigation/native';\nimport { useDrawerLayout } from '../../../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst pWidth = Dimensions.get('window').width / 3 - 5;\n\n// Define types\ntype SliderItem = {\n id: number;\n image: any;\n title: string;\n subTitle: string;\n route: string | null;\n};\n\ntype TopCommonSliderProps = {\n // Add any props here if needed\n};\n\n// Move static data outside component\nconst SLIDER_ITEMS: SliderItem[] = [\n {\n id: 1,\n image: chat,\n title: 'Threads',\n subTitle: '0 New',\n route: NavigationRoutes.Threads,\n },\n {\n id: 2,\n image: saveForLater,\n title: 'Later',\n subTitle: '0 items',\n route: null,\n },\n {\n id: 3,\n image: send,\n title: 'Draft & Sent',\n subTitle: '0 drafts',\n route: null,\n },\n];\n\nconst styles = StyleSheet.create({\n container: {\n paddingHorizontal: 2,\n },\n view: {\n maxWidth: pWidth - 5,\n width: pWidth - 5,\n marginTop: 5,\n height: 100,\n overflow: 'hidden',\n borderColor: colors.gray[200],\n },\n image: {\n resizeMode: 'cover',\n tintColor: '#000',\n },\n contentContainer: {\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n});\n\nconst TopCommonSlider: React.FC<TopCommonSliderProps> = () => {\n const navigation = useNavigation<any>();\n const { orgName } = useDrawerLayout();\n const flatListRef = React.useRef<FlatList<SliderItem>>(null);\n\n const renderSliderItem = React.useCallback(\n ({ item }: { item: SliderItem }) => (\n <Button\n key={item.id}\n variant={'outline'}\n style={styles.view}\n className=\"flex-1 border-blue-400 rounded-lg\"\n onPress={() => item.route && navigation.navigate(item.route, { orgName })}\n >\n <Box className=\"rounded-md flex-1 items-center justify-center py-2\">\n <VStack>\n <Box>\n {item.image && (\n <Image\n className=\"p-0 w-8 h-8\"\n size={'xs'}\n alt=\"icon\"\n style={styles.image}\n source={item.image}\n />\n )}\n </Box>\n <Box>\n <Text color={colors.gray[800]} className=\"text-sm\">\n {item.title}\n </Text>\n </Box>\n <Box>\n <Text color={colors.gray[600]} className=\"text-xs\">\n {item.subTitle}\n </Text>\n </Box>\n </VStack>\n </Box>\n </Button>\n ),\n [navigation, orgName],\n );\n\n return (\n <FlatList\n ref={flatListRef}\n pagingEnabled={true}\n horizontal={true}\n snapToInterval={Dimensions.get('window').width}\n snapToAlignment=\"start\"\n decelerationRate={'fast'}\n data={SLIDER_ITEMS}\n renderItem={renderSliderItem}\n keyExtractor={(item) => String(item.id)}\n style={styles.container}\n contentContainerStyle={styles.contentContainer}\n initialNumToRender={3}\n maxToRenderPerBatch={3}\n removeClippedSubviews={true}\n />\n );\n};\n\nexport default React.memo(TopCommonSlider);\n"],"names":["chat","saveForLater","send","React"],"mappings":"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"}
1
+ {"version":3,"file":"TopCommonSlider.js","sources":["../../../../../src/screens/Home/Components/TopCommonSlider/TopCommonSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, StyleSheet } from 'react-native';\nimport { Image, FlatList, Box, Text, VStack, Button } from '@admin-layout/gluestack-ui-mobile';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport send from '../../../../assets/images/send.png';\nimport chat from '../../../../assets/images/chat.png';\nimport saveForLater from '../../../../assets/images/save-for-later.png';\nimport { useNavigation } from '@react-navigation/native';\nimport { useDrawerLayout } from '../../../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst pWidth = Dimensions.get('window').width / 3 - 5;\n\n// Define types\ntype SliderItem = {\n id: number;\n image: any;\n title: string;\n subTitle: string;\n route: string | null;\n};\n\ntype TopCommonSliderProps = {\n // Add any props here if needed\n};\n\n// Move static data outside component\nconst SLIDER_ITEMS: SliderItem[] = [\n {\n id: 1,\n image: chat,\n title: 'Threads',\n subTitle: '0 New',\n route: NavigationRoutes.Threads,\n },\n {\n id: 2,\n image: saveForLater,\n title: 'Later',\n subTitle: '0 items',\n route: null,\n },\n {\n id: 3,\n image: send,\n title: 'Draft & Sent',\n subTitle: '0 drafts',\n route: null,\n },\n];\n\nconst styles = StyleSheet.create({\n container: {\n paddingHorizontal: 2,\n },\n view: {\n maxWidth: pWidth - 5,\n width: pWidth - 5,\n marginTop: 5,\n height: 100,\n overflow: 'hidden',\n borderColor: colors.gray[200],\n },\n image: {\n resizeMode: 'cover',\n tintColor: '#000',\n },\n contentContainer: {\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n});\n\nconst TopCommonSlider: React.FC<TopCommonSliderProps> = () => {\n const navigation = useNavigation<any>();\n const { orgName } = useDrawerLayout();\n const flatListRef = React.useRef<FlatList<SliderItem>>(null);\n\n const renderSliderItem = React.useCallback(\n ({ item }: { item: SliderItem }) => (\n <Button\n key={item.id}\n variant={'outline'}\n style={styles.view}\n className=\"flex-1 border-blue-400 rounded-lg\"\n onPress={() => item.route && navigation.navigate(item.route, { orgName })}\n >\n <Box className=\"rounded-md flex-1 items-center justify-center py-2\">\n <VStack>\n <Box>\n {item.image && (\n <Image\n className=\"p-0 w-8 h-8\"\n size={'xs'}\n alt=\"icon\"\n style={styles.image}\n source={item.image}\n />\n )}\n </Box>\n <Box>\n <Text color={colors.gray[800]} className=\"text-sm\">\n {item.title}\n </Text>\n </Box>\n <Box>\n <Text color={colors.gray[600]} className=\"text-xs\">\n {item.subTitle}\n </Text>\n </Box>\n </VStack>\n </Box>\n </Button>\n ),\n [navigation, orgName],\n );\n\n return (\n <FlatList\n ref={flatListRef}\n pagingEnabled={true}\n horizontal={true}\n snapToInterval={Dimensions.get('window').width}\n snapToAlignment=\"start\"\n decelerationRate={'fast'}\n data={SLIDER_ITEMS}\n renderItem={renderSliderItem}\n keyExtractor={(item) => String(item.id)}\n style={styles.container}\n contentContainerStyle={styles.contentContainer}\n initialNumToRender={3}\n maxToRenderPerBatch={3}\n removeClippedSubviews={true}\n />\n );\n};\n\nexport default React.memo(TopCommonSlider);\n"],"names":["chat","saveForLater","send","React"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import {Ionicons,AntDesign,MaterialCommunityIcons,FontAwesome5}from'@expo/vector-icons';import {useNavigation,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useMemo,useCallback,createContext}from'react';import {Share,TouchableHighlight,Dimensions}from'react-native';import {useSelector,shallowEqual}from'react-redux';import styles from'./styles.js';import {Center,Text,HStack,Box,Icon,AddIcon,Spinner,Divider,Fab}from'@admin-layout/gluestack-ui-mobile';import {RoomType}from'common';import {useSetDeviceTokenMutation,useOrganizationSharableLinkQuery}from'../../queries/slackuiQueries.js';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import {useDisclose}from'../../hooks/useDisclose.js';import {useExpoNotification}from'../../hooks/useExpoNotificationProvider.js';import Teams from'./Components/Teams/Teams.js';import Channels from'./Components/Channels/Channels.js';import DirectChannels from'./Components/DirectChannels/DirectChannels.js';import TopCommonSlider from'./Components/TopCommonSlider/TopCommonSlider.js';import {InviteMembers}from'./Components/InviteMembers/index.js';import Colors from'../../constants/Colors.js';import'../../constants/device.js';import'../../constants/globalStyles.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import'@react-navigation/core';import'../../components/Header/styles.js';import'../../components/Tiles/styles.js';import'../../components/CustomDrawer/CustomDrawer.js';import'../../components/CustomBottomTabs/CustomBottomTabs.js';import'../../components/NavigationHeader/NavigationHeader.js';import'@react-navigation/elements';import'@common-stack/client-react';import'../../components/NavigationHeader/InboxNavigationHeader.js';import colors from'tailwindcss/colors';import'../../components/WorkSpaceDrawer/WorkSpaceDrawer.js';import'../../components/Channels/ChannelsByAlphabeticalAccordion.js';import'../../components/SlackSearchInput/index.js';import'../../components/AppRootContextProviderComponent.js';import {Actionsheet as ActionSheet}from'../../components/Actionsheet.js';import {config}from'../../config/env-config.js';var __defProp = Object.defineProperty;
1
+ import {Ionicons,AntDesign,MaterialCommunityIcons,FontAwesome5}from'@expo/vector-icons';import {useNavigation,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useMemo,useCallback,createContext}from'react';import {Share,TouchableHighlight,Dimensions}from'react-native';import {useSelector,shallowEqual}from'react-redux';import styles from'./styles.js';import {Center,Text,HStack,Box,Icon,AddIcon,Spinner,Divider,Fab}from'@admin-layout/gluestack-ui-mobile';import {RoomType}from'common';import {useSetDeviceTokenMutation,useOrganizationSharableLinkQuery}from'../../queries/slackuiQueries.js';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import {useDisclose}from'../../hooks/useDisclose.js';import {useExpoNotification}from'../../hooks/useExpoNotificationProvider.js';import {useOptimizedChannelsQueries}from'../../hooks/useOptimizedChannelsQueries.js';import Teams from'./Components/Teams/Teams.js';import Channels from'./Components/Channels/Channels.js';import DirectChannels from'./Components/DirectChannels/DirectChannels.js';import TopCommonSlider from'./Components/TopCommonSlider/TopCommonSlider.js';import {InviteMembers}from'./Components/InviteMembers/index.js';import Colors from'../../constants/Colors.js';import'../../constants/device.js';import'../../constants/globalStyles.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import'@react-navigation/core';import'../../components/Header/styles.js';import'../../components/Tiles/styles.js';import'../../components/CustomDrawer/CustomDrawer.js';import'../../components/CustomBottomTabs/CustomBottomTabs.js';import'../../components/NavigationHeader/NavigationHeader.js';import'@react-navigation/elements';import'@common-stack/client-react';import'../../components/NavigationHeader/InboxNavigationHeader.js';import colors from'tailwindcss/colors';import'../../components/WorkSpaceDrawer/WorkSpaceDrawer.js';import'../../components/Channels/ChannelsByAlphabeticalAccordion.js';import'../../components/SlackSearchInput/index.js';import'../../components/AppRootContextProviderComponent.js';import {Actionsheet as ActionSheet}from'../../components/Actionsheet.js';import {config}from'../../config/env-config.js';var __defProp = Object.defineProperty;
2
2
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
3
  var __hasOwnProp = Object.prototype.hasOwnProperty;
4
4
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
@@ -21,6 +21,18 @@ const RefetchContext = createContext({
21
21
  setRefetchStatus: (status) => {
22
22
  }
23
23
  });
24
+ const ChannelsDataContext = createContext({
25
+ channelsData: [],
26
+ directChannelsData: [],
27
+ loading: false,
28
+ error: null,
29
+ refetchChannels: () => {
30
+ },
31
+ getChannelsForHome: (limit) => [],
32
+ getDirectChannelsForHome: (limit) => [],
33
+ hasChannels: false,
34
+ hasDirectChannels: false
35
+ });
24
36
  const HomeScreen = ({
25
37
  navigation,
26
38
  route
@@ -41,10 +53,35 @@ const HomeScreen = ({
41
53
  } = useExpoNotification();
42
54
  const [setDeviceTokenMutation] = useSetDeviceTokenMutation();
43
55
  const [shouldRefetch, setShouldRefetch] = useState(false);
56
+ const {
57
+ channelsData,
58
+ directChannelsData,
59
+ loading: channelsLoading,
60
+ error: channelsError,
61
+ refetchChannels,
62
+ getChannelsForHome,
63
+ getDirectChannelsForHome,
64
+ hasChannels,
65
+ hasDirectChannels
66
+ } = useOptimizedChannelsQueries({
67
+ orgName,
68
+ enabled: !!orgName
69
+ });
44
70
  const refetchContextValue = useMemo(() => ({
45
71
  shouldRefetch,
46
72
  setRefetchStatus: setShouldRefetch
47
73
  }), [shouldRefetch]);
74
+ const channelsDataContextValue = useMemo(() => ({
75
+ channelsData,
76
+ directChannelsData,
77
+ loading: channelsLoading,
78
+ error: channelsError,
79
+ refetchChannels,
80
+ getChannelsForHome,
81
+ getDirectChannelsForHome,
82
+ hasChannels,
83
+ hasDirectChannels
84
+ }), [channelsData, directChannelsData, channelsLoading, channelsError, refetchChannels, getChannelsForHome, getDirectChannelsForHome, hasChannels, hasDirectChannels]);
48
85
  const {
49
86
  data: organizationSharableLink
50
87
  } = useOrganizationSharableLinkQuery(orgName, {
@@ -121,6 +158,9 @@ const HomeScreen = ({
121
158
  setSwipeEnabled(true);
122
159
  handlerExpoToken();
123
160
  setShouldRefetch(true);
161
+ if (orgName) {
162
+ refetchChannels();
163
+ }
124
164
  const timer = setTimeout(() => {
125
165
  setShouldRefetch(false);
126
166
  }, 500);
@@ -128,7 +168,7 @@ const HomeScreen = ({
128
168
  clearTimeout(timer);
129
169
  setSwipeEnabled(false);
130
170
  };
131
- }, [orgName, setSwipeEnabled, handlerExpoToken]));
171
+ }, [orgName, setSwipeEnabled, handlerExpoToken, refetchChannels]));
132
172
  useCallback(() => /* @__PURE__ */ React__default.createElement(Box, { style: [styles.bottomContainer, {
133
173
  marginBottom: 8,
134
174
  paddingHorizontal: 16
@@ -149,7 +189,7 @@ const HomeScreen = ({
149
189
  if (!orgName) {
150
190
  return /* @__PURE__ */ React__default.createElement(Center, { className: "flex-1 bg-white" }, /* @__PURE__ */ React__default.createElement(Spinner, { size: "large", color: Colors.primaryBgColor }));
151
191
  }
152
- return /* @__PURE__ */ React__default.createElement(RefetchContext.Provider, { value: refetchContextValue }, /* @__PURE__ */ React__default.createElement(VirtualizedScrollView, { className: "bg-white flex-1" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-white pb-10" }, /* @__PURE__ */ React__default.createElement(TopCommonSlider, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
192
+ return /* @__PURE__ */ React__default.createElement(RefetchContext.Provider, { value: refetchContextValue }, /* @__PURE__ */ React__default.createElement(ChannelsDataContext.Provider, { value: channelsDataContextValue }, /* @__PURE__ */ React__default.createElement(VirtualizedScrollView, { className: "bg-white flex-1" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-white pb-10" }, /* @__PURE__ */ React__default.createElement(TopCommonSlider, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
153
193
  marginVertical: 12
154
194
  } }), /* @__PURE__ */ React__default.createElement(Teams, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
155
195
  marginVertical: 12
@@ -163,7 +203,7 @@ const HomeScreen = ({
163
203
  backgroundColor: Colors.primaryBgColor,
164
204
  marginBottom: 20,
165
205
  marginRight: 20
166
- } }, /* @__PURE__ */ React__default.createElement(FontAwesome5, { color: "white", name: "edit", size: 18 })));
206
+ } }, /* @__PURE__ */ React__default.createElement(FontAwesome5, { color: "white", name: "edit", size: 18 }))));
167
207
  };
168
208
  const Home = React__default.memo((props) => {
169
209
  const user = useSelector((state) => state.user, shallowEqual);
@@ -180,4 +220,4 @@ const Home = React__default.memo((props) => {
180
220
  if (!orgName)
181
221
  return /* @__PURE__ */ React__default.createElement(Center, { className: "flex-1 bg-white" }, /* @__PURE__ */ React__default.createElement(Text, null, "No Organization found"));
182
222
  return /* @__PURE__ */ React__default.createElement(HomeScreen, __spreadValues({}, props));
183
- });export{RefetchContext,Home as default};//# sourceMappingURL=HomeScreen.js.map
223
+ });export{ChannelsDataContext,RefetchContext,Home as default};//# sourceMappingURL=HomeScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HomeScreen.js","sources":["../../../src/screens/Home/HomeScreen.tsx"],"sourcesContent":["import { Ionicons, AntDesign, FontAwesome5, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useFocusEffect, useNavigation } from '@react-navigation/native';\nimport React, { useCallback, useState, useMemo, createContext } from 'react';\nimport { TouchableHighlight, Share, Dimensions } from 'react-native';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport styles from './styles';\nimport {\n Box,\n Avatar,\n Icon,\n AddIcon,\n Text,\n Spinner,\n Center,\n Fab,\n HStack,\n Divider,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { useSetDeviceTokenMutation, useOrganizationSharableLinkQuery } from '../../queries/slackuiQueries';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useDisclose } from '../../hooks/useDisclose';\nimport { useExpoNotification } from '../../hooks/useExpoNotificationProvider';\nimport { Teams } from './Components/Teams';\nimport { Channels } from './Components/Channels/index';\nimport { DirectChannels } from './Components/DirectChannels';\nimport { TopCommonSlider } from './Components/TopCommonSlider';\nimport { InviteMembers } from './Components/InviteMembers';\nimport { NavigationRoutes, colors } from '../../constants';\nimport { LoadingSpinnerDefault, Actionsheet } from '../../components';\nimport { config } from '../../config';\nimport Colors from 'tailwindcss/colors';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\n// Create a context to control refetching across child components\nexport const RefetchContext = createContext({\n shouldRefetch: false,\n setRefetchStatus: (status: boolean) => {},\n});\n\nconst HomeScreen = ({ navigation, route }) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { isOpen, onOpen, onClose } = useDisclose();\n const { setSwipeEnabled, orgName, organizationDetail } = useDrawerLayout();\n const { expoToken } = useExpoNotification();\n const [setDeviceTokenMutation] = useSetDeviceTokenMutation();\n const [shouldRefetch, setShouldRefetch] = useState(false);\n\n // Memoize the refetch context value\n const refetchContextValue = useMemo(\n () => ({\n shouldRefetch,\n setRefetchStatus: setShouldRefetch,\n }),\n [shouldRefetch],\n );\n\n // Only fetch sharable link when needed (when action sheet is open)\n const { data: organizationSharableLink } = useOrganizationSharableLinkQuery(orgName, {\n fetchPolicy: 'cache-and-network',\n skip: !isOpen,\n });\n\n // Define shareLink before it's used in the memo\n const shareLink = useCallback(async () => {\n try {\n const result = await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n } catch (error: any) {\n alert(error.message);\n }\n }, [organizationSharableLink?.getOrganizationSharableLink]);\n\n // Memoize action items to prevent unnecessary re-renders\n const actionItems = useMemo(\n () => [\n {\n id: 1,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n backgroundColor: colors.primaryBgColor,\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n }}\n >\n <Ionicons color={'white'} name=\"share-outline\" size={22} />\n <Text className=\"text-white\" style={{ color: 'white', fontWeight: '600', fontSize: 16 }}>\n Share a Link\n </Text>\n </HStack>\n ),\n onPress: async () => await shareLink(),\n },\n {\n id: 2,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <AntDesign color={Colors.gray[900]} name=\"adduser\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>\n Add from Contacts\n </Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {\n orgName,\n }),\n },\n {\n id: 3,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <MaterialCommunityIcons color={Colors.gray[900]} name=\"email-outline\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>Add by Email</Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n }),\n },\n ],\n [isOpen, navigation, orgName, shareLink],\n );\n\n // Optimize token handling\n const handlerExpoToken = useCallback(() => {\n if (expoToken) {\n setDeviceTokenMutation({\n variables: {\n deviceToken: expoToken,\n },\n });\n }\n }, [expoToken, setDeviceTokenMutation]);\n\n useFocusEffect(\n useCallback(() => {\n setSwipeEnabled(true);\n handlerExpoToken();\n setShouldRefetch(true);\n\n // Set refetch status to false after a short delay\n const timer = setTimeout(() => {\n setShouldRefetch(false);\n }, 500);\n\n return () => {\n clearTimeout(timer);\n setSwipeEnabled(false);\n };\n }, [orgName, setSwipeEnabled, handlerExpoToken]),\n );\n\n // Memoize the AddTeammates component\n const AddTeammates = useCallback(\n () => (\n <Box style={[styles.bottomContainer, { marginBottom: 8, paddingHorizontal: 16 }]}>\n <TouchableHighlight underlayColor={Colors.gray[50]} onPress={onOpen}>\n <Box className=\"py-3 px-2\">\n <HStack className=\"w-full flex-1 items-center space-x-3\">\n <Box\n style={{\n backgroundColor: Colors.gray[100],\n borderRadius: 20,\n padding: 6,\n }}\n >\n <Icon as={AddIcon} style={{ width: 20, height: 20 }} color={Colors.gray[700]} />\n </Box>\n <Text style={{ fontSize: 15, fontWeight: '500' }} color={Colors.gray[800]}>\n Add teammates\n </Text>\n </HStack>\n </Box>\n </TouchableHighlight>\n\n <Actionsheet\n isOpen={isOpen}\n actionItems={actionItems}\n onCancel={onClose}\n hideBottomWidth={true}\n header={\n <Text\n className=\"text-center font-bold text-lg\"\n style={{\n paddingVertical: 16,\n color: Colors.gray[900],\n }}\n >\n Invite people to join your team\n </Text>\n }\n />\n </Box>\n ),\n [isOpen, onOpen, onClose, actionItems],\n );\n\n if (!orgName) {\n return (\n <Center className=\"flex-1 bg-white\">\n <Spinner size=\"large\" color={colors.primaryBgColor} />\n </Center>\n );\n }\n\n return (\n <RefetchContext.Provider value={refetchContextValue}>\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <Box className=\"flex-1 bg-white pb-10\">\n <TopCommonSlider />\n <Divider style={{ marginVertical: 12 }} />\n <Teams />\n <Divider style={{ marginVertical: 12 }} />\n <Channels />\n <Divider style={{ marginVertical: 12 }} />\n <DirectChannels />\n <Divider style={{ marginVertical: 12 }} />\n {/* <AddTeammates />\n <Divider style={{ marginVertical: 12 }} /> */}\n <InviteMembers />\n </Box>\n </VirtualizedScrollView>\n <Fab\n onPress={() => navigation.navigate(NavigationRoutes.SearchAddChannel, { orgName })}\n size=\"sm\"\n className=\"items-center shadow-lg\"\n style={{ backgroundColor: colors.primaryBgColor, marginBottom: 20, marginRight: 20 }}\n >\n <FontAwesome5 color=\"white\" name=\"edit\" size={18} />\n </Fab>\n </RefetchContext.Provider>\n );\n};\n\n// Memoize the entire Home component\nconst Home = React.memo((props: any) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n\n useFocusEffect(\n React.useCallback(() => {\n if (!user?.profile) navigation?.navigate(NavigationRoutes.Login);\n return () => {};\n }, []),\n );\n\n // if (!orgName) return <LoadingSpinnerDefault />;\n if (!orgName)\n return (\n <Center className=\"flex-1 bg-white\">\n <Text>No Organization found</Text>\n </Center>\n );\n\n return <HomeScreen {...props} />;\n});\n\nexport default Home;\n"],"names":["React","colors","Colors","Actionsheet"],"mappings":"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"}
1
+ {"version":3,"file":"HomeScreen.js","sources":["../../../src/screens/Home/HomeScreen.tsx"],"sourcesContent":["import { Ionicons, AntDesign, FontAwesome5, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useFocusEffect, useNavigation } from '@react-navigation/native';\nimport React, { useCallback, useState, useMemo, createContext } from 'react';\nimport { TouchableHighlight, Share, Dimensions } from 'react-native';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport styles from './styles';\nimport {\n Box,\n Avatar,\n Icon,\n AddIcon,\n Text,\n Spinner,\n Center,\n Fab,\n HStack,\n Divider,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { useSetDeviceTokenMutation, useOrganizationSharableLinkQuery } from '../../queries/slackuiQueries';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useDisclose } from '../../hooks/useDisclose';\nimport { useExpoNotification } from '../../hooks/useExpoNotificationProvider';\nimport { useOptimizedChannelsQueries } from '../../hooks/useOptimizedChannelsQueries';\nimport { Teams } from './Components/Teams';\nimport { Channels } from './Components/Channels/index';\nimport { DirectChannels } from './Components/DirectChannels';\nimport { TopCommonSlider } from './Components/TopCommonSlider';\nimport { InviteMembers } from './Components/InviteMembers';\nimport { NavigationRoutes, colors } from '../../constants';\nimport { LoadingSpinnerDefault, Actionsheet } from '../../components';\nimport { config } from '../../config';\nimport Colors from 'tailwindcss/colors';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\n// Create a context to control refetching across child components\nexport const RefetchContext = createContext({\n shouldRefetch: false,\n setRefetchStatus: (status: boolean) => {},\n});\n\n// Create a context to share optimized channel data across child components\nexport const ChannelsDataContext = createContext({\n channelsData: [],\n directChannelsData: [],\n loading: false,\n error: null,\n refetchChannels: () => {},\n getChannelsForHome: (limit?: number) => [],\n getDirectChannelsForHome: (limit?: number) => [],\n hasChannels: false,\n hasDirectChannels: false,\n});\n\nconst HomeScreen = ({ navigation, route }) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { isOpen, onOpen, onClose } = useDisclose();\n const { setSwipeEnabled, orgName, organizationDetail } = useDrawerLayout();\n const { expoToken } = useExpoNotification();\n const [setDeviceTokenMutation] = useSetDeviceTokenMutation();\n const [shouldRefetch, setShouldRefetch] = useState(false);\n\n // Use optimized channels queries hook\n const {\n channelsData,\n directChannelsData,\n loading: channelsLoading,\n error: channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n } = useOptimizedChannelsQueries({\n orgName,\n enabled: !!orgName,\n });\n\n // Memoize the refetch context value\n const refetchContextValue = useMemo(\n () => ({\n shouldRefetch,\n setRefetchStatus: setShouldRefetch,\n }),\n [shouldRefetch],\n );\n\n // Memoize the channels data context value\n const channelsDataContextValue = useMemo(\n () => ({\n channelsData,\n directChannelsData,\n loading: channelsLoading,\n error: channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n }),\n [\n channelsData,\n directChannelsData,\n channelsLoading,\n channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n ],\n );\n\n // Only fetch sharable link when needed (when action sheet is open)\n const { data: organizationSharableLink } = useOrganizationSharableLinkQuery(orgName, {\n fetchPolicy: 'cache-and-network',\n skip: !isOpen,\n });\n\n // Define shareLink before it's used in the memo\n const shareLink = useCallback(async () => {\n try {\n const result = await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n } catch (error: any) {\n alert(error.message);\n }\n }, [organizationSharableLink?.getOrganizationSharableLink]);\n\n // Memoize action items to prevent unnecessary re-renders\n const actionItems = useMemo(\n () => [\n {\n id: 1,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n backgroundColor: colors.primaryBgColor,\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n }}\n >\n <Ionicons color={'white'} name=\"share-outline\" size={22} />\n <Text className=\"text-white\" style={{ color: 'white', fontWeight: '600', fontSize: 16 }}>\n Share a Link\n </Text>\n </HStack>\n ),\n onPress: async () => await shareLink(),\n },\n {\n id: 2,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <AntDesign color={Colors.gray[900]} name=\"adduser\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>\n Add from Contacts\n </Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {\n orgName,\n }),\n },\n {\n id: 3,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <MaterialCommunityIcons color={Colors.gray[900]} name=\"email-outline\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>Add by Email</Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n }),\n },\n ],\n [isOpen, navigation, orgName, shareLink],\n );\n\n // Optimize token handling\n const handlerExpoToken = useCallback(() => {\n if (expoToken) {\n setDeviceTokenMutation({\n variables: {\n deviceToken: expoToken,\n },\n });\n }\n }, [expoToken, setDeviceTokenMutation]);\n\n useFocusEffect(\n useCallback(() => {\n setSwipeEnabled(true);\n handlerExpoToken();\n setShouldRefetch(true);\n\n // Refetch channels when focus changes\n if (orgName) {\n refetchChannels();\n }\n\n // Set refetch status to false after a short delay\n const timer = setTimeout(() => {\n setShouldRefetch(false);\n }, 500);\n\n return () => {\n clearTimeout(timer);\n setSwipeEnabled(false);\n };\n }, [orgName, setSwipeEnabled, handlerExpoToken, refetchChannels]),\n );\n\n // Memoize the AddTeammates component\n const AddTeammates = useCallback(\n () => (\n <Box style={[styles.bottomContainer, { marginBottom: 8, paddingHorizontal: 16 }]}>\n <TouchableHighlight underlayColor={Colors.gray[50]} onPress={onOpen}>\n <Box className=\"py-3 px-2\">\n <HStack className=\"w-full flex-1 items-center space-x-3\">\n <Box\n style={{\n backgroundColor: Colors.gray[100],\n borderRadius: 20,\n padding: 6,\n }}\n >\n <Icon as={AddIcon} style={{ width: 20, height: 20 }} color={Colors.gray[700]} />\n </Box>\n <Text style={{ fontSize: 15, fontWeight: '500' }} color={Colors.gray[800]}>\n Add teammates\n </Text>\n </HStack>\n </Box>\n </TouchableHighlight>\n\n <Actionsheet\n isOpen={isOpen}\n actionItems={actionItems}\n onCancel={onClose}\n hideBottomWidth={true}\n header={\n <Text\n className=\"text-center font-bold text-lg\"\n style={{\n paddingVertical: 16,\n color: Colors.gray[900],\n }}\n >\n Invite people to join your team\n </Text>\n }\n />\n </Box>\n ),\n [isOpen, onOpen, onClose, actionItems],\n );\n\n if (!orgName) {\n return (\n <Center className=\"flex-1 bg-white\">\n <Spinner size=\"large\" color={colors.primaryBgColor} />\n </Center>\n );\n }\n\n return (\n <RefetchContext.Provider value={refetchContextValue}>\n <ChannelsDataContext.Provider value={channelsDataContextValue}>\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <Box className=\"flex-1 bg-white pb-10\">\n <TopCommonSlider />\n <Divider style={{ marginVertical: 12 }} />\n <Teams />\n <Divider style={{ marginVertical: 12 }} />\n <Channels />\n <Divider style={{ marginVertical: 12 }} />\n <DirectChannels />\n <Divider style={{ marginVertical: 12 }} />\n {/* <AddTeammates />\n <Divider style={{ marginVertical: 12 }} /> */}\n <InviteMembers />\n </Box>\n </VirtualizedScrollView>\n <Fab\n onPress={() => navigation.navigate(NavigationRoutes.SearchAddChannel, { orgName })}\n size=\"sm\"\n className=\"items-center shadow-lg\"\n style={{ backgroundColor: colors.primaryBgColor, marginBottom: 20, marginRight: 20 }}\n >\n <FontAwesome5 color=\"white\" name=\"edit\" size={18} />\n </Fab>\n </ChannelsDataContext.Provider>\n </RefetchContext.Provider>\n );\n};\n\n// Memoize the entire Home component\nconst Home = React.memo((props: any) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n\n useFocusEffect(\n React.useCallback(() => {\n if (!user?.profile) navigation?.navigate(NavigationRoutes.Login);\n return () => {};\n }, []),\n );\n\n // if (!orgName) return <LoadingSpinnerDefault />;\n if (!orgName)\n return (\n <Center className=\"flex-1 bg-white\">\n <Text>No Organization found</Text>\n </Center>\n );\n\n return <HomeScreen {...props} />;\n});\n\nexport default Home;\n"],"names":["React","colors","Colors","Actionsheet"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React__default from'react';import {SafeAreaView}from'react-native';import {userSelector,isUserAuthenticated}from'@adminide-stack/user-auth0-client';import {RoomType}from'common';import {useChannelDetailQuery,useAddMemberToChannelMutation,useSaveMembersToChannelMutation,useAddDirectChannelMutation}from'../../queries/slackuiQueries.js';import {MaterialIcons,Octicons,AntDesign,Feather}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import {Box,VStack,HStack,Button,Avatar,AvatarFallbackText,AvatarImage,AvatarBadge,Text,Image,Divider,ButtonText,ScrollView,FlatList,Switch,SectionList}from'@admin-layout/gluestack-ui-mobile';import {StatusBar}from'expo-status-bar';import {useSelector}from'react-redux';import {startCase}from'lodash-es';import Colors from'../../constants/Colors.js';import'../../constants/device.js';import'../../constants/globalStyles.js';import images from'../../constants/preloadImages.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import colors from'tailwindcss/colors';const InboxChannelDetailScreen = ({
1
+ import React__default from'react';import {SafeAreaView}from'react-native';import {userSelector,isUserAuthenticated}from'@adminide-stack/user-auth0-client';import {RoomType}from'common';import {useChannelDetailQuery,useAddMemberToChannelMutation,useSaveMembersToChannelMutation,useAddDirectChannelMutation}from'../../queries/slackuiQueries.js';import {MaterialIcons,Octicons,AntDesign,Feather}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.js';import {Box,VStack,HStack,Button,Avatar,AvatarFallbackText,AvatarImage,AvatarBadge,Text,Image,Divider,ButtonText,ScrollView,FlatList,Switch,SectionList}from'@admin-layout/gluestack-ui-mobile';import {StatusBar}from'expo-status-bar';import {useSelector}from'react-redux';import {startCase}from'lodash-es';import Colors from'../../constants/Colors.js';import'../../constants/device.js';import'../../constants/globalStyles.js';import images from'../../constants/preloadImages.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import colors from'tailwindcss/colors';const InboxChannelDetailScreen = ({
2
2
  channelId,
3
3
  navigation
4
4
  }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"InboxChannelDetail.js","sources":["../../../src/screens/Inbox/InboxChannelDetail.tsx"],"sourcesContent":["import React from 'react';\nimport { SafeAreaView } from 'react-native';\nimport { isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport { navigationRef } from '@common-stack/client-react';\nimport { RoomType } from 'common';\nimport {\n useAddMemberToChannelMutation,\n useSaveMembersToChannelMutation,\n useAddDirectChannelMutation,\n useChannelDetailQuery,\n} from '../../queries/slackuiQueries';\nimport { useDrawerLayout } from '../../hooks';\nimport {\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Box,\n Button,\n ButtonText,\n Divider,\n FlatList,\n HStack,\n Heading,\n Icon,\n Image,\n ScrollView,\n SectionList,\n Switch,\n Text,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { Ionicons, MaterialIcons, AntDesign, FontAwesome, Feather, Octicons } from '@expo/vector-icons';\nimport { startCase } from 'lodash-es';\nimport { NavigationRoutes, colors, images } from '../../constants';\nimport Colors from 'tailwindcss/colors';\n\nconst InboxChannelDetailScreen = ({ channelId, navigation }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const user = useSelector(userSelector);\n const { authenticated } = isUserAuthenticated();\n const titleCharacterLimit: number = 18;\n\n const {\n data: channelData,\n loading: channelLoading,\n refetch: reFetchChannel,\n } = useChannelDetailQuery(channelId?.toString());\n\n const [addMemberToChannel, { loading: addMemberToChannelLoading, error: addMemberToChannelError }] =\n useAddMemberToChannelMutation();\n\n const [saveMembersToChannel, { loading: saveMembersToChannelLoading, error: saveMembersToChannelError }] =\n useSaveMembersToChannelMutation();\n\n const [addDirectChannel, { loading: addDirectChannelLoading, error: addDirectChannelError }] =\n useAddDirectChannelMutation();\n\n const [leaveChannelLoading, setLeaveChannelLoading] = React.useState(false);\n const [isMuted, setIsMuted] = React.useState(false);\n\n const handleMuteToggle = React.useCallback(\n (value: boolean) => {\n setIsMuted(value);\n // In a real implementation, you would call a mutation to save this preference\n console.log(`Channel ${channelId} mute status changed to: ${value}`);\n },\n [channelId],\n );\n\n React.useEffect(() => {\n // Do something when the screen is focused\n reFetchChannel();\n return () => {};\n }, []);\n\n const channel = React.useMemo(() => {\n const channelMembers =\n channelData?.viewChannelDetail?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null;\n const membersNameAsTitle =\n channelData?.viewChannelDetail?.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : null;\n const title = membersNameAsTitle || channelData?.viewChannelDetail?.title || '';\n const channelTitle =\n title?.length > titleCharacterLimit ? title?.substring(0, titleCharacterLimit) + '...' : title;\n return [\n {\n title: channelTitle,\n data: channelData?.viewChannelDetail\n ? [{ title: channelTitle, data: channelData?.viewChannelDetail }]\n : [],\n },\n ];\n }, [channelData]);\n\n const channelType = React.useMemo(() => {\n if (!channelData?.viewChannelDetail) return 'CHANNEL';\n return channelData?.viewChannelDetail?.type;\n }, [channelData]);\n\n const channelMembers = React.useMemo(() => {\n if (!channelData?.viewChannelDetail?.members || channelData?.viewChannelDetail?.members?.length == 0)\n return null;\n return (\n channelData?.viewChannelDetail?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null\n );\n }, [channelData]);\n\n const memberImage = React.useMemo(() => {\n return channelType == RoomType.Direct && channelMembers?.length == 1\n ? channelMembers[0]?.picture ?? null\n : null;\n }, [channelMembers]);\n\n const SectionHeaderComponent = React.memo(({ title }: any) => {\n return (\n <Box className=\"bg-white flex-1\">\n <VStack space={'md'}>\n <HStack className=\"flex-1 justify-between items-center py-2\">\n <HStack className=\"flex-1 items-center\">\n <Button\n //onPress={() => navigation?.goBack?.()}\n className=\"bg-transparent\"\n onPress={() => navigation?.goBack()}\n >\n <MaterialIcons size={30} name=\"keyboard-arrow-left\" color=\"black\" />\n </Button>\n <Box className=\"py-2\">\n {memberImage ? (\n <Avatar\n key={'inbox-channel-member-image-key'}\n size={'sm'}\n className=\"bg-transparent\"\n >\n <AvatarFallbackText>{startCase(title?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: memberImage,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n ) : channelType == RoomType.Channel ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"hash\" size={20} />\n </Text>\n ) : channelType === RoomType.Private ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </Text>\n ) : (\n <></>\n )}\n </Box>\n <Text numberOfLines={1} className=\"px-2 text-black flex-wrap text-[18px] font-bold\">\n {title}\n </Text>\n </HStack>\n <HStack className=\"items-center\">\n <Button size={'md'} className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\">\n <Octicons color=\"black\" name=\"pencil\" size={20} />\n </Button>\n <Button size={'md'} className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\">\n <MaterialIcons color=\"black\" name=\"more-vert\" size={20} />\n </Button>\n </HStack>\n </HStack>\n </VStack>\n </Box>\n );\n });\n\n const SectionItemChannelMembers = React.memo(({ member }: any) => {\n const fullName = member?.user?.givenName + ' ' + member?.user?.familyName;\n const fullNameWithCharLimit = fullName?.length > 15 ? fullName?.substring(0, 15) + '...' : fullName;\n return (\n <Button\n variant={'solid'}\n // w={'$20'}\n size={'md'}\n className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200 px-0 rounded-lg h-full\"\n >\n <VStack space={'sm'} className=\"flex-1 px-2\">\n <Image\n source={{\n uri: member?.user?.picture,\n }}\n alt={startCase(member?.user?.username?.charAt(0))}\n size={'md'}\n className=\"rounded-lg\"\n />\n <Text\n numberOfLines={2}\n color={colors.black}\n className=\"text-[12px] font-bold text-center flex-wrap items-start color-black\"\n >\n {fullNameWithCharLimit}\n </Text>\n </VStack>\n </Button>\n );\n });\n\n const SectionItemComponent = React.memo(({ item }: any) => {\n return (\n <VStack space={'md'} className=\"bg-white flex-1 px-2\">\n <HStack className=\"flex-1 items-center\">\n <Box>\n {memberImage ? (\n <Avatar key={'inbox-channel-member-profile-key'} size={'sm'} className=\"bg-transparent\">\n <AvatarFallbackText> {startCase(item?.title?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: memberImage,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n ) : channelType == RoomType.Channel ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"hash\" size={20} />\n </Text>\n ) : channelType === RoomType.Private ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </Text>\n ) : (\n <></>\n )}\n </Box>\n <Text className=\"px-2 text-black flex-wrap text-[18px] font-bold\" numberOfLines={1}>\n {item?.title}\n </Text>\n </HStack>\n\n <Box className=\"flex-1\">\n <Text className=\"text-black text-[18]] text-justify\" color={colors.black}>\n <Text className=\"font-bold text-[15]\" color={Colors.black}>\n Description:{' '}\n </Text>\n {item?.data?.description}\n </Text>\n </Box>\n <HStack space={'sm'} className=\"flex-1 justify-between items-center\">\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId,\n isAddMemeber: true,\n onMemberAdded: (memberId: string) => {\n if (memberId) {\n addMemberToChannel({\n variables: {\n channelId: channelId?.toString(),\n memberId,\n },\n }).then(() => {\n reFetchChannel();\n });\n }\n },\n })\n }\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <AntDesign color=\"black\" name=\"adduser\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Add\n </Text>\n </VStack>\n </Button>\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <Feather color=\"$black\" name=\"headphones\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Huddle\n </Text>\n </VStack>\n </Button>\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <AntDesign color=\"black\" name=\"search1\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Search\n </Text>\n </VStack>\n </Button>\n </HStack>\n <Divider />\n <VStack className=\"flex-1\" space={'sm'}>\n <HStack className=\"flex-1 justify-between items-center\">\n <Text className=\"text-[15] font-semibold\" color={Colors.black}>\n Members({item?.data?.members?.length})\n </Text>\n <Button variant={'link'}>\n <ButtonText className=\"font-semibold\" style={{ fontSize: 15 }}>\n See All\n </ButtonText>\n </Button>\n </HStack>\n\n <ScrollView horizontal={true} style={{ flex: 1 }}>\n <FlatList\n horizontal\n data={item?.data?.members?.slice(0, 10) ?? []}\n ItemSeparatorComponent={() => <Box className=\"mx-2\" />}\n renderItem={({ item: member }: any) => <SectionItemChannelMembers member={member} />}\n />\n </ScrollView>\n </VStack>\n <Divider />\n <VStack className=\"flex-1\" space={'lg'}>\n <Text className=\"text-[15] font-semibold\" color={Colors.black}>\n Settings\n </Text>\n <HStack space={'sm'} className=\"flex-1 items-center justify-between\">\n <AntDesign color=\"black\" name=\"bells\" size={20} />\n <Box className=\"flex-1\">\n <VStack className=\"flex-[0.5]\" space=\"sm\">\n <Text color={Colors.black} className=\"font-semibold text-[16]\">\n Mute Channel\n </Text>\n <Text className=\"flex-wrap text-[18] text-justify\" color={Colors.black}>\n Muted channels will always appears read and you won't receive any notification from\n t..\n </Text>\n </VStack>\n </Box>\n <Box>\n <Switch\n size=\"sm\"\n // offTrackColor=\"white\"\n // onTrackColor=\"blue.800\"\n // offThumbColor=\"gray.500\"\n // onThumbColor=\"white\"\n value={isMuted}\n onValueChange={handleMuteToggle}\n />\n </Box>\n </HStack>\n <HStack space={'sm'} className=\"flex-1 items-center justify-between\">\n <Avatar key={'account-image-key'} size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarFallbackText>NC</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={images.pushNotification}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n <Box className=\"flex-1\">\n <VStack className=\"flex-[0.5]\" space=\"sm\">\n <Text color={Colors.black} className=\"font-semibold text-[16]\">\n Notification\n </Text>\n <Text className=\"flex-wrap text-[14] text-justify\" color={Colors.black}>\n Just @mentions\n </Text>\n </VStack>\n </Box>\n </HStack>\n </VStack>\n\n <Button\n variant={'solid'}\n className=\"rounded-lg bg-rose-600\"\n onPress={() => {\n setLeaveChannelLoading(true);\n // In a real implementation, you would call the appropriate mutation\n // For now, we'll just navigate back as a placeholder\n setTimeout(() => {\n setLeaveChannelLoading(false);\n navigation?.goBack();\n }, 1000);\n }}\n isDisabled={leaveChannelLoading}\n >\n <MaterialIcons name=\"logout\" color={'white'} size={20} />\n <ButtonText className=\"pl-1.5\" style={{ fontSize: 14, fontWeight: 'bold' }}>\n {leaveChannelLoading ? 'Leaving...' : 'Leave channel'}\n </ButtonText>\n </Button>\n </VStack>\n );\n });\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <StatusBar style={'dark'} />\n <Box className=\"flex-1 bg-white\">\n <Box className=\"flex-1\">\n <SectionList\n contentContainerStyle={{\n flexGrow: 1,\n paddingBottom: 50,\n }}\n // maxW={'100%'}\n style={{ width: '100%', height: '100%' }}\n sections={channel}\n keyExtractor={(index) => 'inbox-channel-' + index}\n renderItem={({ item }) => <SectionItemComponent item={item} />}\n renderSectionHeader={({ section: { title } }: any) => <SectionHeaderComponent title={title} />}\n />\n </Box>\n </Box>\n </SafeAreaView>\n );\n};\n\nexport default InboxChannelDetailScreen;\n"],"names":["React","channelMembers","_a","_b","colors","Colors"],"mappings":"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"}
1
+ {"version":3,"file":"InboxChannelDetail.js","sources":["../../../src/screens/Inbox/InboxChannelDetail.tsx"],"sourcesContent":["import React from 'react';\nimport { SafeAreaView } from 'react-native';\nimport { isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport { navigationRef } from '@common-stack/client-react';\nimport { RoomType } from 'common';\nimport {\n useAddMemberToChannelMutation,\n useSaveMembersToChannelMutation,\n useAddDirectChannelMutation,\n useChannelDetailQuery,\n} from '../../queries/slackuiQueries';\nimport { useDrawerLayout } from '../../hooks';\nimport {\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Box,\n Button,\n ButtonText,\n Divider,\n FlatList,\n HStack,\n Heading,\n Icon,\n Image,\n ScrollView,\n SectionList,\n Switch,\n Text,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { Ionicons, MaterialIcons, AntDesign, FontAwesome, Feather, Octicons } from '@expo/vector-icons';\nimport { startCase } from 'lodash-es';\nimport { NavigationRoutes, colors, images } from '../../constants';\nimport Colors from 'tailwindcss/colors';\n\nconst InboxChannelDetailScreen = ({ channelId, navigation }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const user = useSelector(userSelector);\n const { authenticated } = isUserAuthenticated();\n const titleCharacterLimit: number = 18;\n\n const {\n data: channelData,\n loading: channelLoading,\n refetch: reFetchChannel,\n } = useChannelDetailQuery(channelId?.toString());\n\n const [addMemberToChannel, { loading: addMemberToChannelLoading, error: addMemberToChannelError }] =\n useAddMemberToChannelMutation();\n\n const [saveMembersToChannel, { loading: saveMembersToChannelLoading, error: saveMembersToChannelError }] =\n useSaveMembersToChannelMutation();\n\n const [addDirectChannel, { loading: addDirectChannelLoading, error: addDirectChannelError }] =\n useAddDirectChannelMutation();\n\n const [leaveChannelLoading, setLeaveChannelLoading] = React.useState(false);\n const [isMuted, setIsMuted] = React.useState(false);\n\n const handleMuteToggle = React.useCallback(\n (value: boolean) => {\n setIsMuted(value);\n // In a real implementation, you would call a mutation to save this preference\n console.log(`Channel ${channelId} mute status changed to: ${value}`);\n },\n [channelId],\n );\n\n React.useEffect(() => {\n // Do something when the screen is focused\n reFetchChannel();\n return () => {};\n }, []);\n\n const channel = React.useMemo(() => {\n const channelMembers =\n channelData?.viewChannelDetail?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null;\n const membersNameAsTitle =\n channelData?.viewChannelDetail?.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : null;\n const title = membersNameAsTitle || channelData?.viewChannelDetail?.title || '';\n const channelTitle =\n title?.length > titleCharacterLimit ? title?.substring(0, titleCharacterLimit) + '...' : title;\n return [\n {\n title: channelTitle,\n data: channelData?.viewChannelDetail\n ? [{ title: channelTitle, data: channelData?.viewChannelDetail }]\n : [],\n },\n ];\n }, [channelData]);\n\n const channelType = React.useMemo(() => {\n if (!channelData?.viewChannelDetail) return 'CHANNEL';\n return channelData?.viewChannelDetail?.type;\n }, [channelData]);\n\n const channelMembers = React.useMemo(() => {\n if (!channelData?.viewChannelDetail?.members || channelData?.viewChannelDetail?.members?.length == 0)\n return null;\n return (\n channelData?.viewChannelDetail?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null\n );\n }, [channelData]);\n\n const memberImage = React.useMemo(() => {\n return channelType == RoomType.Direct && channelMembers?.length == 1\n ? channelMembers[0]?.picture ?? null\n : null;\n }, [channelMembers]);\n\n const SectionHeaderComponent = React.memo(({ title }: any) => {\n return (\n <Box className=\"bg-white flex-1\">\n <VStack space={'md'}>\n <HStack className=\"flex-1 justify-between items-center py-2\">\n <HStack className=\"flex-1 items-center\">\n <Button\n //onPress={() => navigation?.goBack?.()}\n className=\"bg-transparent\"\n onPress={() => navigation?.goBack()}\n >\n <MaterialIcons size={30} name=\"keyboard-arrow-left\" color=\"black\" />\n </Button>\n <Box className=\"py-2\">\n {memberImage ? (\n <Avatar\n key={'inbox-channel-member-image-key'}\n size={'sm'}\n className=\"bg-transparent\"\n >\n <AvatarFallbackText>{startCase(title?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: memberImage,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n ) : channelType == RoomType.Channel ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"hash\" size={20} />\n </Text>\n ) : channelType === RoomType.Private ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </Text>\n ) : (\n <></>\n )}\n </Box>\n <Text numberOfLines={1} className=\"px-2 text-black flex-wrap text-[18px] font-bold\">\n {title}\n </Text>\n </HStack>\n <HStack className=\"items-center\">\n <Button size={'md'} className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\">\n <Octicons color=\"black\" name=\"pencil\" size={20} />\n </Button>\n <Button size={'md'} className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\">\n <MaterialIcons color=\"black\" name=\"more-vert\" size={20} />\n </Button>\n </HStack>\n </HStack>\n </VStack>\n </Box>\n );\n });\n\n const SectionItemChannelMembers = React.memo(({ member }: any) => {\n const fullName = member?.user?.givenName + ' ' + member?.user?.familyName;\n const fullNameWithCharLimit = fullName?.length > 15 ? fullName?.substring(0, 15) + '...' : fullName;\n return (\n <Button\n variant={'solid'}\n // w={'$20'}\n size={'md'}\n className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200 px-0 rounded-lg h-full\"\n >\n <VStack space={'sm'} className=\"flex-1 px-2\">\n <Image\n source={{\n uri: member?.user?.picture,\n }}\n alt={startCase(member?.user?.username?.charAt(0))}\n size={'md'}\n className=\"rounded-lg\"\n />\n <Text\n numberOfLines={2}\n color={colors.black}\n className=\"text-[12px] font-bold text-center flex-wrap items-start color-black\"\n >\n {fullNameWithCharLimit}\n </Text>\n </VStack>\n </Button>\n );\n });\n\n const SectionItemComponent = React.memo(({ item }: any) => {\n return (\n <VStack space={'md'} className=\"bg-white flex-1 px-2\">\n <HStack className=\"flex-1 items-center\">\n <Box>\n {memberImage ? (\n <Avatar key={'inbox-channel-member-profile-key'} size={'sm'} className=\"bg-transparent\">\n <AvatarFallbackText> {startCase(item?.title?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: memberImage,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n ) : channelType == RoomType.Channel ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"hash\" size={20} />\n </Text>\n ) : channelType === RoomType.Private ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </Text>\n ) : (\n <></>\n )}\n </Box>\n <Text className=\"px-2 text-black flex-wrap text-[18px] font-bold\" numberOfLines={1}>\n {item?.title}\n </Text>\n </HStack>\n\n <Box className=\"flex-1\">\n <Text className=\"text-black text-[18]] text-justify\" color={colors.black}>\n <Text className=\"font-bold text-[15]\" color={Colors.black}>\n Description:{' '}\n </Text>\n {item?.data?.description}\n </Text>\n </Box>\n <HStack space={'sm'} className=\"flex-1 justify-between items-center\">\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId,\n isAddMemeber: true,\n onMemberAdded: (memberId: string) => {\n if (memberId) {\n addMemberToChannel({\n variables: {\n channelId: channelId?.toString(),\n memberId,\n },\n }).then(() => {\n reFetchChannel();\n });\n }\n },\n })\n }\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <AntDesign color=\"black\" name=\"adduser\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Add\n </Text>\n </VStack>\n </Button>\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <Feather color=\"$black\" name=\"headphones\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Huddle\n </Text>\n </VStack>\n </Button>\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <AntDesign color=\"black\" name=\"search1\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Search\n </Text>\n </VStack>\n </Button>\n </HStack>\n <Divider />\n <VStack className=\"flex-1\" space={'sm'}>\n <HStack className=\"flex-1 justify-between items-center\">\n <Text className=\"text-[15] font-semibold\" color={Colors.black}>\n Members({item?.data?.members?.length})\n </Text>\n <Button variant={'link'}>\n <ButtonText className=\"font-semibold\" style={{ fontSize: 15 }}>\n See All\n </ButtonText>\n </Button>\n </HStack>\n\n <ScrollView horizontal={true} style={{ flex: 1 }}>\n <FlatList\n horizontal\n data={item?.data?.members?.slice(0, 10) ?? []}\n ItemSeparatorComponent={() => <Box className=\"mx-2\" />}\n renderItem={({ item: member }: any) => <SectionItemChannelMembers member={member} />}\n />\n </ScrollView>\n </VStack>\n <Divider />\n <VStack className=\"flex-1\" space={'lg'}>\n <Text className=\"text-[15] font-semibold\" color={Colors.black}>\n Settings\n </Text>\n <HStack space={'sm'} className=\"flex-1 items-center justify-between\">\n <AntDesign color=\"black\" name=\"bells\" size={20} />\n <Box className=\"flex-1\">\n <VStack className=\"flex-[0.5]\" space=\"sm\">\n <Text color={Colors.black} className=\"font-semibold text-[16]\">\n Mute Channel\n </Text>\n <Text className=\"flex-wrap text-[18] text-justify\" color={Colors.black}>\n Muted channels will always appears read and you won't receive any notification from\n t..\n </Text>\n </VStack>\n </Box>\n <Box>\n <Switch\n size=\"sm\"\n // offTrackColor=\"white\"\n // onTrackColor=\"blue.800\"\n // offThumbColor=\"gray.500\"\n // onThumbColor=\"white\"\n value={isMuted}\n onValueChange={handleMuteToggle}\n />\n </Box>\n </HStack>\n <HStack space={'sm'} className=\"flex-1 items-center justify-between\">\n <Avatar key={'account-image-key'} size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarFallbackText>NC</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={images.pushNotification}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n <Box className=\"flex-1\">\n <VStack className=\"flex-[0.5]\" space=\"sm\">\n <Text color={Colors.black} className=\"font-semibold text-[16]\">\n Notification\n </Text>\n <Text className=\"flex-wrap text-[14] text-justify\" color={Colors.black}>\n Just @mentions\n </Text>\n </VStack>\n </Box>\n </HStack>\n </VStack>\n\n <Button\n variant={'solid'}\n className=\"rounded-lg bg-rose-600\"\n onPress={() => {\n setLeaveChannelLoading(true);\n // In a real implementation, you would call the appropriate mutation\n // For now, we'll just navigate back as a placeholder\n setTimeout(() => {\n setLeaveChannelLoading(false);\n navigation?.goBack();\n }, 1000);\n }}\n isDisabled={leaveChannelLoading}\n >\n <MaterialIcons name=\"logout\" color={'white'} size={20} />\n <ButtonText className=\"pl-1.5\" style={{ fontSize: 14, fontWeight: 'bold' }}>\n {leaveChannelLoading ? 'Leaving...' : 'Leave channel'}\n </ButtonText>\n </Button>\n </VStack>\n );\n });\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <StatusBar style={'dark'} />\n <Box className=\"flex-1 bg-white\">\n <Box className=\"flex-1\">\n <SectionList\n contentContainerStyle={{\n flexGrow: 1,\n paddingBottom: 50,\n }}\n // maxW={'100%'}\n style={{ width: '100%', height: '100%' }}\n sections={channel}\n keyExtractor={(index) => 'inbox-channel-' + index}\n renderItem={({ item }) => <SectionItemComponent item={item} />}\n renderSectionHeader={({ section: { title } }: any) => <SectionHeaderComponent title={title} />}\n />\n </Box>\n </Box>\n </SafeAreaView>\n );\n};\n\nexport default InboxChannelDetailScreen;\n"],"names":["React","channelMembers","_a","_b","colors","Colors"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React__default from'react';import {isUserAuthenticated}from'@adminide-stack/user-auth0-client';import {Inbox}from'@messenger-box/platform-mobile';import {Login}from'../Login.js';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';var __defProp = Object.defineProperty;
1
+ import React__default from'react';import {isUserAuthenticated}from'@adminide-stack/user-auth0-client';import {Inbox}from'@messenger-box/platform-mobile';import {Login}from'../Login.js';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.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,{useState,useEffect}from'react';import {Button,ButtonText,Box,VStack,ButtonIcon,CheckIcon,Heading,HStack,Text,Input,InputField}from'@admin-layout/gluestack-ui-mobile';import {TouchableOpacity,SafeAreaView,Platform,Dimensions}from'react-native';import {NavigationRoutes}from'../../constants/routes.js';import {Ionicons,AntDesign}from'@expo/vector-icons';import {useIsFocused}from'@react-navigation/native';import {useSendOrganizationInvitationMutation}from'../../queries/slackuiQueries.js';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import colors from'tailwindcss/colors';Dimensions.get("window").width;
1
+ import React__default,{useState,useEffect}from'react';import {Button,ButtonText,Box,VStack,ButtonIcon,CheckIcon,Heading,HStack,Text,Input,InputField}from'@admin-layout/gluestack-ui-mobile';import {TouchableOpacity,SafeAreaView,Platform,Dimensions}from'react-native';import {NavigationRoutes}from'../../constants/routes.js';import {Ionicons,AntDesign}from'@expo/vector-icons';import {useIsFocused}from'@react-navigation/native';import {useSendOrganizationInvitationMutation}from'../../queries/slackuiQueries.js';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.js';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import colors from'tailwindcss/colors';Dimensions.get("window").width;
2
2
  Dimensions.get("window").height;
3
3
  Dimensions.get("screen").height;
4
4
  const AddPeopleByEmail = ({
@@ -1 +1 @@
1
- {"version":3,"file":"AddByEmail.js","sources":["../../../src/screens/Peoples/AddByEmail.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport {\n Input,\n InputField,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n ButtonIcon,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n Image,\n Checkbox,\n ChevronLeftIcon,\n Heading,\n CheckIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StyleSheet, TouchableOpacity, Linking, Platform, Dimensions, SafeAreaView } from 'react-native';\nimport Colors from '../../constants/Colors';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, Ionicons } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused } from '@react-navigation/native';\nimport { useSendOrganizationInvitationMutation } from '../../queries/slackuiQueries';\nimport { useDrawerLayout } from '../../hooks';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport colors from 'tailwindcss/colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\nconst screenHeight = Dimensions.get('screen').height;\n\nconst AddPeopleByEmail = ({ navigation, route }: any) => {\n const isFocused = useIsFocused();\n const { orgName } = useDrawerLayout();\n const user = useSelector(userSelector);\n const [contacts, setContacts] = useState([]);\n const [email, setEmail] = useState('');\n // const emailReg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w\\w+)+$/;\n const emailReg = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const [emailSent, setEmailSent] = useState(false);\n const [sendOrganizationInvitationMutation, { data, loading, error }] = useSendOrganizationInvitationMutation({\n onCompleted: (res) => {\n console.log('org invitation res', JSON.stringify(res));\n if (res?.sendOrganizationInvitation) setEmailSent(true);\n },\n onError: (e) => {\n console.log('e', JSON.stringify(e));\n setEmailSent(false);\n },\n });\n\n useEffect(() => {\n return () => {\n setEmailSent(false);\n setEmail('');\n };\n }, []);\n\n useEffect(() => {\n if (isFocused) {\n }\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n title: emailSent ? '' : 'Add by Email',\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation?.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <>\n {emailSent ? (\n <></>\n ) : (\n <Button\n className=\"mr-2\"\n disabled={email && emailReg.test(email) === true ? false : true}\n variant={'link'}\n onPress={() =>\n sendOrganizationInvitationMutation({\n variables: {\n request: {\n emails: [email],\n orgName: orgName,\n invitedBy: user?.profile?.name,\n sentInvitee: true,\n },\n },\n })\n }\n >\n <ButtonText\n className={`${email && emailReg.test(email) === true ? 'text-black' : 'text-gray-400'}`}\n >\n SEND\n </ButtonText>\n </Button>\n )}\n </>\n ),\n });\n }, [isFocused, navigation, email, orgName, user, emailSent]);\n\n return (\n <Box className=\"flex-1 bg-white\">\n {emailSent ? (\n <SafeAreaView style={{ flex: 1 }}>\n <VStack space={'lg'} className=\"py-5 flex-1 justify-between\">\n <Box className=\"text-center justify-center rounded-full\">\n {/* <CheckIcon size={10} mt=\"0.5\" color=\"emerald.500\" /> */}\n <Button className=\"rounded-full bg-green-100\" size={'lg'}>\n {/* <AntDesign name=\"check\" size={25} /> */}\n <ButtonIcon color={'#14532d'} as={CheckIcon} />\n </Button>\n </Box>\n <Heading className=\"text-center\">Invitation sent</Heading>\n <HStack className=\"flex-1 px-4 pr-10\" space={'sm'}>\n <Box>\n <AntDesign color=\"black\" name=\"adduser\" size={30} />\n </Box>\n <Box>\n <Text color={colors.black} className=\"font-bold\">\n {email}\n </Text>\n <Text>\n Invited as a member of {orgName}.They'll be able to receive and reply to messages by\n email untill they join.\n </Text>\n </Box>\n </HStack>\n <Box className=\"px-5\">\n <Button\n onPress={() => {\n setEmail('');\n // navigation.goBack();\n if (Platform.OS === 'macos') {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n } else if (navigation.canGoBack()) {\n navigation.goBack();\n } else {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n }\n }}\n className=\"bg-green-900 rounded-lg active:bg-green-600 hover:bg-green-600\"\n >\n <ButtonText className=\"font-bold text-[15]\">Done</ButtonText>\n </Button>\n </Box>\n </VStack>\n </SafeAreaView>\n ) : (\n <Input variant=\"underlined\" className=\" rounded-lg\" size={'xl'}>\n <InputField\n type=\"text\"\n size=\"xl\"\n autoCapitalize={'none'}\n autoCorrect={false}\n placeholderTextColor={'#404040'}\n value={email}\n placeholder=\"name@example.com\"\n onChange={(event) => setEmail(event.nativeEvent.text)}\n textContentType=\"emailAddress\"\n keyboardType=\"email-address\"\n className=\"px-3 text-[14] transform-none\"\n />\n </Input>\n // <Input\n // textTransform={'none'}\n // borderWidth={1}\n // borderColor={'coolGray.300'}\n // _focus={{ borderColor: 'coolGray.300' }}\n // py={4}\n // px={3}\n // _input={{ placeholderTextColor: '#404040', fontSize: 14 }}\n // variant=\"underlined\"\n // placeholder=\"name@example.com\"\n // value={email}\n // onChangeText={(v) => setEmail(v)}\n // textContentType=\"emailAddress\"\n // keyboardType=\"email-address\"\n // autoCapitalize=\"none\"\n // autoCorrect={false}\n // />\n )}\n {/* <View flex={1}>\n <VirtualizedScrollView>\n <VStack space=\"5\" pt={2}></VStack>\n </VirtualizedScrollView>\n </View> */}\n </Box>\n );\n};\n\nexport default AddPeopleByEmail;\n"],"names":["React"],"mappings":"syBAaoB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACxB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACzB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AAC9C,MAAM,mBAAmB,CAAC;AAAA,EACxB,UAAA;AAAA,EACA;AACF,CAAW,KAAA;AACT,EAAA,MAAM,YAAY,YAAa,EAAA;AAC/B,EAAM,MAAA;AAAA,IACJ;AAAA,MACE,eAAgB,EAAA;AACpB,EAAM,MAAA,IAAA,GAAO,YAAY,YAAY,CAAA;AACrC,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAA,QAAA,CAAS,EAAE,CAAA;AAC3C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,EAAE,CAAA;AAErC,EAAA,MAAM,QAAW,GAAA,4BAAA;AACjB,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,kCAAoC,EAAA;AAAA,IACzC,IAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACD,IAAI,qCAAsC,CAAA;AAAA,IACzC,aAAa,CAAO,GAAA,KAAA;AAClB,MAAA,OAAA,CAAQ,GAAI,CAAA,oBAAA,EAAsB,IAAK,CAAA,SAAA,CAAU,GAAG,CAAC,CAAA;AACrD,MAAA,IAAI,GAAK,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAA,0BAAA;AAA4B,QAAA,YAAA,CAAa,IAAI,CAAA;AAAA,KACxD;AAAA,IACA,SAAS,CAAK,CAAA,KAAA;AACZ,MAAA,OAAA,CAAQ,GAAI,CAAA,GAAA,EAAK,IAAK,CAAA,SAAA,CAAU,CAAC,CAAC,CAAA;AAClC,MAAA,YAAA,CAAa,KAAK,CAAA;AAAA;AACpB,GACD,CAAA;AACD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,OAAO,MAAM;AACX,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,QAAA,CAAS,EAAE,CAAA;AAAA,KACb;AAAA,GACF,EAAG,EAAE,CAAA;AACL,EAAA,SAAA,CAAU,MAAM;AAEd,IAAA,UAAA,CAAW,UAAW,CAAA;AAAA,MACpB,WAAa,EAAA,IAAA;AAAA,MACb,gBAAkB,EAAA,MAAA;AAAA,MAClB,kBAAkB,EAAC;AAAA,MACnB,KAAA,EAAO,YAAY,EAAK,GAAA,cAAA;AAAA,MACxB,UAAY,EAAA,CAAC,KAAe,qBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAiB,KAAO,EAAA;AAAA,QACnD,iBAAmB,EAAA;AAAA,OAClB,EAAA,OAAA,EAAS,MAAM,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,MAChB,EAAA,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,IAAA,EAAK,cAAe,EAAA,IAAA,EAAM,IAAI,CAC1D,CAAA;AAAA,MACV,WAAA,EAAa,CAAC,KAAe,qBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACd,4BAAcA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,mBAAOA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,SAAU,EAAA,MAAA,EAAO,UAAU,KAAS,IAAA,QAAA,CAAS,IAAK,CAAA,KAAK,CAAM,KAAA,IAAA,GAAO,QAAQ,IAAM,EAAA,OAAA,EAAS,MAAQ,EAAA,OAAA,EAAS,MAAG;AA/DhK,QAAA,IAAA,EAAA;AA+DmK,QAAmC,OAAA,kCAAA,CAAA;AAAA,UAC5L,SAAW,EAAA;AAAA,YACT,OAAS,EAAA;AAAA,cACP,MAAA,EAAQ,CAAC,KAAK,CAAA;AAAA,cACd,OAAA;AAAA,cACA,SAAA,EAAA,CAAW,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,OAAA,KAAN,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA;AAAA,cAC1B,WAAa,EAAA;AAAA;AACf;AACF,SACD,CAAA;AAAA,OAAA,EAAA,kBACoBA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,SAAW,EAAA,CAAA,EAAG,SAAS,QAAS,CAAA,IAAA,CAAK,KAAK,CAAA,KAAM,IAAO,GAAA,YAAA,GAAe,eAAmB,CAAA,CAAA,EAAA,EAAA,MAErG,CACJ,CACR;AAAA,KACX,CAAA;AAAA,GACH,EAAG,CAAC,SAAW,EAAA,UAAA,EAAY,OAAO,OAAS,EAAA,IAAA,EAAM,SAAS,CAAC,CAAA;AAC3D,EAAA,oDAAQ,GAAI,EAAA,EAAA,SAAA,EAAU,qBACX,SAAY,mBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAa,KAAO,EAAA;AAAA,IACxC,IAAM,EAAA;AAAA,uBAESA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,KAAO,EAAA,IAAA,EAAM,WAAU,6BAC3B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,SAAA,EAAU,6DAEVA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,SAAU,EAAA,2BAAA,EAA4B,MAAM,IAEhD,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,KAAA,EAAO,WAAW,EAAI,EAAA,SAAA,EAAW,CACjD,CACJ,mBACCA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,SAAU,EAAA,aAAA,EAAA,EAAc,iBAAe,CAChD,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,SAAA,EAAU,qBAAoB,KAAO,EAAA,IAAA,EAAA,kBACxCA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,IAAA,+CACI,SAAU,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,IAAA,EAAK,WAAU,IAAM,EAAA,EAAA,EAAI,CACtD,CAAA,+CACC,GACG,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAO,OAAO,KAAO,EAAA,SAAA,EAAU,WAChC,EAAA,EAAA,KACL,mBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,EAAK,yBACsB,EAAA,OAAA,EAAQ,8EAEpC,CACJ,CACJ,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,OAAI,SAAU,EAAA,MAAA,EAAA,kBACVA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,SAAS,MAAM;AACvC,IAAA,QAAA,CAAS,EAAE,CAAA;AAEX,IAAI,IAAA,QAAA,CAAS,OAAO,OAAS,EAAA;AAC3B,MAAA,UAAA,CAAW,SAAS,WAAa,EAAA;AAAA,QAC/B,QAAQ,gBAAiB,CAAA,IAAA;AAAA,QACzB,MAAQ,EAAA;AAAA,UACN;AAAA;AACF,OACD,CAAA;AAAA,KACH,MAAA,IAAW,UAAW,CAAA,SAAA,EAAa,EAAA;AACjC,MAAA,UAAA,CAAW,MAAO,EAAA;AAAA,KACb,MAAA;AACL,MAAA,UAAA,CAAW,SAAS,WAAa,EAAA;AAAA,QAC/B,QAAQ,gBAAiB,CAAA,IAAA;AAAA,QACzB,MAAQ,EAAA;AAAA,UACN;AAAA;AACF,OACD,CAAA;AAAA;AACH,GACF,EAAG,WAAU,gEACS,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,cAAW,SAAU,EAAA,qBAAA,EAAA,EAAsB,MAAI,CACpD,CACJ,CACJ,CACJ,CAAkB,mBAAAA,cAAA,CAAA,aAAA,CAAC,KAAM,EAAA,EAAA,OAAA,EAAQ,YAAa,EAAA,SAAA,EAAU,gBAAe,IAAM,EAAA,IAAA,EAAA,kBACxEA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,IAAK,EAAA,MAAA,EAAO,MAAK,IAAK,EAAA,cAAA,EAAgB,MAAQ,EAAA,WAAA,EAAa,KAAO,EAAA,oBAAA,EAAsB,WAAW,KAAO,EAAA,KAAA,EAAO,WAAY,EAAA,kBAAA,EAAmB,QAAU,EAAA,CAAA,KAAA,KAAS,SAAS,KAAM,CAAA,WAAA,CAAY,IAAI,CAAA,EAAG,eAAgB,EAAA,cAAA,EAAe,cAAa,eAAgB,EAAA,SAAA,EAAU,+BAAgC,EAAA,CAC3T,CAwBR,CAAA;AACR"}
1
+ {"version":3,"file":"AddByEmail.js","sources":["../../../src/screens/Peoples/AddByEmail.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport {\n Input,\n InputField,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n ButtonIcon,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n Image,\n Checkbox,\n ChevronLeftIcon,\n Heading,\n CheckIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StyleSheet, TouchableOpacity, Linking, Platform, Dimensions, SafeAreaView } from 'react-native';\nimport Colors from '../../constants/Colors';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, Ionicons } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused } from '@react-navigation/native';\nimport { useSendOrganizationInvitationMutation } from '../../queries/slackuiQueries';\nimport { useDrawerLayout } from '../../hooks';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport colors from 'tailwindcss/colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\nconst screenHeight = Dimensions.get('screen').height;\n\nconst AddPeopleByEmail = ({ navigation, route }: any) => {\n const isFocused = useIsFocused();\n const { orgName } = useDrawerLayout();\n const user = useSelector(userSelector);\n const [contacts, setContacts] = useState([]);\n const [email, setEmail] = useState('');\n // const emailReg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w\\w+)+$/;\n const emailReg = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const [emailSent, setEmailSent] = useState(false);\n const [sendOrganizationInvitationMutation, { data, loading, error }] = useSendOrganizationInvitationMutation({\n onCompleted: (res) => {\n console.log('org invitation res', JSON.stringify(res));\n if (res?.sendOrganizationInvitation) setEmailSent(true);\n },\n onError: (e) => {\n console.log('e', JSON.stringify(e));\n setEmailSent(false);\n },\n });\n\n useEffect(() => {\n return () => {\n setEmailSent(false);\n setEmail('');\n };\n }, []);\n\n useEffect(() => {\n if (isFocused) {\n }\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n title: emailSent ? '' : 'Add by Email',\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation?.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <>\n {emailSent ? (\n <></>\n ) : (\n <Button\n className=\"mr-2\"\n disabled={email && emailReg.test(email) === true ? false : true}\n variant={'link'}\n onPress={() =>\n sendOrganizationInvitationMutation({\n variables: {\n request: {\n emails: [email],\n orgName: orgName,\n invitedBy: user?.profile?.name,\n sentInvitee: true,\n },\n },\n })\n }\n >\n <ButtonText\n className={`${email && emailReg.test(email) === true ? 'text-black' : 'text-gray-400'}`}\n >\n SEND\n </ButtonText>\n </Button>\n )}\n </>\n ),\n });\n }, [isFocused, navigation, email, orgName, user, emailSent]);\n\n return (\n <Box className=\"flex-1 bg-white\">\n {emailSent ? (\n <SafeAreaView style={{ flex: 1 }}>\n <VStack space={'lg'} className=\"py-5 flex-1 justify-between\">\n <Box className=\"text-center justify-center rounded-full\">\n {/* <CheckIcon size={10} mt=\"0.5\" color=\"emerald.500\" /> */}\n <Button className=\"rounded-full bg-green-100\" size={'lg'}>\n {/* <AntDesign name=\"check\" size={25} /> */}\n <ButtonIcon color={'#14532d'} as={CheckIcon} />\n </Button>\n </Box>\n <Heading className=\"text-center\">Invitation sent</Heading>\n <HStack className=\"flex-1 px-4 pr-10\" space={'sm'}>\n <Box>\n <AntDesign color=\"black\" name=\"adduser\" size={30} />\n </Box>\n <Box>\n <Text color={colors.black} className=\"font-bold\">\n {email}\n </Text>\n <Text>\n Invited as a member of {orgName}.They'll be able to receive and reply to messages by\n email untill they join.\n </Text>\n </Box>\n </HStack>\n <Box className=\"px-5\">\n <Button\n onPress={() => {\n setEmail('');\n // navigation.goBack();\n if (Platform.OS === 'macos') {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n } else if (navigation.canGoBack()) {\n navigation.goBack();\n } else {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n }\n }}\n className=\"bg-green-900 rounded-lg active:bg-green-600 hover:bg-green-600\"\n >\n <ButtonText className=\"font-bold text-[15]\">Done</ButtonText>\n </Button>\n </Box>\n </VStack>\n </SafeAreaView>\n ) : (\n <Input variant=\"underlined\" className=\" rounded-lg\" size={'xl'}>\n <InputField\n type=\"text\"\n size=\"xl\"\n autoCapitalize={'none'}\n autoCorrect={false}\n placeholderTextColor={'#404040'}\n value={email}\n placeholder=\"name@example.com\"\n onChange={(event) => setEmail(event.nativeEvent.text)}\n textContentType=\"emailAddress\"\n keyboardType=\"email-address\"\n className=\"px-3 text-[14] transform-none\"\n />\n </Input>\n // <Input\n // textTransform={'none'}\n // borderWidth={1}\n // borderColor={'coolGray.300'}\n // _focus={{ borderColor: 'coolGray.300' }}\n // py={4}\n // px={3}\n // _input={{ placeholderTextColor: '#404040', fontSize: 14 }}\n // variant=\"underlined\"\n // placeholder=\"name@example.com\"\n // value={email}\n // onChangeText={(v) => setEmail(v)}\n // textContentType=\"emailAddress\"\n // keyboardType=\"email-address\"\n // autoCapitalize=\"none\"\n // autoCorrect={false}\n // />\n )}\n {/* <View flex={1}>\n <VirtualizedScrollView>\n <VStack space=\"5\" pt={2}></VStack>\n </VirtualizedScrollView>\n </View> */}\n </Box>\n );\n};\n\nexport default AddPeopleByEmail;\n"],"names":["React"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React__default,{useState,useEffect}from'react';import {Button,ButtonText,Box,Input,InputField,VStack,FlatList,Text,Spinner,HStack,Avatar,AvatarFallbackText,AvatarImage,Checkbox,CheckboxIndicator,CheckboxIcon,CheckIcon}from'@admin-layout/gluestack-ui-mobile';import {TouchableOpacity}from'react-native';import {useOrganizationMembersQuery,useChannelDetailQuery,useChannelsQuery,useSaveMembersToChannelMutation,useAddMemberToChannelMutation,useAddDirectChannelMutation}from'../../queries/slackuiQueries.js';import {NavigationRoutes}from'../../constants/routes.js';import {AntDesign,Ionicons}from'@expo/vector-icons';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import {uniqBy}from'lodash-es';const orgMemersDataFetchLimit = 10;
1
+ import React__default,{useState,useEffect}from'react';import {Button,ButtonText,Box,Input,InputField,VStack,FlatList,Text,Spinner,HStack,Avatar,AvatarFallbackText,AvatarImage,Checkbox,CheckboxIndicator,CheckboxIcon,CheckIcon}from'@admin-layout/gluestack-ui-mobile';import {TouchableOpacity}from'react-native';import {useOrganizationMembersQuery,useChannelDetailQuery,useChannelsQuery,useSaveMembersToChannelMutation,useAddMemberToChannelMutation,useAddDirectChannelMutation}from'../../queries/slackuiQueries.js';import {NavigationRoutes}from'../../constants/routes.js';import {AntDesign,Ionicons}from'@expo/vector-icons';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.js';import {uniqBy}from'lodash-es';const orgMemersDataFetchLimit = 10;
2
2
  const AddPeople = ({
3
3
  navigation,
4
4
  route