@messenger-box/slack-ui-mobile 10.0.3-alpha.7 → 10.0.3-alpha.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/lib/components/Actionsheet.js +96 -0
  2. package/lib/components/Actionsheet.js.map +1 -0
  3. package/lib/components/AppRootContextProviderComponent.js +16 -2
  4. package/lib/components/AppRootContextProviderComponent.js.map +1 -1
  5. package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js +13 -7
  6. package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js.map +1 -1
  7. package/lib/components/CustomBottomTabs/CustomBottomTabs.js +11 -24
  8. package/lib/components/CustomBottomTabs/CustomBottomTabs.js.map +1 -1
  9. package/lib/components/CustomDrawer/CustomDrawer.js +31 -31
  10. package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
  11. package/lib/components/Header/styles.js +2 -2
  12. package/lib/components/Header/styles.js.map +1 -1
  13. package/lib/components/LoadingSpinner/index.js +3 -3
  14. package/lib/components/LoadingSpinner/index.js.map +1 -1
  15. package/lib/components/NavigationHeader/InboxNavigationHeader.js +20 -25
  16. package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
  17. package/lib/components/NavigationHeader/NavigationHeader.js +58 -40
  18. package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
  19. package/lib/components/NavigationHeader/NavigationHeaderChat.js +9 -9
  20. package/lib/components/NavigationHeader/NavigationHeaderChat.js.map +1 -1
  21. package/lib/components/NavigationHeader/index.js +1 -1
  22. package/lib/components/SlackSearchInput/Suggestion.js +1 -1
  23. package/lib/components/SlackSearchInput/Tag.js +1 -1
  24. package/lib/components/SlackSearchInput/index.js +3 -3
  25. package/lib/components/SlackSearchInput/index.js.map +1 -1
  26. package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +19 -4
  27. package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js.map +1 -1
  28. package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js +41 -31
  29. package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
  30. package/lib/compute.js +32 -23
  31. package/lib/compute.js.map +1 -1
  32. package/lib/constants/Colors.js +2 -2
  33. package/lib/constants/globalStyles.js +3 -3
  34. package/lib/constants/globalStyles.js.map +1 -1
  35. package/lib/hooks/useOptimizedChannelsQueries.js +106 -0
  36. package/lib/hooks/useOptimizedChannelsQueries.js.map +1 -0
  37. package/lib/index.js +1 -1
  38. package/lib/index.js.map +1 -1
  39. package/lib/navigation/SearchTabNavigation.js +47 -39
  40. package/lib/navigation/SearchTabNavigation.js.map +1 -1
  41. package/lib/navigation/TeamTabNavigation.js +51 -38
  42. package/lib/navigation/TeamTabNavigation.js.map +1 -1
  43. package/lib/queries/slackuiQueries.js +129 -0
  44. package/lib/queries/slackuiQueries.js.map +1 -0
  45. package/lib/routes.json +32 -23
  46. package/lib/screens/Account/AccountScreen.js +23 -26
  47. package/lib/screens/Account/AccountScreen.js.map +1 -1
  48. package/lib/screens/Activity/ActivityScreen.js +6 -2
  49. package/lib/screens/Activity/ActivityScreen.js.map +1 -1
  50. package/lib/screens/Channels/Add/AddName.js +33 -8
  51. package/lib/screens/Channels/Add/AddName.js.map +1 -1
  52. package/lib/screens/Channels/Add/AddVisibility.js +6 -6
  53. package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
  54. package/lib/screens/Channels/AddChannel.js +5 -3
  55. package/lib/screens/Channels/AddChannel.js.map +1 -1
  56. package/lib/screens/Channels/Channels.js +101 -95
  57. package/lib/screens/Channels/Channels.js.map +1 -1
  58. package/lib/screens/Files/FilesScreen.js +2 -2
  59. package/lib/screens/Files/FilesScreen.js.map +1 -1
  60. package/lib/screens/Home/Components/Channels/Channels.js +91 -77
  61. package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
  62. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +249 -115
  63. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
  64. package/lib/screens/Home/Components/InviteMembers/index.js +88 -0
  65. package/lib/screens/Home/Components/InviteMembers/index.js.map +1 -0
  66. package/lib/screens/Home/Components/Teams/Teams.js +110 -47
  67. package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
  68. package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +44 -75
  69. package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
  70. package/lib/screens/Home/HomeScreen.js +161 -194
  71. package/lib/screens/Home/HomeScreen.js.map +1 -1
  72. package/lib/screens/Home/styles.js +4 -4
  73. package/lib/screens/Home/styles.js.map +1 -1
  74. package/lib/screens/Inbox/InboxChannelDetail.js +67 -34
  75. package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
  76. package/lib/screens/Inbox/InboxDialogMessages.js +2 -2
  77. package/lib/screens/Inbox/InboxDialogMessages.js.map +1 -1
  78. package/lib/screens/Inbox/InboxScreen.js +3 -3
  79. package/lib/screens/Inbox/InboxScreen.js.map +1 -1
  80. package/lib/screens/Login.js +4 -2
  81. package/lib/screens/Login.js.map +1 -1
  82. package/lib/screens/Organization/AddWorkspace.js +42 -38
  83. package/lib/screens/Organization/AddWorkspace.js.map +1 -1
  84. package/lib/screens/Organization/CreateOrganization.js +11 -2
  85. package/lib/screens/Organization/CreateOrganization.js.map +1 -1
  86. package/lib/screens/Organization/InitialChannelOnboarding.js +22 -4
  87. package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
  88. package/lib/screens/Organization/InitializeOrganizationChannel.js +9 -4
  89. package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
  90. package/lib/screens/Organization/InviteOrganizationMembers.js +52 -10
  91. package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
  92. package/lib/screens/Peoples/AddByEmail.js +24 -6
  93. package/lib/screens/Peoples/AddByEmail.js.map +1 -1
  94. package/lib/screens/Peoples/AddFromContacts.js +172 -87
  95. package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
  96. package/lib/screens/Peoples/AddPeople.js +21 -42
  97. package/lib/screens/Peoples/AddPeople.js.map +1 -1
  98. package/lib/screens/Peoples/People.js +42 -4
  99. package/lib/screens/Peoples/People.js.map +1 -1
  100. package/lib/screens/Profile/ProfileScreen.js +27 -12
  101. package/lib/screens/Profile/ProfileScreen.js.map +1 -1
  102. package/lib/screens/Saved/SavedScreen.js +2 -2
  103. package/lib/screens/Saved/SavedScreen.js.map +1 -1
  104. package/lib/screens/Search/Channels.js +20 -32
  105. package/lib/screens/Search/Channels.js.map +1 -1
  106. package/lib/screens/Search/Files.js +2 -2
  107. package/lib/screens/Search/Files.js.map +1 -1
  108. package/lib/screens/Search/JumpTo.js +2 -2
  109. package/lib/screens/Search/JumpTo.js.map +1 -1
  110. package/lib/screens/Search/People.js +19 -27
  111. package/lib/screens/Search/People.js.map +1 -1
  112. package/lib/screens/Search/Recents.js +26 -31
  113. package/lib/screens/Search/Recents.js.map +1 -1
  114. package/lib/screens/Search/SearchAddChannel.js +366 -227
  115. package/lib/screens/Search/SearchAddChannel.js.map +1 -1
  116. package/lib/screens/Search/SearchChannelPeople.js +70 -37
  117. package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
  118. package/lib/screens/Search/SearchScreen.js +5 -3
  119. package/lib/screens/Search/SearchScreen.js.map +1 -1
  120. package/lib/screens/Search/styles.js +2 -2
  121. package/lib/screens/Search/styles.js.map +1 -1
  122. package/lib/screens/Teams/AddTeam.js +3 -3
  123. package/lib/screens/Teams/AddTeam.js.map +1 -1
  124. package/lib/screens/Teams/Components/Channels/Channels.js +6 -6
  125. package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
  126. package/lib/screens/Teams/Components/Members/Members.js +7 -3
  127. package/lib/screens/Teams/Components/Members/Members.js.map +1 -1
  128. package/lib/screens/Teams/Team.js +6 -8
  129. package/lib/screens/Teams/Team.js.map +1 -1
  130. package/lib/screens/Teams/Teams.js +137 -106
  131. package/lib/screens/Teams/Teams.js.map +1 -1
  132. package/lib/screens/Teams/useTeams.js +41 -0
  133. package/lib/screens/Teams/useTeams.js.map +1 -0
  134. package/lib/screens/Wiki/WikiScreen.js +2 -2
  135. package/lib/screens/Wiki/WikiScreen.js.map +1 -1
  136. package/lib/theme/index.js +2 -2
  137. package/lib/theme/index.js.map +1 -1
  138. package/package.json +6 -4
  139. package/lib/navigation/ActivityNavigator.js +0 -61
  140. package/lib/navigation/ActivityNavigator.js.map +0 -1
  141. package/lib/navigation/ExploreNavigator.js +0 -583
  142. package/lib/navigation/ExploreNavigator.js.map +0 -1
  143. package/lib/navigation/InboxNavigator.js +0 -183
  144. package/lib/navigation/InboxNavigator.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import React__default,{useLayoutEffect}from'react';import {TouchableOpacity,Dimensions}from'react-native';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useNavigation,useRoute,useFocusEffect}from'@react-navigation/native';import {startCase}from'lodash-es';import {VStack,FlatList,Box,Text,Spinner,HStack,Avatar,AvatarFallbackText,AvatarImage,AvatarBadge}from'@admin-layout/gluestack-ui-mobile';import {RoomType}from'common';import {Octicons}from'@expo/vector-icons';import'../../constants/device.js';import'../../constants/globalStyles.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import {useSelector}from'react-redux';import {userSelector}from'@adminide-stack/user-auth0-client';Dimensions.get("window").width;
1
+ import React__default,{useLayoutEffect}from'react';import {TouchableOpacity,Dimensions}from'react-native';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useNavigation,useRoute,useFocusEffect}from'@react-navigation/native';import {startCase}from'lodash-es';import {VStack,FlatList,Box,Text,Spinner,HStack,Avatar,AvatarFallbackText,AvatarImage,AvatarBadge}from'@admin-layout/gluestack-ui-mobile';import {RoomType}from'common';import {Octicons}from'@expo/vector-icons';import'../../constants/device.js';import'../../constants/globalStyles.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import {useSelector}from'react-redux';import {userSelector}from'@adminide-stack/user-auth0-client';import colors from'tailwindcss/colors';Dimensions.get("window").width;
2
2
  Dimensions.get("window").height;
3
- const RecentsSearchScreen = ({
3
+ const Recents = ({
4
4
  channels,
5
5
  loading
6
6
  }) => {
@@ -30,51 +30,46 @@ const RecentsSearchScreen = ({
30
30
  });
31
31
  }, []);
32
32
  const renderChannels = ({
33
- item
33
+ item,
34
+ index
34
35
  }) => {
35
36
  var _a, _b, _c, _d, _e, _f, _g;
36
- const matches = (_a = item == null ? void 0 : item.title) == null ? void 0 : _a.match(/\b(\w)/g);
37
- matches.join("").substring(0, 2);
37
+ (_a = item == null ? void 0 : item.title) == null ? void 0 : _a.match(/\b(\w)/g);
38
38
  const channelMembers = (_d = (_c = (_b = item == null ? void 0 : item.members) == null ? void 0 : _b.filter((ch) => {
39
39
  var _a2, _b2;
40
40
  return ((_a2 = ch == null ? void 0 : ch.user) == null ? void 0 : _a2.id) != (user == null ? void 0 : user.id) && ((_b2 = ch == null ? void 0 : ch.user) == null ? void 0 : _b2.__typename) == "UserAccount";
41
41
  })) == null ? void 0 : _c.map((m) => m == null ? void 0 : m.user)) != null ? _d : null;
42
- return /* @__PURE__ */ React__default.createElement(TouchableOpacity, { key: item == null ? void 0 : item.id, style: {
42
+ return /* @__PURE__ */ React__default.createElement(TouchableOpacity, { key: index, style: {
43
43
  marginVertical: 10
44
- }, onPress: () => openInbox(item) }, /* @__PURE__ */ React__default.createElement(HStack, { flex: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React__default.createElement(HStack, { flex: 1, alignItems: "center", space: "md" }, /* @__PURE__ */ React__default.createElement(Box, { m: "$0", p: "$0" }, item.type == RoomType.Direct ? /* @__PURE__ */ React__default.createElement(Avatar, { size: "sm", bg: "transparent" }, /* @__PURE__ */ React__default.createElement(AvatarFallbackText, null, startCase((_f = (_e = channelMembers[0]) == null ? void 0 : _e.username) == null ? void 0 : _f.charAt(0))), /* @__PURE__ */ React__default.createElement(AvatarImage, { alt: "image", size: "md", style: {
44
+ }, onPress: () => openInbox(item) }, /* @__PURE__ */ React__default.createElement(HStack, { className: "flex-1 items-center justify-between" }, /* @__PURE__ */ React__default.createElement(HStack, { className: "flex-1 items-center", space: "md" }, /* @__PURE__ */ React__default.createElement(Box, { className: "m-0 p-0" }, item.type == RoomType.Direct ? /* @__PURE__ */ React__default.createElement(Avatar, { size: "sm", className: "bg-transparent" }, /* @__PURE__ */ React__default.createElement(AvatarFallbackText, null, startCase((_f = (_e = channelMembers[0]) == null ? void 0 : _e.username) == null ? void 0 : _f.charAt(0))), /* @__PURE__ */ React__default.createElement(AvatarImage, { alt: "image", style: {
45
45
  borderRadius: 6,
46
46
  borderWidth: 2,
47
47
  borderColor: "#fff"
48
48
  }, source: {
49
49
  uri: (_g = channelMembers[0]) == null ? void 0 : _g.picture
50
- } }), (channelMembers == null ? void 0 : channelMembers.length) > 1 ? /* @__PURE__ */ React__default.createElement(
51
- AvatarBadge,
52
- {
53
- right: "-$1",
54
- bottom: "-$1",
55
- style: {
56
- width: 20,
57
- height: 20
58
- },
59
- alignItems: "center",
60
- bg: "#211627",
61
- rounded: "$md"
62
- },
63
- /* @__PURE__ */ React__default.createElement(Text, { style: {
64
- fontSize: 12,
65
- fontWeight: "bold",
66
- color: "#fff"
67
- } }, channelMembers == null ? void 0 : channelMembers.length)
68
- ) : /* @__PURE__ */ React__default.createElement(AvatarBadge, { style: {
50
+ } }), (channelMembers == null ? void 0 : channelMembers.length) > 1 ? /* @__PURE__ */ React__default.createElement(AvatarBadge, { style: {
51
+ width: 20,
52
+ height: 20
53
+ }, className: "right-[-1px] bottom-[-1px] items-center bg-[#211627] rounded-md" }, /* @__PURE__ */ React__default.createElement(Text, { style: {
54
+ fontSize: 12,
55
+ fontWeight: "bold",
56
+ color: "#fff"
57
+ } }, channelMembers == null ? void 0 : channelMembers.length)) : /* @__PURE__ */ React__default.createElement(AvatarBadge, { style: {
69
58
  width: 10,
70
59
  height: 10
71
- }, bg: "$green800" })) : item.type == RoomType.Private ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Octicons, { color: "black", name: "lock", size: 20 })) : /* @__PURE__ */ React__default.createElement(Octicons, { color: "black", name: "hash", size: 20 })), /* @__PURE__ */ React__default.createElement(Text, { color: "$coolGray800", fontWeight: "$bold" }, item.title))));
60
+ }, className: "bg-green-800" })) : item.type == RoomType.Private ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Octicons, { color: "black", name: "lock", size: 20 })) : /* @__PURE__ */ React__default.createElement(Octicons, { color: "black", name: "hash", size: 20 })), /* @__PURE__ */ React__default.createElement(Text, { color: "$coolGray800", className: "text-gray-800 font-bold" }, item.title))));
72
61
  };
73
- return /* @__PURE__ */ React__default.createElement(VirtualizedScrollView, null, /* @__PURE__ */ React__default.createElement(VStack, { space: "md", flex: 1, pt: "$2" }, /* @__PURE__ */ React__default.createElement(FlatList, { px: "$4", flex: 1, pb: "$10", keyExtractor: (item, index) => String(index), contentContainerStyle: {
62
+ return /* @__PURE__ */ React__default.createElement(VirtualizedScrollView, { style: {
63
+ flex: 1
64
+ } }, /* @__PURE__ */ React__default.createElement(VStack, { className: "flex-1 pt-2", space: "md" }, /* @__PURE__ */ React__default.createElement(FlatList, { style: {
65
+ paddingHorizontal: 4,
66
+ flex: 1,
67
+ paddingBottom: 10
68
+ }, keyExtractor: (item, index) => String(index), contentContainerStyle: {
74
69
  flex: 1,
75
70
  marginBottom: 100
76
71
  }, data: channels && channels.length > 0 ? channels : [], renderItem: renderChannels, ListEmptyComponent: () => {
77
- return /* @__PURE__ */ React__default.createElement(Box, { bg: "#fff", py: "$2" }, (channels == null ? void 0 : channels.length) == 0 && loading ? /* @__PURE__ */ React__default.createElement(VStack, { space: "sm" }, /* @__PURE__ */ React__default.createElement(Box, { px: "$4", py: "$5" }, /* @__PURE__ */ React__default.createElement(Text, null, "No channels found"))) : /* @__PURE__ */ React__default.createElement(Spinner, { color: "$blue500" }));
78
- }, key: "search-channel-people-list", keyboardShouldPersistTaps: "always" })));
72
+ return /* @__PURE__ */ React__default.createElement(Box, { className: "bg-white py-2" }, (channels == null ? void 0 : channels.length) == 0 && loading ? /* @__PURE__ */ React__default.createElement(VStack, { space: "sm" }, /* @__PURE__ */ React__default.createElement(Box, { className: "px-4 py-5" }, /* @__PURE__ */ React__default.createElement(Text, null, "No channels found"))) : /* @__PURE__ */ React__default.createElement(Spinner, { color: colors.blue[500] }));
73
+ }, key: "search-channel-recent-list", keyboardShouldPersistTaps: "always" })));
79
74
  };
80
- var Recents = React__default.memo(RecentsSearchScreen);export{Recents as default};//# sourceMappingURL=Recents.js.map
75
+ var Recents$1 = React__default.memo(Recents);export{Recents$1 as default};//# sourceMappingURL=Recents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Recents.js","sources":["../../../src/screens/Search/Recents.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { TouchableOpacity, Dimensions, Keyboard, KeyboardEvent } from 'react-native';\nimport styles from './styles';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport {\n Center,\n Heading,\n Input,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n Fab,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n Image,\n Checkbox,\n ChevronLeftIcon,\n KeyboardAvoidingView,\n Spinner,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { useGetChannelsByUserQuery } from 'common/lib/generated/generated.js';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../constants';\nimport { useSelector } from 'react-redux';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst RecentsSearchScreen = ({ channels, loading }) => {\n const navigation = useNavigation<any>();\n const route = useRoute<any>();\n const user = useSelector(userSelector);\n\n useLayoutEffect(() => {\n // setLoading(true);\n }, []);\n\n useFocusEffect(\n React.useCallback(() => {\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const openInbox = React.useCallback((item: any) => {\n const channelMembers =\n item?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null;\n\n const memberImage =\n item.type === RoomType.Direct\n ? channelMembers?.length == 1\n ? channelMembers[0]?.picture ?? null\n : null\n : null;\n\n navigation.navigate(NavigationRoutes.DialogMessages, {\n channelId: item?.id?.toString(),\n title: item?.title?.toString(),\n totalMembers: item?.members?.length,\n memberImage: memberImage,\n channelType: item?.type,\n hideTabBar: true,\n });\n }, []);\n\n const renderChannels = ({ item }: any) => {\n const matches: any = item?.title?.match(/\\b(\\w)/g);\n const acronym: any = matches.join('').substring(0, 2); // JSON\n\n const channelMembers =\n item?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null;\n\n return (\n <TouchableOpacity key={item?.id} style={{ marginVertical: 10 }} onPress={() => openInbox(item)}>\n <HStack flex={1} alignItems={'center'} justifyContent={'space-between'}>\n <HStack flex={1} alignItems={'center'} space={'md'}>\n <Box m={'$0'} p={'$0'}>\n {item.type == RoomType.Direct ? (\n <Avatar size={'sm'} bg={'transparent'}>\n <AvatarFallbackText>\n {startCase(channelMembers[0]?.username?.charAt(0))}\n </AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n size={'md'}\n style={{\n // width: 25,\n // height: 25,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: channelMembers[0]?.picture,\n }}\n />\n {channelMembers?.length > 1 ? (\n <AvatarBadge\n // top={2}\n // right={-12}\n right={'-$1'}\n bottom={'-$1'}\n style={{ width: 20, height: 20 }}\n alignItems={'center'}\n bg={'#211627'}\n // opacity={0.85}\n rounded={'$md'}\n >\n <Text style={{ fontSize: 12, fontWeight: 'bold', color: '#fff' }}>\n {channelMembers?.length}\n </Text>\n </AvatarBadge>\n ) : (\n <AvatarBadge style={{ width: 10, height: 10 }} bg=\"$green800\" />\n )}\n </Avatar>\n ) : item.type == RoomType.Private ? (\n <>\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </>\n ) : (\n <Octicons color=\"black\" name=\"hash\" size={20} />\n )}\n </Box>\n <Text color=\"$coolGray800\" fontWeight=\"$bold\">\n {item.title}\n </Text>\n </HStack>\n </HStack>\n </TouchableOpacity>\n );\n };\n\n return (\n <VirtualizedScrollView>\n <VStack space=\"md\" flex={1} pt={'$2'}>\n <FlatList\n px={'$4'}\n flex={1}\n pb={'$10'}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n marginBottom: 100,\n }}\n data={channels && channels.length > 0 ? channels : []}\n renderItem={renderChannels}\n ListEmptyComponent={() => {\n return (\n <Box bg={'#fff'} py={'$2'}>\n {channels?.length == 0 && loading ? (\n <VStack space=\"sm\">\n <Box px=\"$4\" py={'$5'}>\n <Text>No channels found</Text>\n </Box>\n </VStack>\n ) : (\n <Spinner color={'$blue500'} />\n )}\n </Box>\n );\n }}\n key={'search-channel-people-list'}\n keyboardShouldPersistTaps=\"always\"\n />\n </VStack>\n </VirtualizedScrollView>\n );\n};\n\nexport default React.memo(RecentsSearchScreen);\n"],"names":["React","_a","_b"],"mappings":"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"}
1
+ {"version":3,"file":"Recents.js","sources":["../../../src/screens/Search/Recents.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { TouchableOpacity, Dimensions, Keyboard, KeyboardEvent } from 'react-native';\nimport styles from './styles';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport {\n Center,\n Heading,\n Input,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n Fab,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n Image,\n Checkbox,\n ChevronLeftIcon,\n KeyboardAvoidingView,\n Spinner,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { colors, NavigationRoutes } from '../../constants';\nimport { useSelector } from 'react-redux';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport Colors from 'tailwindcss/colors';\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\n// Define props interface for the component\ninterface RecentsProps {\n channels: any[];\n loading: boolean;\n}\n\nconst Recents: React.FC<RecentsProps> = ({ channels, loading }) => {\n const navigation = useNavigation<any>();\n const route = useRoute<any>();\n const user = useSelector(userSelector);\n\n useLayoutEffect(() => {\n // setLoading(true);\n }, []);\n\n useFocusEffect(\n React.useCallback(() => {\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const openInbox = React.useCallback((item: any) => {\n const channelMembers =\n item?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null;\n\n const memberImage =\n item.type === RoomType.Direct\n ? channelMembers?.length == 1\n ? channelMembers[0]?.picture ?? null\n : null\n : null;\n\n navigation.navigate(NavigationRoutes.DialogMessages, {\n channelId: item?.id?.toString(),\n title: item?.title?.toString(),\n totalMembers: item?.members?.length,\n memberImage: memberImage,\n channelType: item?.type,\n hideTabBar: true,\n });\n }, []);\n\n const renderChannels = ({ item, index }: any) => {\n const matches: any = item?.title?.match(/\\b(\\w)/g);\n // const acronym: any = matches?.join('').substring(0, 2); // JSON\n\n const channelMembers =\n item?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null;\n\n return (\n <TouchableOpacity key={index} style={{ marginVertical: 10 }} onPress={() => openInbox(item)}>\n <HStack className=\"flex-1 items-center justify-between\">\n <HStack className=\"flex-1 items-center\" space={'md'}>\n <Box className=\"m-0 p-0\">\n {item.type == RoomType.Direct ? (\n <Avatar size={'sm'} className=\"bg-transparent\">\n <AvatarFallbackText>\n {startCase(channelMembers[0]?.username?.charAt(0))}\n </AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n // width: 25,\n // height: 25,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: channelMembers[0]?.picture,\n }}\n />\n {channelMembers?.length > 1 ? (\n <AvatarBadge\n style={{ width: 20, height: 20 }}\n className=\"right-[-1px] bottom-[-1px] items-center bg-[#211627] rounded-md\"\n >\n <Text style={{ fontSize: 12, fontWeight: 'bold', color: '#fff' }}>\n {channelMembers?.length}\n </Text>\n </AvatarBadge>\n ) : (\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n )}\n </Avatar>\n ) : item.type == RoomType.Private ? (\n <>\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </>\n ) : (\n <Octicons color=\"black\" name=\"hash\" size={20} />\n )}\n </Box>\n <Text color=\"$coolGray800\" className=\"text-gray-800 font-bold\">\n {item.title}\n </Text>\n </HStack>\n </HStack>\n </TouchableOpacity>\n );\n };\n\n return (\n <VirtualizedScrollView style={{ flex: 1 }}>\n <VStack className=\"flex-1 pt-2\" space=\"md\">\n <FlatList\n style={{ paddingHorizontal: 4, flex: 1, paddingBottom: 10 }}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n marginBottom: 100,\n }}\n data={channels && channels.length > 0 ? channels : []}\n renderItem={renderChannels}\n ListEmptyComponent={() => {\n return (\n <Box className=\"bg-white py-2\">\n {channels?.length == 0 && loading ? (\n <VStack space=\"sm\">\n <Box className=\"px-4 py-5\">\n <Text>No channels found</Text>\n </Box>\n </VStack>\n ) : (\n <Spinner color={Colors.blue[500]} />\n )}\n </Box>\n );\n }}\n key={'search-channel-recent-list'}\n keyboardShouldPersistTaps=\"always\"\n />\n </VStack>\n </VirtualizedScrollView>\n );\n};\n\nexport default React.memo(Recents);\n"],"names":["React","_a","_b","Colors"],"mappings":"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"}