@messenger-box/slack-ui-mobile 10.0.3-alpha.77 → 10.0.3-alpha.80
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/Actionsheet.js.map +1 -1
- package/lib/components/AppRootContextProviderComponent.js.map +1 -1
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js.map +1 -1
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js.map +1 -1
- package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/styles.js.map +1 -1
- package/lib/components/LoadingSpinner/index.js.map +1 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeaderChat.js.map +1 -1
- package/lib/components/SlackSearchInput/Suggestion.js.map +1 -1
- package/lib/components/SlackSearchInput/Tag.js.map +1 -1
- package/lib/components/SlackSearchInput/index.js.map +1 -1
- package/lib/components/Tiles/Tiles.js.map +1 -1
- package/lib/components/Tiles/styles.js.map +1 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js.map +1 -1
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
- package/lib/compute.js.map +1 -1
- package/lib/config/env-config.js.map +1 -1
- package/lib/constants/Colors.js.map +1 -1
- package/lib/constants/Layout.js.map +1 -1
- package/lib/constants/device.js.map +1 -1
- package/lib/constants/fonts.js.map +1 -1
- package/lib/constants/globalStyles.js.map +1 -1
- package/lib/constants/routes.js.map +1 -1
- package/lib/hooks/useCachedResources.js.map +1 -1
- package/lib/hooks/useColorScheme.js.map +1 -1
- package/lib/hooks/useDisclose.js.map +1 -1
- package/lib/hooks/useDrawerLayout.js.map +1 -1
- package/lib/hooks/useExpoNotificationProvider.js.map +1 -1
- package/lib/hooks/useOptimizedChannelsQueries.js.map +1 -1
- package/lib/locales/index.js.map +1 -1
- package/lib/module.js.map +1 -1
- package/lib/navigation/SearchTabNavigation.js.map +1 -1
- package/lib/navigation/TeamTabNavigation.js.map +1 -1
- package/lib/queries/slackuiQueries.js.map +1 -1
- package/lib/screens/Account/AccountScreen.js.map +1 -1
- package/lib/screens/Activity/ActivityScreen.js.map +1 -1
- package/lib/screens/Channels/Add/AddName.js.map +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
- package/lib/screens/Channels/AddChannel.js.map +1 -1
- package/lib/screens/Channels/Channels.js.map +1 -1
- package/lib/screens/Files/FilesScreen.js.map +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
- package/lib/screens/Home/Components/InviteMembers/index.js.map +1 -1
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/styles.js.map +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
- package/lib/screens/Inbox/InboxDialogMessages.js.map +1 -1
- package/lib/screens/Inbox/InboxScreen.js.map +1 -1
- package/lib/screens/Inbox/InboxThreadMessages.js.map +1 -1
- package/lib/screens/Inbox/InboxThreads.js.map +1 -1
- package/lib/screens/Login.js.map +1 -1
- package/lib/screens/Notification/NotificationsScreen.js.map +1 -1
- package/lib/screens/Organization/AddWorkspace.js.map +1 -1
- package/lib/screens/Organization/CreateOrganization.js.map +1 -1
- package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
- package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
- package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/lib/screens/Peoples/AddPeople.js.map +1 -1
- package/lib/screens/Peoples/People.js.map +1 -1
- package/lib/screens/Profile/ProfileScreen.js.map +1 -1
- package/lib/screens/Saved/SavedScreen.js.map +1 -1
- package/lib/screens/Search/Channels.js.map +1 -1
- package/lib/screens/Search/Files.js.map +1 -1
- package/lib/screens/Search/JumpTo.js.map +1 -1
- package/lib/screens/Search/People.js.map +1 -1
- package/lib/screens/Search/Recents.js.map +1 -1
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
- package/lib/screens/Search/SearchScreen.js.map +1 -1
- package/lib/screens/Search/styles.js.map +1 -1
- package/lib/screens/Teams/AddTeam.js.map +1 -1
- 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.map +1 -1
- package/lib/screens/Teams/Teams.js.map +1 -1
- package/lib/screens/Teams/useTeams.js.map +1 -1
- package/lib/screens/Wiki/WikiScreen.js.map +1 -1
- package/lib/theme/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -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 { 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":"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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":"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"}
|
|
@@ -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 { 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,
|
|
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":"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"}
|
|
@@ -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 { 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":";;;;;;;;;;;;;;;AAmBoB,UAAA,CAAW,
|
|
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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"}
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTeams.js","sources":["../../../src/screens/Teams/useTeams.tsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport { useTeamsQuery } from '../../queries/slackuiQueries';\nimport { orderBy, uniqBy } from 'lodash-es';\n\nexport const useTeams = (orgName: string) => {\n const [searchTerm, setSearchTerm] = useState('');\n const [teams, setTeams] = useState<any[]>([]);\n const [initialTeams, setInitialTeams] = useState<any[]>([]);\n const [teamsLoading, setTeamsLoading] = useState(false);\n\n const {\n data,\n loading,\n error,\n refetch: refetchTeamsQuery,\n } = useTeamsQuery(orgName, {\n fetchPolicy: 'cache-and-network',\n onCompleted: (data) => {\n if (data?.getOrganizationTeams?.length) {\n const orgTeamsData = data.getOrganizationTeams || [];\n const sortedTeams =\n orgTeamsData.length > 0\n ? orderBy(orgTeamsData, [(tm: any) => tm?.title?.toLowerCase()], ['asc'])\n : [];\n\n const uniqueTeams = uniqBy([...sortedTeams], ({ _id }) => _id);\n\n setInitialTeams(uniqueTeams);\n setTeams(uniqueTeams);\n }\n setTeamsLoading(false);\n },\n onError: () => {\n setTeamsLoading(false);\n },\n });\n\n const handleSearchChange = useCallback(\n (text: string) => {\n setSearchTerm(text);\n\n if (!text.trim()) {\n setTeams(initialTeams);\n return;\n }\n\n const filteredTeams = initialTeams.filter((team: any) =>\n team?.title?.toLowerCase().includes(text.toLowerCase()),\n );\n\n setTeams(filteredTeams);\n },\n [initialTeams],\n );\n\n const refetch = useCallback(() => {\n setTeamsLoading(true);\n return refetchTeamsQuery();\n }, [refetchTeamsQuery]);\n\n // Reset teams when orgName changes\n useEffect(() => {\n setTeams([]);\n setInitialTeams([]);\n }, [orgName]);\n\n return {\n teams,\n loading,\n teamsLoading,\n error,\n handleSearchChange,\n searchTerm,\n refetch,\n };\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTeams.js","sources":["../../../src/screens/Teams/useTeams.tsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport { useTeamsQuery } from '../../queries/slackuiQueries';\nimport { orderBy, uniqBy } from 'lodash-es';\n\nexport const useTeams = (orgName: string) => {\n const [searchTerm, setSearchTerm] = useState('');\n const [teams, setTeams] = useState<any[]>([]);\n const [initialTeams, setInitialTeams] = useState<any[]>([]);\n const [teamsLoading, setTeamsLoading] = useState(false);\n\n const {\n data,\n loading,\n error,\n refetch: refetchTeamsQuery,\n } = useTeamsQuery(orgName, {\n fetchPolicy: 'cache-and-network',\n onCompleted: (data) => {\n if (data?.getOrganizationTeams?.length) {\n const orgTeamsData = data.getOrganizationTeams || [];\n const sortedTeams =\n orgTeamsData.length > 0\n ? orderBy(orgTeamsData, [(tm: any) => tm?.title?.toLowerCase()], ['asc'])\n : [];\n\n const uniqueTeams = uniqBy([...sortedTeams], ({ _id }) => _id);\n\n setInitialTeams(uniqueTeams);\n setTeams(uniqueTeams);\n }\n setTeamsLoading(false);\n },\n onError: () => {\n setTeamsLoading(false);\n },\n });\n\n const handleSearchChange = useCallback(\n (text: string) => {\n setSearchTerm(text);\n\n if (!text.trim()) {\n setTeams(initialTeams);\n return;\n }\n\n const filteredTeams = initialTeams.filter((team: any) =>\n team?.title?.toLowerCase().includes(text.toLowerCase()),\n );\n\n setTeams(filteredTeams);\n },\n [initialTeams],\n );\n\n const refetch = useCallback(() => {\n setTeamsLoading(true);\n return refetchTeamsQuery();\n }, [refetchTeamsQuery]);\n\n // Reset teams when orgName changes\n useEffect(() => {\n setTeams([]);\n setInitialTeams([]);\n }, [orgName]);\n\n return {\n teams,\n loading,\n teamsLoading,\n error,\n handleSearchChange,\n searchTerm,\n refetch,\n };\n};\n"],"names":[],"mappings":"iIAGO,MAAM,QAAA,GAAW,CAAC,OAAA,KAAoB;AAC3C,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,EAAE,CAAA;AAC/C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,QAAA,CAAgB,EAAE,CAAA;AAC5C,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,QAAA,CAAgB,EAAE,CAAA;AAC1D,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,KAAK,CAAA;AACtD,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACX,GAAI,cAAc,OAiBjB,CAAA;AACD,EAAA,MAAM,kBAAA,GAAqB,WAAA,CAAY,CAAC,IAAA,KAAiB;AACvD,IAAA,aAAA,CAAc,IAAI,CAAA;AAClB,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,EAAK,EAAG;AAChB,MAAA,QAAA,CAAS,YAAY,CAAA;AACrB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,aAAA,GAAgB,YAAA,CAAa,MAAA,CAAO,CAAC,IAAA,KAAW;AArC1D,MAAA,IAAA,EAAA;AAqC6D,MAAA,OAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,KAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,WAAA,EAAA,CAAc,QAAA,CAAS,KAAK,WAAA,EAAY,CAAA;AAAA,IAAA,CAAE,CAAA;AAChH,IAAA,QAAA,CAAS,aAAa,CAAA;AAAA,EACxB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AACjB,EAAA,MAAM,OAAA,GAAU,YAAY,MAAM;AAChC,IAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,IAAA,OAAO,iBAAA,EAAkB;AAAA,EAC3B,CAAA,EAAG,CAAC,iBAAiB,CAAC,CAAA;AAGtB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,EAAE,CAAA;AACX,IAAA,eAAA,CAAgB,EAAE,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AACZ,EAAA,OAAO;AAAA,IACL,KAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,KAAA;AAAA,IACA,kBAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WikiScreen.js","sources":["../../../src/screens/Wiki/WikiScreen.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport { StackNavigationProp } from '@react-navigation/stack';\nimport React, { useState } from 'react';\nimport { Pressable, TouchableOpacity } from 'react-native';\nimport { Actionsheet, Box, Text, Button, Image, View, FlatList } from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { Header, Tiles } from '../../components';\nimport { NavigationRoutes } from '../../constants/routes';\ntype WikiScreenProps = {\n navigation: any;\n};\n\nconst WikiScreen = ({ navigation }: WikiScreenProps) => {\n return (\n <Box className=\"py-2 bg-white flex-1 justify-center items-center\">\n <Text className=\"pb-12 text-center text-base font-bold\">Wiki</Text>\n </Box>\n );\n};\n\nexport default WikiScreen;\n"],"names":["React"],"mappings":"2FAWA,MAAM,aAAa,CAAC;AAAA,EAClB;AACF,
|
|
1
|
+
{"version":3,"file":"WikiScreen.js","sources":["../../../src/screens/Wiki/WikiScreen.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport { StackNavigationProp } from '@react-navigation/stack';\nimport React, { useState } from 'react';\nimport { Pressable, TouchableOpacity } from 'react-native';\nimport { Actionsheet, Box, Text, Button, Image, View, FlatList } from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { Header, Tiles } from '../../components';\nimport { NavigationRoutes } from '../../constants/routes';\ntype WikiScreenProps = {\n navigation: any;\n};\n\nconst WikiScreen = ({ navigation }: WikiScreenProps) => {\n return (\n <Box className=\"py-2 bg-white flex-1 justify-center items-center\">\n <Text className=\"pb-12 text-center text-base font-bold\">Wiki</Text>\n </Box>\n );\n};\n\nexport default WikiScreen;\n"],"names":["React"],"mappings":"2FAWA,MAAM,aAAa,CAAC;AAAA,EAClB;AACF,CAAA,KAAuB;AACrB,EAAA,uBAAOA,cAAA,CAAA,aAAA,CAAC,OAAI,SAAA,EAAU,kDAAA,EAAA,+CACX,IAAA,EAAA,EAAK,SAAA,EAAU,uCAAA,EAAA,EAAwC,MAAI,CAChE,CAAA;AACR"}
|
package/lib/theme/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/theme/index.ts"],"sourcesContent":["import colors from '../constants/Colors';\n\nconst config = {\n colors: {\n // Add new color\n primary: colors.primaryBgColor,\n },\n components: {\n Button: {\n // Can simply pass default props to change default behaviour of components.\n baseStyle: {},\n defaultProps: {},\n },\n },\n};\n\nexport const customTheme = config;\n"],"names":["colors"],"mappings":"2CACA,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/theme/index.ts"],"sourcesContent":["import colors from '../constants/Colors';\n\nconst config = {\n colors: {\n // Add new color\n primary: colors.primaryBgColor,\n },\n components: {\n Button: {\n // Can simply pass default props to change default behaviour of components.\n baseStyle: {},\n defaultProps: {},\n },\n },\n};\n\nexport const customTheme = config;\n"],"names":["colors"],"mappings":"2CACA,MAAM,MAAA,GAAS;AAAA,EACb,MAAA,EAAQ;AAAA,IAEN,SAASA,MAAA,CAAO;AAAA,GAClB;AAAA,EACA,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA,MAEN,WAAW,EAAC;AAAA,MACZ,cAAc;AAAC;AACjB;AAEJ,CAAA;AACO,MAAM,WAAA,GAAc"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@messenger-box/slack-ui-mobile",
|
|
3
|
-
"version": "10.0.3-alpha.
|
|
3
|
+
"version": "10.0.3-alpha.80",
|
|
4
4
|
"description": "Slack ui ref mobile package",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"watch-ts": "tsc --watch"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@messenger-box/platform-mobile": "10.0.3-alpha.
|
|
26
|
+
"@messenger-box/platform-mobile": "10.0.3-alpha.80"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"cp-cli": "^2.0.0"
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"typescript": {
|
|
49
49
|
"definition": "lib/index.d.ts"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "3563ce0ee166de9b5026b69ee4824472528eb20a"
|
|
52
52
|
}
|