@messenger-box/slack-ui-mobile 10.0.3-alpha.40 → 10.0.3-alpha.46
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 +16 -2
- package/lib/components/AppRootContextProviderComponent.js.map +1 -1
- package/lib/components/CustomDrawer/CustomDrawer.js +3 -3
- package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.js +4 -12
- package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js +4 -8
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
- package/lib/compute.js +25 -14
- package/lib/index.js.map +1 -1
- package/lib/queries/slackuiQueries.js +129 -0
- package/lib/queries/slackuiQueries.js.map +1 -0
- package/lib/routes.json +25 -14
- 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/AddChannel.js +1 -1
- package/lib/screens/Channels/AddChannel.js.map +1 -1
- package/lib/screens/Channels/Channels.js +6 -16
- package/lib/screens/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js +19 -98
- package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +90 -116
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
- package/lib/screens/Home/Components/InviteMembers/index.js +2 -2
- package/lib/screens/Home/Components/InviteMembers/index.js.map +1 -1
- package/lib/screens/Home/Components/Teams/Teams.js +22 -77
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +2 -2
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js +45 -13
- package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
- package/lib/screens/Inbox/InboxDialogMessages.js +2 -2
- package/lib/screens/Inbox/InboxDialogMessages.js.map +1 -1
- package/lib/screens/Organization/AddWorkspace.js +4 -8
- package/lib/screens/Organization/AddWorkspace.js.map +1 -1
- package/lib/screens/Organization/CreateOrganization.js +1 -1
- package/lib/screens/Organization/CreateOrganization.js.map +1 -1
- package/lib/screens/Organization/InitialChannelOnboarding.js +19 -3
- package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
- package/lib/screens/Organization/InitializeOrganizationChannel.js +6 -3
- package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
- package/lib/screens/Organization/InviteOrganizationMembers.js +50 -10
- package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
- package/lib/screens/Peoples/AddByEmail.js +1 -1
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js +34 -9
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/lib/screens/Peoples/AddPeople.js +8 -17
- package/lib/screens/Peoples/AddPeople.js.map +1 -1
- package/lib/screens/Peoples/People.js +42 -4
- package/lib/screens/Peoples/People.js.map +1 -1
- package/lib/screens/Profile/ProfileScreen.js +24 -9
- package/lib/screens/Profile/ProfileScreen.js.map +1 -1
- package/lib/screens/Search/Channels.js +3 -7
- package/lib/screens/Search/Channels.js.map +1 -1
- package/lib/screens/Search/People.js +2 -2
- package/lib/screens/Search/People.js.map +1 -1
- package/lib/screens/Search/Recents.js +2 -2
- package/lib/screens/Search/Recents.js.map +1 -1
- package/lib/screens/Search/SearchAddChannel.js +85 -12
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js +22 -2
- package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
- package/lib/screens/Search/SearchScreen.js +2 -2
- package/lib/screens/Search/SearchScreen.js.map +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 +2 -2
- package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Teams/Components/Members/Members.js.map +1 -1
- package/lib/screens/Teams/Team.js +2 -7
- package/lib/screens/Teams/Team.js.map +1 -1
- package/lib/screens/Teams/Teams.js +1 -1
- package/lib/screens/Teams/Teams.js.map +1 -1
- package/lib/screens/Teams/useTeams.js +27 -90
- package/lib/screens/Teams/useTeams.js.map +1 -1
- package/package.json +3 -3
- package/lib/screens/Teams/Teams-xstate.js +0 -226
- package/lib/screens/Teams/Teams-xstate.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchChannelPeople.js","sources":["../../../src/screens/Search/SearchChannelPeople.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 Fab,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n Image,\n Checkbox,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { TouchableOpacity, Dimensions, Keyboard, KeyboardEvent } from 'react-native';\nimport { RoomType } from 'common';\nimport { useGetChannelsByUserQuery } from 'common/graphql';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { Ionicons, SimpleLineIcons } 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 { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport colors from 'tailwindcss/colors';\nimport { useDrawerLayout } from '../../hooks';\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];\n\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\nconst SearchChannelPeople = ({ navigation, route }: 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 [selectedMembers, setSelectedMembers] = useState<any>([]);\n const [showChannels, setShowChannels] = useState<boolean>(false);\n const keyboardHeight = useKeyboard();\n const {\n data: userChannelsData,\n loading,\n error,\n refetch: refetchUserChannels,\n } = useGetChannelsByUserQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n limit: 25,\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetchUserChannels({\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n limit: 25,\n });\n }\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n // headerRight: (props: any) => (\n // <Button\n // // onPress={() => addMemeberToChannel()}\n // variant={'link'}\n // _text={{ color: selectedMembers?.length > 0 ? 'black' : 'gray.400', fontSize: 15 }}\n // disabled={selectedMembers?.length > 0 ? false : true}\n // >\n // {selectedMembers?.length ? 'ADD' : 'ADD'}\n // </Button>\n // ),\n });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [orgName, selectedMembers]),\n );\n\n React.useEffect(() => {\n if (userChannelsData?.channelsByUser) {\n setChannels((oldChannels: any) =>\n uniqBy([...userChannelsData?.channelsByUser, ...oldChannels], ({ id }) => id),\n );\n }\n }, [userChannelsData]);\n\n const renderChannels = ({ item }: any) => {\n const matches: any = item?.title?.match(/\\b(\\w)/g);\n // const acronym: any = matches.join('').substring(0, 2); // JSON\n\n const channelMembers = item?.members?.map((m: any) => m?.user) ?? null;\n\n const title =\n item.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : item.title;\n\n return (\n <TouchableOpacity key={item?.id} style={{ marginVertical: 10 }} onPress={() => selectMembers(item?.id)}>\n <HStack className=\"flex-1 items-center justify-between\">\n <HStack className=\"flex-1 items-center\" space={'sm'}>\n <Box className=\"m-0 p-0\">\n {item.type == RoomType.Direct ? (\n <Avatar key={'direct-channel-profile-msg-key'} size={'sm'} className=\"bg-transparent\">\n <AvatarFallbackText>\n {startCase(channelMembers[0]?.username?.charAt(0))}\n </AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n // width: 25,\n // height: 25,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: channelMembers[0]?.picture,\n }}\n />\n {channelMembers?.length > 1 ? (\n <AvatarBadge\n style={{ width: 20, height: 20 }}\n className=\"right-[-1px] bottom-[-1px] items-center rounded-md bg-[#211627]\"\n >\n <Text style={{ fontSize: 12, fontWeight: 'bold', color: '#fff' }}>\n {channelMembers?.length}\n </Text>\n </AvatarBadge>\n ) : (\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n )}\n </Avatar>\n ) : item.type == RoomType.Private ? (\n <>\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </>\n ) : (\n <Octicons color=\"black\" name=\"hash\" size={20} />\n )}\n </Box>\n <Text className=\"text-gray-800 font-bold\">{title}</Text>\n </HStack>\n\n <Checkbox\n onChange={() => selectMembers(item?.id)}\n value={item?.id}\n isChecked={selectedMembers && selectedMembers?.includes(item?.id) ? true : false}\n accessibilityLabel={item.title ?? ''}\n aria-label={item.title ?? ''}\n aria-labelledby={item.title ?? ''}\n className=\"border-gray-600\"\n >\n <CheckboxIndicator>\n <CheckboxIcon as={CheckIcon} />\n </CheckboxIndicator>\n </Checkbox>\n </HStack>\n </TouchableOpacity>\n );\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 }\n };\n\n const searchMembers = React.useCallback(\n (v: any) => {\n if (v) {\n let searchedChannel = channels.filter((o: any) => o?.user?.givenName.includes(v));\n setChannels(searchedChannel);\n } else {\n setChannels(initialOrgMembers);\n }\n },\n [channels],\n );\n\n return (\n <Box className={`flex-1 bg-white w-[${windowWidth}px] h-[${windowHeight}px]`}>\n <Input className=\"pl-4\" variant=\"underlined\">\n <InputSlot className=\"pl-3\">\n <Text className=\"pl-4 text-[15px]\">To:</Text>\n </InputSlot>\n <InputField\n //autoFocus={true}\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n className=\"px-3 bg-white items-center text-[15px] text-black\"\n placeholder=\"Add a channel or person\"\n onChange={({ nativeEvent: { eventCount, target, text } }) => {\n searchMembers(text);\n }}\n onPressIn={() => setShowChannels(true)}\n onPressOut={() => setShowChannels(true)}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n <InputSlot className=\"pr-3\">\n <Button className=\"bg-transparent\">\n <SimpleLineIcons color=\"black\" name=\"user-follow\" size={20} />\n </Button>\n </InputSlot>\n </Input>\n <Box className=\"flex-1\">\n <VirtualizedScrollView>\n <VStack space=\"sm\" className=\"flex-1 pt-2\">\n <FlatList\n style={{ paddingHorizontal: 4, flex: 1, paddingBottom: 10 }}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n marginBottom: 100,\n }}\n data={channels && channels.length > 0 ? (showChannels ? channels : []) : []}\n renderItem={renderChannels}\n ListEmptyComponent={() => {\n return (\n <Box className=\"bg-white py-2\">\n <VStack space=\"sm\">\n <Box className=\"px-4 py-5\">\n {showChannels && <Text>No matches found</Text>}\n </Box>\n </VStack>\n </Box>\n );\n }}\n key={'add-channel-people-list'}\n keyboardShouldPersistTaps=\"always\"\n />\n </VStack>\n </VirtualizedScrollView>\n </Box>\n <Box className=\"flex-1\">\n <Input\n variant=\"underlined\"\n className={`flex-1 absolute bottom-[${keyboardHeight == 0 ? 5 : keyboardHeight}px] pl-4`}\n >\n <InputField\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n placeholder=\"Start a new message\"\n onPressIn={() => setShowChannels(false)}\n autoCapitalize={'none'}\n autoCorrect={false}\n className=\"flex-1 px-4 bg-white items-center text-[15px] text-black border-t border-t-gray-200 border-b-0\"\n />\n </Input>\n </Box>\n </Box>\n );\n};\n\nexport default SearchChannelPeople;\n"],"names":["React","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SearchChannelPeople.js","sources":["../../../src/screens/Search/SearchChannelPeople.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 Fab,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n Image,\n Checkbox,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { TouchableOpacity, Dimensions, Keyboard, KeyboardEvent } from 'react-native';\nimport { RoomType } from 'common';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { Ionicons, SimpleLineIcons } 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 { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport colors from 'tailwindcss/colors';\nimport { useDrawerLayout } from '../../hooks';\nimport {\n useChannelsQuery,\n useOrganizationMembersQuery,\n useAddDirectChannelMutation,\n useAddMemberToChannelMutation,\n useSaveMembersToChannelMutation,\n} from '../../queries/slackuiQueries';\n\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];\n\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\nconst SearchChannelPeople = ({ navigation, route }: 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 [selectedMembers, setSelectedMembers] = useState<any>([]);\n const [showChannels, setShowChannels] = useState<boolean>(false);\n const keyboardHeight = useKeyboard();\n\n // Replace direct GraphQL query with wrapper from slackuiQueries\n const {\n data: userChannelsData,\n loading,\n error,\n refetch: refetchUserChannels,\n } = useChannelsQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n limit: 25,\n },\n });\n\n // Add organization members query\n const {\n data: orgMembersData,\n loading: orgMembersLoading,\n refetch: refetchOrgMembers,\n } = useOrganizationMembersQuery(orgName);\n\n // Add mutations for managing channels and members\n const [addDirectChannel] = useAddDirectChannelMutation();\n const [addMemberToChannel] = useAddMemberToChannelMutation();\n const [saveMembersToChannel] = useSaveMembersToChannelMutation();\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetchUserChannels({\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n limit: 25,\n });\n\n // Also refetch organization members\n refetchOrgMembers();\n }\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n // headerRight: (props: any) => (\n // <Button\n // // onPress={() => addMemeberToChannel()}\n // variant={'link'}\n // _text={{ color: selectedMembers?.length > 0 ? 'black' : 'gray.400', fontSize: 15 }}\n // disabled={selectedMembers?.length > 0 ? false : true}\n // >\n // {selectedMembers?.length ? 'ADD' : 'ADD'}\n // </Button>\n // ),\n });\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [orgName, selectedMembers]),\n );\n\n React.useEffect(() => {\n if (userChannelsData?.channelsByUser) {\n setChannels((oldChannels: any) =>\n uniqBy([...userChannelsData?.channelsByUser, ...oldChannels], ({ id }) => id),\n );\n }\n }, [userChannelsData]);\n\n // Add effect to handle organization members data\n useEffect(() => {\n const orgMembers = orgMembersData?.getOrganizationMembers;\n if (orgMembers && Array.isArray(orgMembers.data)) {\n const members = orgMembers.data.map((member: any) => ({\n id: member.user.id,\n user: member.user,\n type: RoomType.Direct,\n }));\n setInitialOrgMembers(members);\n }\n }, [orgMembersData]);\n\n const renderChannels = ({ item }: any) => {\n const matches: any = item?.title?.match(/\\b(\\w)/g);\n // const acronym: any = matches.join('').substring(0, 2); // JSON\n\n const channelMembers = item?.members?.map((m: any) => m?.user) ?? null;\n\n const title =\n item.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : item.title;\n\n return (\n <TouchableOpacity key={item?.id} style={{ marginVertical: 10 }} onPress={() => selectMembers(item?.id)}>\n <HStack className=\"flex-1 items-center justify-between\">\n <HStack className=\"flex-1 items-center\" space={'sm'}>\n <Box className=\"m-0 p-0\">\n {item.type == RoomType.Direct ? (\n <Avatar key={'direct-channel-profile-msg-key'} size={'sm'} className=\"bg-transparent\">\n <AvatarFallbackText>\n {startCase(channelMembers[0]?.username?.charAt(0))}\n </AvatarFallbackText>\n <AvatarImage\n alt=\"image\"\n style={{\n // width: 25,\n // height: 25,\n borderRadius: 6,\n borderWidth: 2,\n borderColor: '#fff',\n }}\n source={{\n uri: channelMembers[0]?.picture,\n }}\n />\n {channelMembers?.length > 1 ? (\n <AvatarBadge\n style={{ width: 20, height: 20 }}\n className=\"right-[-1px] bottom-[-1px] items-center rounded-md bg-[#211627]\"\n >\n <Text style={{ fontSize: 12, fontWeight: 'bold', color: '#fff' }}>\n {channelMembers?.length}\n </Text>\n </AvatarBadge>\n ) : (\n <AvatarBadge style={{ width: 10, height: 10 }} className=\"bg-green-800\" />\n )}\n </Avatar>\n ) : item.type == RoomType.Private ? (\n <>\n <Octicons color=\"black\" name=\"lock\" size={20} />\n </>\n ) : (\n <Octicons color=\"black\" name=\"hash\" size={20} />\n )}\n </Box>\n <Text className=\"text-gray-800 font-bold\">{title}</Text>\n </HStack>\n\n <Checkbox\n onChange={() => selectMembers(item?.id)}\n value={item?.id}\n isChecked={selectedMembers && selectedMembers?.includes(item?.id) ? true : false}\n accessibilityLabel={item.title ?? ''}\n aria-label={item.title ?? ''}\n aria-labelledby={item.title ?? ''}\n className=\"border-gray-600\"\n >\n <CheckboxIndicator>\n <CheckboxIcon as={CheckIcon} />\n </CheckboxIndicator>\n </Checkbox>\n </HStack>\n </TouchableOpacity>\n );\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 // Use the mutations here according to your requirements\n saveMembersToChannel({\n variables: {\n membersIds: selectedMembers,\n channelId: route?.params?.channelId,\n },\n })\n .then((result) => {\n navigation.goBack();\n })\n .catch((error) => {\n console.error('Error adding members:', error);\n });\n }\n };\n\n const searchMembers = React.useCallback(\n (v: any) => {\n if (v) {\n let searchedChannel = channels.filter((o: any) => o?.user?.givenName.includes(v));\n setChannels(searchedChannel);\n } else {\n setChannels(initialOrgMembers);\n }\n },\n [channels],\n );\n\n return (\n <Box className={`flex-1 bg-white w-[${windowWidth}px] h-[${windowHeight}px]`}>\n <Input className=\"pl-4\" variant=\"underlined\">\n <InputSlot className=\"pl-3\">\n <Text className=\"pl-4 text-[15px]\">To:</Text>\n </InputSlot>\n <InputField\n //autoFocus={true}\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n className=\"px-3 bg-white items-center text-[15px] text-black\"\n placeholder=\"Add a channel or person\"\n onChange={({ nativeEvent: { eventCount, target, text } }) => {\n searchMembers(text);\n }}\n onPressIn={() => setShowChannels(true)}\n onPressOut={() => setShowChannels(true)}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n <InputSlot className=\"pr-3\">\n <Button className=\"bg-transparent\">\n <SimpleLineIcons color=\"black\" name=\"user-follow\" size={20} />\n </Button>\n </InputSlot>\n </Input>\n <Box className=\"flex-1\">\n <VirtualizedScrollView>\n <VStack space=\"sm\" className=\"flex-1 pt-2\">\n <FlatList\n style={{ paddingHorizontal: 4, flex: 1, paddingBottom: 10 }}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n marginBottom: 100,\n }}\n data={channels && channels.length > 0 ? (showChannels ? channels : []) : []}\n renderItem={renderChannels}\n ListEmptyComponent={() => {\n return (\n <Box className=\"bg-white py-2\">\n <VStack space=\"sm\">\n <Box className=\"px-4 py-5\">\n {showChannels && <Text>No matches found</Text>}\n </Box>\n </VStack>\n </Box>\n );\n }}\n key={'add-channel-people-list'}\n keyboardShouldPersistTaps=\"always\"\n />\n </VStack>\n </VirtualizedScrollView>\n </Box>\n <Box className=\"flex-1\">\n <Input\n variant=\"underlined\"\n className={`flex-1 absolute bottom-[${keyboardHeight == 0 ? 5 : keyboardHeight}px] pl-4`}\n >\n <InputField\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n placeholder=\"Start a new message\"\n onPressIn={() => setShowChannels(false)}\n autoCapitalize={'none'}\n autoCorrect={false}\n className=\"flex-1 px-4 bg-white items-center text-[15px] text-black border-t border-t-gray-200 border-b-0\"\n />\n </Input>\n </Box>\n </Box>\n );\n};\n\nexport default SearchChannelPeople;\n"],"names":["React","_a"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useLayoutEffect}from'react';import {SafeAreaView,Dimensions}from'react-native';import {Box}from'@admin-layout/gluestack-ui-mobile';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useNavigation,useRoute,useFocusEffect}from'@react-navigation/native';import {RoomType}from'common';import {
|
|
1
|
+
import React__default,{useState,useLayoutEffect}from'react';import {SafeAreaView,Dimensions}from'react-native';import {Box}from'@admin-layout/gluestack-ui-mobile';import VirtualizedScrollView from'../../components/VirtualizedScrollView/VirtualizedScrollView.js';import {useNavigation,useRoute,useFocusEffect}from'@react-navigation/native';import {RoomType}from'common';import {useChannelsQuery}from'../../queries/slackuiQueries.js';import {uniqBy}from'lodash-es';import {useSelector}from'react-redux';import {userSelector}from'@adminide-stack/user-auth0-client';import {LoadingSpinnerDefault}from'../../components/LoadingSpinner/index.js';import Recents from'./Recents.js';import Channels from'./Channels.js';import People from'./People.js';import Files from'./Files.js';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
3
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
4
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -38,7 +38,7 @@ const SearchScreen = ({
|
|
|
38
38
|
loading: userChannelLoading,
|
|
39
39
|
error,
|
|
40
40
|
refetch: refetchUserChannels
|
|
41
|
-
} =
|
|
41
|
+
} = useChannelsQuery({
|
|
42
42
|
variables: {
|
|
43
43
|
criteria: {
|
|
44
44
|
orgName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchScreen.js","sources":["../../../src/screens/Search/SearchScreen.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { Dimensions, SafeAreaView } from 'react-native';\nimport { View, Box } from '@admin-layout/gluestack-ui-mobile';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native';\nimport { navigationRef } from '@common-stack/client-react';\nimport { RoomType } from 'common';\nimport {
|
|
1
|
+
{"version":3,"file":"SearchScreen.js","sources":["../../../src/screens/Search/SearchScreen.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { Dimensions, SafeAreaView } from 'react-native';\nimport { View, Box } from '@admin-layout/gluestack-ui-mobile';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native';\nimport { navigationRef } from '@common-stack/client-react';\nimport { RoomType } from 'common';\nimport { useChannelsQuery } from '../../queries/slackuiQueries';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { useSelector } from 'react-redux';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { LoadingSpinnerDefault } from '../../components/LoadingSpinner';\nimport Recents from './Recents';\nimport Channels from './Channels';\nimport People from './People';\nimport Files from './Files';\nimport { useDrawerLayout } from '../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\nconst defaultAllChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\nconst SearchScreen = ({ tab = 'recents' }) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const user = useSelector(userSelector);\n const navigation = useNavigation<any>();\n const route = useRoute<any>();\n const [loading, setLoading] = useState<boolean>(true);\n const [searchType, setSearchType] = useState<string>(tab);\n const [channels, setChannels] = useState<any>([]);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const channelType =\n tab === 'channels' ? defaultChannelType : tab === 'people' ? RoomType.Direct : defaultAllChannelType;\n\n // Query for channels\n const {\n data: userChannelsData,\n loading: userChannelLoading,\n error,\n refetch: refetchUserChannels,\n } = useChannelsQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: channelType,\n },\n limit: 20,\n },\n });\n\n useLayoutEffect(() => {\n if (tab) setSearchType(tab);\n }, [tab]);\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetchUserChannels({\n criteria: {\n orgName: orgName,\n type: channelType,\n },\n limit: 20,\n });\n }\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [orgName]),\n );\n\n React.useEffect(() => {\n if (userChannelsData?.channelsByUser) {\n const allChannel: any =\n userChannelsData?.channelsByUser?.map((i: any) => {\n let ch = { ...i };\n const channelMembers = ch?.members?.map((m: any) => m?.user) ?? null;\n const title =\n ch.type == RoomType.Direct\n ? channelMembers\n ?.filter((ch: any) => ch?.id != user?.id && ch?.__typename == 'UserAccount')\n ?.map((u: any) => u?.givenName ?? '')\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : ch.title;\n ch.title = title;\n return ch;\n }) ?? [];\n setChannels((oldChannels: any) => uniqBy([...allChannel, ...oldChannels], ({ id }) => id));\n setInitialOrgMembers((oldChannels: any) => uniqBy([...allChannel, ...oldChannels], ({ id }) => id));\n setLoading(false);\n }\n }, [userChannelsData]);\n\n if (userChannelLoading || loading) return <LoadingSpinnerDefault />;\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <VirtualizedScrollView bg={'#fff'} flex={1}>\n <Box className=\"flex-1 bg-white pb-10 h-full px-2\">\n {searchType == 'recents' && <Recents channels={channels} loading={userChannelLoading} />}\n {searchType == 'channels' && <Channels channels={channels} loading={userChannelLoading} />}\n {searchType == 'people' && <People channels={channels} loading={userChannelLoading} />}\n {searchType == 'files' && <Files />}\n </Box>\n </VirtualizedScrollView>\n </SafeAreaView>\n );\n};\n\nexport default SearchScreen;\n"],"names":["React","_a","_b","ch"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useEffect,useCallback}from'react';import {useToast,
|
|
1
|
+
import React__default,{useState,useEffect,useCallback}from'react';import {useToast,Button,ButtonText,ToastAlert,Box,VStack,FormControl,FormControlLabel,FormControlLabelText,Input,InputSlot,Text,InputField,FormControlError,FormControlErrorText}from'@admin-layout/gluestack-ui-mobile';import {useCreateTeamMutation}from'../../queries/slackuiQueries.js';import {NavigationRoutes}from'../../constants/routes.js';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';const AddTeam = ({
|
|
2
2
|
navigation,
|
|
3
3
|
route
|
|
4
4
|
}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddTeam.js","sources":["../../../src/screens/Teams/AddTeam.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { StyleSheet, TouchableOpacity } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n Text,\n VStack,\n Box,\n FormControl,\n FormControlLabel,\n FormControlLabelText,\n FormControlHelper,\n FormControlHelperText,\n FormControlError,\n FormControlErrorText,\n Button,\n ButtonText,\n useToast,\n ToastAlert,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { useCreateTeamMutation } from 'common/graphql';\nimport { AntDesign } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { useDrawerLayout } from '../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst AddTeam = ({ navigation, route }: any) => {\n const Toast = useToast();\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const { orgName, organizationDetail } = useDrawerLayout();\n\n const [createTeam, { error }] = useCreateTeamMutation({\n context: {\n headers: {\n orgname: orgName,\n },\n },\n onCompleted: (data: any) => {\n navigation.navigate(NavigationRoutes.Teams);\n },\n onError: (error: any) => {\n console.log('add team error', error);\n if (error) {\n Toast.show({\n placement: 'top',\n duration: 2000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Team already exists'} status={'error'} isClosable={false} />\n ),\n });\n }\n },\n });\n\n useEffect(() => {\n if (name && name.length > 0) setShowCreateButton(true);\n else setShowCreateButton(false);\n }, [name]);\n\n useEffect(() => {\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerRight: (props: any) => (\n <Button\n className=\"mr-2\"\n onPress={() => handleCreateTeam()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText style={{ color: showCreateButton ? 'black' : '#71717a' }}>Create</ButtonText>\n </Button>\n ),\n });\n }, [name, description, showCreateButton]);\n\n const handleCreateTeam = useCallback(() => {\n try {\n if (name && name.length > 0) {\n createTeam({\n variables: {\n request: {\n name: name,\n title: name,\n description: description,\n //orgName: route?.params?.orgName,\n //emails:[],\n //tags:[]\n },\n },\n });\n }\n } catch (error) {\n console.log('error', error);\n Toast.show({\n placement: 'top',\n duration: 1000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Team already exists'} status={'error'} isClosable={false} />\n ),\n });\n }\n }, [name]);\n\n // const createNewTeam = () => {\n // if (name && name.length > 0) {\n // createTeam({\n // variables: {\n // request: {\n // name: name,\n // title: name,\n // description: description,\n // //orgName: route?.params?.orgName,\n // //emails:[],\n // //tags:[]\n // },\n // },\n // });\n // }\n // };\n\n return (\n <Box className=\"flex-1 bg-white shadow-md py-2 h-full\">\n <VStack space=\"md\">\n <Box className=\"px-4 pt-4\">\n {/* <FormControl isInvalid={nameIsInvalid} mt=\"3\"> */}\n <FormControl className=\"mt-3\">\n <FormControlLabel className=\"mb-1\">\n <FormControlLabelText>Team Name</FormControlLabelText>\n </FormControlLabel>\n\n <Input variant=\"underlined\">\n <InputSlot className=\"pl-0\">\n <Text className=\"text-gray-500\">#</Text>\n </InputSlot>\n <InputField\n type=\"text\"\n placeholder=\" e.g. My company team\"\n maxLength={80}\n value={name}\n onChange={(event) => setName(event.nativeEvent.text)}\n />\n <InputSlot className=\"pr-3\">\n <Text className=\"text-gray-500\">{80 - name.length}</Text>\n </InputSlot>\n </Input>\n <FormControlError>\n <FormControlErrorText className=\"text-red-500\">\n Team names must be lowercase, and can't contain spaces,periods,or most punctuation.\n </FormControlErrorText>\n </FormControlError>\n </FormControl>\n <FormControl className=\"mt-3\">\n <FormControlLabel className=\"mb-1\">\n <FormControlLabelText>Description</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputField\n type=\"text\"\n placeholder=\"Team description\"\n value={description}\n onChange={(event) => setDescription(event.nativeEvent.text)}\n />\n </Input>\n </FormControl>\n </Box>\n </VStack>\n </Box>\n );\n};\n\nexport default AddTeam;\n"],"names":["error","React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddTeam.js","sources":["../../../src/screens/Teams/AddTeam.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { StyleSheet, TouchableOpacity } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n Text,\n VStack,\n Box,\n FormControl,\n FormControlLabel,\n FormControlLabelText,\n FormControlHelper,\n FormControlHelperText,\n FormControlError,\n FormControlErrorText,\n Button,\n ButtonText,\n useToast,\n ToastAlert,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { useCreateTeamMutation } from '../../queries';\nimport { AntDesign } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { useDrawerLayout } from '../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst AddTeam = ({ navigation, route }: any) => {\n const Toast = useToast();\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const { orgName, organizationDetail } = useDrawerLayout();\n\n const [createTeam, { error }] = useCreateTeamMutation({\n context: {\n headers: {\n orgname: orgName,\n },\n },\n onCompleted: (data: any) => {\n navigation.navigate(NavigationRoutes.Teams);\n },\n onError: (error: any) => {\n console.log('add team error', error);\n if (error) {\n Toast.show({\n placement: 'top',\n duration: 2000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Team already exists'} status={'error'} isClosable={false} />\n ),\n });\n }\n },\n });\n\n useEffect(() => {\n if (name && name.length > 0) setShowCreateButton(true);\n else setShowCreateButton(false);\n }, [name]);\n\n useEffect(() => {\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerRight: (props: any) => (\n <Button\n className=\"mr-2\"\n onPress={() => handleCreateTeam()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText style={{ color: showCreateButton ? 'black' : '#71717a' }}>Create</ButtonText>\n </Button>\n ),\n });\n }, [name, description, showCreateButton]);\n\n const handleCreateTeam = useCallback(() => {\n try {\n if (name && name.length > 0) {\n createTeam({\n variables: {\n request: {\n name: name,\n title: name,\n description: description,\n //orgName: route?.params?.orgName,\n //emails:[],\n //tags:[]\n },\n },\n });\n }\n } catch (error) {\n console.log('error', error);\n Toast.show({\n placement: 'top',\n duration: 1000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Team already exists'} status={'error'} isClosable={false} />\n ),\n });\n }\n }, [name]);\n\n // const createNewTeam = () => {\n // if (name && name.length > 0) {\n // createTeam({\n // variables: {\n // request: {\n // name: name,\n // title: name,\n // description: description,\n // //orgName: route?.params?.orgName,\n // //emails:[],\n // //tags:[]\n // },\n // },\n // });\n // }\n // };\n\n return (\n <Box className=\"flex-1 bg-white shadow-md py-2 h-full\">\n <VStack space=\"md\">\n <Box className=\"px-4 pt-4\">\n {/* <FormControl isInvalid={nameIsInvalid} mt=\"3\"> */}\n <FormControl className=\"mt-3\">\n <FormControlLabel className=\"mb-1\">\n <FormControlLabelText>Team Name</FormControlLabelText>\n </FormControlLabel>\n\n <Input variant=\"underlined\">\n <InputSlot className=\"pl-0\">\n <Text className=\"text-gray-500\">#</Text>\n </InputSlot>\n <InputField\n type=\"text\"\n placeholder=\" e.g. My company team\"\n maxLength={80}\n value={name}\n onChange={(event) => setName(event.nativeEvent.text)}\n />\n <InputSlot className=\"pr-3\">\n <Text className=\"text-gray-500\">{80 - name.length}</Text>\n </InputSlot>\n </Input>\n <FormControlError>\n <FormControlErrorText className=\"text-red-500\">\n Team names must be lowercase, and can't contain spaces,periods,or most punctuation.\n </FormControlErrorText>\n </FormControlError>\n </FormControl>\n <FormControl className=\"mt-3\">\n <FormControlLabel className=\"mb-1\">\n <FormControlLabelText>Description</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputField\n type=\"text\"\n placeholder=\"Team description\"\n value={description}\n onChange={(event) => setDescription(event.nativeEvent.text)}\n />\n </Input>\n </FormControl>\n </Box>\n </VStack>\n </Box>\n );\n};\n\nexport default AddTeam;\n"],"names":["error","React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useEffect}from'react';import {Dimensions,StyleSheet}from'react-native';import {Box,Input,InputField,Fab,FabIcon,AddIcon}from'@admin-layout/gluestack-ui-mobile';import Colors from'../../../../constants/Colors.js';import {NavigationRoutes}from'../../../../constants/routes.js';import {RoomType}from'common';import {
|
|
1
|
+
import React__default,{useState,useEffect}from'react';import {Dimensions,StyleSheet}from'react-native';import {Box,Input,InputField,Fab,FabIcon,AddIcon}from'@admin-layout/gluestack-ui-mobile';import Colors from'../../../../constants/Colors.js';import {NavigationRoutes}from'../../../../constants/routes.js';import {RoomType}from'common';import {useChannelsQuery}from'../../../../queries/slackuiQueries.js';import {useNavigation,useIsFocused,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 {uniqBy}from'lodash-es';import'@react-navigation/core';import'../../../../components/Header/styles.js';import'../../../../components/Tiles/styles.js';import'../../../../components/CustomDrawer/CustomDrawer.js';import'../../../../components/CustomBottomTabs/CustomBottomTabs.js';import'../../../../components/NavigationHeader/NavigationHeader.js';import'@react-navigation/elements';import'@common-stack/client-react';import'../../../../components/NavigationHeader/InboxNavigationHeader.js';import'tailwindcss/colors';import'../../../../components/WorkSpaceDrawer/WorkSpaceDrawer.js';import {ChannelsByAlphabeticalAccordion}from'../../../../components/Channels/ChannelsByAlphabeticalAccordion.js';import'../../../../components/SlackSearchInput/index.js';import'../../../../components/AppRootContextProviderComponent.js';import'../../../../components/Actionsheet.js';Dimensions.get("window").width;
|
|
2
2
|
Dimensions.get("window").height;
|
|
3
3
|
const defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];
|
|
4
4
|
const Channels = ({
|
|
@@ -18,7 +18,7 @@ const Channels = ({
|
|
|
18
18
|
loading,
|
|
19
19
|
error,
|
|
20
20
|
refetch
|
|
21
|
-
} =
|
|
21
|
+
} = useChannelsQuery({
|
|
22
22
|
variables: {
|
|
23
23
|
criteria: {
|
|
24
24
|
orgName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channels.js","sources":["../../../../../src/screens/Teams/Components/Channels/Channels.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet, TouchableHighlight, Dimensions } from 'react-native';\nimport { Input, InputField, Box, Fab, FabIcon, AddIcon } from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../../../constants/Colors';\nimport { NavigationRoutes } from '../../../../constants/routes';\n// import { AntDesign } from '@expo/vector-icons';\n// import VirtualizedScrollView from '../VirtualizedScrollView';\nimport { RoomType } from 'common';\nimport { useGetChannelsByUserQuery, useGetChannelsByUserLazyQuery } from 'common/graphql';\nimport { useIsFocused, useFocusEffect, useNavigation, useRoute } from '@react-navigation/native';\n// import { navigationRef } from '@common-stack/client-react';\n// import { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { StatusBar } from 'expo-status-bar';\nimport { useDrawerLayout } from '../../../../hooks';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { ChannelsByAlphabeticalAccordion } from '../../../../components';\nimport colors from 'tailwindcss/colors';\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\nconst Channels = ({ teamId, teamName }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigation = useNavigation<any>();\n // const route = useRoute<any>();\n const isFocused = useIsFocused();\n const [channels, setChannels] = useState<any[]>([]);\n const [intialChannels, setInitialChannels] = useState<any[]>([]);\n\n const {\n data: channelsData,\n loading,\n error,\n refetch,\n } = useGetChannelsByUserQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: teamId,\n },\n limit: 100,\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetch({\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: teamId,\n },\n limit: 100,\n });\n }\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [orgName]),\n );\n\n useEffect(() => {\n if (channelsData) {\n let channels: any = channelsData?.channelsByUser?.filter((i: any) => i.type !== RoomType.Direct);\n channels = channels?.slice()?.sort((a: any, b: any) => a.title.localeCompare(b.title)) ?? [];\n setChannels((oldChannels: any) => uniqBy([...channels, ...oldChannels], ({ id }) => id));\n setInitialChannels((oldChannels: any) => uniqBy([...channels, ...oldChannels], ({ id }) => id));\n }\n }, [channelsData]);\n\n useEffect(() => {\n if (navigation)\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {\n borderBottomWidth: 1,\n },\n headerStyle: {\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }, [channels, navigation]);\n\n const openInbox = (item: any) => {\n navigation.navigate(NavigationRoutes.DialogMessages, {\n channelId: item?.id?.toString(),\n title: item?.title?.toString(),\n totalMembers: item?.members?.length,\n hideTabBar: true,\n });\n };\n\n const sortedChannels: any = React.useMemo(() => {\n const obj = channels.reduce((r, { id, title, type, members }) => {\n const l = title[0];\n if (!r[l]) r[l] = [{ id, title, type, members }];\n else r[l].push({ id, title, type, members });\n return r;\n }, {});\n\n const sorted = Object.entries(obj).sort(([a], [b]) => a.localeCompare(b));\n\n const sortedFilteredData = sorted.map(([key, value]) => {\n return {\n title: key,\n data: value,\n };\n });\n\n return sortedFilteredData;\n }, [channels]);\n\n const searchChannels = React.useCallback(\n (v: any) => {\n if (v) {\n const searchedChannel = channels.filter((o: any) => o?.title?.toLowerCase().includes(v?.toLowerCase()));\n setChannels(searchedChannel);\n } else {\n setChannels(intialChannels);\n }\n },\n [intialChannels, channels],\n );\n\n return (\n <Box className=\"flex-1 bg-white\">\n <Input className=\"bg-white\" variant=\"underlined\">\n <InputField\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n className=\"px-3 items-center text-black text-[15px]\"\n placeholder=\"Search for channels\"\n onChange={({ nativeEvent: { eventCount, target, text } }) => {\n searchChannels(text);\n }}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n <ChannelsByAlphabeticalAccordion channels={sortedChannels} loading={loading} onPress={openInbox} />\n <Fab\n size=\"md\"\n placement={'bottom right'}\n className=\"bg-white rounded-lg \"\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddChannel, {\n teamName: teamName?.toString(),\n teamId: teamId?.toString(),\n })\n }\n >\n <FabIcon as={AddIcon} color={'#000'} />\n </Fab>\n </Box>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n //justifyContent: 'center',\n padding: 20,\n },\n itemView: {\n paddingVertical: 8,\n marginTop: 5,\n },\n headingText: {\n color: Colors.light.text,\n fontSize: 16,\n fontWeight: '400',\n },\n});\n\nexport default React.memo(Channels);\n"],"names":["React","channels"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Channels.js","sources":["../../../../../src/screens/Teams/Components/Channels/Channels.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet, TouchableHighlight, Dimensions } from 'react-native';\nimport { Input, InputField, Box, Fab, FabIcon, AddIcon } from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../../../constants/Colors';\nimport { NavigationRoutes } from '../../../../constants/routes';\n// import { AntDesign } from '@expo/vector-icons';\n// import VirtualizedScrollView from '../VirtualizedScrollView';\nimport { RoomType } from 'common';\nimport { useChannelsQuery, useChannelsLazyQuery } from '../../../../queries/slackuiQueries';\nimport { useIsFocused, useFocusEffect, useNavigation, useRoute } from '@react-navigation/native';\n// import { navigationRef } from '@common-stack/client-react';\n// import { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { StatusBar } from 'expo-status-bar';\nimport { useDrawerLayout } from '../../../../hooks';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { ChannelsByAlphabeticalAccordion } from '../../../../components';\nimport colors from 'tailwindcss/colors';\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\nconst Channels = ({ teamId, teamName }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigation = useNavigation<any>();\n // const route = useRoute<any>();\n const isFocused = useIsFocused();\n const [channels, setChannels] = useState<any[]>([]);\n const [intialChannels, setInitialChannels] = useState<any[]>([]);\n\n const {\n data: channelsData,\n loading,\n error,\n refetch,\n } = useChannelsQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: teamId,\n },\n limit: 100,\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetch({\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: teamId,\n },\n limit: 100,\n });\n }\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [orgName]),\n );\n\n useEffect(() => {\n if (channelsData) {\n let channels: any = channelsData?.channelsByUser?.filter((i: any) => i.type !== RoomType.Direct);\n channels = channels?.slice()?.sort((a: any, b: any) => a.title.localeCompare(b.title)) ?? [];\n setChannels((oldChannels: any) => uniqBy([...channels, ...oldChannels], ({ id }) => id));\n setInitialChannels((oldChannels: any) => uniqBy([...channels, ...oldChannels], ({ id }) => id));\n }\n }, [channelsData]);\n\n useEffect(() => {\n if (navigation)\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {\n borderBottomWidth: 1,\n },\n headerStyle: {\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }, [channels, navigation]);\n\n const openInbox = (item: any) => {\n navigation.navigate(NavigationRoutes.DialogMessages, {\n channelId: item?.id?.toString(),\n title: item?.title?.toString(),\n totalMembers: item?.members?.length,\n hideTabBar: true,\n });\n };\n\n const sortedChannels: any = React.useMemo(() => {\n const obj = channels.reduce((r, { id, title, type, members }) => {\n const l = title[0];\n if (!r[l]) r[l] = [{ id, title, type, members }];\n else r[l].push({ id, title, type, members });\n return r;\n }, {});\n\n const sorted = Object.entries(obj).sort(([a], [b]) => a.localeCompare(b));\n\n const sortedFilteredData = sorted.map(([key, value]) => {\n return {\n title: key,\n data: value,\n };\n });\n\n return sortedFilteredData;\n }, [channels]);\n\n const searchChannels = React.useCallback(\n (v: any) => {\n if (v) {\n const searchedChannel = channels.filter((o: any) => o?.title?.toLowerCase().includes(v?.toLowerCase()));\n setChannels(searchedChannel);\n } else {\n setChannels(intialChannels);\n }\n },\n [intialChannels, channels],\n );\n\n return (\n <Box className=\"flex-1 bg-white\">\n <Input className=\"bg-white\" variant=\"underlined\">\n <InputField\n type=\"text\"\n size=\"xl\"\n placeholderTextColor={'#404040'}\n className=\"px-3 items-center text-black text-[15px]\"\n placeholder=\"Search for channels\"\n onChange={({ nativeEvent: { eventCount, target, text } }) => {\n searchChannels(text);\n }}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n <ChannelsByAlphabeticalAccordion channels={sortedChannels} loading={loading} onPress={openInbox} />\n <Fab\n size=\"md\"\n placement={'bottom right'}\n className=\"bg-white rounded-lg \"\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddChannel, {\n teamName: teamName?.toString(),\n teamId: teamId?.toString(),\n })\n }\n >\n <FabIcon as={AddIcon} color={'#000'} />\n </Fab>\n </Box>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n //justifyContent: 'center',\n padding: 20,\n },\n itemView: {\n paddingVertical: 8,\n marginTop: 5,\n },\n headingText: {\n color: Colors.light.text,\n fontSize: 16,\n fontWeight: '400',\n },\n});\n\nexport default React.memo(Channels);\n"],"names":["React","channels"],"mappings":"khDAiBoB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACxB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AAC9C,MAAM,qBAAqB,CAAC,QAAA,CAAS,SAAS,QAAS,CAAA,OAAA,EAAS,SAAS,MAAM,CAAA;AAC/E,MAAM,WAAW,CAAC;AAAA,EAChB,MAAA;AAAA,EACA;AACF,CAAW,KAAA;AACT,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAA,MAAM,aAAa,aAAmB,EAAA;AAEtC,EAAkB,YAAa;AAC/B,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAA,QAAA,CAAgB,EAAE,CAAA;AAClD,EAAA,MAAM,CAAC,cAAgB,EAAA,kBAAkB,CAAI,GAAA,QAAA,CAAgB,EAAE,CAAA;AAC/D,EAAM,MAAA;AAAA,IACJ,IAAM,EAAA,YAAA;AAAA,IACN,OAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,MACE,gBAAiB,CAAA;AAAA,IACnB,SAAW,EAAA;AAAA,MACT,QAAU,EAAA;AAAA,QACR,OAAA;AAAA,QACA,IAAM,EAAA,kBAAA;AAAA,QACN,IAAM,EAAA;AAAA,OACR;AAAA,MACA,KAAO,EAAA;AAAA;AACT,GACD,CAAA;AACD,EAAe,cAAA,CAAAA,cAAA,CAAM,YAAY,MAAM;AACrC,IAAA,IAAI,OAAS,EAAA;AACX,MAAQ,OAAA,CAAA;AAAA,QACN,QAAU,EAAA;AAAA,UACR,OAAA;AAAA,UACA,IAAM,EAAA,kBAAA;AAAA,UACN,IAAM,EAAA;AAAA,SACR;AAAA,QACA,KAAO,EAAA;AAAA,OACR,CAAA;AAAA;AAEH,IAAA,OAAO,MAAM;AAAA,KAGb;AAAA,GACC,EAAA,CAAC,OAAO,CAAC,CAAC,CAAA;AACb,EAAA,SAAA,CAAU,MAAM;AAhElB,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAiEI,IAAA,IAAI,YAAc,EAAA;AAChB,MAAIC,IAAAA,SAAAA,GAAAA,CAAgB,kDAAc,cAAd,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAA8B,OAAO,CAAC,CAAA,KAAW,CAAE,CAAA,IAAA,KAAS,QAAS,CAAA,MAAA,CAAA;AACzF,MAAAA,aAAW,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,SAAAA,IAAA,gBAAAA,SAAU,CAAA,KAAA,EAAA,KAAV,mBAAmB,IAAK,CAAA,CAAC,CAAQ,EAAA,CAAA,KAAW,EAAE,KAAM,CAAA,aAAA,CAAc,EAAE,KAAK,CAAA,CAAA,KAAzE,YAA+E,EAAC;AAC3F,MAAY,WAAA,CAAA,CAAC,gBAAqB,MAAO,CAAA,CAAC,GAAGA,SAAU,EAAA,GAAG,WAAW,CAAA,EAAG,CAAC;AAAA,QACvE;AAAA,OACF,KAAM,EAAE,CAAC,CAAA;AACT,MAAmB,kBAAA,CAAA,CAAC,gBAAqB,MAAO,CAAA,CAAC,GAAGA,SAAU,EAAA,GAAG,WAAW,CAAA,EAAG,CAAC;AAAA,QAC9E;AAAA,OACF,KAAM,EAAE,CAAC,CAAA;AAAA;AACX,GACF,EAAG,CAAC,YAAY,CAAC,CAAA;AACjB,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,UAAA;AAAY,MAAA,UAAA,CAAW,UAAW,CAAA;AAAA,QACpC,WAAa,EAAA,IAAA;AAAA,QACb,gBAAkB,EAAA,MAAA;AAAA,QAClB,gBAAkB,EAAA;AAAA,UAChB,iBAAmB,EAAA;AAAA,SACrB;AAAA,QACA,WAAa,EAAA;AAAA,UACX,iBAAmB,EAAA,CAAA;AAAA,UACnB,WAAa,EAAA;AAAA;AACf,OACD,CAAA;AAAA,GACA,EAAA,CAAC,QAAU,EAAA,UAAU,CAAC,CAAA;AACzB,EAAM,MAAA,SAAA,GAAY,CAAC,IAAc,KAAA;AAzFnC,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA0FI,IAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,cAAgB,EAAA;AAAA,MACnD,SAAA,EAAA,CAAW,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,EAAA,KAAN,IAAU,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA,EAAA;AAAA,MACrB,KAAA,EAAA,CAAO,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,KAAA,KAAN,IAAa,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA,EAAA;AAAA,MACpB,YAAA,EAAA,CAAc,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,OAAA,KAAN,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA;AAAA,MAC7B,UAAY,EAAA;AAAA,KACb,CAAA;AAAA,GACH;AACA,EAAM,MAAA,cAAA,GAAsBD,cAAM,CAAA,OAAA,CAAQ,MAAM;AAC9C,IAAA,MAAM,GAAM,GAAA,QAAA,CAAS,MAAO,CAAA,CAAC,CAAG,EAAA;AAAA,MAC9B,EAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACI,KAAA;AACJ,MAAA,MAAM,IAAI,KAAM,CAAA,CAAA,CAAA;AAChB,MAAA,IAAI,CAAC,CAAE,CAAA,CAAA,CAAA;AAAI,QAAA,CAAA,CAAE,KAAK,CAAC;AAAA,UACjB,EAAA;AAAA,UACA,KAAA;AAAA,UACA,IAAA;AAAA,UACA;AAAA,SACD,CAAA;AAAA;AAAO,QAAA,CAAA,CAAE,GAAG,IAAK,CAAA;AAAA,UAChB,EAAA;AAAA,UACA,KAAA;AAAA,UACA,IAAA;AAAA,UACA;AAAA,SACD,CAAA;AACD,MAAO,OAAA,CAAA;AAAA,KACT,EAAG,EAAE,CAAA;AACL,IAAA,MAAM,SAAS,MAAO,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAE,KAAK,CAAC,CAAC,CAAC,CAAA,EAAG,CAAC,CAAC,CAAA,KAAM,CAAE,CAAA,aAAA,CAAc,CAAC,CAAC,CAAA;AACxE,IAAA,MAAM,qBAAqB,MAAO,CAAA,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAM,KAAA;AACtD,MAAO,OAAA;AAAA,QACL,KAAO,EAAA,GAAA;AAAA,QACP,IAAM,EAAA;AAAA,OACR;AAAA,KACD,CAAA;AACD,IAAO,OAAA,kBAAA;AAAA,GACT,EAAG,CAAC,QAAQ,CAAC,CAAA;AACb,EAAA,MAAM,cAAiB,GAAAA,cAAA,CAAM,WAAY,CAAA,CAAC,CAAW,KAAA;AACnD,IAAA,IAAI,CAAG,EAAA;AACL,MAAA,MAAM,eAAkB,GAAA,QAAA,CAAS,MAAO,CAAA,CAAC,CAAQ,KAAA;AAjIvD,QAAA,IAAA,EAAA;AAiI0D,QAAA,OAAA,CAAA,EAAA,GAAA,CAAA,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAG,KAAH,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAU,WAAc,EAAA,CAAA,QAAA,CAAS,CAAG,IAAA,IAAA,GAAA,MAAA,GAAA,CAAA,CAAA,WAAA,EAAA,CAAA;AAAA,OAAc,CAAA;AACtG,MAAA,WAAA,CAAY,eAAe,CAAA;AAAA,KACtB,MAAA;AACL,MAAA,WAAA,CAAY,cAAc,CAAA;AAAA;AAC5B,GACC,EAAA,CAAC,cAAgB,EAAA,QAAQ,CAAC,CAAA;AAC7B,EAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,OAAI,SAAU,EAAA,iBAAA,EAAA,+CACX,KAAM,EAAA,EAAA,SAAA,EAAU,UAAW,EAAA,OAAA,EAAQ,YAChC,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,cAAW,IAAK,EAAA,MAAA,EAAO,IAAK,EAAA,IAAA,EAAK,oBAAsB,EAAA,SAAA,EAAW,WAAU,0CAA2C,EAAA,WAAA,EAAY,qBAAsB,EAAA,QAAA,EAAU,CAAC;AAAA,IAC7K,WAAa,EAAA;AAAA,MACX,UAAA;AAAA,MACA,MAAA;AAAA,MACA;AAAA;AACF,GACI,KAAA;AACJ,IAAA,cAAA,CAAe,IAAI,CAAA;AAAA,GAClB,EAAA,cAAA,EAAgB,MAAQ,EAAA,WAAA,EAAa,KAAO,EAAA,CACzC,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,+BAAgC,EAAA,EAAA,QAAA,EAAU,cAAgB,EAAA,OAAA,EAAkB,OAAS,EAAA,SAAA,EAAW,CACjG,kBAAAA,cAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,SAAA,EAAW,cAAgB,EAAA,SAAA,EAAU,sBAAuB,EAAA,OAAA,EAAS,MAAM,UAAA,CAAW,QAAS,CAAA,gBAAA,CAAiB,UAAY,EAAA;AAAA,IACjJ,UAAU,QAAU,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAA,QAAA,EAAA;AAAA,IACpB,QAAQ,MAAQ,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,QAAA;AAAA,GACjB,qBACYA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,IAAI,OAAS,EAAA,KAAA,EAAO,MAAQ,EAAA,CACzC,CACJ,CAAA;AACR,CAAA;AACe,WAAW,MAAO,CAAA;AAAA,EAC/B,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,CAAA;AAAA,IAEN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,eAAiB,EAAA,CAAA;AAAA,IACjB,SAAW,EAAA;AAAA,GACb;AAAA,EACA,WAAa,EAAA;AAAA,IACX,KAAA,EAAO,OAAO,KAAM,CAAA,IAAA;AAAA,IACpB,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA;AAEhB,CAAC;AACD,iBAAeA,cAAA,CAAM,KAAK,QAAQ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Members.js","sources":["../../../../../src/screens/Teams/Components/Members/Members.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { TouchableOpacity, Dimensions, Keyboard, KeyboardEvent } from 'react-native';\nimport VirtualizedScrollView from '../../../../components/VirtualizedScrollView';\nimport { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport {\n Center,\n Heading,\n Input,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n FlatList,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Spinner,\n Badge,\n BadgeText,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport {
|
|
1
|
+
{"version":3,"file":"Members.js","sources":["../../../../../src/screens/Teams/Components/Members/Members.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { TouchableOpacity, Dimensions, Keyboard, KeyboardEvent } from 'react-native';\nimport VirtualizedScrollView from '../../../../components/VirtualizedScrollView';\nimport { useNavigation, useRoute, useFocusEffect } from '@react-navigation/native';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport {\n Center,\n Heading,\n Input,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n FlatList,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Spinner,\n Badge,\n BadgeText,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { RoomType } from 'common';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../../../constants';\nimport { useSelector } from 'react-redux';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport colors from 'tailwindcss/colors';\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst TeamMembersScreen = ({ team, loading, teamId, teamName }) => {\n const navigation = useNavigation<any>();\n const route = useRoute<any>();\n const user = useSelector(userSelector);\n const [teamMembers, setTeamMembers] = useState<any>([]);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n\n React.useEffect(() => {\n if (team?.getTeam?.teamMembers) {\n setTeamMembers((oldMembers: any) => uniqBy([...team?.getTeam?.teamMembers, ...oldMembers], ({ id }) => id));\n setInitialOrgMembers((oldMembers: any) =>\n uniqBy([...team?.getTeam?.teamMembers, ...oldMembers], ({ id }) => id),\n );\n }\n }, [team?.getTeam?.teamMembers]);\n\n const goToProfile = React.useCallback((userId: any) => {\n navigation.navigate(NavigationRoutes.Profile, {\n userId: userId?.toString(),\n });\n }, []);\n\n const renderTeamMembers = ({ item }: any) => {\n const matches: any = item?.name?.match(/\\b(\\w)/g);\n //const acronym: any = matches.join('').substring(0, 2); // JSON\n const acronym: any = Array.isArray(matches) ? matches?.reverse()?.join('')?.substring(0, 2)?.toUpperCase() : '';\n return (\n <TouchableOpacity key={item?.id} style={{ marginVertical: 10 }} onPress={() => goToProfile(item?.userId)}>\n <HStack className=\"flex-1 items-center justify-between\">\n <HStack className=\"flex-1 items-center justify-between\">\n <HStack className=\"items-center\" space={'sm'}>\n <Avatar size={'sm'} className=\"bg-gray-400 rounded-full\">\n <AvatarFallbackText className=\"text-white font-bold\">\n {startCase(item?.name ?? 'icon')}\n </AvatarFallbackText>\n </Avatar>\n\n <Text className=\"text-gray-800 font-bold\">{item?.name}</Text>\n </HStack>\n\n <Badge size=\"md\" className=\"rounded-none\" action=\"info\" variant={'outline'}>\n <BadgeText>{item?.role}</BadgeText>\n </Badge>\n </HStack>\n </HStack>\n </TouchableOpacity>\n );\n };\n\n return (\n <VirtualizedScrollView>\n <VStack space=\"sm\" className=\"flex-1 pt-2 bg-white\">\n <FlatList\n style={{ paddingHorizontal: 4, flex: 1, paddingBottom: 10 }}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n marginBottom: 100,\n }}\n data={teamMembers && teamMembers.length > 0 ? teamMembers : []}\n renderItem={renderTeamMembers}\n ListEmptyComponent={() => {\n return (\n <Box className=\"flex-1 pt-20 items-center justify-center\">\n {teamMembers?.length == 0 && !loading ? (\n <Text className=\"text-center text-gray-600 py-10\">No members found</Text>\n ) : (\n <Spinner color={'#3b82f6'} />\n )}\n </Box>\n );\n }}\n key={'team-members-list'}\n keyboardShouldPersistTaps=\"always\"\n />\n </VStack>\n </VirtualizedScrollView>\n );\n};\n\nexport default React.memo(TeamMembersScreen);\n"],"names":["React","_a"],"mappings":"qtBAaoB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AACxB,UAAA,CAAW,GAAI,CAAA,QAAQ,CAAE,CAAA;AAC9C,MAAM,oBAAoB,CAAC;AAAA,EACzB,IAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAM,KAAA;AApBN,EAAA,IAAA,EAAA;AAqBE,EAAA,MAAM,aAAa,aAAmB,EAAA;AACtC,EAAc,QAAc;AAC5B,EAAa,YAAY,YAAY;AACrC,EAAA,MAAM,CAAC,WAAa,EAAA,cAAc,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AACtD,EAAA,MAAM,CAAC,iBAAmB,EAAA,oBAAoB,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA;AAClE,EAAAA,cAAA,CAAM,UAAU,MAAM;AA1BxB,IAAAC,IAAAA,GAAAA;AA2BI,IAAA,IAAA,CAAIA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,OAAN,KAAA,IAAA,GAAA,MAAA,GAAAA,IAAe,WAAa,EAAA;AAC9B,MAAA,cAAA,CAAe,CAAC,UAAiB,KAAA;AA5BvC,QAAAA,IAAAA,GAAAA;AA4B0C,QAAO,OAAA,MAAA,CAAA,CAAC,GAAGA,CAAAA,GAAAA,GAAA,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,OAAA,KAAN,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAe,WAAa,EAAA,GAAG,UAAU,CAAA,EAAG,CAAC;AAAA,UAC1F;AAAA,cACI,EAAE,CAAA;AAAA,OAAC,CAAA;AACT,MAAA,oBAAA,CAAqB,CAAC,UAAiB,KAAA;AA/B7C,QAAAA,IAAAA,GAAAA;AA+BgD,QAAO,OAAA,MAAA,CAAA,CAAC,GAAGA,CAAAA,GAAAA,GAAA,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,OAAA,KAAN,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAe,WAAa,EAAA,GAAG,UAAU,CAAA,EAAG,CAAC;AAAA,UAChG;AAAA,cACI,EAAE,CAAA;AAAA,OAAC,CAAA;AAAA;AACX,KACC,CAAC,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,OAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,WAAW,CAAC,CAAA;AAC/B,EAAA,MAAM,WAAc,GAAAD,cAAA,CAAM,WAAY,CAAA,CAAC,MAAgB,KAAA;AACrD,IAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,OAAS,EAAA;AAAA,MAC5C,QAAQ,MAAQ,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,QAAA;AAAA,KACjB,CAAA;AAAA,GACH,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,oBAAoB,CAAC;AAAA,IACzB;AAAA,GACS,KAAA;AA3Cb,IAAA,IAAAC,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA4CI,IAAA,MAAM,WAAeA,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAN,KAAA,IAAA,GAAA,MAAA,GAAAA,IAAY,KAAM,CAAA,SAAA,CAAA;AAEvC,IAAqB,KAAA,CAAM,OAAQ,CAAA,OAAO,KAAI,EAAS,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,OAAA,EAAA,KAAT,IAAoB,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAK,QAAzB,IAA8B,GAAA,MAAA,GAAA,EAAA,CAAA,SAAA,CAAU,CAAG,EAAA,CAAA,CAAA,KAA3C,mBAA+C,WAAgB,EAAA,GAAA;AAC7G,IAAA,uBAAQD,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,GAAK,EAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAI,KAAO,EAAA;AAAA,MAC7C,cAAgB,EAAA;AAAA,KACf,EAAA,OAAA,EAAS,MAAM,WAAA,CAAY,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,MAAM,CAC9B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,SAAA,EAAU,qCACd,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,SAAU,EAAA,qCAAA,EAAA,kBACbA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,SAAU,EAAA,cAAA,EAAe,KAAO,EAAA,IAAA,EAAA,kBACnCA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,IAAM,EAAA,IAAA,EAAM,SAAU,EAAA,0BAAA,EAAA,kBACzBA,cAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,EAAmB,WAAU,sBACzB,EAAA,EAAA,SAAA,CAAA,CAAU,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,IAAA,KAAN,IAAc,GAAA,EAAA,GAAA,MAAM,CACnC,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAU,yBAA2B,EAAA,EAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAK,CAC1D,mBAECA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,IAAK,EAAA,IAAA,EAAK,SAAU,EAAA,cAAA,EAAe,MAAO,EAAA,MAAA,EAAO,OAAS,EAAA,SAAA,EAAA,kBAC5DA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,IAAA,EAAW,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,IAAK,CAC3B,CACJ,CACJ,CACJ,CAAA;AAAA,GACV;AACA,EAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,qBACE,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,KAAA,EAAM,MAAK,SAAU,EAAA,sBAAA,EAAA,kBACxBA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,KAAO,EAAA;AAAA,IACzB,iBAAmB,EAAA,CAAA;AAAA,IACnB,IAAM,EAAA,CAAA;AAAA,IACN,aAAe,EAAA;AAAA,GACjB,EAAG,cAAc,CAAC,IAAA,EAAM,UAAU,MAAO,CAAA,KAAK,GAAG,qBAAuB,EAAA;AAAA,IACtE,IAAM,EAAA,CAAA;AAAA,IACN,YAAc,EAAA;AAAA,GACb,EAAA,IAAA,EAAM,WAAe,IAAA,WAAA,CAAY,MAAS,GAAA,CAAA,GAAI,WAAc,GAAA,EAAI,EAAA,UAAA,EAAY,iBAAmB,EAAA,kBAAA,EAAoB,MAAM;AAC1H,IAAA,oDAAQ,GAAI,EAAA,EAAA,SAAA,EAAU,+CACG,WAAa,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA,MAAA,KAAU,KAAK,CAAC,OAAA,gDAAW,IAAK,EAAA,EAAA,SAAA,EAAU,qCAAkC,kBAAgB,CAAA,gDAAW,OAAQ,EAAA,EAAA,KAAA,EAAO,WAAW,CACnJ,CAAA;AAAA,KACnB,GAAK,EAAA,mBAAA,EAAqB,yBAA0B,EAAA,QAAA,EAAS,CAC1D,CACJ,CAAA;AACR,CAAA;AACA,kBAAeA,cAAA,CAAM,KAAK,iBAAiB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import React__default,{useEffect}from'react';import {SafeAreaView,Dimensions}from'react-native';import {Box}from'@admin-layout/gluestack-ui-mobile';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {RoomType}from'common';import
|
|
1
|
+
import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import React__default,{useEffect}from'react';import {SafeAreaView,Dimensions}from'react-native';import {Box}from'@admin-layout/gluestack-ui-mobile';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {RoomType}from'common';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import {StatusBar}from'expo-status-bar';import Channels from'./Components/Channels/Channels.js';import TeamMembers from'./Components/Members/Members.js';import {LoadingSpinnerDefault}from'../../components/LoadingSpinner/index.js';import {useTeamQuery}from'../../queries/slackuiQueries.js';var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
2
2
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3
3
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
4
4
|
var __objRest = (source, exclude) => {
|
|
@@ -38,12 +38,7 @@ const Team = (_a) => {
|
|
|
38
38
|
loading,
|
|
39
39
|
error,
|
|
40
40
|
refetch
|
|
41
|
-
} =
|
|
42
|
-
variables: {
|
|
43
|
-
orgName,
|
|
44
|
-
teamName: (_a2 = route == null ? void 0 : route.params) == null ? void 0 : _a2.teamName
|
|
45
|
-
}
|
|
46
|
-
});
|
|
41
|
+
} = useTeamQuery(orgName, (_a2 = route == null ? void 0 : route.params) == null ? void 0 : _a2.teamName);
|
|
47
42
|
useFocusEffect(React__default.useCallback(() => {
|
|
48
43
|
var _a3;
|
|
49
44
|
if (orgName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Team.js","sources":["../../../src/screens/Teams/Team.tsx"],"sourcesContent":["import { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { SafeAreaView, Dimensions } from 'react-native';\nimport { Box } from '@admin-layout/gluestack-ui-mobile';\nimport { userSelector, isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { useNavigation, useRoute } from '@react-navigation/native';\n// import { navigationRef } from '@common-stack/client-react';\nimport { startCase, uniqBy, orderBy } from 'lodash-es';\nimport { RoomType } from 'common';\nimport {
|
|
1
|
+
{"version":3,"file":"Team.js","sources":["../../../src/screens/Teams/Team.tsx"],"sourcesContent":["import { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { SafeAreaView, Dimensions } from 'react-native';\nimport { Box } from '@admin-layout/gluestack-ui-mobile';\nimport { userSelector, isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { useNavigation, useRoute } from '@react-navigation/native';\n// import { navigationRef } from '@common-stack/client-react';\nimport { startCase, uniqBy, orderBy } from 'lodash-es';\nimport { RoomType } from 'common';\nimport { useDrawerLayout } from '../../hooks';\n// import VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { StatusBar } from 'expo-status-bar';\n// import { NavigationHeader } from '../../components';\nimport { Channels } from './Components/Channels';\nimport { TeamMembers } from './Components/Members';\nimport { LoadingSpinnerDefault } from '../../components/LoadingSpinner';\nimport colors from 'tailwindcss/colors';\nimport { useTeamQuery } from '../../queries/slackuiQueries';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\nconst Team = ({ tab = 'channels', route, ...props }) => {\n const channelType = tab === 'members' ? RoomType.Direct : defaultChannelType;\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const user: any = useSelector(userSelector);\n const isFocused = useIsFocused();\n\n const { data: team, loading, error, refetch } = useTeamQuery(orgName, route?.params?.teamName);\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetch({\n orgName: orgName,\n teamName: route?.params?.teamName,\n });\n }\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, [orgName, tab, route?.params?.teamId]),\n );\n\n useEffect(() => {\n if (navigation)\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {\n borderBottomWidth: 1,\n },\n headerStyle: {\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }, [team, navigation]);\n\n if (loading) return <LoadingSpinnerDefault />;\n\n return (\n <SafeAreaView style={{ flex: 1, backgroundColor: '#fff' }}>\n <StatusBar style=\"light\" />\n <Box className=\"flex-1\">\n {tab == 'channels' && (\n <Channels teamId={route?.params?.teamId} teamName={route?.params?.teamName} team={team} />\n )}\n {tab == 'members' && (\n <TeamMembers\n teamId={route?.params?.teamId}\n teamName={route?.params?.teamName}\n team={team}\n loading={loading}\n />\n )}\n </Box>\n </SafeAreaView>\n );\n};\n\nexport default React.memo(Team);\n"],"names":["_a","_b","React"],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ const TeamsScreen = () => {
|
|
|
43
43
|
}
|
|
44
44
|
return /* @__PURE__ */ React__default.createElement(SafeAreaView, { style: styles.container }, /* @__PURE__ */ React__default.createElement(StatusBar, { style: "dark" }), /* @__PURE__ */ React__default.createElement(Box, { style: styles.content }, /* @__PURE__ */ React__default.createElement(Input, { style: styles.searchInput, variant: "outlined" }, /* @__PURE__ */ React__default.createElement(InputField, { type: "text", size: "xl", value: searchTerm, placeholderTextColor: colors.gray[500], style: styles.inputField, placeholder: "Search for teams", onChange: (event) => handleSearchChange(event.nativeEvent.text), autoCapitalize: "none", autoCorrect: false })), /* @__PURE__ */ React__default.createElement(FlatList, { contentContainerStyle: teams.length ? styles.listContent : styles.emptyListContent, data: teams, renderItem: ({
|
|
45
45
|
item
|
|
46
|
-
}) => /* @__PURE__ */ React__default.createElement(TeamItem, { item, onPress: viewTeam }), keyExtractor: (item) => item._id || item.id, refreshControl: /* @__PURE__ */ React__default.createElement(RefreshControl, { refreshing: teamsLoading, onRefresh: refetch, colors: [colors.blue[500]], tintColor: colors.blue[500] }), showsVerticalScrollIndicator: false, ListEmptyComponent: () => /* @__PURE__ */ React__default.createElement(Center, { style: styles.emptyContainer }, teamsLoading ? /* @__PURE__ */ React__default.createElement(Spinner, { color: colors.blue[500] }) : /* @__PURE__ */ React__default.createElement(View, { style: styles.emptyContent }, /* @__PURE__ */ React__default.createElement(Octicons, { name: "organization", size: 36, color: colors.gray[400] }), /* @__PURE__ */ React__default.createElement(Text, { style: styles.emptyText }, error ? "Error loading teams" : "No teams found"), error && /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: styles.retryButton, onPress: refetch }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.retryButtonText }, "Retry")))) }), /* @__PURE__ */ React__default.createElement(Fab, { size: "md", placement: "bottom right", onPress: () => navigation.navigate(NavigationRoutes.AddTeam), style: styles.fab }, /* @__PURE__ */ React__default.createElement(FabIcon, { as: AddIcon, color: "black" }))));
|
|
46
|
+
}) => /* @__PURE__ */ React__default.createElement(TeamItem, { item, onPress: viewTeam }), keyExtractor: (item) => item._id || item.id, refreshControl: /* @__PURE__ */ React__default.createElement(RefreshControl, { refreshing: teamsLoading, onRefresh: refetch, colors: [colors.blue[500]], tintColor: colors.blue[500] }), showsVerticalScrollIndicator: false, ListEmptyComponent: () => /* @__PURE__ */ React__default.createElement(Center, { style: styles.emptyContainer }, teamsLoading ? /* @__PURE__ */ React__default.createElement(Spinner, { color: colors.blue[500] }) : /* @__PURE__ */ React__default.createElement(View, { style: styles.emptyContent }, /* @__PURE__ */ React__default.createElement(Octicons, { name: "organization", size: 36, color: colors.gray[400] }), /* @__PURE__ */ React__default.createElement(Text, { style: styles.emptyText }, error ? "Error loading teams" : "No teams found"), error && /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: styles.retryButton, onPress: () => refetch() }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.retryButtonText }, "Retry")))) }), /* @__PURE__ */ React__default.createElement(Fab, { size: "md", placement: "bottom right", onPress: () => navigation.navigate(NavigationRoutes.AddTeam), style: styles.fab }, /* @__PURE__ */ React__default.createElement(FabIcon, { as: AddIcon, color: "black" }))));
|
|
47
47
|
};
|
|
48
48
|
const styles = StyleSheet.create({
|
|
49
49
|
container: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Teams.js","sources":["../../../src/screens/Teams/Teams.tsx"],"sourcesContent":["import { useIsFocused } from '@react-navigation/native';\nimport React, { useCallback, memo } from 'react';\nimport { TouchableOpacity, Dimensions, SafeAreaView, RefreshControl, StyleSheet } from 'react-native';\nimport {\n Center,\n View,\n FlatList,\n Box,\n Text,\n Spinner,\n HStack,\n Fab,\n FabIcon,\n AddIcon,\n Input,\n InputField,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { useSelector } from 'react-redux';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useNavigation } from '@react-navigation/native';\nimport { Octicons } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../constants';\nimport { useDrawerLayout } from '../../hooks';\nimport { StatusBar } from 'expo-status-bar';\nimport colors from 'tailwindcss/colors';\nimport { useTeams } from './useTeams';\n\nconst TeamItem = memo(({ item, onPress }: { item: any; onPress: (item: any) => void }) => (\n <TouchableOpacity key={item.id} style={styles.teamItem} onPress={() => onPress(item)}>\n <Box style={styles.teamItemBox}>\n <HStack space={'md'} style={styles.teamItemContent}>\n <Octicons color={'black'} name=\"lock\" size={20} />\n <Text style={styles.teamItemText}>{item.title}</Text>\n </HStack>\n </Box>\n </TouchableOpacity>\n));\n\nconst TeamsScreen = () => {\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const user = useSelector(userSelector);\n const { teams, loading, teamsLoading, error, handleSearchChange, searchTerm, refetch } = useTeams(orgName);\n\n React.useEffect(() => {\n if (navigation) {\n navigation.setOptions({\n headerShown: true,\n headerTitle: () => (\n <Box>\n <Text style={styles.headerTitle}>Team Browser</Text>\n <Text style={styles.headerSubtitle}>\n {teams.length} {teams.length === 1 ? 'team' : 'teams'}\n </Text>\n </Box>\n ),\n });\n }\n }, [teams.length, navigation]);\n\n const viewTeam = useCallback(\n (item: any) => {\n navigation.navigate(NavigationRoutes.ViewTeam, {\n teamId: item?.id?.toString(),\n teamName: item?.name,\n title: item?.title?.toString(),\n totalMembers: item?.teamMembers?.length,\n hideTabBar: true,\n });\n },\n [navigation],\n );\n\n if (loading && !teams.length) {\n return (\n <Center style={{ flex: 1, backgroundColor: 'white' }}>\n <Spinner color={colors.blue[500]} size=\"large\" />\n </Center>\n );\n }\n\n return (\n <SafeAreaView style={styles.container}>\n <StatusBar style=\"dark\" />\n <Box style={styles.content}>\n <Input style={styles.searchInput} variant=\"outlined\">\n <InputField\n type=\"text\"\n size=\"xl\"\n value={searchTerm}\n placeholderTextColor={colors.gray[500]}\n style={styles.inputField}\n placeholder=\"Search for teams\"\n onChange={(event) => handleSearchChange(event.nativeEvent.text)}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n\n <FlatList\n contentContainerStyle={teams.length ? styles.listContent : styles.emptyListContent}\n data={teams}\n renderItem={({ item }) => <TeamItem item={item} onPress={viewTeam} />}\n keyExtractor={(item) => item._id || item.id}\n refreshControl={\n <RefreshControl\n refreshing={teamsLoading}\n onRefresh={refetch}\n colors={[colors.blue[500]]}\n tintColor={colors.blue[500]}\n />\n }\n showsVerticalScrollIndicator={false}\n ListEmptyComponent={() => (\n <Center style={styles.emptyContainer}>\n {teamsLoading ? (\n <Spinner color={colors.blue[500]} />\n ) : (\n <View style={styles.emptyContent}>\n <Octicons name=\"organization\" size={36} color={colors.gray[400]} />\n <Text style={styles.emptyText}>\n {error ? 'Error loading teams' : 'No teams found'}\n </Text>\n {error && (\n <TouchableOpacity style={styles.retryButton} onPress={refetch}>\n <Text style={styles.retryButtonText}>Retry</Text>\n </TouchableOpacity>\n )}\n </View>\n )}\n </Center>\n )}\n />\n\n <Fab\n size=\"md\"\n placement=\"bottom right\"\n onPress={() => navigation.navigate(NavigationRoutes.AddTeam)}\n style={styles.fab}\n >\n <FabIcon as={AddIcon} color=\"black\" />\n </Fab>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.gray[100],\n },\n content: {\n flex: 1,\n },\n searchInput: {\n backgroundColor: 'white',\n borderBottomWidth: 1,\n borderBottomColor: colors.gray[200],\n shadowOpacity: 0.1,\n shadowRadius: 3,\n marginBottom: 8,\n },\n inputField: {\n paddingHorizontal: 12,\n color: 'black',\n fontSize: 15,\n },\n listContent: {\n paddingHorizontal: 12,\n paddingBottom: 100,\n paddingTop: 4,\n },\n emptyListContent: {\n paddingHorizontal: 12,\n paddingBottom: 100,\n paddingTop: 4,\n flexGrow: 1,\n },\n emptyContainer: {\n flex: 1,\n paddingTop: 80,\n alignItems: 'center',\n justifyContent: 'center',\n },\n emptyContent: {\n alignItems: 'center',\n },\n emptyText: {\n textAlign: 'center',\n color: colors.gray[600],\n marginTop: 16,\n fontSize: 16,\n },\n retryButton: {\n marginTop: 16,\n backgroundColor: colors.blue[500],\n paddingHorizontal: 16,\n paddingVertical: 8,\n borderRadius: 6,\n },\n retryButtonText: {\n color: 'white',\n fontWeight: '500',\n },\n teamItem: {\n marginVertical: 4,\n },\n teamItemBox: {\n flex: 1,\n backgroundColor: 'white',\n paddingVertical: 16,\n paddingHorizontal: 12,\n borderRadius: 8,\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n shadowRadius: 1,\n borderWidth: 1,\n borderColor: colors.gray[100],\n },\n teamItemContent: {\n flex: 1,\n alignItems: 'center',\n },\n teamItemText: {\n paddingLeft: 8,\n fontSize: 16,\n fontWeight: '500',\n color: 'black',\n },\n headerTitle: {\n fontSize: 16,\n fontWeight: 'bold',\n color: 'black',\n },\n headerSubtitle: {\n color: 'black',\n fontWeight: '500',\n },\n fab: {\n backgroundColor: '#fff',\n borderRadius: 28,\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.2,\n shadowRadius: 3,\n },\n});\n\nexport default memo(TeamsScreen);\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Teams.js","sources":["../../../src/screens/Teams/Teams.tsx"],"sourcesContent":["import { useIsFocused } from '@react-navigation/native';\nimport React, { useCallback, memo } from 'react';\nimport { TouchableOpacity, Dimensions, SafeAreaView, RefreshControl, StyleSheet } from 'react-native';\nimport {\n Center,\n View,\n FlatList,\n Box,\n Text,\n Spinner,\n HStack,\n Fab,\n FabIcon,\n AddIcon,\n Input,\n InputField,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { useSelector } from 'react-redux';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useNavigation } from '@react-navigation/native';\nimport { Octicons } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../constants';\nimport { useDrawerLayout } from '../../hooks';\nimport { StatusBar } from 'expo-status-bar';\nimport colors from 'tailwindcss/colors';\nimport { useTeams } from './useTeams';\n\nconst TeamItem = memo(({ item, onPress }: { item: any; onPress: (item: any) => void }) => (\n <TouchableOpacity key={item.id} style={styles.teamItem} onPress={() => onPress(item)}>\n <Box style={styles.teamItemBox}>\n <HStack space={'md'} style={styles.teamItemContent}>\n <Octicons color={'black'} name=\"lock\" size={20} />\n <Text style={styles.teamItemText}>{item.title}</Text>\n </HStack>\n </Box>\n </TouchableOpacity>\n));\n\nconst TeamsScreen = () => {\n const { orgName } = useDrawerLayout();\n const navigation = useNavigation<any>();\n const user = useSelector(userSelector);\n const { teams, loading, teamsLoading, error, handleSearchChange, searchTerm, refetch } = useTeams(orgName);\n\n React.useEffect(() => {\n if (navigation) {\n navigation.setOptions({\n headerShown: true,\n headerTitle: () => (\n <Box>\n <Text style={styles.headerTitle}>Team Browser</Text>\n <Text style={styles.headerSubtitle}>\n {teams.length} {teams.length === 1 ? 'team' : 'teams'}\n </Text>\n </Box>\n ),\n });\n }\n }, [teams.length, navigation]);\n\n const viewTeam = useCallback(\n (item: any) => {\n navigation.navigate(NavigationRoutes.ViewTeam, {\n teamId: item?.id?.toString(),\n teamName: item?.name,\n title: item?.title?.toString(),\n totalMembers: item?.teamMembers?.length,\n hideTabBar: true,\n });\n },\n [navigation],\n );\n\n if (loading && !teams.length) {\n return (\n <Center style={{ flex: 1, backgroundColor: 'white' }}>\n <Spinner color={colors.blue[500]} size=\"large\" />\n </Center>\n );\n }\n\n return (\n <SafeAreaView style={styles.container}>\n <StatusBar style=\"dark\" />\n <Box style={styles.content}>\n <Input style={styles.searchInput} variant=\"outlined\">\n <InputField\n type=\"text\"\n size=\"xl\"\n value={searchTerm}\n placeholderTextColor={colors.gray[500]}\n style={styles.inputField}\n placeholder=\"Search for teams\"\n onChange={(event) => handleSearchChange(event.nativeEvent.text)}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n\n <FlatList\n contentContainerStyle={teams.length ? styles.listContent : styles.emptyListContent}\n data={teams}\n renderItem={({ item }) => <TeamItem item={item} onPress={viewTeam} />}\n keyExtractor={(item) => item._id || item.id}\n refreshControl={\n <RefreshControl\n refreshing={teamsLoading}\n onRefresh={refetch}\n colors={[colors.blue[500]]}\n tintColor={colors.blue[500]}\n />\n }\n showsVerticalScrollIndicator={false}\n ListEmptyComponent={() => (\n <Center style={styles.emptyContainer}>\n {teamsLoading ? (\n <Spinner color={colors.blue[500]} />\n ) : (\n <View style={styles.emptyContent}>\n <Octicons name=\"organization\" size={36} color={colors.gray[400]} />\n <Text style={styles.emptyText}>\n {error ? 'Error loading teams' : 'No teams found'}\n </Text>\n {error && (\n <TouchableOpacity style={styles.retryButton} onPress={() => refetch()}>\n <Text style={styles.retryButtonText}>Retry</Text>\n </TouchableOpacity>\n )}\n </View>\n )}\n </Center>\n )}\n />\n\n <Fab\n size=\"md\"\n placement=\"bottom right\"\n onPress={() => navigation.navigate(NavigationRoutes.AddTeam)}\n style={styles.fab}\n >\n <FabIcon as={AddIcon} color=\"black\" />\n </Fab>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.gray[100],\n },\n content: {\n flex: 1,\n },\n searchInput: {\n backgroundColor: 'white',\n borderBottomWidth: 1,\n borderBottomColor: colors.gray[200],\n shadowOpacity: 0.1,\n shadowRadius: 3,\n marginBottom: 8,\n },\n inputField: {\n paddingHorizontal: 12,\n color: 'black',\n fontSize: 15,\n },\n listContent: {\n paddingHorizontal: 12,\n paddingBottom: 100,\n paddingTop: 4,\n },\n emptyListContent: {\n paddingHorizontal: 12,\n paddingBottom: 100,\n paddingTop: 4,\n flexGrow: 1,\n },\n emptyContainer: {\n flex: 1,\n paddingTop: 80,\n alignItems: 'center',\n justifyContent: 'center',\n },\n emptyContent: {\n alignItems: 'center',\n },\n emptyText: {\n textAlign: 'center',\n color: colors.gray[600],\n marginTop: 16,\n fontSize: 16,\n },\n retryButton: {\n marginTop: 16,\n backgroundColor: colors.blue[500],\n paddingHorizontal: 16,\n paddingVertical: 8,\n borderRadius: 6,\n },\n retryButtonText: {\n color: 'white',\n fontWeight: '500',\n },\n teamItem: {\n marginVertical: 4,\n },\n teamItemBox: {\n flex: 1,\n backgroundColor: 'white',\n paddingVertical: 16,\n paddingHorizontal: 12,\n borderRadius: 8,\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n shadowRadius: 1,\n borderWidth: 1,\n borderColor: colors.gray[100],\n },\n teamItemContent: {\n flex: 1,\n alignItems: 'center',\n },\n teamItemText: {\n paddingLeft: 8,\n fontSize: 16,\n fontWeight: '500',\n color: 'black',\n },\n headerTitle: {\n fontSize: 16,\n fontWeight: 'bold',\n color: 'black',\n },\n headerSubtitle: {\n color: 'black',\n fontWeight: '500',\n },\n fab: {\n backgroundColor: '#fff',\n borderRadius: 28,\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.2,\n shadowRadius: 3,\n },\n});\n\nexport default memo(TeamsScreen);\n"],"names":["React"],"mappings":"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"}
|