@messenger-box/slack-ui-mobile 10.0.3-alpha.46 → 10.0.3-alpha.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/AppRootContextProviderComponent.js +1 -1
- package/lib/components/AppRootContextProviderComponent.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js +28 -2
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +1 -1
- package/lib/compute.js +1 -0
- package/lib/compute.js.map +1 -1
- package/lib/hooks/useOptimizedChannelsQueries.js +106 -0
- package/lib/hooks/useOptimizedChannelsQueries.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/navigation/SearchTabNavigation.js +1 -1
- package/lib/navigation/TeamTabNavigation.js +1 -1
- package/lib/routes.json +1 -0
- package/lib/screens/Account/AccountScreen.js +1 -1
- package/lib/screens/Account/AccountScreen.js.map +1 -1
- package/lib/screens/Channels/Add/AddName.js +27 -2
- package/lib/screens/Channels/Add/AddName.js.map +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
- package/lib/screens/Channels/Channels.js +27 -2
- package/lib/screens/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js +16 -53
- package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +58 -61
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
- package/lib/screens/Home/Components/Teams/Teams.js +1 -1
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +46 -6
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
- package/lib/screens/Inbox/InboxScreen.js +1 -1
- package/lib/screens/Peoples/AddByEmail.js +18 -2
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js +29 -4
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/lib/screens/Peoples/AddPeople.js +1 -1
- package/lib/screens/Peoples/AddPeople.js.map +1 -1
- package/lib/screens/Search/JumpTo.js +1 -1
- package/lib/screens/Search/JumpTo.js.map +1 -1
- package/lib/screens/Search/SearchAddChannel.js +21 -2
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js +29 -4
- package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
- package/lib/screens/Search/SearchScreen.js +1 -1
- package/lib/screens/Teams/AddTeam.js +1 -1
- package/lib/screens/Teams/AddTeam.js.map +1 -1
- package/lib/screens/Teams/Components/Channels/Channels.js +1 -1
- package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Teams/Team.js +1 -1
- package/lib/screens/Teams/Teams.js +1 -1
- package/lib/screens/Teams/Teams.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useContext,useCallback,useMemo}from'react';import {TouchableOpacity}from'react-native';import {HStack,Text,Box,VStack,FlatList}from'@admin-layout/gluestack-ui-mobile';import {NavigationRoutes}from'../../../../constants/routes.js';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector,shallowEqual}from'react-redux';import {take,orderBy,uniqBy}from'lodash-es';import {useTeamsQuery}from'../../../../queries/slackuiQueries.js';import {Octicons,Feather,MaterialIcons,FontAwesome}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../../hooks/useDrawerLayout.js';import'../../../../hooks/useExpoNotificationProvider.js';import colors from'tailwindcss/colors';import {RefetchContext}from'../../HomeScreen.js';const Teams = () => {
|
|
1
|
+
import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useContext,useCallback,useMemo}from'react';import {TouchableOpacity}from'react-native';import {HStack,Text,Box,VStack,FlatList}from'@admin-layout/gluestack-ui-mobile';import {NavigationRoutes}from'../../../../constants/routes.js';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector,shallowEqual}from'react-redux';import {take,orderBy,uniqBy}from'lodash-es';import {useTeamsQuery}from'../../../../queries/slackuiQueries.js';import {Octicons,Feather,MaterialIcons,FontAwesome}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../../hooks/useDrawerLayout.js';import'../../../../hooks/useExpoNotificationProvider.js';import'../../../../hooks/useOptimizedChannelsQueries.js';import colors from'tailwindcss/colors';import {RefetchContext}from'../../HomeScreen.js';const Teams = () => {
|
|
2
2
|
const {
|
|
3
3
|
orgName
|
|
4
4
|
} = useDrawerLayout();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Teams.js","sources":["../../../../../src/screens/Home/Components/Teams/Teams.tsx"],"sourcesContent":["import { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport React, { useState, useCallback, useMemo, useContext } from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { View, FlatList, Box, Text, HStack, VStack } from '@admin-layout/gluestack-ui-mobile';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport { useNavigation } from '@react-navigation/native';\nimport { orderBy, uniqBy, take } from 'lodash-es';\nimport { useTeamsQuery } from '../../../../queries/slackuiQueries';\nimport { useDrawerLayout } from '../../../../hooks';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport colors from 'tailwindcss/colors';\nimport { RefetchContext } from '../../HomeScreen';\n\nconst Teams = () => {\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const [teamExpandable, setTeamExpendable] = useState(true);\n const user = useSelector(userSelector, shallowEqual);\n const isFocused = useIsFocused();\n const { shouldRefetch } = useContext(RefetchContext);\n\n const {\n data: orgTeamsData,\n refetch: reFetchOrgTeams,\n error: teamsError,\n } = useTeamsQuery({\n variables: { orgName: orgName },\n fetchPolicy: 'cache-and-network',\n nextFetchPolicy: 'cache-first',\n skip: !orgName,\n });\n\n const reFetchTeams = useCallback(() => {\n if (orgName) {\n return reFetchOrgTeams({ orgName: orgName });\n }\n }, [orgName, reFetchOrgTeams]);\n\n // Refetch when context signals to do so\n useFocusEffect(\n useCallback(() => {\n if (shouldRefetch && orgName) {\n reFetchTeams();\n }\n }, [shouldRefetch, orgName, reFetchTeams]),\n );\n\n // Initial fetch on focus\n useFocusEffect(\n useCallback(() => {\n if (orgName) {\n reFetchTeams();\n }\n }, [orgName, reFetchTeams]),\n );\n\n const organizationTeams = useMemo(() => {\n const teams = orgTeamsData?.getOrganizationTeams || [];\n return teams.length\n ? take(\n orderBy(\n uniqBy(\n [...teams]?.filter((t: any) => t?.orgName === orgName),\n ({ _id }) => _id,\n ),\n [(ch: any) => ch?.title.toLowerCase()],\n ['asc'],\n ),\n 10,\n )\n : [];\n }, [orgTeamsData, orgName]);\n\n const viewTeam = useCallback(\n (item: any) => {\n navigation.navigate(NavigationRoutes.ViewTeam, {\n teamId: item?.id?.toString(),\n teamName: item?.name,\n title: item?.title?.toString(),\n totalMembers: item?.teamMembers?.length,\n orgName: orgName,\n hideTabBar: true,\n });\n },\n [orgName, navigation],\n );\n\n const renderOrganizationTeamItem = useCallback(\n ({ item }) => (\n <TouchableOpacity\n key={item.id}\n onPress={() => viewTeam(item)}\n style={{ paddingVertical: 2, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Octicons color={colors.gray[700]} name=\"lock\" size={18} />\n <Text className=\"text-gray-900 flex-1 text-base\">{item.title}</Text>\n </HStack>\n </TouchableOpacity>\n ),\n [viewTeam],\n );\n\n const ListEmptyComponent = useCallback(() => {\n // Format the error message if present\n const errorMessage = teamsError\n ? teamsError.message.includes(\"Service 'TeamService\")\n ? 'Team service is temporarily unavailable. Please try again later.'\n : teamsError.message\n : null;\n\n return (\n <Box style={{ padding: 12 }}>\n {errorMessage ? (\n <Box style={{ padding: 8, backgroundColor: '#FFF4F4', borderRadius: 4 }}>\n <Text color=\"#E01E5A\" style={{ marginBottom: 8, fontWeight: '500' }}>\n {errorMessage}\n </Text>\n <TouchableOpacity onPress={reFetchTeams}>\n <HStack space=\"sm\" style={{ alignItems: 'center' }}>\n <Feather name=\"refresh-cw\" color=\"#1264A3\" size={16} />\n <Text color=\"#1264A3\" style={{ fontWeight: '500' }}>\n Retry\n </Text>\n </HStack>\n </TouchableOpacity>\n </Box>\n ) : (\n <Box style={{ alignItems: 'center', paddingVertical: 16 }}>\n <Box style={{ padding: 12, marginBottom: 8, borderRadius: 24, backgroundColor: '#F8F8F8' }}>\n <Octicons name=\"organization\" color=\"#616061\" size={20} />\n </Box>\n <Text style={{ color: '#616061', textAlign: 'center' }}>No teams available</Text>\n </Box>\n )}\n </Box>\n );\n }, [teamsError, reFetchTeams]);\n\n const ListFooterComponent = useCallback(() => {\n const teamsCount = orgTeamsData?.getOrganizationTeams?.length || 0;\n\n return (\n <VStack>\n {teamsCount > 10 && (\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.Teams, { orgName })}\n style={{ paddingVertical: 8, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <MaterialIcons color=\"#616061\" name=\"search\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Browse all Teams</Text>\n </HStack>\n </TouchableOpacity>\n )}\n\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.AddTeam, { orgName })}\n style={{ paddingBottom: 5, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Feather color=\"#616061\" name=\"plus\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Add Team</Text>\n </HStack>\n </TouchableOpacity>\n </VStack>\n );\n }, [orgTeamsData, orgName, navigation]);\n\n const SectionHeader = useCallback(() => {\n return (\n <TouchableOpacity\n onPress={() => setTeamExpendable(!teamExpandable)}\n style={{ paddingVertical: 6, paddingHorizontal: 16 }}\n >\n <HStack className=\"justify-between items-center\">\n <Text className=\"font-semibold\" style={{ fontSize: 15, color: '#1D1C1D' }}>\n Teams\n </Text>\n <FontAwesome\n name={teamExpandable ? 'chevron-down' : 'chevron-left'}\n color={colors.gray[800]}\n size={12}\n />\n </HStack>\n </TouchableOpacity>\n );\n }, [teamExpandable]);\n\n if (!teamExpandable) {\n return <SectionHeader />;\n }\n\n return (\n <Box>\n <SectionHeader />\n {organizationTeams?.length > 0 ? (\n <FlatList\n keyExtractor={(item) => (item?.id || 'team') + '-' + item?.title}\n data={organizationTeams}\n renderItem={renderOrganizationTeamItem}\n ListFooterComponent={ListFooterComponent}\n style={{ marginTop: 6 }}\n scrollEnabled={false}\n />\n ) : (\n <Box>\n <ListEmptyComponent />\n <ListFooterComponent />\n </Box>\n )}\n </Box>\n );\n};\n\nexport default Teams;\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Teams.js","sources":["../../../../../src/screens/Home/Components/Teams/Teams.tsx"],"sourcesContent":["import { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport React, { useState, useCallback, useMemo, useContext } from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { View, FlatList, Box, Text, HStack, VStack } from '@admin-layout/gluestack-ui-mobile';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport { useNavigation } from '@react-navigation/native';\nimport { orderBy, uniqBy, take } from 'lodash-es';\nimport { useTeamsQuery } from '../../../../queries/slackuiQueries';\nimport { useDrawerLayout } from '../../../../hooks';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport colors from 'tailwindcss/colors';\nimport { RefetchContext } from '../../HomeScreen';\n\nconst Teams = () => {\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const [teamExpandable, setTeamExpendable] = useState(true);\n const user = useSelector(userSelector, shallowEqual);\n const isFocused = useIsFocused();\n const { shouldRefetch } = useContext(RefetchContext);\n\n const {\n data: orgTeamsData,\n refetch: reFetchOrgTeams,\n error: teamsError,\n } = useTeamsQuery({\n variables: { orgName: orgName },\n fetchPolicy: 'cache-and-network',\n nextFetchPolicy: 'cache-first',\n skip: !orgName,\n });\n\n const reFetchTeams = useCallback(() => {\n if (orgName) {\n return reFetchOrgTeams({ orgName: orgName });\n }\n }, [orgName, reFetchOrgTeams]);\n\n // Refetch when context signals to do so\n useFocusEffect(\n useCallback(() => {\n if (shouldRefetch && orgName) {\n reFetchTeams();\n }\n }, [shouldRefetch, orgName, reFetchTeams]),\n );\n\n // Initial fetch on focus\n useFocusEffect(\n useCallback(() => {\n if (orgName) {\n reFetchTeams();\n }\n }, [orgName, reFetchTeams]),\n );\n\n const organizationTeams = useMemo(() => {\n const teams = orgTeamsData?.getOrganizationTeams || [];\n return teams.length\n ? take(\n orderBy(\n uniqBy(\n [...teams]?.filter((t: any) => t?.orgName === orgName),\n ({ _id }) => _id,\n ),\n [(ch: any) => ch?.title.toLowerCase()],\n ['asc'],\n ),\n 10,\n )\n : [];\n }, [orgTeamsData, orgName]);\n\n const viewTeam = useCallback(\n (item: any) => {\n navigation.navigate(NavigationRoutes.ViewTeam, {\n teamId: item?.id?.toString(),\n teamName: item?.name,\n title: item?.title?.toString(),\n totalMembers: item?.teamMembers?.length,\n orgName: orgName,\n hideTabBar: true,\n });\n },\n [orgName, navigation],\n );\n\n const renderOrganizationTeamItem = useCallback(\n ({ item }) => (\n <TouchableOpacity\n key={item.id}\n onPress={() => viewTeam(item)}\n style={{ paddingVertical: 2, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Octicons color={colors.gray[700]} name=\"lock\" size={18} />\n <Text className=\"text-gray-900 flex-1 text-base\">{item.title}</Text>\n </HStack>\n </TouchableOpacity>\n ),\n [viewTeam],\n );\n\n const ListEmptyComponent = useCallback(() => {\n // Format the error message if present\n const errorMessage = teamsError\n ? teamsError.message.includes(\"Service 'TeamService\")\n ? 'Team service is temporarily unavailable. Please try again later.'\n : teamsError.message\n : null;\n\n return (\n <Box style={{ padding: 12 }}>\n {errorMessage ? (\n <Box style={{ padding: 8, backgroundColor: '#FFF4F4', borderRadius: 4 }}>\n <Text color=\"#E01E5A\" style={{ marginBottom: 8, fontWeight: '500' }}>\n {errorMessage}\n </Text>\n <TouchableOpacity onPress={reFetchTeams}>\n <HStack space=\"sm\" style={{ alignItems: 'center' }}>\n <Feather name=\"refresh-cw\" color=\"#1264A3\" size={16} />\n <Text color=\"#1264A3\" style={{ fontWeight: '500' }}>\n Retry\n </Text>\n </HStack>\n </TouchableOpacity>\n </Box>\n ) : (\n <Box style={{ alignItems: 'center', paddingVertical: 16 }}>\n <Box style={{ padding: 12, marginBottom: 8, borderRadius: 24, backgroundColor: '#F8F8F8' }}>\n <Octicons name=\"organization\" color=\"#616061\" size={20} />\n </Box>\n <Text style={{ color: '#616061', textAlign: 'center' }}>No teams available</Text>\n </Box>\n )}\n </Box>\n );\n }, [teamsError, reFetchTeams]);\n\n const ListFooterComponent = useCallback(() => {\n const teamsCount = orgTeamsData?.getOrganizationTeams?.length || 0;\n\n return (\n <VStack>\n {teamsCount > 10 && (\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.Teams, { orgName })}\n style={{ paddingVertical: 8, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <MaterialIcons color=\"#616061\" name=\"search\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Browse all Teams</Text>\n </HStack>\n </TouchableOpacity>\n )}\n\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.AddTeam, { orgName })}\n style={{ paddingBottom: 5, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Feather color=\"#616061\" name=\"plus\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Add Team</Text>\n </HStack>\n </TouchableOpacity>\n </VStack>\n );\n }, [orgTeamsData, orgName, navigation]);\n\n const SectionHeader = useCallback(() => {\n return (\n <TouchableOpacity\n onPress={() => setTeamExpendable(!teamExpandable)}\n style={{ paddingVertical: 6, paddingHorizontal: 16 }}\n >\n <HStack className=\"justify-between items-center\">\n <Text className=\"font-semibold\" style={{ fontSize: 15, color: '#1D1C1D' }}>\n Teams\n </Text>\n <FontAwesome\n name={teamExpandable ? 'chevron-down' : 'chevron-left'}\n color={colors.gray[800]}\n size={12}\n />\n </HStack>\n </TouchableOpacity>\n );\n }, [teamExpandable]);\n\n if (!teamExpandable) {\n return <SectionHeader />;\n }\n\n return (\n <Box>\n <SectionHeader />\n {organizationTeams?.length > 0 ? (\n <FlatList\n keyExtractor={(item) => (item?.id || 'team') + '-' + item?.title}\n data={organizationTeams}\n renderItem={renderOrganizationTeamItem}\n ListFooterComponent={ListFooterComponent}\n style={{ marginTop: 6 }}\n scrollEnabled={false}\n />\n ) : (\n <Box>\n <ListEmptyComponent />\n <ListFooterComponent />\n </Box>\n )}\n </Box>\n );\n};\n\nexport default Teams;\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {StyleSheet,Dimensions}from'react-native';import {Button,Box,VStack,Image,Text,FlatList}from'@admin-layout/gluestack-ui-mobile';import {NavigationRoutes}from'../../../../constants/routes.js';import img$2 from'../../../../assets/images/send.png.js';import img from'../../../../assets/images/chat.png.js';import img$1 from'../../../../assets/images/save-for-later.png.js';import {useNavigation}from'@react-navigation/native';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../../hooks/useDrawerLayout.js';import'../../../../hooks/useExpoNotificationProvider.js';import colors from'tailwindcss/colors';const pWidth = Dimensions.get("window").width / 3 - 5;
|
|
1
|
+
import React__default from'react';import {StyleSheet,Dimensions}from'react-native';import {Button,Box,VStack,Image,Text,FlatList}from'@admin-layout/gluestack-ui-mobile';import {NavigationRoutes}from'../../../../constants/routes.js';import img$2 from'../../../../assets/images/send.png.js';import img from'../../../../assets/images/chat.png.js';import img$1 from'../../../../assets/images/save-for-later.png.js';import {useNavigation}from'@react-navigation/native';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../../hooks/useDrawerLayout.js';import'../../../../hooks/useExpoNotificationProvider.js';import'../../../../hooks/useOptimizedChannelsQueries.js';import colors from'tailwindcss/colors';const pWidth = Dimensions.get("window").width / 3 - 5;
|
|
2
2
|
const SLIDER_ITEMS = [{
|
|
3
3
|
id: 1,
|
|
4
4
|
image: img,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopCommonSlider.js","sources":["../../../../../src/screens/Home/Components/TopCommonSlider/TopCommonSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, StyleSheet } from 'react-native';\nimport { Image, FlatList, Box, Text, VStack, Button } from '@admin-layout/gluestack-ui-mobile';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport send from '../../../../assets/images/send.png';\nimport chat from '../../../../assets/images/chat.png';\nimport saveForLater from '../../../../assets/images/save-for-later.png';\nimport { useNavigation } from '@react-navigation/native';\nimport { useDrawerLayout } from '../../../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst pWidth = Dimensions.get('window').width / 3 - 5;\n\n// Define types\ntype SliderItem = {\n id: number;\n image: any;\n title: string;\n subTitle: string;\n route: string | null;\n};\n\ntype TopCommonSliderProps = {\n // Add any props here if needed\n};\n\n// Move static data outside component\nconst SLIDER_ITEMS: SliderItem[] = [\n {\n id: 1,\n image: chat,\n title: 'Threads',\n subTitle: '0 New',\n route: NavigationRoutes.Threads,\n },\n {\n id: 2,\n image: saveForLater,\n title: 'Later',\n subTitle: '0 items',\n route: null,\n },\n {\n id: 3,\n image: send,\n title: 'Draft & Sent',\n subTitle: '0 drafts',\n route: null,\n },\n];\n\nconst styles = StyleSheet.create({\n container: {\n paddingHorizontal: 2,\n },\n view: {\n maxWidth: pWidth - 5,\n width: pWidth - 5,\n marginTop: 5,\n height: 100,\n overflow: 'hidden',\n borderColor: colors.gray[200],\n },\n image: {\n resizeMode: 'cover',\n tintColor: '#000',\n },\n contentContainer: {\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n});\n\nconst TopCommonSlider: React.FC<TopCommonSliderProps> = () => {\n const navigation = useNavigation<any>();\n const { orgName } = useDrawerLayout();\n const flatListRef = React.useRef<FlatList<SliderItem>>(null);\n\n const renderSliderItem = React.useCallback(\n ({ item }: { item: SliderItem }) => (\n <Button\n key={item.id}\n variant={'outline'}\n style={styles.view}\n className=\"flex-1 border-blue-400 rounded-lg\"\n onPress={() => item.route && navigation.navigate(item.route, { orgName })}\n >\n <Box className=\"rounded-md flex-1 items-center justify-center py-2\">\n <VStack>\n <Box>\n {item.image && (\n <Image\n className=\"p-0 w-8 h-8\"\n size={'xs'}\n alt=\"icon\"\n style={styles.image}\n source={item.image}\n />\n )}\n </Box>\n <Box>\n <Text color={colors.gray[800]} className=\"text-sm\">\n {item.title}\n </Text>\n </Box>\n <Box>\n <Text color={colors.gray[600]} className=\"text-xs\">\n {item.subTitle}\n </Text>\n </Box>\n </VStack>\n </Box>\n </Button>\n ),\n [navigation, orgName],\n );\n\n return (\n <FlatList\n ref={flatListRef}\n pagingEnabled={true}\n horizontal={true}\n snapToInterval={Dimensions.get('window').width}\n snapToAlignment=\"start\"\n decelerationRate={'fast'}\n data={SLIDER_ITEMS}\n renderItem={renderSliderItem}\n keyExtractor={(item) => String(item.id)}\n style={styles.container}\n contentContainerStyle={styles.contentContainer}\n initialNumToRender={3}\n maxToRenderPerBatch={3}\n removeClippedSubviews={true}\n />\n );\n};\n\nexport default React.memo(TopCommonSlider);\n"],"names":["chat","saveForLater","send","React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TopCommonSlider.js","sources":["../../../../../src/screens/Home/Components/TopCommonSlider/TopCommonSlider.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, StyleSheet } from 'react-native';\nimport { Image, FlatList, Box, Text, VStack, Button } from '@admin-layout/gluestack-ui-mobile';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport send from '../../../../assets/images/send.png';\nimport chat from '../../../../assets/images/chat.png';\nimport saveForLater from '../../../../assets/images/save-for-later.png';\nimport { useNavigation } from '@react-navigation/native';\nimport { useDrawerLayout } from '../../../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst pWidth = Dimensions.get('window').width / 3 - 5;\n\n// Define types\ntype SliderItem = {\n id: number;\n image: any;\n title: string;\n subTitle: string;\n route: string | null;\n};\n\ntype TopCommonSliderProps = {\n // Add any props here if needed\n};\n\n// Move static data outside component\nconst SLIDER_ITEMS: SliderItem[] = [\n {\n id: 1,\n image: chat,\n title: 'Threads',\n subTitle: '0 New',\n route: NavigationRoutes.Threads,\n },\n {\n id: 2,\n image: saveForLater,\n title: 'Later',\n subTitle: '0 items',\n route: null,\n },\n {\n id: 3,\n image: send,\n title: 'Draft & Sent',\n subTitle: '0 drafts',\n route: null,\n },\n];\n\nconst styles = StyleSheet.create({\n container: {\n paddingHorizontal: 2,\n },\n view: {\n maxWidth: pWidth - 5,\n width: pWidth - 5,\n marginTop: 5,\n height: 100,\n overflow: 'hidden',\n borderColor: colors.gray[200],\n },\n image: {\n resizeMode: 'cover',\n tintColor: '#000',\n },\n contentContainer: {\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n});\n\nconst TopCommonSlider: React.FC<TopCommonSliderProps> = () => {\n const navigation = useNavigation<any>();\n const { orgName } = useDrawerLayout();\n const flatListRef = React.useRef<FlatList<SliderItem>>(null);\n\n const renderSliderItem = React.useCallback(\n ({ item }: { item: SliderItem }) => (\n <Button\n key={item.id}\n variant={'outline'}\n style={styles.view}\n className=\"flex-1 border-blue-400 rounded-lg\"\n onPress={() => item.route && navigation.navigate(item.route, { orgName })}\n >\n <Box className=\"rounded-md flex-1 items-center justify-center py-2\">\n <VStack>\n <Box>\n {item.image && (\n <Image\n className=\"p-0 w-8 h-8\"\n size={'xs'}\n alt=\"icon\"\n style={styles.image}\n source={item.image}\n />\n )}\n </Box>\n <Box>\n <Text color={colors.gray[800]} className=\"text-sm\">\n {item.title}\n </Text>\n </Box>\n <Box>\n <Text color={colors.gray[600]} className=\"text-xs\">\n {item.subTitle}\n </Text>\n </Box>\n </VStack>\n </Box>\n </Button>\n ),\n [navigation, orgName],\n );\n\n return (\n <FlatList\n ref={flatListRef}\n pagingEnabled={true}\n horizontal={true}\n snapToInterval={Dimensions.get('window').width}\n snapToAlignment=\"start\"\n decelerationRate={'fast'}\n data={SLIDER_ITEMS}\n renderItem={renderSliderItem}\n keyExtractor={(item) => String(item.id)}\n style={styles.container}\n contentContainerStyle={styles.contentContainer}\n initialNumToRender={3}\n maxToRenderPerBatch={3}\n removeClippedSubviews={true}\n />\n );\n};\n\nexport default React.memo(TopCommonSlider);\n"],"names":["chat","saveForLater","send","React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {Ionicons,AntDesign,MaterialCommunityIcons,FontAwesome5}from'@expo/vector-icons';import {useNavigation,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useMemo,useCallback,createContext}from'react';import {Share,TouchableHighlight,Dimensions}from'react-native';import {useSelector,shallowEqual}from'react-redux';import styles from'./styles.js';import {
|
|
1
|
+
import {Ionicons,AntDesign,MaterialCommunityIcons,FontAwesome5}from'@expo/vector-icons';import {useNavigation,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useMemo,useCallback,createContext}from'react';import {Share,TouchableHighlight,Dimensions}from'react-native';import {useSelector,shallowEqual}from'react-redux';import styles from'./styles.js';import {Center,Text,HStack,Box,Icon,AddIcon,Spinner,Divider,Fab}from'@admin-layout/gluestack-ui-mobile';import {RoomType}from'common';import {useSetDeviceTokenMutation,useOrganizationSharableLinkQuery}from'../../queries/slackuiQueries.js';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import {useDisclose}from'../../hooks/useDisclose.js';import {useExpoNotification}from'../../hooks/useExpoNotificationProvider.js';import {useOptimizedChannelsQueries}from'../../hooks/useOptimizedChannelsQueries.js';import Teams from'./Components/Teams/Teams.js';import Channels from'./Components/Channels/Channels.js';import DirectChannels from'./Components/DirectChannels/DirectChannels.js';import TopCommonSlider from'./Components/TopCommonSlider/TopCommonSlider.js';import {InviteMembers}from'./Components/InviteMembers/index.js';import Colors from'../../constants/Colors.js';import'../../constants/device.js';import'../../constants/globalStyles.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import'@react-navigation/core';import'../../components/Header/styles.js';import'../../components/Tiles/styles.js';import'../../components/CustomDrawer/CustomDrawer.js';import'../../components/CustomBottomTabs/CustomBottomTabs.js';import'../../components/NavigationHeader/NavigationHeader.js';import'@react-navigation/elements';import'@common-stack/client-react';import'../../components/NavigationHeader/InboxNavigationHeader.js';import colors from'tailwindcss/colors';import'../../components/WorkSpaceDrawer/WorkSpaceDrawer.js';import'../../components/Channels/ChannelsByAlphabeticalAccordion.js';import'../../components/SlackSearchInput/index.js';import'../../components/AppRootContextProviderComponent.js';import {Actionsheet as ActionSheet}from'../../components/Actionsheet.js';import {config}from'../../config/env-config.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
3
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
4
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -21,6 +21,18 @@ const RefetchContext = createContext({
|
|
|
21
21
|
setRefetchStatus: (status) => {
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
const ChannelsDataContext = createContext({
|
|
25
|
+
channelsData: [],
|
|
26
|
+
directChannelsData: [],
|
|
27
|
+
loading: false,
|
|
28
|
+
error: null,
|
|
29
|
+
refetchChannels: () => {
|
|
30
|
+
},
|
|
31
|
+
getChannelsForHome: (limit) => [],
|
|
32
|
+
getDirectChannelsForHome: (limit) => [],
|
|
33
|
+
hasChannels: false,
|
|
34
|
+
hasDirectChannels: false
|
|
35
|
+
});
|
|
24
36
|
const HomeScreen = ({
|
|
25
37
|
navigation,
|
|
26
38
|
route
|
|
@@ -41,10 +53,35 @@ const HomeScreen = ({
|
|
|
41
53
|
} = useExpoNotification();
|
|
42
54
|
const [setDeviceTokenMutation] = useSetDeviceTokenMutation();
|
|
43
55
|
const [shouldRefetch, setShouldRefetch] = useState(false);
|
|
56
|
+
const {
|
|
57
|
+
channelsData,
|
|
58
|
+
directChannelsData,
|
|
59
|
+
loading: channelsLoading,
|
|
60
|
+
error: channelsError,
|
|
61
|
+
refetchChannels,
|
|
62
|
+
getChannelsForHome,
|
|
63
|
+
getDirectChannelsForHome,
|
|
64
|
+
hasChannels,
|
|
65
|
+
hasDirectChannels
|
|
66
|
+
} = useOptimizedChannelsQueries({
|
|
67
|
+
orgName,
|
|
68
|
+
enabled: !!orgName
|
|
69
|
+
});
|
|
44
70
|
const refetchContextValue = useMemo(() => ({
|
|
45
71
|
shouldRefetch,
|
|
46
72
|
setRefetchStatus: setShouldRefetch
|
|
47
73
|
}), [shouldRefetch]);
|
|
74
|
+
const channelsDataContextValue = useMemo(() => ({
|
|
75
|
+
channelsData,
|
|
76
|
+
directChannelsData,
|
|
77
|
+
loading: channelsLoading,
|
|
78
|
+
error: channelsError,
|
|
79
|
+
refetchChannels,
|
|
80
|
+
getChannelsForHome,
|
|
81
|
+
getDirectChannelsForHome,
|
|
82
|
+
hasChannels,
|
|
83
|
+
hasDirectChannels
|
|
84
|
+
}), [channelsData, directChannelsData, channelsLoading, channelsError, refetchChannels, getChannelsForHome, getDirectChannelsForHome, hasChannels, hasDirectChannels]);
|
|
48
85
|
const {
|
|
49
86
|
data: organizationSharableLink
|
|
50
87
|
} = useOrganizationSharableLinkQuery(orgName, {
|
|
@@ -121,6 +158,9 @@ const HomeScreen = ({
|
|
|
121
158
|
setSwipeEnabled(true);
|
|
122
159
|
handlerExpoToken();
|
|
123
160
|
setShouldRefetch(true);
|
|
161
|
+
if (orgName) {
|
|
162
|
+
refetchChannels();
|
|
163
|
+
}
|
|
124
164
|
const timer = setTimeout(() => {
|
|
125
165
|
setShouldRefetch(false);
|
|
126
166
|
}, 500);
|
|
@@ -128,7 +168,7 @@ const HomeScreen = ({
|
|
|
128
168
|
clearTimeout(timer);
|
|
129
169
|
setSwipeEnabled(false);
|
|
130
170
|
};
|
|
131
|
-
}, [orgName, setSwipeEnabled, handlerExpoToken]));
|
|
171
|
+
}, [orgName, setSwipeEnabled, handlerExpoToken, refetchChannels]));
|
|
132
172
|
useCallback(() => /* @__PURE__ */ React__default.createElement(Box, { style: [styles.bottomContainer, {
|
|
133
173
|
marginBottom: 8,
|
|
134
174
|
paddingHorizontal: 16
|
|
@@ -149,7 +189,7 @@ const HomeScreen = ({
|
|
|
149
189
|
if (!orgName) {
|
|
150
190
|
return /* @__PURE__ */ React__default.createElement(Center, { className: "flex-1 bg-white" }, /* @__PURE__ */ React__default.createElement(Spinner, { size: "large", color: Colors.primaryBgColor }));
|
|
151
191
|
}
|
|
152
|
-
return /* @__PURE__ */ React__default.createElement(RefetchContext.Provider, { value: refetchContextValue }, /* @__PURE__ */ React__default.createElement(VirtualizedScrollView, { className: "bg-white flex-1" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-white pb-10" }, /* @__PURE__ */ React__default.createElement(TopCommonSlider, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
|
|
192
|
+
return /* @__PURE__ */ React__default.createElement(RefetchContext.Provider, { value: refetchContextValue }, /* @__PURE__ */ React__default.createElement(ChannelsDataContext.Provider, { value: channelsDataContextValue }, /* @__PURE__ */ React__default.createElement(VirtualizedScrollView, { className: "bg-white flex-1" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-white pb-10" }, /* @__PURE__ */ React__default.createElement(TopCommonSlider, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
|
|
153
193
|
marginVertical: 12
|
|
154
194
|
} }), /* @__PURE__ */ React__default.createElement(Teams, null), /* @__PURE__ */ React__default.createElement(Divider, { style: {
|
|
155
195
|
marginVertical: 12
|
|
@@ -163,7 +203,7 @@ const HomeScreen = ({
|
|
|
163
203
|
backgroundColor: Colors.primaryBgColor,
|
|
164
204
|
marginBottom: 20,
|
|
165
205
|
marginRight: 20
|
|
166
|
-
} }, /* @__PURE__ */ React__default.createElement(FontAwesome5, { color: "white", name: "edit", size: 18 })));
|
|
206
|
+
} }, /* @__PURE__ */ React__default.createElement(FontAwesome5, { color: "white", name: "edit", size: 18 }))));
|
|
167
207
|
};
|
|
168
208
|
const Home = React__default.memo((props) => {
|
|
169
209
|
const user = useSelector((state) => state.user, shallowEqual);
|
|
@@ -178,6 +218,6 @@ const Home = React__default.memo((props) => {
|
|
|
178
218
|
};
|
|
179
219
|
}, []));
|
|
180
220
|
if (!orgName)
|
|
181
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
221
|
+
return /* @__PURE__ */ React__default.createElement(Center, { className: "flex-1 bg-white" }, /* @__PURE__ */ React__default.createElement(Text, null, "No Organization found"));
|
|
182
222
|
return /* @__PURE__ */ React__default.createElement(HomeScreen, __spreadValues({}, props));
|
|
183
|
-
});export{RefetchContext,Home as default};//# sourceMappingURL=HomeScreen.js.map
|
|
223
|
+
});export{ChannelsDataContext,RefetchContext,Home as default};//# sourceMappingURL=HomeScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomeScreen.js","sources":["../../../src/screens/Home/HomeScreen.tsx"],"sourcesContent":["import { Ionicons, AntDesign, FontAwesome5, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useFocusEffect, useNavigation } from '@react-navigation/native';\nimport React, { useCallback, useState, useMemo, createContext } from 'react';\nimport { TouchableHighlight, Share, Dimensions } from 'react-native';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport styles from './styles';\nimport {\n Box,\n Avatar,\n Icon,\n AddIcon,\n Text,\n Spinner,\n Center,\n Fab,\n HStack,\n Divider,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { useSetDeviceTokenMutation, useOrganizationSharableLinkQuery } from '../../queries/slackuiQueries';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useDisclose } from '../../hooks/useDisclose';\nimport { useExpoNotification } from '../../hooks/useExpoNotificationProvider';\nimport { Teams } from './Components/Teams';\nimport { Channels } from './Components/Channels/index';\nimport { DirectChannels } from './Components/DirectChannels';\nimport { TopCommonSlider } from './Components/TopCommonSlider';\nimport { InviteMembers } from './Components/InviteMembers';\nimport { NavigationRoutes, colors } from '../../constants';\nimport { LoadingSpinnerDefault, Actionsheet } from '../../components';\nimport { config } from '../../config';\nimport Colors from 'tailwindcss/colors';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\n// Create a context to control refetching across child components\nexport const RefetchContext = createContext({\n shouldRefetch: false,\n setRefetchStatus: (status: boolean) => {},\n});\n\nconst HomeScreen = ({ navigation, route }) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { isOpen, onOpen, onClose } = useDisclose();\n const { setSwipeEnabled, orgName, organizationDetail } = useDrawerLayout();\n const { expoToken } = useExpoNotification();\n const [setDeviceTokenMutation] = useSetDeviceTokenMutation();\n const [shouldRefetch, setShouldRefetch] = useState(false);\n\n // Memoize the refetch context value\n const refetchContextValue = useMemo(\n () => ({\n shouldRefetch,\n setRefetchStatus: setShouldRefetch,\n }),\n [shouldRefetch],\n );\n\n // Only fetch sharable link when needed (when action sheet is open)\n const { data: organizationSharableLink } = useOrganizationSharableLinkQuery(orgName, {\n fetchPolicy: 'cache-and-network',\n skip: !isOpen,\n });\n\n // Define shareLink before it's used in the memo\n const shareLink = useCallback(async () => {\n try {\n const result = await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n } catch (error: any) {\n alert(error.message);\n }\n }, [organizationSharableLink?.getOrganizationSharableLink]);\n\n // Memoize action items to prevent unnecessary re-renders\n const actionItems = useMemo(\n () => [\n {\n id: 1,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n backgroundColor: colors.primaryBgColor,\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n }}\n >\n <Ionicons color={'white'} name=\"share-outline\" size={22} />\n <Text className=\"text-white\" style={{ color: 'white', fontWeight: '600', fontSize: 16 }}>\n Share a Link\n </Text>\n </HStack>\n ),\n onPress: async () => await shareLink(),\n },\n {\n id: 2,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <AntDesign color={Colors.gray[900]} name=\"adduser\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>\n Add from Contacts\n </Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {\n orgName,\n }),\n },\n {\n id: 3,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <MaterialCommunityIcons color={Colors.gray[900]} name=\"email-outline\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>Add by Email</Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n }),\n },\n ],\n [isOpen, navigation, orgName, shareLink],\n );\n\n // Optimize token handling\n const handlerExpoToken = useCallback(() => {\n if (expoToken) {\n setDeviceTokenMutation({\n variables: {\n deviceToken: expoToken,\n },\n });\n }\n }, [expoToken, setDeviceTokenMutation]);\n\n useFocusEffect(\n useCallback(() => {\n setSwipeEnabled(true);\n handlerExpoToken();\n setShouldRefetch(true);\n\n // Set refetch status to false after a short delay\n const timer = setTimeout(() => {\n setShouldRefetch(false);\n }, 500);\n\n return () => {\n clearTimeout(timer);\n setSwipeEnabled(false);\n };\n }, [orgName, setSwipeEnabled, handlerExpoToken]),\n );\n\n // Memoize the AddTeammates component\n const AddTeammates = useCallback(\n () => (\n <Box style={[styles.bottomContainer, { marginBottom: 8, paddingHorizontal: 16 }]}>\n <TouchableHighlight underlayColor={Colors.gray[50]} onPress={onOpen}>\n <Box className=\"py-3 px-2\">\n <HStack className=\"w-full flex-1 items-center space-x-3\">\n <Box\n style={{\n backgroundColor: Colors.gray[100],\n borderRadius: 20,\n padding: 6,\n }}\n >\n <Icon as={AddIcon} style={{ width: 20, height: 20 }} color={Colors.gray[700]} />\n </Box>\n <Text style={{ fontSize: 15, fontWeight: '500' }} color={Colors.gray[800]}>\n Add teammates\n </Text>\n </HStack>\n </Box>\n </TouchableHighlight>\n\n <Actionsheet\n isOpen={isOpen}\n actionItems={actionItems}\n onCancel={onClose}\n hideBottomWidth={true}\n header={\n <Text\n className=\"text-center font-bold text-lg\"\n style={{\n paddingVertical: 16,\n color: Colors.gray[900],\n }}\n >\n Invite people to join your team\n </Text>\n }\n />\n </Box>\n ),\n [isOpen, onOpen, onClose, actionItems],\n );\n\n if (!orgName) {\n return (\n <Center className=\"flex-1 bg-white\">\n <Spinner size=\"large\" color={colors.primaryBgColor} />\n </Center>\n );\n }\n\n return (\n <RefetchContext.Provider value={refetchContextValue}>\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <Box className=\"flex-1 bg-white pb-10\">\n <TopCommonSlider />\n <Divider style={{ marginVertical: 12 }} />\n <Teams />\n <Divider style={{ marginVertical: 12 }} />\n <Channels />\n <Divider style={{ marginVertical: 12 }} />\n <DirectChannels />\n <Divider style={{ marginVertical: 12 }} />\n {/* <AddTeammates />\n <Divider style={{ marginVertical: 12 }} /> */}\n <InviteMembers />\n </Box>\n </VirtualizedScrollView>\n <Fab\n onPress={() => navigation.navigate(NavigationRoutes.SearchAddChannel, { orgName })}\n size=\"sm\"\n className=\"items-center shadow-lg\"\n style={{ backgroundColor: colors.primaryBgColor, marginBottom: 20, marginRight: 20 }}\n >\n <FontAwesome5 color=\"white\" name=\"edit\" size={18} />\n </Fab>\n </RefetchContext.Provider>\n );\n};\n\n// Memoize the entire Home component\nconst Home = React.memo((props: any) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n\n useFocusEffect(\n React.useCallback(() => {\n if (!user?.profile) navigation?.navigate(NavigationRoutes.Login);\n return () => {};\n }, []),\n );\n\n if (!orgName) return <LoadingSpinnerDefault />;\n\n return <HomeScreen {...props} />;\n});\n\nexport default Home;\n"],"names":["React","colors","Colors","Actionsheet"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HomeScreen.js","sources":["../../../src/screens/Home/HomeScreen.tsx"],"sourcesContent":["import { Ionicons, AntDesign, FontAwesome5, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { useFocusEffect, useNavigation } from '@react-navigation/native';\nimport React, { useCallback, useState, useMemo, createContext } from 'react';\nimport { TouchableHighlight, Share, Dimensions } from 'react-native';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport styles from './styles';\nimport {\n Box,\n Avatar,\n Icon,\n AddIcon,\n Text,\n Spinner,\n Center,\n Fab,\n HStack,\n Divider,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { useSetDeviceTokenMutation, useOrganizationSharableLinkQuery } from '../../queries/slackuiQueries';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport { useDisclose } from '../../hooks/useDisclose';\nimport { useExpoNotification } from '../../hooks/useExpoNotificationProvider';\nimport { useOptimizedChannelsQueries } from '../../hooks/useOptimizedChannelsQueries';\nimport { Teams } from './Components/Teams';\nimport { Channels } from './Components/Channels/index';\nimport { DirectChannels } from './Components/DirectChannels';\nimport { TopCommonSlider } from './Components/TopCommonSlider';\nimport { InviteMembers } from './Components/InviteMembers';\nimport { NavigationRoutes, colors } from '../../constants';\nimport { LoadingSpinnerDefault, Actionsheet } from '../../components';\nimport { config } from '../../config';\nimport Colors from 'tailwindcss/colors';\n\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\n// Create a context to control refetching across child components\nexport const RefetchContext = createContext({\n shouldRefetch: false,\n setRefetchStatus: (status: boolean) => {},\n});\n\n// Create a context to share optimized channel data across child components\nexport const ChannelsDataContext = createContext({\n channelsData: [],\n directChannelsData: [],\n loading: false,\n error: null,\n refetchChannels: () => {},\n getChannelsForHome: (limit?: number) => [],\n getDirectChannelsForHome: (limit?: number) => [],\n hasChannels: false,\n hasDirectChannels: false,\n});\n\nconst HomeScreen = ({ navigation, route }) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { isOpen, onOpen, onClose } = useDisclose();\n const { setSwipeEnabled, orgName, organizationDetail } = useDrawerLayout();\n const { expoToken } = useExpoNotification();\n const [setDeviceTokenMutation] = useSetDeviceTokenMutation();\n const [shouldRefetch, setShouldRefetch] = useState(false);\n\n // Use optimized channels queries hook\n const {\n channelsData,\n directChannelsData,\n loading: channelsLoading,\n error: channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n } = useOptimizedChannelsQueries({\n orgName,\n enabled: !!orgName,\n });\n\n // Memoize the refetch context value\n const refetchContextValue = useMemo(\n () => ({\n shouldRefetch,\n setRefetchStatus: setShouldRefetch,\n }),\n [shouldRefetch],\n );\n\n // Memoize the channels data context value\n const channelsDataContextValue = useMemo(\n () => ({\n channelsData,\n directChannelsData,\n loading: channelsLoading,\n error: channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n }),\n [\n channelsData,\n directChannelsData,\n channelsLoading,\n channelsError,\n refetchChannels,\n getChannelsForHome,\n getDirectChannelsForHome,\n hasChannels,\n hasDirectChannels,\n ],\n );\n\n // Only fetch sharable link when needed (when action sheet is open)\n const { data: organizationSharableLink } = useOrganizationSharableLinkQuery(orgName, {\n fetchPolicy: 'cache-and-network',\n skip: !isOpen,\n });\n\n // Define shareLink before it's used in the memo\n const shareLink = useCallback(async () => {\n try {\n const result = await Share.share({\n message: `${config.APP_NAME} - ${organizationSharableLink?.getOrganizationSharableLink ?? ''}`,\n });\n } catch (error: any) {\n alert(error.message);\n }\n }, [organizationSharableLink?.getOrganizationSharableLink]);\n\n // Memoize action items to prevent unnecessary re-renders\n const actionItems = useMemo(\n () => [\n {\n id: 1,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n backgroundColor: colors.primaryBgColor,\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n }}\n >\n <Ionicons color={'white'} name=\"share-outline\" size={22} />\n <Text className=\"text-white\" style={{ color: 'white', fontWeight: '600', fontSize: 16 }}>\n Share a Link\n </Text>\n </HStack>\n ),\n onPress: async () => await shareLink(),\n },\n {\n id: 2,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <AntDesign color={Colors.gray[900]} name=\"adduser\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>\n Add from Contacts\n </Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleFromContacts, {\n orgName,\n }),\n },\n {\n id: 3,\n label: (\n <HStack\n space={'sm'}\n className=\"flex-1 justify-center items-center\"\n style={{\n paddingVertical: 12,\n borderRadius: 8,\n marginHorizontal: 10,\n marginVertical: 5,\n backgroundColor: Colors.gray[50],\n }}\n >\n <MaterialCommunityIcons color={Colors.gray[900]} name=\"email-outline\" size={22} />\n <Text style={{ color: Colors.gray[900], fontWeight: '600', fontSize: 16 }}>Add by Email</Text>\n </HStack>\n ),\n onPress: () =>\n navigation.navigate(NavigationRoutes.AddPeopleByEmail, {\n orgName,\n }),\n },\n ],\n [isOpen, navigation, orgName, shareLink],\n );\n\n // Optimize token handling\n const handlerExpoToken = useCallback(() => {\n if (expoToken) {\n setDeviceTokenMutation({\n variables: {\n deviceToken: expoToken,\n },\n });\n }\n }, [expoToken, setDeviceTokenMutation]);\n\n useFocusEffect(\n useCallback(() => {\n setSwipeEnabled(true);\n handlerExpoToken();\n setShouldRefetch(true);\n\n // Refetch channels when focus changes\n if (orgName) {\n refetchChannels();\n }\n\n // Set refetch status to false after a short delay\n const timer = setTimeout(() => {\n setShouldRefetch(false);\n }, 500);\n\n return () => {\n clearTimeout(timer);\n setSwipeEnabled(false);\n };\n }, [orgName, setSwipeEnabled, handlerExpoToken, refetchChannels]),\n );\n\n // Memoize the AddTeammates component\n const AddTeammates = useCallback(\n () => (\n <Box style={[styles.bottomContainer, { marginBottom: 8, paddingHorizontal: 16 }]}>\n <TouchableHighlight underlayColor={Colors.gray[50]} onPress={onOpen}>\n <Box className=\"py-3 px-2\">\n <HStack className=\"w-full flex-1 items-center space-x-3\">\n <Box\n style={{\n backgroundColor: Colors.gray[100],\n borderRadius: 20,\n padding: 6,\n }}\n >\n <Icon as={AddIcon} style={{ width: 20, height: 20 }} color={Colors.gray[700]} />\n </Box>\n <Text style={{ fontSize: 15, fontWeight: '500' }} color={Colors.gray[800]}>\n Add teammates\n </Text>\n </HStack>\n </Box>\n </TouchableHighlight>\n\n <Actionsheet\n isOpen={isOpen}\n actionItems={actionItems}\n onCancel={onClose}\n hideBottomWidth={true}\n header={\n <Text\n className=\"text-center font-bold text-lg\"\n style={{\n paddingVertical: 16,\n color: Colors.gray[900],\n }}\n >\n Invite people to join your team\n </Text>\n }\n />\n </Box>\n ),\n [isOpen, onOpen, onClose, actionItems],\n );\n\n if (!orgName) {\n return (\n <Center className=\"flex-1 bg-white\">\n <Spinner size=\"large\" color={colors.primaryBgColor} />\n </Center>\n );\n }\n\n return (\n <RefetchContext.Provider value={refetchContextValue}>\n <ChannelsDataContext.Provider value={channelsDataContextValue}>\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <Box className=\"flex-1 bg-white pb-10\">\n <TopCommonSlider />\n <Divider style={{ marginVertical: 12 }} />\n <Teams />\n <Divider style={{ marginVertical: 12 }} />\n <Channels />\n <Divider style={{ marginVertical: 12 }} />\n <DirectChannels />\n <Divider style={{ marginVertical: 12 }} />\n {/* <AddTeammates />\n <Divider style={{ marginVertical: 12 }} /> */}\n <InviteMembers />\n </Box>\n </VirtualizedScrollView>\n <Fab\n onPress={() => navigation.navigate(NavigationRoutes.SearchAddChannel, { orgName })}\n size=\"sm\"\n className=\"items-center shadow-lg\"\n style={{ backgroundColor: colors.primaryBgColor, marginBottom: 20, marginRight: 20 }}\n >\n <FontAwesome5 color=\"white\" name=\"edit\" size={18} />\n </Fab>\n </ChannelsDataContext.Provider>\n </RefetchContext.Provider>\n );\n};\n\n// Memoize the entire Home component\nconst Home = React.memo((props: any) => {\n const user = useSelector((state: any) => state.user, shallowEqual);\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n\n useFocusEffect(\n React.useCallback(() => {\n if (!user?.profile) navigation?.navigate(NavigationRoutes.Login);\n return () => {};\n }, []),\n );\n\n // if (!orgName) return <LoadingSpinnerDefault />;\n if (!orgName)\n return (\n <Center className=\"flex-1 bg-white\">\n <Text>No Organization found</Text>\n </Center>\n );\n\n return <HomeScreen {...props} />;\n});\n\nexport default Home;\n"],"names":["React","colors","Colors","Actionsheet"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {SafeAreaView}from'react-native';import {userSelector,isUserAuthenticated}from'@adminide-stack/user-auth0-client';import {RoomType}from'common';import {useChannelDetailQuery,useAddMemberToChannelMutation,useSaveMembersToChannelMutation,useAddDirectChannelMutation}from'../../queries/slackuiQueries.js';import {MaterialIcons,Octicons,AntDesign,Feather}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import {Box,VStack,HStack,Button,Avatar,AvatarFallbackText,AvatarImage,AvatarBadge,Text,Image,Divider,ButtonText,ScrollView,FlatList,Switch,SectionList}from'@admin-layout/gluestack-ui-mobile';import {StatusBar}from'expo-status-bar';import {useSelector}from'react-redux';import {startCase}from'lodash-es';import Colors from'../../constants/Colors.js';import'../../constants/device.js';import'../../constants/globalStyles.js';import images from'../../constants/preloadImages.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import colors from'tailwindcss/colors';const InboxChannelDetailScreen = ({
|
|
1
|
+
import React__default from'react';import {SafeAreaView}from'react-native';import {userSelector,isUserAuthenticated}from'@adminide-stack/user-auth0-client';import {RoomType}from'common';import {useChannelDetailQuery,useAddMemberToChannelMutation,useSaveMembersToChannelMutation,useAddDirectChannelMutation}from'../../queries/slackuiQueries.js';import {MaterialIcons,Octicons,AntDesign,Feather}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.js';import {Box,VStack,HStack,Button,Avatar,AvatarFallbackText,AvatarImage,AvatarBadge,Text,Image,Divider,ButtonText,ScrollView,FlatList,Switch,SectionList}from'@admin-layout/gluestack-ui-mobile';import {StatusBar}from'expo-status-bar';import {useSelector}from'react-redux';import {startCase}from'lodash-es';import Colors from'../../constants/Colors.js';import'../../constants/device.js';import'../../constants/globalStyles.js';import images from'../../constants/preloadImages.js';import'../../constants/Layout.js';import {NavigationRoutes}from'../../constants/routes.js';import colors from'tailwindcss/colors';const InboxChannelDetailScreen = ({
|
|
2
2
|
channelId,
|
|
3
3
|
navigation
|
|
4
4
|
}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InboxChannelDetail.js","sources":["../../../src/screens/Inbox/InboxChannelDetail.tsx"],"sourcesContent":["import React from 'react';\nimport { SafeAreaView } from 'react-native';\nimport { isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport { navigationRef } from '@common-stack/client-react';\nimport { RoomType } from 'common';\nimport {\n useAddMemberToChannelMutation,\n useSaveMembersToChannelMutation,\n useAddDirectChannelMutation,\n useChannelDetailQuery,\n} from '../../queries/slackuiQueries';\nimport { useDrawerLayout } from '../../hooks';\nimport {\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Box,\n Button,\n ButtonText,\n Divider,\n FlatList,\n HStack,\n Heading,\n Icon,\n Image,\n ScrollView,\n SectionList,\n Switch,\n Text,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { Ionicons, MaterialIcons, AntDesign, FontAwesome, Feather, Octicons } from '@expo/vector-icons';\nimport { startCase } from 'lodash-es';\nimport { NavigationRoutes, colors, images } from '../../constants';\nimport Colors from 'tailwindcss/colors';\n\nconst InboxChannelDetailScreen = ({ channelId, navigation }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const user = useSelector(userSelector);\n const { authenticated } = isUserAuthenticated();\n const titleCharacterLimit: number = 18;\n\n const {\n data: channelData,\n loading: channelLoading,\n refetch: reFetchChannel,\n } = useChannelDetailQuery(channelId?.toString());\n\n const [addMemberToChannel, { loading: addMemberToChannelLoading, error: addMemberToChannelError }] =\n useAddMemberToChannelMutation();\n\n const [saveMembersToChannel, { loading: saveMembersToChannelLoading, error: saveMembersToChannelError }] =\n useSaveMembersToChannelMutation();\n\n const [addDirectChannel, { loading: addDirectChannelLoading, error: addDirectChannelError }] =\n useAddDirectChannelMutation();\n\n const [leaveChannelLoading, setLeaveChannelLoading] = React.useState(false);\n const [isMuted, setIsMuted] = React.useState(false);\n\n const handleMuteToggle = React.useCallback(\n (value: boolean) => {\n setIsMuted(value);\n // In a real implementation, you would call a mutation to save this preference\n console.log(`Channel ${channelId} mute status changed to: ${value}`);\n },\n [channelId],\n );\n\n React.useEffect(() => {\n // Do something when the screen is focused\n reFetchChannel();\n return () => {};\n }, []);\n\n const channel = React.useMemo(() => {\n const channelMembers =\n channelData?.viewChannelDetail?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null;\n const membersNameAsTitle =\n channelData?.viewChannelDetail?.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : null;\n const title = membersNameAsTitle || channelData?.viewChannelDetail?.title || '';\n const channelTitle =\n title?.length > titleCharacterLimit ? title?.substring(0, titleCharacterLimit) + '...' : title;\n return [\n {\n title: channelTitle,\n data: channelData?.viewChannelDetail\n ? [{ title: channelTitle, data: channelData?.viewChannelDetail }]\n : [],\n },\n ];\n }, [channelData]);\n\n const channelType = React.useMemo(() => {\n if (!channelData?.viewChannelDetail) return 'CHANNEL';\n return channelData?.viewChannelDetail?.type;\n }, [channelData]);\n\n const channelMembers = React.useMemo(() => {\n if (!channelData?.viewChannelDetail?.members || channelData?.viewChannelDetail?.members?.length == 0)\n return null;\n return (\n channelData?.viewChannelDetail?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null\n );\n }, [channelData]);\n\n const memberImage = React.useMemo(() => {\n return channelType == RoomType.Direct && channelMembers?.length == 1\n ? channelMembers[0]?.picture ?? null\n : null;\n }, [channelMembers]);\n\n const SectionHeaderComponent = React.memo(({ title }: any) => {\n return (\n <Box className=\"bg-white flex-1\">\n <VStack space={'md'}>\n <HStack className=\"flex-1 justify-between items-center py-2\">\n <HStack className=\"flex-1 items-center\">\n <Button\n //onPress={() => navigation?.goBack?.()}\n className=\"bg-transparent\"\n onPress={() => navigation?.goBack()}\n >\n <MaterialIcons size={30} name=\"keyboard-arrow-left\" color=\"black\" />\n </Button>\n <Box className=\"py-2\">\n {memberImage ? (\n <Avatar\n key={'inbox-channel-member-image-key'}\n size={'sm'}\n className=\"bg-transparent\"\n >\n <AvatarFallbackText>{startCase(title?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: memberImage,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n ) : channelType == RoomType.Channel ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"hash\" size={20} />\n </Text>\n ) : channelType === RoomType.Private ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </Text>\n ) : (\n <></>\n )}\n </Box>\n <Text numberOfLines={1} className=\"px-2 text-black flex-wrap text-[18px] font-bold\">\n {title}\n </Text>\n </HStack>\n <HStack className=\"items-center\">\n <Button size={'md'} className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\">\n <Octicons color=\"black\" name=\"pencil\" size={20} />\n </Button>\n <Button size={'md'} className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\">\n <MaterialIcons color=\"black\" name=\"more-vert\" size={20} />\n </Button>\n </HStack>\n </HStack>\n </VStack>\n </Box>\n );\n });\n\n const SectionItemChannelMembers = React.memo(({ member }: any) => {\n const fullName = member?.user?.givenName + ' ' + member?.user?.familyName;\n const fullNameWithCharLimit = fullName?.length > 15 ? fullName?.substring(0, 15) + '...' : fullName;\n return (\n <Button\n variant={'solid'}\n // w={'$20'}\n size={'md'}\n className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200 px-0 rounded-lg h-full\"\n >\n <VStack space={'sm'} className=\"flex-1 px-2\">\n <Image\n source={{\n uri: member?.user?.picture,\n }}\n alt={startCase(member?.user?.username?.charAt(0))}\n size={'md'}\n className=\"rounded-lg\"\n />\n <Text\n numberOfLines={2}\n color={colors.black}\n className=\"text-[12px] font-bold text-center flex-wrap items-start color-black\"\n >\n {fullNameWithCharLimit}\n </Text>\n </VStack>\n </Button>\n );\n });\n\n const SectionItemComponent = React.memo(({ item }: any) => {\n return (\n <VStack space={'md'} className=\"bg-white flex-1 px-2\">\n <HStack className=\"flex-1 items-center\">\n <Box>\n {memberImage ? (\n <Avatar key={'inbox-channel-member-profile-key'} size={'sm'} className=\"bg-transparent\">\n <AvatarFallbackText> {startCase(item?.title?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: memberImage,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n ) : channelType == RoomType.Channel ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"hash\" size={20} />\n </Text>\n ) : channelType === RoomType.Private ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </Text>\n ) : (\n <></>\n )}\n </Box>\n <Text className=\"px-2 text-black flex-wrap text-[18px] font-bold\" numberOfLines={1}>\n {item?.title}\n </Text>\n </HStack>\n\n <Box className=\"flex-1\">\n <Text className=\"text-black text-[18]] text-justify\" color={colors.black}>\n <Text className=\"font-bold text-[15]\" color={Colors.black}>\n Description:{' '}\n </Text>\n {item?.data?.description}\n </Text>\n </Box>\n <HStack space={'sm'} className=\"flex-1 justify-between items-center\">\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId,\n isAddMemeber: true,\n onMemberAdded: (memberId: string) => {\n if (memberId) {\n addMemberToChannel({\n variables: {\n channelId: channelId?.toString(),\n memberId,\n },\n }).then(() => {\n reFetchChannel();\n });\n }\n },\n })\n }\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <AntDesign color=\"black\" name=\"adduser\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Add\n </Text>\n </VStack>\n </Button>\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <Feather color=\"$black\" name=\"headphones\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Huddle\n </Text>\n </VStack>\n </Button>\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <AntDesign color=\"black\" name=\"search1\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Search\n </Text>\n </VStack>\n </Button>\n </HStack>\n <Divider />\n <VStack className=\"flex-1\" space={'sm'}>\n <HStack className=\"flex-1 justify-between items-center\">\n <Text className=\"text-[15] font-semibold\" color={Colors.black}>\n Members({item?.data?.members?.length})\n </Text>\n <Button variant={'link'}>\n <ButtonText className=\"font-semibold\" style={{ fontSize: 15 }}>\n See All\n </ButtonText>\n </Button>\n </HStack>\n\n <ScrollView horizontal={true} style={{ flex: 1 }}>\n <FlatList\n horizontal\n data={item?.data?.members?.slice(0, 10) ?? []}\n ItemSeparatorComponent={() => <Box className=\"mx-2\" />}\n renderItem={({ item: member }: any) => <SectionItemChannelMembers member={member} />}\n />\n </ScrollView>\n </VStack>\n <Divider />\n <VStack className=\"flex-1\" space={'lg'}>\n <Text className=\"text-[15] font-semibold\" color={Colors.black}>\n Settings\n </Text>\n <HStack space={'sm'} className=\"flex-1 items-center justify-between\">\n <AntDesign color=\"black\" name=\"bells\" size={20} />\n <Box className=\"flex-1\">\n <VStack className=\"flex-[0.5]\" space=\"sm\">\n <Text color={Colors.black} className=\"font-semibold text-[16]\">\n Mute Channel\n </Text>\n <Text className=\"flex-wrap text-[18] text-justify\" color={Colors.black}>\n Muted channels will always appears read and you won't receive any notification from\n t..\n </Text>\n </VStack>\n </Box>\n <Box>\n <Switch\n size=\"sm\"\n // offTrackColor=\"white\"\n // onTrackColor=\"blue.800\"\n // offThumbColor=\"gray.500\"\n // onThumbColor=\"white\"\n value={isMuted}\n onValueChange={handleMuteToggle}\n />\n </Box>\n </HStack>\n <HStack space={'sm'} className=\"flex-1 items-center justify-between\">\n <Avatar key={'account-image-key'} size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarFallbackText>NC</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={images.pushNotification}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n <Box className=\"flex-1\">\n <VStack className=\"flex-[0.5]\" space=\"sm\">\n <Text color={Colors.black} className=\"font-semibold text-[16]\">\n Notification\n </Text>\n <Text className=\"flex-wrap text-[14] text-justify\" color={Colors.black}>\n Just @mentions\n </Text>\n </VStack>\n </Box>\n </HStack>\n </VStack>\n\n <Button\n variant={'solid'}\n className=\"rounded-lg bg-rose-600\"\n onPress={() => {\n setLeaveChannelLoading(true);\n // In a real implementation, you would call the appropriate mutation\n // For now, we'll just navigate back as a placeholder\n setTimeout(() => {\n setLeaveChannelLoading(false);\n navigation?.goBack();\n }, 1000);\n }}\n isDisabled={leaveChannelLoading}\n >\n <MaterialIcons name=\"logout\" color={'white'} size={20} />\n <ButtonText className=\"pl-1.5\" style={{ fontSize: 14, fontWeight: 'bold' }}>\n {leaveChannelLoading ? 'Leaving...' : 'Leave channel'}\n </ButtonText>\n </Button>\n </VStack>\n );\n });\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <StatusBar style={'dark'} />\n <Box className=\"flex-1 bg-white\">\n <Box className=\"flex-1\">\n <SectionList\n contentContainerStyle={{\n flexGrow: 1,\n paddingBottom: 50,\n }}\n // maxW={'100%'}\n style={{ width: '100%', height: '100%' }}\n sections={channel}\n keyExtractor={(index) => 'inbox-channel-' + index}\n renderItem={({ item }) => <SectionItemComponent item={item} />}\n renderSectionHeader={({ section: { title } }: any) => <SectionHeaderComponent title={title} />}\n />\n </Box>\n </Box>\n </SafeAreaView>\n );\n};\n\nexport default InboxChannelDetailScreen;\n"],"names":["React","channelMembers","_a","_b","colors","Colors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InboxChannelDetail.js","sources":["../../../src/screens/Inbox/InboxChannelDetail.tsx"],"sourcesContent":["import React from 'react';\nimport { SafeAreaView } from 'react-native';\nimport { isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport { navigationRef } from '@common-stack/client-react';\nimport { RoomType } from 'common';\nimport {\n useAddMemberToChannelMutation,\n useSaveMembersToChannelMutation,\n useAddDirectChannelMutation,\n useChannelDetailQuery,\n} from '../../queries/slackuiQueries';\nimport { useDrawerLayout } from '../../hooks';\nimport {\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Box,\n Button,\n ButtonText,\n Divider,\n FlatList,\n HStack,\n Heading,\n Icon,\n Image,\n ScrollView,\n SectionList,\n Switch,\n Text,\n VStack,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { Ionicons, MaterialIcons, AntDesign, FontAwesome, Feather, Octicons } from '@expo/vector-icons';\nimport { startCase } from 'lodash-es';\nimport { NavigationRoutes, colors, images } from '../../constants';\nimport Colors from 'tailwindcss/colors';\n\nconst InboxChannelDetailScreen = ({ channelId, navigation }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const user = useSelector(userSelector);\n const { authenticated } = isUserAuthenticated();\n const titleCharacterLimit: number = 18;\n\n const {\n data: channelData,\n loading: channelLoading,\n refetch: reFetchChannel,\n } = useChannelDetailQuery(channelId?.toString());\n\n const [addMemberToChannel, { loading: addMemberToChannelLoading, error: addMemberToChannelError }] =\n useAddMemberToChannelMutation();\n\n const [saveMembersToChannel, { loading: saveMembersToChannelLoading, error: saveMembersToChannelError }] =\n useSaveMembersToChannelMutation();\n\n const [addDirectChannel, { loading: addDirectChannelLoading, error: addDirectChannelError }] =\n useAddDirectChannelMutation();\n\n const [leaveChannelLoading, setLeaveChannelLoading] = React.useState(false);\n const [isMuted, setIsMuted] = React.useState(false);\n\n const handleMuteToggle = React.useCallback(\n (value: boolean) => {\n setIsMuted(value);\n // In a real implementation, you would call a mutation to save this preference\n console.log(`Channel ${channelId} mute status changed to: ${value}`);\n },\n [channelId],\n );\n\n React.useEffect(() => {\n // Do something when the screen is focused\n reFetchChannel();\n return () => {};\n }, []);\n\n const channel = React.useMemo(() => {\n const channelMembers =\n channelData?.viewChannelDetail?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null;\n const membersNameAsTitle =\n channelData?.viewChannelDetail?.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : null;\n const title = membersNameAsTitle || channelData?.viewChannelDetail?.title || '';\n const channelTitle =\n title?.length > titleCharacterLimit ? title?.substring(0, titleCharacterLimit) + '...' : title;\n return [\n {\n title: channelTitle,\n data: channelData?.viewChannelDetail\n ? [{ title: channelTitle, data: channelData?.viewChannelDetail }]\n : [],\n },\n ];\n }, [channelData]);\n\n const channelType = React.useMemo(() => {\n if (!channelData?.viewChannelDetail) return 'CHANNEL';\n return channelData?.viewChannelDetail?.type;\n }, [channelData]);\n\n const channelMembers = React.useMemo(() => {\n if (!channelData?.viewChannelDetail?.members || channelData?.viewChannelDetail?.members?.length == 0)\n return null;\n return (\n channelData?.viewChannelDetail?.members\n ?.filter((ch: any) => ch?.user?.id != user?.id && ch?.user?.__typename == 'UserAccount')\n ?.map((m: any) => m?.user) ?? null\n );\n }, [channelData]);\n\n const memberImage = React.useMemo(() => {\n return channelType == RoomType.Direct && channelMembers?.length == 1\n ? channelMembers[0]?.picture ?? null\n : null;\n }, [channelMembers]);\n\n const SectionHeaderComponent = React.memo(({ title }: any) => {\n return (\n <Box className=\"bg-white flex-1\">\n <VStack space={'md'}>\n <HStack className=\"flex-1 justify-between items-center py-2\">\n <HStack className=\"flex-1 items-center\">\n <Button\n //onPress={() => navigation?.goBack?.()}\n className=\"bg-transparent\"\n onPress={() => navigation?.goBack()}\n >\n <MaterialIcons size={30} name=\"keyboard-arrow-left\" color=\"black\" />\n </Button>\n <Box className=\"py-2\">\n {memberImage ? (\n <Avatar\n key={'inbox-channel-member-image-key'}\n size={'sm'}\n className=\"bg-transparent\"\n >\n <AvatarFallbackText>{startCase(title?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: memberImage,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n ) : channelType == RoomType.Channel ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"hash\" size={20} />\n </Text>\n ) : channelType === RoomType.Private ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </Text>\n ) : (\n <></>\n )}\n </Box>\n <Text numberOfLines={1} className=\"px-2 text-black flex-wrap text-[18px] font-bold\">\n {title}\n </Text>\n </HStack>\n <HStack className=\"items-center\">\n <Button size={'md'} className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\">\n <Octicons color=\"black\" name=\"pencil\" size={20} />\n </Button>\n <Button size={'md'} className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200\">\n <MaterialIcons color=\"black\" name=\"more-vert\" size={20} />\n </Button>\n </HStack>\n </HStack>\n </VStack>\n </Box>\n );\n });\n\n const SectionItemChannelMembers = React.memo(({ member }: any) => {\n const fullName = member?.user?.givenName + ' ' + member?.user?.familyName;\n const fullNameWithCharLimit = fullName?.length > 15 ? fullName?.substring(0, 15) + '...' : fullName;\n return (\n <Button\n variant={'solid'}\n // w={'$20'}\n size={'md'}\n className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200 px-0 rounded-lg h-full\"\n >\n <VStack space={'sm'} className=\"flex-1 px-2\">\n <Image\n source={{\n uri: member?.user?.picture,\n }}\n alt={startCase(member?.user?.username?.charAt(0))}\n size={'md'}\n className=\"rounded-lg\"\n />\n <Text\n numberOfLines={2}\n color={colors.black}\n className=\"text-[12px] font-bold text-center flex-wrap items-start color-black\"\n >\n {fullNameWithCharLimit}\n </Text>\n </VStack>\n </Button>\n );\n });\n\n const SectionItemComponent = React.memo(({ item }: any) => {\n return (\n <VStack space={'md'} className=\"bg-white flex-1 px-2\">\n <HStack className=\"flex-1 items-center\">\n <Box>\n {memberImage ? (\n <Avatar key={'inbox-channel-member-profile-key'} size={'sm'} className=\"bg-transparent\">\n <AvatarFallbackText> {startCase(item?.title?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: memberImage,\n }}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n ) : channelType == RoomType.Channel ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"hash\" size={20} />\n </Text>\n ) : channelType === RoomType.Private ? (\n <Text className=\"pl-2\">\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </Text>\n ) : (\n <></>\n )}\n </Box>\n <Text className=\"px-2 text-black flex-wrap text-[18px] font-bold\" numberOfLines={1}>\n {item?.title}\n </Text>\n </HStack>\n\n <Box className=\"flex-1\">\n <Text className=\"text-black text-[18]] text-justify\" color={colors.black}>\n <Text className=\"font-bold text-[15]\" color={Colors.black}>\n Description:{' '}\n </Text>\n {item?.data?.description}\n </Text>\n </Box>\n <HStack space={'sm'} className=\"flex-1 justify-between items-center\">\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId,\n isAddMemeber: true,\n onMemberAdded: (memberId: string) => {\n if (memberId) {\n addMemberToChannel({\n variables: {\n channelId: channelId?.toString(),\n memberId,\n },\n }).then(() => {\n reFetchChannel();\n });\n }\n },\n })\n }\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <AntDesign color=\"black\" name=\"adduser\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Add\n </Text>\n </VStack>\n </Button>\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <Feather color=\"$black\" name=\"headphones\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Huddle\n </Text>\n </VStack>\n </Button>\n <Button\n variant={'outline'}\n className=\"flex-1 items-center rounded-lg py-4 h-full active:bg-gray-200 hover:bg-gray-200 border-gray-200\"\n >\n <VStack className=\"flex-1 justify-center items-center\" space={'sm'}>\n <AntDesign color=\"black\" name=\"search1\" size={20} />\n <Text className=\"text-[12] font-bold\" color={Colors.black}>\n Search\n </Text>\n </VStack>\n </Button>\n </HStack>\n <Divider />\n <VStack className=\"flex-1\" space={'sm'}>\n <HStack className=\"flex-1 justify-between items-center\">\n <Text className=\"text-[15] font-semibold\" color={Colors.black}>\n Members({item?.data?.members?.length})\n </Text>\n <Button variant={'link'}>\n <ButtonText className=\"font-semibold\" style={{ fontSize: 15 }}>\n See All\n </ButtonText>\n </Button>\n </HStack>\n\n <ScrollView horizontal={true} style={{ flex: 1 }}>\n <FlatList\n horizontal\n data={item?.data?.members?.slice(0, 10) ?? []}\n ItemSeparatorComponent={() => <Box className=\"mx-2\" />}\n renderItem={({ item: member }: any) => <SectionItemChannelMembers member={member} />}\n />\n </ScrollView>\n </VStack>\n <Divider />\n <VStack className=\"flex-1\" space={'lg'}>\n <Text className=\"text-[15] font-semibold\" color={Colors.black}>\n Settings\n </Text>\n <HStack space={'sm'} className=\"flex-1 items-center justify-between\">\n <AntDesign color=\"black\" name=\"bells\" size={20} />\n <Box className=\"flex-1\">\n <VStack className=\"flex-[0.5]\" space=\"sm\">\n <Text color={Colors.black} className=\"font-semibold text-[16]\">\n Mute Channel\n </Text>\n <Text className=\"flex-wrap text-[18] text-justify\" color={Colors.black}>\n Muted channels will always appears read and you won't receive any notification from\n t..\n </Text>\n </VStack>\n </Box>\n <Box>\n <Switch\n size=\"sm\"\n // offTrackColor=\"white\"\n // onTrackColor=\"blue.800\"\n // offThumbColor=\"gray.500\"\n // onThumbColor=\"white\"\n value={isMuted}\n onValueChange={handleMuteToggle}\n />\n </Box>\n </HStack>\n <HStack space={'sm'} className=\"flex-1 items-center justify-between\">\n <Avatar key={'account-image-key'} size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarFallbackText>NC</AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n width: 30,\n height: 30,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={images.pushNotification}\n />\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n </Avatar>\n <Box className=\"flex-1\">\n <VStack className=\"flex-[0.5]\" space=\"sm\">\n <Text color={Colors.black} className=\"font-semibold text-[16]\">\n Notification\n </Text>\n <Text className=\"flex-wrap text-[14] text-justify\" color={Colors.black}>\n Just @mentions\n </Text>\n </VStack>\n </Box>\n </HStack>\n </VStack>\n\n <Button\n variant={'solid'}\n className=\"rounded-lg bg-rose-600\"\n onPress={() => {\n setLeaveChannelLoading(true);\n // In a real implementation, you would call the appropriate mutation\n // For now, we'll just navigate back as a placeholder\n setTimeout(() => {\n setLeaveChannelLoading(false);\n navigation?.goBack();\n }, 1000);\n }}\n isDisabled={leaveChannelLoading}\n >\n <MaterialIcons name=\"logout\" color={'white'} size={20} />\n <ButtonText className=\"pl-1.5\" style={{ fontSize: 14, fontWeight: 'bold' }}>\n {leaveChannelLoading ? 'Leaving...' : 'Leave channel'}\n </ButtonText>\n </Button>\n </VStack>\n );\n });\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <StatusBar style={'dark'} />\n <Box className=\"flex-1 bg-white\">\n <Box className=\"flex-1\">\n <SectionList\n contentContainerStyle={{\n flexGrow: 1,\n paddingBottom: 50,\n }}\n // maxW={'100%'}\n style={{ width: '100%', height: '100%' }}\n sections={channel}\n keyExtractor={(index) => 'inbox-channel-' + index}\n renderItem={({ item }) => <SectionItemComponent item={item} />}\n renderSectionHeader={({ section: { title } }: any) => <SectionHeaderComponent title={title} />}\n />\n </Box>\n </Box>\n </SafeAreaView>\n );\n};\n\nexport default InboxChannelDetailScreen;\n"],"names":["React","channelMembers","_a","_b","colors","Colors"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {isUserAuthenticated}from'@adminide-stack/user-auth0-client';import {Inbox}from'@messenger-box/platform-mobile';import {Login}from'../Login.js';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';var __defProp = Object.defineProperty;
|
|
1
|
+
import React__default from'react';import {isUserAuthenticated}from'@adminide-stack/user-auth0-client';import {Inbox}from'@messenger-box/platform-mobile';import {Login}from'../Login.js';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __defProps = Object.defineProperties;
|
|
3
3
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|