@messenger-box/slack-ui-mobile 10.0.3-alpha.47 → 10.0.3-alpha.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/AppRootContextProviderComponent.js +1 -1
- package/lib/components/AppRootContextProviderComponent.js.map +1 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +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/screens/Account/AccountScreen.js +1 -1
- package/lib/screens/Account/AccountScreen.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 +1 -1
- 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 +45 -5
- 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 +1 -1
- package/lib/screens/Peoples/AddByEmail.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 +1 -1
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js +1 -1
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddPeople.js","sources":["../../../src/screens/Peoples/AddPeople.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport {\n Input,\n InputField,\n InputSlot,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n Fab,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n Image,\n Checkbox,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n CheckboxLabel,\n ChevronLeftIcon,\n Spinner,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { TouchableOpacity } from 'react-native';\nimport {\n useChannelsQuery,\n useChannelsLazyQuery,\n useOrganizationMembersQuery,\n useUserOrganizationsQuery,\n useChannelDetailQuery,\n useChannelDetailLazyQuery,\n useAddChannelMutation,\n useAddDirectChannelMutation,\n useAddMemberToChannelMutation,\n useSaveMembersToChannelMutation,\n} from '../../queries/slackuiQueries';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, Entypo, Ionicons } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { useDrawerLayout } from '../../hooks';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport colors from 'tailwindcss/colors';\n\nconst orgMemersDataFetchLimit = 10;\n\nconst AddPeople = ({ navigation, route }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const { channelId, isCreate, isAddMemeber, addMember: routeAddMember } = route?.params;\n const isFocused = useIsFocused();\n const userState = useSelector(userSelector);\n const [organizationMembers, setOrganizationMembers] = useState<any>([]);\n const [totalMembers, setTotalMembers] = useState<any>(0);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const [orgMembers, setOrgMembers] = useState<any>([]);\n const [dirChannelMembers, setDirChannelMembers] = useState<any>([]);\n const [selectedMembers, setSelectedMembers] = useState<any>([]);\n const [dataSource, setDataSource] = useState([]);\n const [offset, setOffset] = useState(0);\n const [isListEnd, setIsListEnd] = useState(false);\n\n const {\n data: orgMembersData,\n loading: orgMemebersLoading,\n error: orgMembersError,\n refetch: refetchOrgMembers,\n } = useOrganizationMembersQuery(orgName, {\n variables: {\n offset: offset,\n limit: orgMemersDataFetchLimit,\n },\n });\n\n const { data: channelDetail, refetch: refetchChannelDetail } = useChannelDetailQuery(channelId);\n\n const {\n data: userChannelsData,\n loading,\n error,\n refetch: refetchUserChannels,\n } = useChannelsQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: 'DIRECT',\n },\n },\n });\n\n const [saveMembersToChannel, { loading: saveMembersLoading }] = useSaveMembersToChannelMutation({\n onCompleted: (data: any) => {\n // console.log('data add',data)\n\n const dirChannelIds =\n dirChannelMembers\n ?.filter((v: any, i: any, a: any) => a.findIndex((v2: any) => v2.id === v.id) === i)\n ?.map((u: any) => u?.id) ?? [];\n const receiver = selectedMembers?.filter((item: any) => !dirChannelIds?.includes(item));\n if (receiver?.length > 0) {\n addDirectChannelMutation({\n variables: {\n receiver: receiver,\n displayName: 'DIRECT CHANNEL',\n },\n });\n } else {\n goToChannel();\n }\n // if(data?.createDirectChannel) navigation.navigate(NavigationRoutes.Home)\n // navigation.navigate('MainStack.MainDrawer.Home')\n },\n onError: (error: any) => {\n console.log('error add', error);\n },\n });\n\n const [addMemberToChannel] = useAddMemberToChannelMutation({\n onCompleted: (data: any) => {\n console.log('data add', data);\n // if(data?.createDirectChannel) navigation.navigate(NavigationRoutes.Home)\n // navigation.navigate('MainStack.MainDrawer.Home')\n },\n onError: (error: any) => {\n console.log('error add', error);\n },\n });\n\n const [addDirectChannelMutation, { loading: addDirectChannaleLoading }] = useAddDirectChannelMutation({\n onCompleted: (data: any) => {\n goToChannel();\n },\n });\n\n const goToChannel = React.useCallback(() => {\n if (channelId && channelDetail?.viewChannelDetail && isCreate) {\n navigation.navigate(NavigationRoutes.DialogMessages, {\n channelId: channelId?.toString(),\n title: channelDetail?.viewChannelDetail?.title?.toString(),\n totalMembers: channelDetail?.viewChannelDetail?.members?.length,\n goToHome: true,\n hideTabBar: true,\n });\n }\n if (isAddMemeber) {\n navigation?.goBack(null);\n }\n }, [channelId, channelDetail?.viewChannelDetail, isCreate, isAddMemeber]);\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetchOrgMembers({\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n refetchUserChannels({\n criteria: {\n orgName: orgName,\n },\n });\n }\n\n if (channelId) refetchChannelDetail();\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerLeft: (props: any) => (\n <>\n {isCreate ? (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => goToChannel()}>\n <AntDesign color=\"black\" name=\"close\" size={20} />\n </TouchableOpacity>\n ) : (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation?.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n )}\n </>\n ),\n headerRight: (props: any) => (\n <Button\n className=\"mr-2\"\n onPress={() => addMemeberToChannel()}\n variant={'link'}\n disabled={selectedMembers?.length > 0 ? false : true}\n >\n <ButtonText\n className={`${selectedMembers?.length > 0 ? 'text-black' : 'text-gray-400'} text-[15px]`}\n >\n {selectedMembers?.length ? 'ADD' : 'ADD'}\n </ButtonText>\n </Button>\n ),\n });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n // setOffset(0);\n //setOrganizationMembers([]);\n };\n }, [isCreate, orgName, channelId, channelDetail, selectedMembers]),\n );\n\n useEffect(() => {\n return () => {\n setOffset(0);\n setOrganizationMembers([]);\n };\n }, []);\n\n useEffect(() => {\n if (orgMembersData?.getOrganizationMembers?.data && channelDetail?.viewChannelDetail) {\n const allOrgMembersWithoutCurrent =\n orgMembersData?.getOrganizationMembers?.data?.filter((mu: any) => mu?.user?.id != userState?.id) ?? [];\n const channelMembers =\n channelDetail?.viewChannelDetail?.members?.filter((mu: any) => mu?.user?.id != userState?.id) ?? [];\n\n const filteredOrgMembers = allOrgMembersWithoutCurrent.filter(\n (x: any) => !channelMembers.filter((y: any) => y?.user?.id === x?.user?.id).length,\n );\n\n setOrganizationMembers((oldOrgMembers: any) =>\n uniqBy([...oldOrgMembers, ...filteredOrgMembers], ({ userId }) => userId),\n );\n // setOrganizationMembers(filteredOrgMembers);\n setInitialOrgMembers(filteredOrgMembers);\n }\n\n if (orgMembersData?.getOrganizationMembers?.totalCount)\n setTotalMembers(orgMembersData?.getOrganizationMembers?.totalCount - 1);\n }, [orgMembersData?.getOrganizationMembers, channelDetail?.viewChannelDetail]);\n\n useEffect(() => {\n if (userChannelsData?.channelsByUser) {\n const userDirectChannels = userChannelsData?.channelsByUser?.filter((i: any) => i.type == 'DIRECT') ?? [];\n const uDirectChannelMemebers: any =\n userDirectChannels?.map((c: any) => {\n return c?.members?.filter((mu: any) => mu?.user?.id != userState?.id)?.map((m: any) => m?.user);\n }) ?? null;\n const dirChannelMembers =\n uDirectChannelMemebers\n ?.flat(1)\n ?.filter((v: any, i: any, a: any) => a.findIndex((v2: any) => v2.id === v.id) === i) ?? [];\n setDirChannelMembers(dirChannelMembers);\n }\n }, [userChannelsData]);\n\n const renderChannelMemebers = ({ item }: any) => {\n const matches: any = item?.user?.username.match(/\\b(\\w)/g);\n const acronym: any = matches.join('').substring(0, 2); // JSON\n return (\n <TouchableOpacity\n key={item?.user?.id}\n style={{ marginTop: 2 }}\n onPress={() => selectMembers(item?.user?.id)}\n >\n <HStack space={'sm'} className=\"py-1 pr-2 w-full justify-between items-center\">\n <HStack className=\"items-center\">\n <Button disabled size={'sm'} className=\"bg-transparent\">\n <Avatar className=\"bg-transparent rounded-none\" size={'sm'}>\n <AvatarFallbackText className=\"text-white font-bold\">\n {acronym.toUpperCase()}\n </AvatarFallbackText>\n <AvatarImage\n alt={'image'}\n borderRadius={0}\n source={{\n uri: item?.user?.picture,\n }}\n />\n </Avatar>\n </Button>\n\n <Text className=\"text-gray-800 font-bold\">\n {item?.user?.givenName} {item?.user?.familyName}\n </Text>\n </HStack>\n\n <Checkbox\n onChange={() => selectMembers(item?.user?.id)}\n value={item?.user?.id}\n isChecked={selectedMembers && selectedMembers?.includes(item?.user?.id) ? true : false}\n accessibilityLabel={item?.user?.username ?? ''}\n aria-label={item?.user?.username ?? ''}\n aria-labelledby={item?.user?.username ?? ''}\n >\n <CheckboxIndicator>\n <CheckboxIcon as={CheckIcon} />\n </CheckboxIndicator>\n </Checkbox>\n </HStack>\n </TouchableOpacity>\n );\n };\n\n const skip = () => {\n // if(channelId) navigation.navigate(NavigationRoutes.DialogMessages, { channelId, hideTabBar: true,addMember:true });\n // else navigation.navigate(NavigationRoutes.Home)\n navigation.navigate(NavigationRoutes.Home);\n };\n\n const selectMembers = (id: any) => {\n setSelectedMembers((pre: any) =>\n pre.indexOf(id) === -1 ? [...pre, id] : pre.filter((mId: String) => mId != id),\n );\n };\n\n const addMemeberToChannel = () => {\n if (selectedMembers?.length > 0) {\n saveMembersToChannel({\n variables: {\n membersIds: selectedMembers,\n channelId: channelId,\n },\n });\n }\n };\n\n const searchMembers = React.useCallback(\n (v: any) => {\n if (v) {\n let searchedChannel = organizationMembers.filter((o: any) => o?.user?.givenName.includes(v));\n setOrganizationMembers(searchedChannel);\n } else {\n setOrganizationMembers(initialOrgMembers);\n }\n },\n [organizationMembers],\n );\n\n const loadMoreOrgMemebers = React.useCallback(() => {\n if (totalMembers == organizationMembers?.length) setIsListEnd(true);\n\n if (totalMembers > organizationMembers?.length && !orgMemebersLoading && !isListEnd) {\n const offSet = offset + 1;\n refetchOrgMembers({\n offset: offSet,\n limit: orgMemersDataFetchLimit,\n }).finally(() => {\n console.log('finally');\n setOffset(offSet);\n });\n }\n }, [organizationMembers, totalMembers, offset]);\n\n const renderFooter = () => {\n return (\n //Footer View with Loader\n <Box>\n {orgMemebersLoading || saveMembersLoading || addDirectChannaleLoading ? (\n <Spinner color=\"black\" style={{ margin: 15 }} />\n ) : null}\n </Box>\n );\n };\n\n return (\n <Box className=\"flex-1 bg-white\">\n <Input variant=\"underlined\">\n <InputField\n autoFocus={true}\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n className=\"px-3 items-center text-[14px] text-black\"\n placeholder=\"Name, @username, name@example.com\"\n onChange={({ nativeEvent: { eventCount, target, text } }) => {\n searchMembers(text);\n }}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n\n <Box className=\"flex-1\">\n <VirtualizedScrollView>\n <VStack space=\"md\" className=\"flex-1 pt-2\">\n <FlatList\n style={{ flex: 1, paddingHorizontal: 2 }}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n }}\n data={organizationMembers && organizationMembers.length > 0 ? organizationMembers : []}\n renderItem={renderChannelMemebers}\n ListEmptyComponent={() => {\n return (\n <TouchableOpacity style={{ marginTop: 5 }}>\n <Box className=\"bg-white py-2\">\n <VStack space=\"md\">\n <Box className=\"px-4 py-5\">\n <Text>No people found</Text>\n </Box>\n </VStack>\n </Box>\n </TouchableOpacity>\n );\n }}\n key={'add-channel-people-list'}\n ListFooterComponent={renderFooter}\n onEndReached={loadMoreOrgMemebers}\n onEndReachedThreshold={0.5}\n />\n </VStack>\n </VirtualizedScrollView>\n </Box>\n </Box>\n );\n};\n\nexport default AddPeople;\n"],"names":["error","React","_a","_b","dirChannelMembers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddPeople.js","sources":["../../../src/screens/Peoples/AddPeople.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport {\n Input,\n InputField,\n InputSlot,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n Fab,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n Image,\n Checkbox,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n CheckboxLabel,\n ChevronLeftIcon,\n Spinner,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { TouchableOpacity } from 'react-native';\nimport {\n useChannelsQuery,\n useChannelsLazyQuery,\n useOrganizationMembersQuery,\n useUserOrganizationsQuery,\n useChannelDetailQuery,\n useChannelDetailLazyQuery,\n useAddChannelMutation,\n useAddDirectChannelMutation,\n useAddMemberToChannelMutation,\n useSaveMembersToChannelMutation,\n} from '../../queries/slackuiQueries';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, Entypo, Ionicons } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { useDrawerLayout } from '../../hooks';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport colors from 'tailwindcss/colors';\n\nconst orgMemersDataFetchLimit = 10;\n\nconst AddPeople = ({ navigation, route }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const { channelId, isCreate, isAddMemeber, addMember: routeAddMember } = route?.params;\n const isFocused = useIsFocused();\n const userState = useSelector(userSelector);\n const [organizationMembers, setOrganizationMembers] = useState<any>([]);\n const [totalMembers, setTotalMembers] = useState<any>(0);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const [orgMembers, setOrgMembers] = useState<any>([]);\n const [dirChannelMembers, setDirChannelMembers] = useState<any>([]);\n const [selectedMembers, setSelectedMembers] = useState<any>([]);\n const [dataSource, setDataSource] = useState([]);\n const [offset, setOffset] = useState(0);\n const [isListEnd, setIsListEnd] = useState(false);\n\n const {\n data: orgMembersData,\n loading: orgMemebersLoading,\n error: orgMembersError,\n refetch: refetchOrgMembers,\n } = useOrganizationMembersQuery(orgName, {\n variables: {\n offset: offset,\n limit: orgMemersDataFetchLimit,\n },\n });\n\n const { data: channelDetail, refetch: refetchChannelDetail } = useChannelDetailQuery(channelId);\n\n const {\n data: userChannelsData,\n loading,\n error,\n refetch: refetchUserChannels,\n } = useChannelsQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: 'DIRECT',\n },\n },\n });\n\n const [saveMembersToChannel, { loading: saveMembersLoading }] = useSaveMembersToChannelMutation({\n onCompleted: (data: any) => {\n // console.log('data add',data)\n\n const dirChannelIds =\n dirChannelMembers\n ?.filter((v: any, i: any, a: any) => a.findIndex((v2: any) => v2.id === v.id) === i)\n ?.map((u: any) => u?.id) ?? [];\n const receiver = selectedMembers?.filter((item: any) => !dirChannelIds?.includes(item));\n if (receiver?.length > 0) {\n addDirectChannelMutation({\n variables: {\n receiver: receiver,\n displayName: 'DIRECT CHANNEL',\n },\n });\n } else {\n goToChannel();\n }\n // if(data?.createDirectChannel) navigation.navigate(NavigationRoutes.Home)\n // navigation.navigate('MainStack.MainDrawer.Home')\n },\n onError: (error: any) => {\n console.log('error add', error);\n },\n });\n\n const [addMemberToChannel] = useAddMemberToChannelMutation({\n onCompleted: (data: any) => {\n console.log('data add', data);\n // if(data?.createDirectChannel) navigation.navigate(NavigationRoutes.Home)\n // navigation.navigate('MainStack.MainDrawer.Home')\n },\n onError: (error: any) => {\n console.log('error add', error);\n },\n });\n\n const [addDirectChannelMutation, { loading: addDirectChannaleLoading }] = useAddDirectChannelMutation({\n onCompleted: (data: any) => {\n goToChannel();\n },\n });\n\n const goToChannel = React.useCallback(() => {\n if (channelId && channelDetail?.viewChannelDetail && isCreate) {\n navigation.navigate(NavigationRoutes.DialogMessages, {\n channelId: channelId?.toString(),\n title: channelDetail?.viewChannelDetail?.title?.toString(),\n totalMembers: channelDetail?.viewChannelDetail?.members?.length,\n goToHome: true,\n hideTabBar: true,\n });\n }\n if (isAddMemeber) {\n navigation?.goBack(null);\n }\n }, [channelId, channelDetail?.viewChannelDetail, isCreate, isAddMemeber]);\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetchOrgMembers({\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n refetchUserChannels({\n criteria: {\n orgName: orgName,\n },\n });\n }\n\n if (channelId) refetchChannelDetail();\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerLeft: (props: any) => (\n <>\n {isCreate ? (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => goToChannel()}>\n <AntDesign color=\"black\" name=\"close\" size={20} />\n </TouchableOpacity>\n ) : (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation?.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n )}\n </>\n ),\n headerRight: (props: any) => (\n <Button\n className=\"mr-2\"\n onPress={() => addMemeberToChannel()}\n variant={'link'}\n disabled={selectedMembers?.length > 0 ? false : true}\n >\n <ButtonText\n className={`${selectedMembers?.length > 0 ? 'text-black' : 'text-gray-400'} text-[15px]`}\n >\n {selectedMembers?.length ? 'ADD' : 'ADD'}\n </ButtonText>\n </Button>\n ),\n });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n // setOffset(0);\n //setOrganizationMembers([]);\n };\n }, [isCreate, orgName, channelId, channelDetail, selectedMembers]),\n );\n\n useEffect(() => {\n return () => {\n setOffset(0);\n setOrganizationMembers([]);\n };\n }, []);\n\n useEffect(() => {\n if (orgMembersData?.getOrganizationMembers?.data && channelDetail?.viewChannelDetail) {\n const allOrgMembersWithoutCurrent =\n orgMembersData?.getOrganizationMembers?.data?.filter((mu: any) => mu?.user?.id != userState?.id) ?? [];\n const channelMembers =\n channelDetail?.viewChannelDetail?.members?.filter((mu: any) => mu?.user?.id != userState?.id) ?? [];\n\n const filteredOrgMembers = allOrgMembersWithoutCurrent.filter(\n (x: any) => !channelMembers.filter((y: any) => y?.user?.id === x?.user?.id).length,\n );\n\n setOrganizationMembers((oldOrgMembers: any) =>\n uniqBy([...oldOrgMembers, ...filteredOrgMembers], ({ userId }) => userId),\n );\n // setOrganizationMembers(filteredOrgMembers);\n setInitialOrgMembers(filteredOrgMembers);\n }\n\n if (orgMembersData?.getOrganizationMembers?.totalCount)\n setTotalMembers(orgMembersData?.getOrganizationMembers?.totalCount - 1);\n }, [orgMembersData?.getOrganizationMembers, channelDetail?.viewChannelDetail]);\n\n useEffect(() => {\n if (userChannelsData?.channelsByUser) {\n const userDirectChannels = userChannelsData?.channelsByUser?.filter((i: any) => i.type == 'DIRECT') ?? [];\n const uDirectChannelMemebers: any =\n userDirectChannels?.map((c: any) => {\n return c?.members?.filter((mu: any) => mu?.user?.id != userState?.id)?.map((m: any) => m?.user);\n }) ?? null;\n const dirChannelMembers =\n uDirectChannelMemebers\n ?.flat(1)\n ?.filter((v: any, i: any, a: any) => a.findIndex((v2: any) => v2.id === v.id) === i) ?? [];\n setDirChannelMembers(dirChannelMembers);\n }\n }, [userChannelsData]);\n\n const renderChannelMemebers = ({ item }: any) => {\n const matches: any = item?.user?.username.match(/\\b(\\w)/g);\n const acronym: any = matches.join('').substring(0, 2); // JSON\n return (\n <TouchableOpacity\n key={item?.user?.id}\n style={{ marginTop: 2 }}\n onPress={() => selectMembers(item?.user?.id)}\n >\n <HStack space={'sm'} className=\"py-1 pr-2 w-full justify-between items-center\">\n <HStack className=\"items-center\">\n <Button disabled size={'sm'} className=\"bg-transparent\">\n <Avatar className=\"bg-transparent rounded-none\" size={'sm'}>\n <AvatarFallbackText className=\"text-white font-bold\">\n {acronym.toUpperCase()}\n </AvatarFallbackText>\n <AvatarImage\n alt={'image'}\n borderRadius={0}\n source={{\n uri: item?.user?.picture,\n }}\n />\n </Avatar>\n </Button>\n\n <Text className=\"text-gray-800 font-bold\">\n {item?.user?.givenName} {item?.user?.familyName}\n </Text>\n </HStack>\n\n <Checkbox\n onChange={() => selectMembers(item?.user?.id)}\n value={item?.user?.id}\n isChecked={selectedMembers && selectedMembers?.includes(item?.user?.id) ? true : false}\n accessibilityLabel={item?.user?.username ?? ''}\n aria-label={item?.user?.username ?? ''}\n aria-labelledby={item?.user?.username ?? ''}\n >\n <CheckboxIndicator>\n <CheckboxIcon as={CheckIcon} />\n </CheckboxIndicator>\n </Checkbox>\n </HStack>\n </TouchableOpacity>\n );\n };\n\n const skip = () => {\n // if(channelId) navigation.navigate(NavigationRoutes.DialogMessages, { channelId, hideTabBar: true,addMember:true });\n // else navigation.navigate(NavigationRoutes.Home)\n navigation.navigate(NavigationRoutes.Home);\n };\n\n const selectMembers = (id: any) => {\n setSelectedMembers((pre: any) =>\n pre.indexOf(id) === -1 ? [...pre, id] : pre.filter((mId: String) => mId != id),\n );\n };\n\n const addMemeberToChannel = () => {\n if (selectedMembers?.length > 0) {\n saveMembersToChannel({\n variables: {\n membersIds: selectedMembers,\n channelId: channelId,\n },\n });\n }\n };\n\n const searchMembers = React.useCallback(\n (v: any) => {\n if (v) {\n let searchedChannel = organizationMembers.filter((o: any) => o?.user?.givenName.includes(v));\n setOrganizationMembers(searchedChannel);\n } else {\n setOrganizationMembers(initialOrgMembers);\n }\n },\n [organizationMembers],\n );\n\n const loadMoreOrgMemebers = React.useCallback(() => {\n if (totalMembers == organizationMembers?.length) setIsListEnd(true);\n\n if (totalMembers > organizationMembers?.length && !orgMemebersLoading && !isListEnd) {\n const offSet = offset + 1;\n refetchOrgMembers({\n offset: offSet,\n limit: orgMemersDataFetchLimit,\n }).finally(() => {\n console.log('finally');\n setOffset(offSet);\n });\n }\n }, [organizationMembers, totalMembers, offset]);\n\n const renderFooter = () => {\n return (\n //Footer View with Loader\n <Box>\n {orgMemebersLoading || saveMembersLoading || addDirectChannaleLoading ? (\n <Spinner color=\"black\" style={{ margin: 15 }} />\n ) : null}\n </Box>\n );\n };\n\n return (\n <Box className=\"flex-1 bg-white\">\n <Input variant=\"underlined\">\n <InputField\n autoFocus={true}\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n className=\"px-3 items-center text-[14px] text-black\"\n placeholder=\"Name, @username, name@example.com\"\n onChange={({ nativeEvent: { eventCount, target, text } }) => {\n searchMembers(text);\n }}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n\n <Box className=\"flex-1\">\n <VirtualizedScrollView>\n <VStack space=\"md\" className=\"flex-1 pt-2\">\n <FlatList\n style={{ flex: 1, paddingHorizontal: 2 }}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n }}\n data={organizationMembers && organizationMembers.length > 0 ? organizationMembers : []}\n renderItem={renderChannelMemebers}\n ListEmptyComponent={() => {\n return (\n <TouchableOpacity style={{ marginTop: 5 }}>\n <Box className=\"bg-white py-2\">\n <VStack space=\"md\">\n <Box className=\"px-4 py-5\">\n <Text>No people found</Text>\n </Box>\n </VStack>\n </Box>\n </TouchableOpacity>\n );\n }}\n key={'add-channel-people-list'}\n ListFooterComponent={renderFooter}\n onEndReached={loadMoreOrgMemebers}\n onEndReachedThreshold={0.5}\n />\n </VStack>\n </VirtualizedScrollView>\n </Box>\n </Box>\n );\n};\n\nexport default AddPeople;\n"],"names":["error","React","_a","_b","dirChannelMembers"],"mappings":"qmCAaA,MAAM,uBAA0B,GAAA,EAAA;AAChC,MAAM,YAAY,CAAC;AAAA,EACjB,UAAA;AAAA,EACA;AACF,CAAW,KAAA;AACT,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAM,MAAA;AAAA,IACJ,SAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAW,EAAA;AAAA,MACT,KAAO,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,MAAA;AACX,EAAkB,YAAa;AAC/B,EAAM,MAAA,SAAA,GAAY,YAAY,YAAY,CAAA;AAC1C,EAAA,MAAM,CAAC,mBAAqB,EAAA,sBAAsB,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AACtE,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAc,CAAC,CAAA;AACvD,EAAA,MAAM,CAAC,iBAAmB,EAAA,oBAAoB,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AAClE,EAAA,MAAM,CAAC,UAAY,EAAA,aAAa,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AACpD,EAAA,MAAM,CAAC,iBAAmB,EAAA,oBAAoB,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AAClE,EAAA,MAAM,CAAC,eAAiB,EAAA,kBAAkB,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AAC9D,EAAA,MAAM,CAAC,UAAY,EAAA,aAAa,CAAI,GAAA,QAAA,CAAS,EAAE,CAAA;AAC/C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,CAAC,CAAA;AACtC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,cAAA;AAAA,IACN,OAAS,EAAA,kBAAA;AAAA,IACT,KAAO,EAAA,eAAA;AAAA,IACP,OAAS,EAAA;AAAA,GACX,GAAI,4BAA4B,OAAS,EAAA;AAAA,IACvC,SAAW,EAAA;AAAA,MACT,MAAA;AAAA,MACA,KAAO,EAAA;AAAA;AACT,GACD,CAAA;AACD,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,aAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX,GAAI,sBAAsB,SAAS,CAAA;AACnC,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,gBAAA;AAAA,IACN,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAS,EAAA;AAAA,MACP,gBAAiB,CAAA;AAAA,IACnB,SAAW,EAAA;AAAA,MACT,QAAU,EAAA;AAAA,QACR,OAAA;AAAA,QACA,IAAM,EAAA;AAAA;AACR;AACF,GACD,CAAA;AACD,EAAA,MAAM,CAAC,oBAAsB,EAAA;AAAA,IAC3B,OAAS,EAAA;AAAA,GACV,IAAI,+BAAgC,CAAA;AAAA,IACnC,WAAA,EAAa,CAAC,IAAc,KAAA;AAtEhC,MAAA,IAAA,EAAA,EAAA,EAAA;AAyEM,MAAM,MAAA,aAAA,GAAA,CAAgB,EAAmB,GAAA,CAAA,EAAA,GAAA,iBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,iBAAA,CAAA,MAAA,CAAO,CAAC,CAAA,EAAQ,GAAQ,CAAW,KAAA,CAAA,CAAE,SAAU,CAAA,CAAC,EAAY,KAAA,EAAA,CAAG,OAAO,CAAE,CAAA,EAAE,CAAM,KAAA,CAAA,CAAA,KAAnG,IAAuG,GAAA,MAAA,GAAA,EAAA,CAAA,GAAA,CAAI,CAAC,CAAW,KAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,EAA1H,CAAA,KAAA,IAAA,GAAA,EAAA,GAAiI,EAAC;AACxJ,MAAA,MAAM,WAAW,eAAiB,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAA,MAAA,CAAO,CAAC,IAAc,KAAA,EAAC,+CAAe,QAAS,CAAA,IAAA,CAAA,CAAA,CAAA;AACjF,MAAI,IAAA,CAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,UAAS,CAAG,EAAA;AACxB,QAAyB,wBAAA,CAAA;AAAA,UACvB,SAAW,EAAA;AAAA,YACT,QAAA;AAAA,YACA,WAAa,EAAA;AAAA;AACf,SACD,CAAA;AAAA,OACI,MAAA;AACL,QAAY,WAAA,EAAA;AAAA;AACd,KAGF;AAAA,IACA,OAAA,EAAS,CAACA,MAAe,KAAA;AACvB,MAAQ,OAAA,CAAA,GAAA,CAAI,aAAaA,MAAK,CAAA;AAAA;AAChC,GACD,CAAA;AACD,EAAM,MAAA,CAAC,kBAAkB,CAAA,GAAI,6BAA8B,CAAA;AAAA,IACzD,WAAA,EAAa,CAAC,IAAc,KAAA;AAC1B,MAAQ,OAAA,CAAA,GAAA,CAAI,YAAY,IAAI,CAAA;AAAA,KAG9B;AAAA,IACA,OAAA,EAAS,CAACA,MAAe,KAAA;AACvB,MAAQ,OAAA,CAAA,GAAA,CAAI,aAAaA,MAAK,CAAA;AAAA;AAChC,GACD,CAAA;AACD,EAAA,MAAM,CAAC,wBAA0B,EAAA;AAAA,IAC/B,OAAS,EAAA;AAAA,GACV,IAAI,2BAA4B,CAAA;AAAA,IAC/B,WAAA,EAAa,CAAC,IAAc,KAAA;AAC1B,MAAY,WAAA,EAAA;AAAA;AACd,GACD,CAAA;AACD,EAAM,MAAA,WAAA,GAAcC,cAAM,CAAA,WAAA,CAAY,MAAM;AA7G9C,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA8GI,IAAI,IAAA,SAAA,KAAa,aAAe,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAA,iBAAA,CAAA,IAAqB,QAAU,EAAA;AAC7D,MAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,cAAgB,EAAA;AAAA,QACnD,WAAW,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,QAAA,EAAA;AAAA,QACtB,KAAO,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,iBAAf,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkC,UAAlC,IAAyC,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA,EAAA;AAAA,QAChD,YAAc,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,iBAAf,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkC,YAAlC,IAA2C,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA;AAAA,QACzD,QAAU,EAAA,IAAA;AAAA,QACV,UAAY,EAAA;AAAA,OACb,CAAA;AAAA;AAEH,IAAA,IAAI,YAAc,EAAA;AAChB,MAAA,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,MAAO,CAAA,IAAA,CAAA;AAAA;AACrB,KACC,CAAC,SAAA,EAAW,+CAAe,iBAAmB,EAAA,QAAA,EAAU,YAAY,CAAC,CAAA;AACxE,EAAe,cAAA,CAAAA,cAAA,CAAM,YAAY,MAAM;AACrC,IAAA,IAAI,OAAS,EAAA;AACX,MAAkB,iBAAA,CAAA;AAAA,QAChB,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,OACR,CAAA;AACD,MAAoB,mBAAA,CAAA;AAAA,QAClB,QAAU,EAAA;AAAA,UACR;AAAA;AACF,OACD,CAAA;AAAA;AAEH,IAAI,IAAA,SAAA;AAAW,MAAqB,oBAAA,EAAA;AACpC,IAAA,UAAA,CAAW,UAAW,CAAA;AAAA,MACpB,WAAa,EAAA,IAAA;AAAA,MACb,gBAAkB,EAAA,MAAA;AAAA,MAClB,kBAAkB,EAAC;AAAA,MACnB,YAAY,CAAC,KAAA,iFACM,QAAW,mBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAiB,KAAO,EAAA;AAAA,QACnD,iBAAmB,EAAA;AAAA,SAClB,OAAS,EAAA,MAAM,WAAY,EAAA,EAAA,+CACL,SAAU,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,IAAA,EAAK,SAAQ,IAAM,EAAA,EAAA,EAAI,CACpD,CAAsB,mBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAiB,KAAO,EAAA;AAAA,QACjE,iBAAmB,EAAA;AAAA,OAClB,EAAA,OAAA,EAAS,MAAM,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,4BACLA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,KAAM,EAAA,OAAA,EAAQ,IAAK,EAAA,cAAA,EAAe,IAAM,EAAA,EAAA,EAAI,CAC1D,CACR,CAAA;AAAA,MACd,WAAa,EAAA,CAAC,KAAe,qBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,SAAU,EAAA,MAAA,EAAO,OAAS,EAAA,MAAM,mBAAoB,EAAA,EAAG,OAAS,EAAA,MAAA,EAAQ,WAAU,eAAiB,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAA,MAAA,IAAS,CAAI,GAAA,KAAA,GAAQ,IAC3I,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAW,IAAG,eAAiB,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAA,MAAA,IAAS,CAAI,GAAA,YAAA,GAAe,eAClE,CAAA,YAAA,CAAA,EAAA,EAAA,CAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,MAAS,IAAA,KAAA,GAAQ,KACvC,CACJ;AAAA,KACf,CAAA;AACD,IAAA,OAAO,MAAM;AAAA,KAKb;AAAA,GACF,EAAG,CAAC,QAAU,EAAA,OAAA,EAAS,WAAW,aAAe,EAAA,eAAe,CAAC,CAAC,CAAA;AAClE,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,CAAU,CAAC,CAAA;AACX,MAAA,sBAAA,CAAuB,EAAE,CAAA;AAAA,KAC3B;AAAA,GACF,EAAG,EAAE,CAAA;AACL,EAAA,SAAA,CAAU,MAAM;AA1KlB,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA2KI,IAAA,IAAA,CAAA,CAAI,EAAgB,GAAA,cAAA,IAAA,IAAA,GAAA,MAAA,GAAA,cAAA,CAAA,sBAAA,KAAhB,IAAwC,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,MAAQ,+CAAe,iBAAmB,CAAA,EAAA;AACpF,MAAM,MAAA,2BAAA,GAAA,CAA8B,kEAAgB,sBAAhB,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAwC,SAAxC,IAA8C,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAO,CAAC,EAAS,KAAA;AA5KzG,QAAAC,IAAAA,GAAAA;AA4K4G,QAAA,OAAA,CAAA,CAAAA,MAAA,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,KAAJ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAU,QAAM,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,EAAA,CAAA;AAAA,OAAA,CAAA,KAA7F,YAAoG,EAAC;AACzI,MAAM,MAAA,cAAA,GAAA,CAAiB,gEAAe,iBAAf,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkC,YAAlC,IAA2C,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAO,CAAC,EAAS,KAAA;AA7KzF,QAAAA,IAAAA,GAAAA;AA6K4F,QAAA,OAAA,CAAA,CAAAA,MAAA,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,KAAJ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAU,QAAM,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,EAAA,CAAA;AAAA,OAAA,CAAA,KAA1F,YAAiG,EAAC;AACzH,MAAM,MAAA,kBAAA,GAAqB,4BAA4B,MAAO,CAAA,CAAC,MAAW,CAAC,cAAA,CAAe,MAAO,CAAA,CAAC,CAAQ,KAAA;AA9KhH,QAAA,IAAAA,GAAAC,EAAAA,GAAAA;AA8KmH,QAAAD,OAAAA,CAAAA,CAAAA,GAAAA,GAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,KAAH,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAS,UAAOC,GAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,IAAH,KAAA,IAAA,GAAA,MAAA,GAAAA,GAAS,CAAA,EAAA,CAAA;AAAA,OAAE,EAAE,MAAM,CAAA;AAChJ,MAAuB,sBAAA,CAAA,CAAC,kBAAuB,MAAO,CAAA,CAAC,GAAG,aAAe,EAAA,GAAG,kBAAkB,CAAA,EAAG,CAAC;AAAA,QAChG;AAAA,OACF,KAAM,MAAM,CAAC,CAAA;AAEb,MAAA,oBAAA,CAAqB,kBAAkB,CAAA;AAAA;AAEzC,IAAI,IAAA,CAAA,EAAA,GAAA,cAAA,IAAA,IAAA,GAAA,MAAA,GAAA,cAAA,CAAgB,2BAAhB,IAAwC,GAAA,MAAA,GAAA,EAAA,CAAA,UAAA;AAAY,MAAA,eAAA,CAAA,CAAA,CAAgB,EAAgB,GAAA,cAAA,IAAA,IAAA,GAAA,MAAA,GAAA,cAAA,CAAA,sBAAA,KAAhB,IAAwC,GAAA,MAAA,GAAA,EAAA,CAAA,UAAA,IAAa,CAAC,CAAA;AAAA,KAC7H,CAAC,cAAA,IAAA,IAAA,GAAA,MAAA,GAAA,cAAA,CAAgB,sBAAwB,EAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,iBAAiB,CAAC,CAAA;AAC7E,EAAA,SAAA,CAAU,MAAM;AAvLlB,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAwLI,IAAA,IAAI,qDAAkB,cAAgB,EAAA;AACpC,MAAM,MAAA,kBAAA,GAAA,CAAqB,EAAkB,GAAA,CAAA,EAAA,GAAA,gBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,gBAAA,CAAA,cAAA,KAAlB,IAAkC,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAO,CAAC,CAAA,KAAW,CAAE,CAAA,IAAA,IAAQ,QAA/D,CAAA,KAAA,IAAA,GAAA,EAAA,GAA4E,EAAC;AACxG,MAAA,MAAM,sBAA8B,GAAA,CAAA,EAAA,GAAA,kBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,kBAAA,CAAoB,GAAI,CAAA,CAAC,CAAW,KAAA;AA1L9E,QAAA,IAAAD,GAAAC,EAAAA,GAAAA;AA2LQ,QAAOA,OAAAA,CAAAA,GAAAA,GAAAA,CAAAD,MAAA,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,OAAA,KAAH,gBAAAA,GAAY,CAAA,MAAA,CAAO,CAAC,EAAS,KAAA;AA3L5C,UAAAA,IAAAA,GAAAA;AA2L+C,UAAA,OAAA,CAAA,CAAAA,MAAA,EAAI,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,KAAJ,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAU,QAAM,SAAW,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAA,EAAA,CAAA;AAAA,SAAA,CAAA,KAA3D,IAAAC,GAAAA,MAAAA,GAAAA,GAAAA,CAAgE,GAAI,CAAA,CAAC,MAAW,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,CAAA;AAAA,aADxD,IAE9B,GAAA,EAAA,GAAA,IAAA;AACN,MAAMC,MAAAA,kBAAAA,GAAAA,CAAoB,4EAAwB,IAAK,CAAA,CAAA,CAAA,KAA7B,mBAAiC,MAAO,CAAA,CAAC,GAAQ,CAAQ,EAAA,CAAA,KAAW,EAAE,SAAU,CAAA,CAAC,OAAY,EAAG,CAAA,EAAA,KAAO,EAAE,EAAE,CAAA,KAAM,CAAjH,CAAA,KAAA,IAAA,GAAA,EAAA,GAAuH,EAAC;AAClJ,MAAA,oBAAA,CAAqBA,kBAAiB,CAAA;AAAA;AACxC,GACF,EAAG,CAAC,gBAAgB,CAAC,CAAA;AACrB,EAAA,MAAM,wBAAwB,CAAC;AAAA,IAC7B;AAAA,GACS,KAAA;AAnMb,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAoMI,IAAA,MAAM,OAAe,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,SAAS,KAAM,CAAA,SAAA,CAAA;AAChD,IAAA,MAAM,UAAe,OAAQ,CAAA,IAAA,CAAK,EAAE,CAAE,CAAA,SAAA,CAAU,GAAG,CAAC,CAAA;AACpD,IAAA,oDAAQ,gBAAiB,EAAA,EAAA,GAAA,EAAA,CAAK,kCAAM,IAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,IAAI,KAAO,EAAA;AAAA,MACnD,SAAW,EAAA;AAAA,KACb,EAAG,SAAS,MAAG;AAxMnB,MAAAF,IAAAA,GAAAA;AAwMsB,MAAA,OAAA,aAAA,CAAA,CAAcA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAN,KAAA,IAAA,GAAA,MAAA,GAAAA,IAAY,EAAE,CAAA;AAAA,KAAA,EAAA,+CACjC,MAAO,EAAA,EAAA,KAAA,EAAO,IAAM,EAAA,SAAA,EAAU,mEAC1BD,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,SAAU,EAAA,cAAA,EAAA,+CACb,MAAO,EAAA,EAAA,QAAA,EAAQ,MAAC,IAAM,EAAA,IAAA,EAAM,WAAU,gBACnC,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,SAAA,EAAU,+BAA8B,IAAM,EAAA,IAAA,EAAA,kBACjDA,cAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,EAAmB,WAAU,sBACzB,EAAA,EAAA,OAAA,CAAQ,WAAY,EACzB,mBACCA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,KAAK,OAAS,EAAA,YAAA,EAAc,GAAG,MAAQ,EAAA;AAAA,MACpE,GAAA,EAAA,CAAK,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,IAAA,KAAN,IAAY,GAAA,MAAA,GAAA,EAAA,CAAA;AAAA,KACnB,EAAG,CACW,CACJ,CAAA,+CAEC,IAAK,EAAA,EAAA,SAAA,EAAU,yBACX,EAAA,EAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,WAAU,GAAE,EAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,SAAN,IAAY,GAAA,MAAA,GAAA,EAAA,CAAA,UACzC,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,QAAA,EAAU,MAAG;AA3N3C,MAAAC,IAAAA,GAAAA;AA2N8C,MAAA,OAAA,aAAA,CAAA,CAAcA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAN,KAAA,IAAA,GAAA,MAAA,GAAAA,IAAY,EAAE,CAAA;AAAA,KAAG,EAAA,KAAA,EAAA,CAAO,kCAAM,IAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,IAAI,SAAW,EAAA,eAAA,KAAmB,mDAAiB,QAAS,CAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,SAAN,IAAY,GAAA,MAAA,GAAA,EAAA,CAAA,EAAA,CAAA,CAAA,GAAM,OAAO,KAAO,EAAA,kBAAA,EAAA,CAAoB,wCAAM,IAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,aAAZ,IAAwB,GAAA,EAAA,GAAA,EAAA,EAAI,eAAY,EAAM,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,IAAA,KAAN,mBAAY,QAAZ,KAAA,IAAA,GAAA,EAAA,GAAwB,IAAI,iBAAiB,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,SAAN,IAAY,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA,KAAZ,YAAwB,EACrS,EAAA,kBAAAD,cAAA,CAAA,aAAA,CAAC,yCACIA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA,EAAa,IAAI,SAAW,EAAA,CACjC,CACJ,CACJ,CACJ,CAAA;AAAA,GACV;AAMA,EAAM,MAAA,aAAA,GAAgB,CAAC,EAAY,KAAA;AACjC,IAAA,kBAAA,CAAmB,CAAC,GAAa,KAAA,GAAA,CAAI,QAAQ,EAAE,CAAA,KAAM,KAAK,CAAC,GAAG,GAAK,EAAA,EAAE,IAAI,GAAI,CAAA,MAAA,CAAO,CAAC,GAAgB,KAAA,GAAA,IAAO,EAAE,CAAC,CAAA;AAAA,GACjH;AACA,EAAA,MAAM,sBAAsB,MAAM;AAChC,IAAI,IAAA,CAAA,eAAA,IAAA,IAAA,GAAA,MAAA,GAAA,eAAA,CAAiB,UAAS,CAAG,EAAA;AAC/B,MAAqB,oBAAA,CAAA;AAAA,QACnB,SAAW,EAAA;AAAA,UACT,UAAY,EAAA,eAAA;AAAA,UACZ;AAAA;AACF,OACD,CAAA;AAAA;AACH,GACF;AACA,EAAA,MAAM,aAAgB,GAAAA,cAAA,CAAM,WAAY,CAAA,CAAC,CAAW,KAAA;AAClD,IAAA,IAAI,CAAG,EAAA;AACL,MAAA,IAAI,eAAkB,GAAA,mBAAA,CAAoB,MAAO,CAAA,CAAC,CAAQ,KAAA;AAvPhE,QAAA,IAAA,EAAA;AAuPmE,QAAG,OAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,IAAA,KAAH,IAAS,GAAA,MAAA,GAAA,EAAA,CAAA,SAAA,CAAU,QAAS,CAAA,CAAA,CAAA;AAAA,OAAE,CAAA;AAC3F,MAAA,sBAAA,CAAuB,eAAe,CAAA;AAAA,KACjC,MAAA;AACL,MAAA,sBAAA,CAAuB,iBAAiB,CAAA;AAAA;AAC1C,GACF,EAAG,CAAC,mBAAmB,CAAC,CAAA;AACxB,EAAM,MAAA,mBAAA,GAAsBA,cAAM,CAAA,WAAA,CAAY,MAAM;AAClD,IAAA,IAAI,iBAAgB,mBAAqB,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAA,MAAA,CAAA;AAAQ,MAAA,YAAA,CAAa,IAAI,CAAA;AAClE,IAAA,IAAI,gBAAe,mBAAqB,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAA,MAAA,CAAA,IAAU,CAAC,kBAAA,IAAsB,CAAC,SAAW,EAAA;AACnF,MAAA,MAAM,SAAS,MAAS,GAAA,CAAA;AACxB,MAAkB,iBAAA,CAAA;AAAA,QAChB,MAAQ,EAAA,MAAA;AAAA,QACR,KAAO,EAAA;AAAA,OACR,CAAE,CAAA,OAAA,CAAQ,MAAM;AACf,QAAA,OAAA,CAAQ,IAAI,SAAS,CAAA;AACrB,QAAA,SAAA,CAAU,MAAM,CAAA;AAAA,OACjB,CAAA;AAAA;AACH,GACC,EAAA,CAAC,mBAAqB,EAAA,YAAA,EAAc,MAAM,CAAC,CAAA;AAC9C,EAAA,MAAM,eAAe,MAAM;AACzB,IAEE,uBAAAA,cAAA,CAAA,aAAA,CAAC,WACU,kBAAsB,IAAA,kBAAA,IAAsB,2CAA4BA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,KAAM,EAAA,OAAA,EAAQ,KAAO,EAAA;AAAA,MAC5G,MAAQ,EAAA;AAAA,KACV,EAAG,IAAK,IACJ,CAAA;AAAA,GAEV;AACA,EAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,OAAI,SAAU,EAAA,iBAAA,EAAA,+CACX,KAAM,EAAA,EAAA,OAAA,EAAQ,YACX,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAW,MAAM,IAAK,EAAA,MAAA,EAAO,IAAK,EAAA,IAAA,EAAK,oBAAsB,EAAA,SAAA,EAAW,WAAU,0CAA2C,EAAA,WAAA,EAAY,mCAAoC,EAAA,QAAA,EAAU,CAAC;AAAA,IAC5M,WAAa,EAAA;AAAA,MACX,UAAA;AAAA,MACA,MAAA;AAAA,MACA;AAAA;AACF,GACI,KAAA;AACJ,IAAA,aAAA,CAAc,IAAI,CAAA;AAAA,GACpB,EAAG,gBAAgB,MAAQ,EAAA,WAAA,EAAa,OAAO,CACzC,CAAA,+CAEC,GAAI,EAAA,EAAA,SAAA,EAAU,4BACVA,cAAA,CAAA,aAAA,CAAA,qBAAA,EAAA,IAAA,+CACI,MAAO,EAAA,EAAA,KAAA,EAAM,MAAK,SAAU,EAAA,aAAA,EAAA,kBACxBA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,KAAO,EAAA;AAAA,IAC7B,IAAM,EAAA,CAAA;AAAA,IACN,iBAAmB,EAAA;AAAA,GACrB,EAAG,cAAc,CAAC,IAAA,EAAM,UAAU,MAAO,CAAA,KAAK,GAAG,qBAAuB,EAAA;AAAA,IACtE,IAAM,EAAA;AAAA,GACL,EAAA,IAAA,EAAM,mBAAuB,IAAA,mBAAA,CAAoB,MAAS,GAAA,CAAA,GAAI,mBAAsB,GAAA,EAAI,EAAA,UAAA,EAAY,qBAAuB,EAAA,kBAAA,EAAoB,MAAM;AACtJ,IAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAiB,KAAO,EAAA;AAAA,MAC9B,SAAW,EAAA;AAAA,yBAEgBA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,WAAU,eACX,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,KAAM,EAAA,IAAA,EAAA,+CACT,GAAI,EAAA,EAAA,SAAA,EAAU,+BACVA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,EAAK,iBAAe,CACzB,CACJ,CACJ,CACJ,CAAA;AAAA,GACvB,EAAA,GAAA,EAAK,yBAA2B,EAAA,mBAAA,EAAqB,YAAc,EAAA,YAAA,EAAc,mBAAqB,EAAA,qBAAA,EAAuB,GAAK,EAAA,CAC3H,CACJ,CACJ,CACJ,CAAA;AACR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState}from'react';import {View,TouchableOpacity,Image,Text,Dimensions}from'react-native';import styles from'./styles.js';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {NavigationRoutes}from'../../constants/routes.js';import img from'../../assets/images/send.png.js';import img$1 from'../../assets/images/right.png.js';import {useNavigation,useRoute,useFocusEffect}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';Dimensions.get("window").width;
|
|
1
|
+
import React__default,{useState}from'react';import {View,TouchableOpacity,Image,Text,Dimensions}from'react-native';import styles from'./styles.js';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {NavigationRoutes}from'../../constants/routes.js';import img from'../../assets/images/send.png.js';import img$1 from'../../assets/images/right.png.js';import {useNavigation,useRoute,useFocusEffect}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';Dimensions.get("window").width;
|
|
2
2
|
Dimensions.get("window").height;
|
|
3
3
|
const JumpToScreen = (props) => {
|
|
4
4
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JumpTo.js","sources":["../../../src/screens/Search/JumpTo.tsx"],"sourcesContent":["// import { Ionicons } from '@expo/vector-icons';\nimport { StackNavigationProp } from '@react-navigation/stack';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { useFormik } from 'formik';\nimport { Pressable, Image, TouchableOpacity, Dimensions, View, Text } from 'react-native';\nimport styles from './styles';\nimport { StatusBar } from 'expo-status-bar';\n// import { Header, Tiles, NavigationHeader } from '../../components';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { NavigationRoutes } from '../../constants/routes';\nimport send from '../../assets/images/send.png';\nimport more from '../../assets/images/more.png';\nimport right from '../../assets/images/right.png';\nimport { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native';\n// import { navigationRef } from '@common-stack/client-react';\nimport { useDrawerLayout } from '../../hooks';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\ntype JumpToScreenProps = {\n //navigation: StackNavigationProp<HomeParamList, 'Home'>;\n};\n\nconst JumpToScreen = (props: JumpToScreenProps) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const route = useRoute<any>();\n const [loading, setLoading] = useState<boolean>(false);\n\n useFocusEffect(\n React.useCallback(() => {\n // navigation?.setOptions({\n // headerShown: true,\n // title: 'Search',\n // headerTitle: 'Search',\n // header: (props: any) => (\n // <NavigationHeader\n // {...props}\n // showToggle={false}\n // showFilter={false}\n // showTitle={false}\n // showProfile={false}\n // back={null}\n // isSearchBack={true}\n // // customHeader={\n // // <>\n // // <Box flex={1} bg={'#3f0e40'} px={2}>\n // // <Input\n // // InputLeftElement={\n // // <IconButton\n // // onPress={() => navigation.goBack()}\n // // icon={\n // // <Icon size={5} color=\"muted.400\" as={Ionicons} name=\"arrow-back\" />\n // // }\n // // />\n // // }\n // // size=\"lg\"\n // // placeholder=\"Jump to...\"\n // // variant=\"filled\"\n // // />\n // // </Box>\n // // </>\n // // }\n // />\n // ),\n // });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n // const loadingComponent = () => (\n // <Box flex={1} justifyContent={'center'} alignItems={'center'} safeAreaTop>\n // <Spinner />\n // </Box>\n // );\n\n return (\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <View style={styles.container}>\n {/* <Header>\n <Input size=\"lg\" placeholder=\"Enter a search term\" variant=\"filled\" />\n </Header> */}\n {/* <StatusBar style=\"light\" /> */}\n\n {/* Channels */}\n <View style={styles.channelContainer}>\n <TouchableOpacity\n style={[\n styles.headingContainer,\n {\n marginTop: 10,\n },\n ]}\n onPress={() =>\n navigation.navigate(NavigationRoutes.Peoples, {\n orgName: orgName,\n })\n }\n >\n <View\n style={{\n borderRadius: 8,\n alignItems: 'center',\n flexDirection: 'row',\n }}\n >\n <Image\n style={{\n width: 25,\n height: 25,\n resizeMode: 'cover',\n }}\n source={send}\n />\n <Text\n style={{\n fontSize: 16,\n marginLeft: 10,\n }}\n >\n Browse People\n </Text>\n </View>\n <Image style={styles.iconStyle} source={right} />\n </TouchableOpacity>\n </View>\n\n {/* Direct Messages */}\n <View\n style={[\n styles.channelContainer,\n {\n borderBottomWidth: 0.4,\n borderBottomColor: '#868686',\n paddingBottom: 20,\n },\n ]}\n >\n <TouchableOpacity\n style={styles.headingContainer}\n onPress={() =>\n navigation.navigate(NavigationRoutes.Channels, {\n orgName: orgName,\n })\n }\n >\n <View\n style={{\n borderRadius: 8,\n alignItems: 'center',\n flexDirection: 'row',\n }}\n >\n <Image\n style={{\n width: 25,\n height: 25,\n resizeMode: 'cover',\n }}\n source={send}\n />\n <Text\n style={{\n fontSize: 16,\n marginLeft: 10,\n }}\n >\n Browse Channels\n </Text>\n </View>\n <Image style={styles.iconStyle} source={right} />\n </TouchableOpacity>\n </View>\n <View style={styles.bottomContainer}>\n <View\n style={{\n paddingVertical: 5,\n marginTop: 5,\n }}\n >\n <Text\n style={{\n color: '#000',\n fontSize: 15,\n fontWeight: '600',\n }}\n >\n History\n </Text>\n </View>\n </View>\n </View>\n </VirtualizedScrollView>\n );\n};\n\nexport default JumpToScreen;\n"],"names":["React","send","right"],"mappings":"ypBAgBoB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACxB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AAIxC,MAAA,YAAA,GAAe,CAAC,KAA6B,KAAA;AACjD,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAA,MAAM,aAAa,aAAmB,EAAA;AACtC,EAAc,QAAc;AAC5B,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAkB,KAAK,CAAA;AACrD,EAAe,cAAA,CAAAA,cAAA,CAAM,YAAY,MAAM;AAqCrC,IAAA,OAAO,MAAM;AAAA,KAGb;AAAA,GACF,EAAG,EAAE,CAAC,CAAA;AAQN,EAAA,oDAAQ,qBAAsB,EAAA,EAAA,SAAA,EAAU,qCAC7BA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,SAAA,EAAA,+CAOf,IAAK,EAAA,EAAA,KAAA,EAAO,OAAO,gBAChB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAiB,KAAO,EAAA,CAAC,OAAO,gBAAkB,EAAA;AAAA,IAC7D,SAAW,EAAA;AAAA,GACZ,CAAG,EAAA,OAAA,EAAS,MAAM,UAAW,CAAA,QAAA,CAAS,iBAAiB,OAAS,EAAA;AAAA,IAC/D;AAAA,GACD,CAAA,EAAA,kBACgBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,IACzB,YAAc,EAAA,CAAA;AAAA,IACd,UAAY,EAAA,QAAA;AAAA,IACZ,aAAe,EAAA;AAAA,GACjB,EAAA,kBACmBA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,KAAO,EAAA;AAAA,IAC5B,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,UAAY,EAAA;AAAA,KACX,MAAQ,EAAAC,GAAA,EAAM,CACD,kBAAAD,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,IAC3B,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA,OACX,eAEa,CACJ,mBACCA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,OAAO,MAAO,CAAA,SAAA,EAAW,QAAQE,KAAO,EAAA,CACnD,CACJ,CAGA,kBAAAF,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA,CAAC,OAAO,gBAAkB,EAAA;AAAA,IAC/C,iBAAmB,EAAA,GAAA;AAAA,IACnB,iBAAmB,EAAA,SAAA;AAAA,IACnB,aAAe,EAAA;AAAA,GAChB,CAAA,EAAA,kBACcA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,KAAO,EAAA,MAAA,CAAO,gBAAkB,EAAA,OAAA,EAAS,MAAM,UAAA,CAAW,QAAS,CAAA,gBAAA,CAAiB,QAAU,EAAA;AAAA,IAC1H;AAAA,GACD,CAAA,EAAA,kBACgBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,IACzB,YAAc,EAAA,CAAA;AAAA,IACd,UAAY,EAAA,QAAA;AAAA,IACZ,aAAe,EAAA;AAAA,GACjB,EAAA,kBACmBA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,KAAO,EAAA;AAAA,IAC5B,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,UAAY,EAAA;AAAA,KACX,MAAQ,EAAAC,GAAA,EAAM,CACD,kBAAAD,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,IAC3B,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA,GACd,EAAA,EAAG,iBAEa,CACJ,CAAA,+CACC,KAAM,EAAA,EAAA,KAAA,EAAO,OAAO,SAAW,EAAA,MAAA,EAAQE,OAAO,CACnD,CACJ,mBACCF,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,eAAA,EAAA,kBACfA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,IACvB,eAAiB,EAAA,CAAA;AAAA,IACjB,SAAW,EAAA;AAAA,GACb,EAAA,kBACiBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,IACzB,KAAO,EAAA,MAAA;AAAA,IACP,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA,GACX,EAAA,EAAA,SAEW,CACJ,CACJ,CACJ,CACJ,CAAA;AACR"}
|
|
1
|
+
{"version":3,"file":"JumpTo.js","sources":["../../../src/screens/Search/JumpTo.tsx"],"sourcesContent":["// import { Ionicons } from '@expo/vector-icons';\nimport { StackNavigationProp } from '@react-navigation/stack';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { useFormik } from 'formik';\nimport { Pressable, Image, TouchableOpacity, Dimensions, View, Text } from 'react-native';\nimport styles from './styles';\nimport { StatusBar } from 'expo-status-bar';\n// import { Header, Tiles, NavigationHeader } from '../../components';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { NavigationRoutes } from '../../constants/routes';\nimport send from '../../assets/images/send.png';\nimport more from '../../assets/images/more.png';\nimport right from '../../assets/images/right.png';\nimport { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native';\n// import { navigationRef } from '@common-stack/client-react';\nimport { useDrawerLayout } from '../../hooks';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\ntype JumpToScreenProps = {\n //navigation: StackNavigationProp<HomeParamList, 'Home'>;\n};\n\nconst JumpToScreen = (props: JumpToScreenProps) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const route = useRoute<any>();\n const [loading, setLoading] = useState<boolean>(false);\n\n useFocusEffect(\n React.useCallback(() => {\n // navigation?.setOptions({\n // headerShown: true,\n // title: 'Search',\n // headerTitle: 'Search',\n // header: (props: any) => (\n // <NavigationHeader\n // {...props}\n // showToggle={false}\n // showFilter={false}\n // showTitle={false}\n // showProfile={false}\n // back={null}\n // isSearchBack={true}\n // // customHeader={\n // // <>\n // // <Box flex={1} bg={'#3f0e40'} px={2}>\n // // <Input\n // // InputLeftElement={\n // // <IconButton\n // // onPress={() => navigation.goBack()}\n // // icon={\n // // <Icon size={5} color=\"muted.400\" as={Ionicons} name=\"arrow-back\" />\n // // }\n // // />\n // // }\n // // size=\"lg\"\n // // placeholder=\"Jump to...\"\n // // variant=\"filled\"\n // // />\n // // </Box>\n // // </>\n // // }\n // />\n // ),\n // });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n // const loadingComponent = () => (\n // <Box flex={1} justifyContent={'center'} alignItems={'center'} safeAreaTop>\n // <Spinner />\n // </Box>\n // );\n\n return (\n <VirtualizedScrollView className=\"bg-white flex-1\">\n <View style={styles.container}>\n {/* <Header>\n <Input size=\"lg\" placeholder=\"Enter a search term\" variant=\"filled\" />\n </Header> */}\n {/* <StatusBar style=\"light\" /> */}\n\n {/* Channels */}\n <View style={styles.channelContainer}>\n <TouchableOpacity\n style={[\n styles.headingContainer,\n {\n marginTop: 10,\n },\n ]}\n onPress={() =>\n navigation.navigate(NavigationRoutes.Peoples, {\n orgName: orgName,\n })\n }\n >\n <View\n style={{\n borderRadius: 8,\n alignItems: 'center',\n flexDirection: 'row',\n }}\n >\n <Image\n style={{\n width: 25,\n height: 25,\n resizeMode: 'cover',\n }}\n source={send}\n />\n <Text\n style={{\n fontSize: 16,\n marginLeft: 10,\n }}\n >\n Browse People\n </Text>\n </View>\n <Image style={styles.iconStyle} source={right} />\n </TouchableOpacity>\n </View>\n\n {/* Direct Messages */}\n <View\n style={[\n styles.channelContainer,\n {\n borderBottomWidth: 0.4,\n borderBottomColor: '#868686',\n paddingBottom: 20,\n },\n ]}\n >\n <TouchableOpacity\n style={styles.headingContainer}\n onPress={() =>\n navigation.navigate(NavigationRoutes.Channels, {\n orgName: orgName,\n })\n }\n >\n <View\n style={{\n borderRadius: 8,\n alignItems: 'center',\n flexDirection: 'row',\n }}\n >\n <Image\n style={{\n width: 25,\n height: 25,\n resizeMode: 'cover',\n }}\n source={send}\n />\n <Text\n style={{\n fontSize: 16,\n marginLeft: 10,\n }}\n >\n Browse Channels\n </Text>\n </View>\n <Image style={styles.iconStyle} source={right} />\n </TouchableOpacity>\n </View>\n <View style={styles.bottomContainer}>\n <View\n style={{\n paddingVertical: 5,\n marginTop: 5,\n }}\n >\n <Text\n style={{\n color: '#000',\n fontSize: 15,\n fontWeight: '600',\n }}\n >\n History\n </Text>\n </View>\n </View>\n </View>\n </VirtualizedScrollView>\n );\n};\n\nexport default JumpToScreen;\n"],"names":["React","send","right"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useEffect,useRef}from'react';import {Box,HStack,Text,ScrollView,Avatar,AvatarImage,AvatarFallbackText,AvatarBadge}from'@admin-layout/gluestack-ui-mobile';import {Keyboard,TouchableOpacity,Platform,SafeAreaView,StyleSheet,View,TextInput,Dimensions}from'react-native';import {RoomType}from'common';import {NavigationRoutes}from'../../constants/routes.js';import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {startCase,uniqBy}from'lodash-es';import {MaterialIcons,Feather,Octicons}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import {useChannelsLazyQuery,useAddDirectChannelMutation,useAddChannelMutation,useSaveMembersToChannelMutation,useOrganizationMembersWithChannelsQuery}from'../../queries/slackuiQueries.js';Dimensions.get("window").width;
|
|
1
|
+
import React__default,{useState,useEffect,useRef}from'react';import {Box,HStack,Text,ScrollView,Avatar,AvatarImage,AvatarFallbackText,AvatarBadge}from'@admin-layout/gluestack-ui-mobile';import {Keyboard,TouchableOpacity,Platform,SafeAreaView,StyleSheet,View,TextInput,Dimensions}from'react-native';import {RoomType}from'common';import {NavigationRoutes}from'../../constants/routes.js';import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {startCase,uniqBy}from'lodash-es';import {MaterialIcons,Feather,Octicons}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 {useChannelsLazyQuery,useAddDirectChannelMutation,useAddChannelMutation,useSaveMembersToChannelMutation,useOrganizationMembersWithChannelsQuery}from'../../queries/slackuiQueries.js';Dimensions.get("window").width;
|
|
2
2
|
Dimensions.get("window").height;
|
|
3
3
|
Dimensions.get("screen").height;
|
|
4
4
|
const defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAddChannel.js","sources":["../../../src/screens/Search/SearchAddChannel.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from 'react';\nimport {\n Text,\n Button,\n ButtonText,\n Box,\n Icon,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Checkbox,\n CheckboxLabel,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n VStack,\n ScrollView,\n} from '@admin-layout/gluestack-ui-mobile';\nimport {\n TouchableOpacity,\n Dimensions,\n Keyboard,\n KeyboardEvent,\n TextInput,\n View,\n StyleSheet,\n SafeAreaView,\n Platform,\n} from 'react-native';\nimport { RoomType } from 'common';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, SimpleLineIcons, MaterialCommunityIcons, Entypo } from '@expo/vector-icons';\nimport { Inbox, DialogMessages, DialogThreads } from '@messenger-box/platform-mobile';\n// import VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused, useFocusEffect, useNavigation } from '@react-navigation/native';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../hooks';\nimport { LoadingSpinnerDefault, SlackInput } from '../../components';\nimport colors from 'tailwindcss/colors';\nimport {\n useChannelsLazyQuery,\n useChannelDetailLazyQuery,\n useAddDirectChannelMutation,\n useAddChannelMutation,\n useSaveMembersToChannelMutation,\n useOrganizationMembersWithChannelsQuery,\n} from '../../queries/slackuiQueries';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst screenHeight = Dimensions.get('screen').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];\nconst orgMemersDataFetchLimit = 10;\nexport const useKeyboard = () => {\n const [keyboardHeight, setKeyboardHeight] = useState(0);\n\n useEffect(() => {\n function onKeyboardDidShow(e: KeyboardEvent) {\n // Remove type here if not using TypeScript\n setKeyboardHeight(e?.endCoordinates?.height ?? 0);\n }\n\n function onKeyboardDidHide() {\n setKeyboardHeight(0);\n }\n\n const showSubscription = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow);\n const hideSubscription = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);\n return () => {\n showSubscription.remove();\n hideSubscription.remove();\n };\n }, []);\n\n return keyboardHeight;\n};\n\n// const listData = [\n// { id: 'header1', type: 'header', title: 'Message with external people' },\n// { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n// { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n// { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n// { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n// { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n// { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n// { id: 'cdecode', title: 'cdecode', type: 'private' },\n// { id: 'general', title: 'general', type: 'channel' },\n// { id: 'mobile', title: 'mobile', type: 'private' },\n// ];\n\nconst SearchAddChannel = (props: any) => {\n const navigation = useNavigation<any>();\n const { orgName, organizationDetail } = useDrawerLayout();\n const isFocused = useIsFocused();\n const user = useSelector(userSelector);\n const [channels, setChannels] = useState<any>([]);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const [selectedItems, setSelectedItems] = useState<any[]>([]);\n const [searchText, setSearchText] = useState('');\n const [offset, setOffset] = useState(0);\n const [channelId, setChannelId] = useState<any>(null);\n const [isCreateNewChannel, setIsCreateNewChannel] = useState<boolean>(false);\n const keyboardHeight = useKeyboard();\n const inputRef = useRef<TextInput>(null);\n const [tags, setTags] = useState<any[]>([]);\n const labelExtractor = (tag: any) => (tag?.id ? tag?.id : tag?.userId);\n const [getChannelByUser, { loading: isChannelByUserLoading }] = useChannelsLazyQuery();\n const [addDirectChannel, { loading: isAddingDirectChannel }] = useAddDirectChannelMutation();\n const [addChannel, { loading: isAddingChannel }] = useAddChannelMutation();\n const [saveMembersToChannel, { loading: isSavingMembers }] = useSaveMembersToChannelMutation();\n const [messageText, setMessageText] = useState('');\n const {\n data,\n loading: oLoading,\n error: oError,\n refetch,\n } = useOrganizationMembersWithChannelsQuery(orgName, {\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n\n useFocusEffect(\n React.useCallback(() => {\n refetch({\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setChannels([]);\n setChannelId(null);\n setInitialOrgMembers([]);\n };\n }, [orgName]),\n );\n\n React.useEffect(() => {\n navigation.setOptions({\n headerLeft: (props: any) => (\n <TouchableOpacity\n onPress={() => {\n console.log('canGoBack:', navigation.canGoBack(), 'Platform:', Platform.OS);\n if (Platform.OS === 'macos') {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n } else if (navigation.canGoBack()) {\n navigation.goBack();\n } else {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n }\n }}\n >\n <MaterialIcons size={20} name=\"close\" color={'black'} />\n </TouchableOpacity>\n ),\n });\n }, []);\n\n React.useEffect(() => {\n if (data?.channelsByUser) {\n const allChannels: any =\n data?.channelsByUser\n ?.filter((ch: any) =>\n ch.type == RoomType.Direct &&\n ch?.members?.length == 1 &&\n ch?.members?.filter((ch: any) => ch?.user?.id == user?.id)\n ? ch\n : ch?.members?.filter((m: any) => m?.user?.id != user?.id),\n )\n ?.map((i: any) => {\n const ch: any = { id: i?.id, title: i?.title, type: i?.type };\n const channelMembers =\n i.members\n ?.map((m: any) => m?.user)\n ?.filter((ch: any) =>\n i.members?.length == 1 && ch?.id == user?.id ? ch : ch?.id != user?.id,\n ) ?? null;\n const title =\n ch.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : ch.title;\n ch.title = title;\n ch.channelImage = channelMembers[0]?.picture;\n ch.imageAcronym = startCase(channelMembers[0]?.username?.charAt(0));\n ch.members = channelMembers;\n ch.totalMembers = channelMembers?.length;\n ch.userId = null;\n ch.isOrgMembers = false;\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n\n const existingDirectChannelsToDelete = new Set(\n data?.channelsByUser?.map((ch: any) => ch?.members?.map((m: any) => m?.user?.id))?.flat(1),\n );\n\n const allOrgMembers: any =\n data?.getOrganizationMembers?.data\n ?.filter((m: any) => m?.user?.id != user?.id)\n .filter((obj: any) => !existingDirectChannelsToDelete.has(obj?.userId))\n ?.map((i: any) => {\n const ch: any = {\n id: null,\n title: i?.user?.givenName + ' ' + i?.user?.familyName,\n type: RoomType.Direct,\n channelImage: i?.user?.picture,\n imageAcronym: startCase(i?.user?.username?.charAt(0)),\n members: [],\n totalMembers: 1,\n userId: i?.user?.id,\n isOrgMembers: true,\n };\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n setChannels((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n setInitialOrgMembers((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n }\n }, [data]);\n\n React.useEffect(() => {\n if (channelId && tags?.length === 0) setChannelId(null);\n if (!channelId && tags?.length > 0) {\n const userIds = [\n ...new Set(\n tags?.map((t: any) => (t?.userId ? t?.userId : t?.members?.map((m: any) => m?.id)))?.flat(1),\n ),\n ];\n\n getChannelId(userIds);\n }\n console.log('channelid', channelId, ' tags?.length', tags?.length);\n }, [channelId, tags, orgName]);\n\n const getChannelId = React.useCallback(\n async (userIds: any[]) => {\n const res = await getChannelByUser({\n variables: {\n criteria: {\n orgName: orgName,\n type: RoomType.Direct,\n 'members.user': { $all: [...userIds, user?.id] },\n },\n limit: 1,\n },\n });\n\n if (res?.data?.channelsByUser?.length > 0) {\n setChannelId(res?.data?.channelsByUser?.[0]?.id);\n setIsCreateNewChannel(false);\n } else {\n setChannelId(null);\n setIsCreateNewChannel(true);\n }\n // ?.then((res) => {\n // if (res?.data?.channelsByUser?.length > 0) {\n // setChannelId(res?.data?.channelsByUser?.[0]?.id);\n // setInputFocusOut(true);\n // } else {\n // setChannelId(null);\n // setInputFocusOut(false);\n // }\n // });\n },\n [orgName, user],\n );\n\n // Toggle selection of an item\n const toggleItemSelection = (item: any) => {\n const itemExists = selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n\n if (itemExists) {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n } else {\n setSelectedItems([...selectedItems, item]);\n }\n };\n\n // Check if an item is selected\n const isItemSelected = (item: any) => {\n return selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n };\n\n // Remove a selected item (chip)\n const removeSelectedItem = (item: any) => {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n };\n\n // Handle creating channel or sending message\n const handleSendMessage = async () => {\n if (selectedItems.length === 0) return;\n\n try {\n // If there's an existing channel ID, use it\n if (channelId) {\n // Navigate to existing channel\n navigation.navigate('ChannelInfo', {\n channelId,\n initialMessage: messageText,\n orgName: orgName,\n });\n return;\n }\n\n // Create new channel\n if (isCreateNewChannel) {\n if (\n selectedItems[0].type === RoomType.Direct ||\n (selectedItems.length === 1 && selectedItems[0].isOrgMembers)\n ) {\n // Create direct channel\n const userIds = selectedItems\n .map((item) => item.userId || (item.members?.length > 0 ? item.members[0]?.id : null))\n .filter(Boolean);\n\n const result = await addDirectChannel({\n variables: {\n receiver: userIds,\n displayName: 'Direct Channel',\n },\n });\n\n if (result.data?.createDirectChannel) {\n const newChannelId = result.data.createDirectChannel;\n navigation.navigate('ChannelInfo', {\n channelId: newChannelId,\n initialMessage: messageText,\n orgName: orgName,\n });\n }\n } else {\n // Create multi-user channel\n // For simplicity, using first user's name for channel title\n const userIds = selectedItems\n .map((item) => item.userId || (item.members?.length > 0 ? item.members[0]?.id : null))\n .filter(Boolean);\n\n const result = await addChannel({\n variables: {\n name: `${selectedItems[0].title}'s chat`,\n description: '',\n type: RoomType.Direct,\n },\n });\n\n if (result.data?.createChannel) {\n const newChannelId = result.data.createChannel.id;\n\n // Add other members to the channel\n if (userIds.length > 0) {\n await saveMembersToChannel({\n variables: {\n channelId: newChannelId,\n membersIds: userIds,\n },\n });\n }\n\n navigation.navigate('ChannelInfo', {\n channelId: newChannelId,\n initialMessage: messageText,\n orgName: orgName,\n });\n }\n }\n }\n } catch (error) {\n console.error('Error creating channel:', error);\n }\n };\n\n // Render a selected item as a chip in the To: field\n const renderSelectedItemChip = (item: any, index: number) => {\n return (\n <View key={index} style={styles.chipContainer}>\n <Avatar size=\"xs\" style={styles.chipAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.imageAcronym || item.title.charAt(0)}</AvatarFallbackText>\n )}\n </Avatar>\n <Text style={styles.chipText}>{item.title}</Text>\n </View>\n );\n };\n\n // Render list items (channels and users)\n const renderListItem = (item: any, index: number) => {\n // if (item.type === 'header') {\n // return (\n // <HStack key={index} style={styles.sectionHeader}>\n // <SimpleLineIcons name=\"bell\" size={16} color=\"#2563EB\" />\n // <Text style={styles.sectionHeaderText}>{item.title}</Text>\n // </HStack>\n // );\n // }\n\n return (\n <HStack key={index} style={styles.listItem}>\n <HStack style={styles.listItemLeft}>\n {/* {item.type === 'app' && item.appName === 'figma' && (\n <View style={styles.iconContainer}>\n <MaterialCommunityIcons name=\"sigma\" size={20} color=\"#F24E1E\" />\n </View>\n )} */}\n\n {/* {item.type === 'app' && item.appName === 'github' && (\n <View style={styles.iconContainer}>\n <AntDesign name=\"github\" size={20} color=\"#000\" />\n </View>\n )} */}\n\n {item.type == RoomType.Channel && (\n <View style={styles.iconContainer}>\n <Octicons name=\"hash\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Private && (\n <View style={styles.iconContainer}>\n <Octicons name=\"lock\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Direct && (\n <Avatar size=\"sm\" style={styles.userAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.title.charAt(0)}</AvatarFallbackText>\n )}\n <AvatarBadge style={styles.onlineBadge} />\n </Avatar>\n )}\n\n <HStack style={styles.titleContainer}>\n <Text style={styles.itemTitle}>{item.title}</Text>\n {item.type === 'app' && (\n <View style={styles.appLabel}>\n <Text style={styles.appLabelText}>APP</Text>\n </View>\n )}\n </HStack>\n </HStack>\n\n <TouchableOpacity onPress={() => toggleItemSelection(item)}>\n {isItemSelected(item) ? (\n <View style={styles.checkedBox}>\n <Feather name=\"check\" size={18} color=\"#fff\" />\n </View>\n ) : (\n <View style={styles.uncheckedBox} />\n )}\n </TouchableOpacity>\n </HStack>\n );\n };\n\n // Sample data for the channel list\n // const listData = [\n // { id: 'header1', type: 'header', title: 'Message with external people' },\n // { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n // { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n // { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n // { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n // { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n // { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n // { id: 'cdecode', title: 'cdecode', type: 'private' },\n // { id: 'general', title: 'general', type: 'channel' },\n // { id: 'mobile', title: 'mobile', type: 'private' },\n // ];\n\n const listData = [{ id: 'header1', type: 'header', title: 'Message with external people' }, ...channels];\n\n const filteredData = searchText.trim()\n ? listData.filter(\n (item) => item.type !== 'header' && item.title.toLowerCase().includes(searchText.toLowerCase()),\n )\n : listData;\n\n return (\n <SafeAreaView style={{ flex: 1, backgroundColor: '#fff' }}>\n <Box style={styles.container}>\n {/* To: field with search */}\n <HStack style={styles.searchContainer}>\n <Text style={styles.toLabel}>To:</Text>\n <View style={styles.chipContainerWrapper}>\n <View style={styles.chipWrapView}>\n {selectedItems.map(renderSelectedItemChip)}\n <TextInput\n ref={inputRef}\n style={styles.searchInput}\n placeholder={selectedItems.length ? '' : 'Search for a channel or conversation'}\n placeholderTextColor=\"#9CA3AF\"\n value={searchText}\n onChange={(event) => setSearchText(event.nativeEvent.text)}\n />\n </View>\n </View>\n </HStack>\n\n {/* List of channels and people */}\n <ScrollView style={styles.listContainer}>{filteredData.map(renderListItem)}</ScrollView>\n\n {/* Message input at bottom */}\n <HStack style={styles.messageInputContainer}>\n <TextInput\n style={styles.messageInput}\n placeholder={`Message ${selectedItems.map((item) => item.title).join(', ')}`}\n placeholderTextColor=\"#9CA3AF\"\n value={messageText}\n onChangeText={setMessageText}\n />\n <TouchableOpacity style={styles.sendButton} onPress={handleSendMessage}>\n <Feather name=\"arrow-right\" size={22} color=\"#fff\" />\n </TouchableOpacity>\n </HStack>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n },\n headerTitle: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n searchContainer: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n toLabel: {\n fontSize: 16,\n marginRight: 8,\n marginTop: 8,\n color: '#374151',\n },\n chipContainerWrapper: {\n flex: 1,\n },\n chipWrapView: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipScrollView: {\n flex: 1,\n },\n chipScrollContent: {\n alignItems: 'center',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#EFF6FF',\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 6,\n marginRight: 8,\n marginBottom: 8,\n },\n chipAvatar: {\n width: 20,\n height: 20,\n marginRight: 4,\n },\n chipText: {\n color: '#1E40AF',\n fontSize: 14,\n },\n searchInput: {\n flex: 1,\n height: 40,\n fontSize: 16,\n minWidth: 100,\n },\n listContainer: {\n flex: 1,\n },\n sectionHeader: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 16,\n paddingBottom: 8,\n },\n sectionHeaderText: {\n marginLeft: 8,\n fontWeight: 'bold',\n fontSize: 16,\n color: '#374151',\n },\n listItem: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n listItemLeft: {\n flexDirection: 'row',\n alignItems: 'center',\n flex: 1,\n },\n iconContainer: {\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n marginRight: 12,\n },\n userAvatar: {\n marginRight: 12,\n },\n onlineBadge: {\n width: 8,\n height: 8,\n backgroundColor: '#10B981',\n borderWidth: 1,\n borderColor: '#FFFFFF',\n bottom: 0,\n right: 0,\n },\n titleContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n itemTitle: {\n fontSize: 16,\n color: '#1F2937',\n },\n appLabel: {\n backgroundColor: '#E5E5E5',\n borderRadius: 4,\n paddingHorizontal: 6,\n paddingVertical: 2,\n marginLeft: 8,\n },\n appLabelText: {\n fontSize: 10,\n fontWeight: 'bold',\n color: '#4B5563',\n },\n uncheckedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n borderWidth: 1,\n borderColor: '#D1D5DB',\n },\n checkedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n messageInputContainer: {\n borderTopWidth: 1,\n borderTopColor: '#E5E5E5',\n paddingHorizontal: 16,\n paddingVertical: 12,\n flexDirection: 'row',\n alignItems: 'center',\n },\n messageInput: {\n flex: 1,\n height: 40,\n backgroundColor: '#F9FAFB',\n borderRadius: 20,\n paddingHorizontal: 16,\n marginRight: 12,\n fontSize: 16,\n },\n sendButton: {\n width: 40,\n height: 40,\n borderRadius: 20,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default React.memo(SearchAddChannel);\n"],"names":["React","props","_a","_b","_c","ch","_d","_e","_f","_g","_h","_i"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SearchAddChannel.js","sources":["../../../src/screens/Search/SearchAddChannel.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from 'react';\nimport {\n Text,\n Button,\n ButtonText,\n Box,\n Icon,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Checkbox,\n CheckboxLabel,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n VStack,\n ScrollView,\n} from '@admin-layout/gluestack-ui-mobile';\nimport {\n TouchableOpacity,\n Dimensions,\n Keyboard,\n KeyboardEvent,\n TextInput,\n View,\n StyleSheet,\n SafeAreaView,\n Platform,\n} from 'react-native';\nimport { RoomType } from 'common';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, SimpleLineIcons, MaterialCommunityIcons, Entypo } from '@expo/vector-icons';\nimport { Inbox, DialogMessages, DialogThreads } from '@messenger-box/platform-mobile';\n// import VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused, useFocusEffect, useNavigation } from '@react-navigation/native';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../hooks';\nimport { LoadingSpinnerDefault, SlackInput } from '../../components';\nimport colors from 'tailwindcss/colors';\nimport {\n useChannelsLazyQuery,\n useChannelDetailLazyQuery,\n useAddDirectChannelMutation,\n useAddChannelMutation,\n useSaveMembersToChannelMutation,\n useOrganizationMembersWithChannelsQuery,\n} from '../../queries/slackuiQueries';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst screenHeight = Dimensions.get('screen').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];\nconst orgMemersDataFetchLimit = 10;\nexport const useKeyboard = () => {\n const [keyboardHeight, setKeyboardHeight] = useState(0);\n\n useEffect(() => {\n function onKeyboardDidShow(e: KeyboardEvent) {\n // Remove type here if not using TypeScript\n setKeyboardHeight(e?.endCoordinates?.height ?? 0);\n }\n\n function onKeyboardDidHide() {\n setKeyboardHeight(0);\n }\n\n const showSubscription = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow);\n const hideSubscription = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);\n return () => {\n showSubscription.remove();\n hideSubscription.remove();\n };\n }, []);\n\n return keyboardHeight;\n};\n\n// const listData = [\n// { id: 'header1', type: 'header', title: 'Message with external people' },\n// { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n// { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n// { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n// { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n// { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n// { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n// { id: 'cdecode', title: 'cdecode', type: 'private' },\n// { id: 'general', title: 'general', type: 'channel' },\n// { id: 'mobile', title: 'mobile', type: 'private' },\n// ];\n\nconst SearchAddChannel = (props: any) => {\n const navigation = useNavigation<any>();\n const { orgName, organizationDetail } = useDrawerLayout();\n const isFocused = useIsFocused();\n const user = useSelector(userSelector);\n const [channels, setChannels] = useState<any>([]);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const [selectedItems, setSelectedItems] = useState<any[]>([]);\n const [searchText, setSearchText] = useState('');\n const [offset, setOffset] = useState(0);\n const [channelId, setChannelId] = useState<any>(null);\n const [isCreateNewChannel, setIsCreateNewChannel] = useState<boolean>(false);\n const keyboardHeight = useKeyboard();\n const inputRef = useRef<TextInput>(null);\n const [tags, setTags] = useState<any[]>([]);\n const labelExtractor = (tag: any) => (tag?.id ? tag?.id : tag?.userId);\n const [getChannelByUser, { loading: isChannelByUserLoading }] = useChannelsLazyQuery();\n const [addDirectChannel, { loading: isAddingDirectChannel }] = useAddDirectChannelMutation();\n const [addChannel, { loading: isAddingChannel }] = useAddChannelMutation();\n const [saveMembersToChannel, { loading: isSavingMembers }] = useSaveMembersToChannelMutation();\n const [messageText, setMessageText] = useState('');\n const {\n data,\n loading: oLoading,\n error: oError,\n refetch,\n } = useOrganizationMembersWithChannelsQuery(orgName, {\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n\n useFocusEffect(\n React.useCallback(() => {\n refetch({\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setChannels([]);\n setChannelId(null);\n setInitialOrgMembers([]);\n };\n }, [orgName]),\n );\n\n React.useEffect(() => {\n navigation.setOptions({\n headerLeft: (props: any) => (\n <TouchableOpacity\n onPress={() => {\n console.log('canGoBack:', navigation.canGoBack(), 'Platform:', Platform.OS);\n if (Platform.OS === 'macos') {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n } else if (navigation.canGoBack()) {\n navigation.goBack();\n } else {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n }\n }}\n >\n <MaterialIcons size={20} name=\"close\" color={'black'} />\n </TouchableOpacity>\n ),\n });\n }, []);\n\n React.useEffect(() => {\n if (data?.channelsByUser) {\n const allChannels: any =\n data?.channelsByUser\n ?.filter((ch: any) =>\n ch.type == RoomType.Direct &&\n ch?.members?.length == 1 &&\n ch?.members?.filter((ch: any) => ch?.user?.id == user?.id)\n ? ch\n : ch?.members?.filter((m: any) => m?.user?.id != user?.id),\n )\n ?.map((i: any) => {\n const ch: any = { id: i?.id, title: i?.title, type: i?.type };\n const channelMembers =\n i.members\n ?.map((m: any) => m?.user)\n ?.filter((ch: any) =>\n i.members?.length == 1 && ch?.id == user?.id ? ch : ch?.id != user?.id,\n ) ?? null;\n const title =\n ch.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : ch.title;\n ch.title = title;\n ch.channelImage = channelMembers[0]?.picture;\n ch.imageAcronym = startCase(channelMembers[0]?.username?.charAt(0));\n ch.members = channelMembers;\n ch.totalMembers = channelMembers?.length;\n ch.userId = null;\n ch.isOrgMembers = false;\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n\n const existingDirectChannelsToDelete = new Set(\n data?.channelsByUser?.map((ch: any) => ch?.members?.map((m: any) => m?.user?.id))?.flat(1),\n );\n\n const allOrgMembers: any =\n data?.getOrganizationMembers?.data\n ?.filter((m: any) => m?.user?.id != user?.id)\n .filter((obj: any) => !existingDirectChannelsToDelete.has(obj?.userId))\n ?.map((i: any) => {\n const ch: any = {\n id: null,\n title: i?.user?.givenName + ' ' + i?.user?.familyName,\n type: RoomType.Direct,\n channelImage: i?.user?.picture,\n imageAcronym: startCase(i?.user?.username?.charAt(0)),\n members: [],\n totalMembers: 1,\n userId: i?.user?.id,\n isOrgMembers: true,\n };\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n setChannels((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n setInitialOrgMembers((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n }\n }, [data]);\n\n React.useEffect(() => {\n if (channelId && tags?.length === 0) setChannelId(null);\n if (!channelId && tags?.length > 0) {\n const userIds = [\n ...new Set(\n tags?.map((t: any) => (t?.userId ? t?.userId : t?.members?.map((m: any) => m?.id)))?.flat(1),\n ),\n ];\n\n getChannelId(userIds);\n }\n console.log('channelid', channelId, ' tags?.length', tags?.length);\n }, [channelId, tags, orgName]);\n\n const getChannelId = React.useCallback(\n async (userIds: any[]) => {\n const res = await getChannelByUser({\n variables: {\n criteria: {\n orgName: orgName,\n type: RoomType.Direct,\n 'members.user': { $all: [...userIds, user?.id] },\n },\n limit: 1,\n },\n });\n\n if (res?.data?.channelsByUser?.length > 0) {\n setChannelId(res?.data?.channelsByUser?.[0]?.id);\n setIsCreateNewChannel(false);\n } else {\n setChannelId(null);\n setIsCreateNewChannel(true);\n }\n // ?.then((res) => {\n // if (res?.data?.channelsByUser?.length > 0) {\n // setChannelId(res?.data?.channelsByUser?.[0]?.id);\n // setInputFocusOut(true);\n // } else {\n // setChannelId(null);\n // setInputFocusOut(false);\n // }\n // });\n },\n [orgName, user],\n );\n\n // Toggle selection of an item\n const toggleItemSelection = (item: any) => {\n const itemExists = selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n\n if (itemExists) {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n } else {\n setSelectedItems([...selectedItems, item]);\n }\n };\n\n // Check if an item is selected\n const isItemSelected = (item: any) => {\n return selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n };\n\n // Remove a selected item (chip)\n const removeSelectedItem = (item: any) => {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n };\n\n // Handle creating channel or sending message\n const handleSendMessage = async () => {\n if (selectedItems.length === 0) return;\n\n try {\n // If there's an existing channel ID, use it\n if (channelId) {\n // Navigate to existing channel\n navigation.navigate('ChannelInfo', {\n channelId,\n initialMessage: messageText,\n orgName: orgName,\n });\n return;\n }\n\n // Create new channel\n if (isCreateNewChannel) {\n if (\n selectedItems[0].type === RoomType.Direct ||\n (selectedItems.length === 1 && selectedItems[0].isOrgMembers)\n ) {\n // Create direct channel\n const userIds = selectedItems\n .map((item) => item.userId || (item.members?.length > 0 ? item.members[0]?.id : null))\n .filter(Boolean);\n\n const result = await addDirectChannel({\n variables: {\n receiver: userIds,\n displayName: 'Direct Channel',\n },\n });\n\n if (result.data?.createDirectChannel) {\n const newChannelId = result.data.createDirectChannel;\n navigation.navigate('ChannelInfo', {\n channelId: newChannelId,\n initialMessage: messageText,\n orgName: orgName,\n });\n }\n } else {\n // Create multi-user channel\n // For simplicity, using first user's name for channel title\n const userIds = selectedItems\n .map((item) => item.userId || (item.members?.length > 0 ? item.members[0]?.id : null))\n .filter(Boolean);\n\n const result = await addChannel({\n variables: {\n name: `${selectedItems[0].title}'s chat`,\n description: '',\n type: RoomType.Direct,\n },\n });\n\n if (result.data?.createChannel) {\n const newChannelId = result.data.createChannel.id;\n\n // Add other members to the channel\n if (userIds.length > 0) {\n await saveMembersToChannel({\n variables: {\n channelId: newChannelId,\n membersIds: userIds,\n },\n });\n }\n\n navigation.navigate('ChannelInfo', {\n channelId: newChannelId,\n initialMessage: messageText,\n orgName: orgName,\n });\n }\n }\n }\n } catch (error) {\n console.error('Error creating channel:', error);\n }\n };\n\n // Render a selected item as a chip in the To: field\n const renderSelectedItemChip = (item: any, index: number) => {\n return (\n <View key={index} style={styles.chipContainer}>\n <Avatar size=\"xs\" style={styles.chipAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.imageAcronym || item.title.charAt(0)}</AvatarFallbackText>\n )}\n </Avatar>\n <Text style={styles.chipText}>{item.title}</Text>\n </View>\n );\n };\n\n // Render list items (channels and users)\n const renderListItem = (item: any, index: number) => {\n // if (item.type === 'header') {\n // return (\n // <HStack key={index} style={styles.sectionHeader}>\n // <SimpleLineIcons name=\"bell\" size={16} color=\"#2563EB\" />\n // <Text style={styles.sectionHeaderText}>{item.title}</Text>\n // </HStack>\n // );\n // }\n\n return (\n <HStack key={index} style={styles.listItem}>\n <HStack style={styles.listItemLeft}>\n {/* {item.type === 'app' && item.appName === 'figma' && (\n <View style={styles.iconContainer}>\n <MaterialCommunityIcons name=\"sigma\" size={20} color=\"#F24E1E\" />\n </View>\n )} */}\n\n {/* {item.type === 'app' && item.appName === 'github' && (\n <View style={styles.iconContainer}>\n <AntDesign name=\"github\" size={20} color=\"#000\" />\n </View>\n )} */}\n\n {item.type == RoomType.Channel && (\n <View style={styles.iconContainer}>\n <Octicons name=\"hash\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Private && (\n <View style={styles.iconContainer}>\n <Octicons name=\"lock\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Direct && (\n <Avatar size=\"sm\" style={styles.userAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.title.charAt(0)}</AvatarFallbackText>\n )}\n <AvatarBadge style={styles.onlineBadge} />\n </Avatar>\n )}\n\n <HStack style={styles.titleContainer}>\n <Text style={styles.itemTitle}>{item.title}</Text>\n {item.type === 'app' && (\n <View style={styles.appLabel}>\n <Text style={styles.appLabelText}>APP</Text>\n </View>\n )}\n </HStack>\n </HStack>\n\n <TouchableOpacity onPress={() => toggleItemSelection(item)}>\n {isItemSelected(item) ? (\n <View style={styles.checkedBox}>\n <Feather name=\"check\" size={18} color=\"#fff\" />\n </View>\n ) : (\n <View style={styles.uncheckedBox} />\n )}\n </TouchableOpacity>\n </HStack>\n );\n };\n\n // Sample data for the channel list\n // const listData = [\n // { id: 'header1', type: 'header', title: 'Message with external people' },\n // { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n // { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n // { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n // { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n // { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n // { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n // { id: 'cdecode', title: 'cdecode', type: 'private' },\n // { id: 'general', title: 'general', type: 'channel' },\n // { id: 'mobile', title: 'mobile', type: 'private' },\n // ];\n\n const listData = [{ id: 'header1', type: 'header', title: 'Message with external people' }, ...channels];\n\n const filteredData = searchText.trim()\n ? listData.filter(\n (item) => item.type !== 'header' && item.title.toLowerCase().includes(searchText.toLowerCase()),\n )\n : listData;\n\n return (\n <SafeAreaView style={{ flex: 1, backgroundColor: '#fff' }}>\n <Box style={styles.container}>\n {/* To: field with search */}\n <HStack style={styles.searchContainer}>\n <Text style={styles.toLabel}>To:</Text>\n <View style={styles.chipContainerWrapper}>\n <View style={styles.chipWrapView}>\n {selectedItems.map(renderSelectedItemChip)}\n <TextInput\n ref={inputRef}\n style={styles.searchInput}\n placeholder={selectedItems.length ? '' : 'Search for a channel or conversation'}\n placeholderTextColor=\"#9CA3AF\"\n value={searchText}\n onChange={(event) => setSearchText(event.nativeEvent.text)}\n />\n </View>\n </View>\n </HStack>\n\n {/* List of channels and people */}\n <ScrollView style={styles.listContainer}>{filteredData.map(renderListItem)}</ScrollView>\n\n {/* Message input at bottom */}\n <HStack style={styles.messageInputContainer}>\n <TextInput\n style={styles.messageInput}\n placeholder={`Message ${selectedItems.map((item) => item.title).join(', ')}`}\n placeholderTextColor=\"#9CA3AF\"\n value={messageText}\n onChangeText={setMessageText}\n />\n <TouchableOpacity style={styles.sendButton} onPress={handleSendMessage}>\n <Feather name=\"arrow-right\" size={22} color=\"#fff\" />\n </TouchableOpacity>\n </HStack>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n },\n headerTitle: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n searchContainer: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n toLabel: {\n fontSize: 16,\n marginRight: 8,\n marginTop: 8,\n color: '#374151',\n },\n chipContainerWrapper: {\n flex: 1,\n },\n chipWrapView: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipScrollView: {\n flex: 1,\n },\n chipScrollContent: {\n alignItems: 'center',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#EFF6FF',\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 6,\n marginRight: 8,\n marginBottom: 8,\n },\n chipAvatar: {\n width: 20,\n height: 20,\n marginRight: 4,\n },\n chipText: {\n color: '#1E40AF',\n fontSize: 14,\n },\n searchInput: {\n flex: 1,\n height: 40,\n fontSize: 16,\n minWidth: 100,\n },\n listContainer: {\n flex: 1,\n },\n sectionHeader: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 16,\n paddingBottom: 8,\n },\n sectionHeaderText: {\n marginLeft: 8,\n fontWeight: 'bold',\n fontSize: 16,\n color: '#374151',\n },\n listItem: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n listItemLeft: {\n flexDirection: 'row',\n alignItems: 'center',\n flex: 1,\n },\n iconContainer: {\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n marginRight: 12,\n },\n userAvatar: {\n marginRight: 12,\n },\n onlineBadge: {\n width: 8,\n height: 8,\n backgroundColor: '#10B981',\n borderWidth: 1,\n borderColor: '#FFFFFF',\n bottom: 0,\n right: 0,\n },\n titleContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n itemTitle: {\n fontSize: 16,\n color: '#1F2937',\n },\n appLabel: {\n backgroundColor: '#E5E5E5',\n borderRadius: 4,\n paddingHorizontal: 6,\n paddingVertical: 2,\n marginLeft: 8,\n },\n appLabelText: {\n fontSize: 10,\n fontWeight: 'bold',\n color: '#4B5563',\n },\n uncheckedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n borderWidth: 1,\n borderColor: '#D1D5DB',\n },\n checkedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n messageInputContainer: {\n borderTopWidth: 1,\n borderTopColor: '#E5E5E5',\n paddingHorizontal: 16,\n paddingVertical: 12,\n flexDirection: 'row',\n alignItems: 'center',\n },\n messageInput: {\n flex: 1,\n height: 40,\n backgroundColor: '#F9FAFB',\n borderRadius: 20,\n paddingHorizontal: 16,\n marginRight: 12,\n fontSize: 16,\n },\n sendButton: {\n width: 40,\n height: 40,\n borderRadius: 20,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default React.memo(SearchAddChannel);\n"],"names":["React","props","_a","_b","_c","ch","_d","_e","_f","_g","_h","_i"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useEffect}from'react';import {Box,Input,InputSlot,Text,InputField,Button,VStack,FlatList,HStack,Avatar,AvatarFallbackText,AvatarImage,AvatarBadge,Checkbox,CheckboxIndicator,CheckboxIcon,CheckIcon}from'@admin-layout/gluestack-ui-mobile';import {Keyboard,TouchableOpacity,Platform,Dimensions}from'react-native';import {RoomType}from'common';import {NavigationRoutes}from'../../constants/routes.js';import {Ionicons,SimpleLineIcons,Octicons}from'@expo/vector-icons';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {uniqBy,startCase}from'lodash-es';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import {useChannelsQuery,useOrganizationMembersQuery,useAddDirectChannelMutation,useAddMemberToChannelMutation,useSaveMembersToChannelMutation}from'../../queries/slackuiQueries.js';const windowWidth = Dimensions.get("window").width;
|
|
1
|
+
import React__default,{useState,useEffect}from'react';import {Box,Input,InputSlot,Text,InputField,Button,VStack,FlatList,HStack,Avatar,AvatarFallbackText,AvatarImage,AvatarBadge,Checkbox,CheckboxIndicator,CheckboxIcon,CheckIcon}from'@admin-layout/gluestack-ui-mobile';import {Keyboard,TouchableOpacity,Platform,Dimensions}from'react-native';import {RoomType}from'common';import {NavigationRoutes}from'../../constants/routes.js';import {Ionicons,SimpleLineIcons,Octicons}from'@expo/vector-icons';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {uniqBy,startCase}from'lodash-es';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.js';import {useChannelsQuery,useOrganizationMembersQuery,useAddDirectChannelMutation,useAddMemberToChannelMutation,useSaveMembersToChannelMutation}from'../../queries/slackuiQueries.js';const windowWidth = Dimensions.get("window").width;
|
|
2
2
|
const windowHeight = Dimensions.get("window").height;
|
|
3
3
|
Dimensions.get("screen").height;
|
|
4
4
|
const defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];
|