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