@messenger-box/slack-ui-mobile 10.0.3-alpha.0 → 10.0.3-alpha.5
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/Channels/ChannelsByAlphabeticalAccordion.js +1 -1
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js.map +1 -1
- package/lib/components/CustomDrawer/CustomDrawer.js +3 -1
- package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.js +1 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js +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 +2 -2
- package/lib/components/SlackSearchInput/Tag.js +2 -2
- package/lib/components/SlackSearchInput/index.js +1 -1
- package/lib/components/SlackSearchInput/index.js.map +1 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +4 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js.map +1 -1
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js +3 -1
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
- package/lib/constants/preloadImages.js +11 -11
- package/lib/constants/preloadImages.js.map +1 -1
- package/lib/hooks/useDrawerLayout.js +1 -1
- package/lib/hooks/useDrawerLayout.js.map +1 -1
- package/lib/hooks/useExpoNotificationProvider.js +1 -1
- package/lib/hooks/useExpoNotificationProvider.js.map +1 -1
- package/lib/navigation/ActivityNavigator.js +1 -1
- package/lib/navigation/ActivityNavigator.js.map +1 -1
- package/lib/navigation/ExploreNavigator.js +1 -1
- package/lib/navigation/ExploreNavigator.js.map +1 -1
- package/lib/navigation/InboxNavigator.js +1 -1
- package/lib/navigation/InboxNavigator.js.map +1 -1
- package/lib/navigation/SearchTabNavigation.js +1 -1
- package/lib/navigation/SearchTabNavigation.js.map +1 -1
- package/lib/navigation/TeamTabNavigation.js +1 -1
- package/lib/navigation/TeamTabNavigation.js.map +1 -1
- package/lib/screens/Account/AccountScreen.js +4 -1
- package/lib/screens/Account/AccountScreen.js.map +1 -1
- package/lib/screens/Channels/Add/AddName.js +2 -2
- package/lib/screens/Channels/Add/AddName.js.map +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
- package/lib/screens/Channels/AddChannel.js +1 -1
- package/lib/screens/Channels/AddChannel.js.map +1 -1
- package/lib/screens/Channels/Channels.js +1 -1
- package/lib/screens/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
- package/lib/screens/Home/Components/Teams/Teams.js +1 -1
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +1 -1
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/styles.js +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js +7 -2
- package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
- package/lib/screens/Inbox/InboxDialogMessages.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 +1 -1
- package/lib/screens/Login.js.map +1 -1
- 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 +3 -3
- package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
- package/lib/screens/Organization/InitializeOrganizationChannel.js +1 -1
- package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
- package/lib/screens/Organization/InviteOrganizationMembers.js +1 -1
- package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
- package/lib/screens/Peoples/AddByEmail.js +2 -2
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/lib/screens/Peoples/AddPeople.js +4 -4
- package/lib/screens/Peoples/AddPeople.js.map +1 -1
- package/lib/screens/Peoples/People.js +1 -1
- package/lib/screens/Profile/ProfileScreen.js.map +1 -1
- package/lib/screens/Search/Channels.js +1 -1
- package/lib/screens/Search/Channels.js.map +1 -1
- package/lib/screens/Search/Files.js +1 -1
- package/lib/screens/Search/Files.js.map +1 -1
- package/lib/screens/Search/JumpTo.js +2 -2
- package/lib/screens/Search/JumpTo.js.map +1 -1
- package/lib/screens/Search/People.js +1 -1
- package/lib/screens/Search/People.js.map +1 -1
- package/lib/screens/Search/Recents.js +1 -1
- package/lib/screens/Search/Recents.js.map +1 -1
- package/lib/screens/Search/SearchAddChannel.js +5 -5
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js +1 -1
- package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
- package/lib/screens/Search/SearchScreen.js.map +1 -1
- package/lib/screens/Search/styles.js +1 -1
- package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Teams/Components/Members/Members.js +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 +7 -4
- package/lib/screens/Teams/Teams.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountScreen.js","sources":["../../../src/screens/Account/AccountScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList, SafeAreaView, TouchableHighlight, View } from 'react-native';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useGetUserAccountByAuth0IdLazyQuery } from 'common/lib/generated/generated.js';\nimport { IUserState } from '@adminide-stack/core';\nimport { Store, userSelector, logoutAndRedirect, resetReduxState } from '@adminide-stack/user-auth0-client';\nimport {\n useToast,\n ToastAlert,\n Image,\n VStack,\n HStack,\n Button,\n Box,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Text,\n Pressable,\n Icon,\n Divider,\n ButtonText,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { useNavigation } from '@react-navigation/native';\nimport { startCase } from 'lodash-es';\nimport { FontAwesome5, Ionicons, MaterialIcons } from '@expo/vector-icons';\nimport { NavigationRoutes, images } from '../../constants';\nimport { useDrawerLayout } from '../../hooks';\n\nconst AccountScreen = () => {\n const Toast = useToast();\n const { orgName, organizationDetail } = useDrawerLayout();\n const user = useSelector<Store.Auth, IUserState>(userSelector);\n const dispatch = useDispatch();\n const navigation = useNavigation<any>();\n const logout = () => {\n //navigation.navigate('MainStack.Logout', { redirect: 'MainStack.MainDrawer.MainBottomTab.Account' })\n try {\n dispatch(logoutAndRedirect());\n // dispatch(resetReduxState());\n Toast.show({\n placement: 'top',\n duration: 1000,\n render: ({ id }) => <ToastAlert id={id} title={'Logging out'} status={'error'} isClosable={false} />,\n });\n // await Auth.signOut();\n } catch (error) {\n console.error('Error signing out', error);\n }\n };\n\n return (\n <Box bg={'$white'} flex={1}>\n <VStack m={'$0'} flex={1} py={'$5'}>\n <HStack space={'sm'} px={'$2'} pt={'$0'} mt={'$0'} pb={'$4'} alignItems={'center'}>\n <Avatar size={'md'} bg={'transparent'} rounded={'$lg'}>\n <AvatarFallbackText>{startCase(user?.profile?.nickname?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"icon\"\n size={'md'}\n rounded={'$lg'}\n source={{\n uri: user?.profile?.picture,\n }}\n />\n <AvatarBadge bottom={'-$1'} right={'-$1.5'} style={{ width: 15, height: 15 }} bg=\"$green800\" />\n </Avatar>\n <VStack>\n <Text style={{ fontSize: 20 }} color={'$black'} fontWeight={'$bold'}>\n {user?.profile?.name ?? user?.profile?.nickname}\n </Text>\n <HStack space={'sm'} alignItems=\"center\">\n <Text style={{ fontSize: 15 }} color={'$coolGray600'} fontWeight={'$normal'}>\n {' '}\n Active\n </Text>\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n size={'xs'}\n variant={'solid'}\n p={0}\n onPress={logout}\n >\n <ButtonText style={{ fontSize: 16, color: 'black' }}>( Logout )</ButtonText>\n </Button>\n </HStack>\n </VStack>\n </HStack>\n\n <VStack px={'$2'} space={'sm'}>\n <Button\n borderColor={'$trueGray400'}\n rounded={'$xl'}\n variant={'outline'}\n justifyContent={'flex-start'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n my={'$4'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar\n alignItems=\"center\"\n justifyContent=\"center\"\n size={'sm'}\n bg={'transparent'}\n rounded={'$lg'}\n >\n <FontAwesome5 name=\"smile\" size={20} color={'#1f2937'} />\n </Avatar>\n\n <Text style={{ fontSize: 20 }} color={'$warmGray600'}>\n Update your status\n </Text>\n </HStack>\n </Button>\n\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n variant={'solid'}\n justifyContent={'flex-start'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage\n alt=\"icon\"\n size={'sm'}\n rounded={'$lg'}\n source={images.notificationBellOff}\n />\n <AvatarFallbackText>PN</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>Pause notifications</Text>\n </HStack>\n </Button>\n\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n variant={'solid'}\n justifyContent={'flex-start'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage alt=\"icon\" size={'sm'} rounded={'$lg'} source={images.user} />\n <AvatarFallbackText>ST</AvatarFallbackText>\n <AvatarBadge\n bg=\"transparent\"\n style={{ width: 10, height: 10 }}\n borderWidth={'$1'}\n borderColor={'$black'}\n //top={3}\n bottom={'$0'}\n right={'$0'}\n />\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>\n Set yourself as{' '}\n <Text color={'$black'} fontWeight={'bold'}>\n away\n </Text>\n </Text>\n </HStack>\n </Button>\n </VStack>\n <Divider my={'$4'} />\n <VStack px={'$2'} space={'sm'}>\n <Button\n bg={'transparent'}\n variant={'solid'}\n justifyContent={'flex-start'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n onPress={() => navigation.navigate(NavigationRoutes.Profile)}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage alt=\"icon\" size={'sm'} rounded={'$lg'} source={images.user} />\n <AvatarFallbackText>VP</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>View Profile</Text>\n </HStack>\n </Button>\n\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n variant={'solid'}\n justifyContent={'flex-start'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage alt=\"icon\" size={'sm'} rounded={'$lg'} source={images.pushNotification} />\n <AvatarFallbackText>NC</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>Notifications</Text>\n </HStack>\n </Button>\n\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n variant={'solid'}\n justifyContent={'flex-start'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage\n alt=\"icon\"\n size={'sm'}\n rounded={'$lg'}\n source={images.contrastAdjustment}\n />\n <AvatarFallbackText>PF</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>Preferences</Text>\n </HStack>\n </Button>\n </VStack>\n </VStack>\n </Box>\n );\n};\n\nexport default AccountScreen;\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AccountScreen.js","sources":["../../../src/screens/Account/AccountScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList, SafeAreaView, TouchableHighlight, View } from 'react-native';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useGetUserAccountByAuth0IdLazyQuery } from 'common/lib/generated/generated.js';\nimport { IUserState } from '@adminide-stack/core';\nimport { Store, userSelector, logoutAndRedirect, resetReduxState } from '@adminide-stack/user-auth0-client';\nimport {\n useToast,\n ToastAlert,\n Image,\n VStack,\n HStack,\n Button,\n Box,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Text,\n Pressable,\n Icon,\n Divider,\n ButtonText,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { useNavigation } from '@react-navigation/native';\nimport { startCase } from 'lodash-es';\nimport { FontAwesome5, Ionicons, MaterialIcons } from '@expo/vector-icons';\nimport { NavigationRoutes, images } from '../../constants';\nimport { useDrawerLayout } from '../../hooks';\n\nconst AccountScreen = () => {\n const Toast = useToast();\n const { orgName, organizationDetail } = useDrawerLayout();\n const user = useSelector<Store.Auth, IUserState>(userSelector);\n const dispatch = useDispatch();\n const navigation = useNavigation<any>();\n const logout = () => {\n //navigation.navigate('MainStack.Logout', { redirect: 'MainStack.MainDrawer.MainBottomTab.Account' })\n try {\n dispatch(logoutAndRedirect());\n // dispatch(resetReduxState());\n Toast.show({\n placement: 'top',\n duration: 1000,\n render: ({ id }) => <ToastAlert id={id} title={'Logging out'} status={'error'} isClosable={false} />,\n });\n // await Auth.signOut();\n } catch (error) {\n console.error('Error signing out', error);\n }\n };\n\n return (\n <Box bg={'$white'} flex={1}>\n <VStack m={'$0'} flex={1} py={'$5'}>\n <HStack space={'sm'} px={'$2'} pt={'$0'} mt={'$0'} pb={'$4'} alignItems={'center'}>\n <Avatar size={'md'} bg={'transparent'} rounded={'$lg'}>\n <AvatarFallbackText>{startCase(user?.profile?.nickname?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"icon\"\n size={'md'}\n rounded={'$lg'}\n source={{\n uri: user?.profile?.picture,\n }}\n />\n <AvatarBadge bottom={'-$1'} right={'-$1.5'} style={{ width: 15, height: 15 }} bg=\"$green800\" />\n </Avatar>\n <VStack>\n <Text style={{ fontSize: 20 }} color={'$black'} fontWeight={'$bold'}>\n {user?.profile?.name ?? user?.profile?.nickname}\n </Text>\n <HStack space={'sm'} alignItems=\"center\">\n <Text style={{ fontSize: 15 }} color={'$coolGray600'} fontWeight={'$normal'}>\n {' '}\n Active\n </Text>\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n size={'xs'}\n variant={'solid'}\n p={0}\n onPress={logout}\n >\n <ButtonText style={{ fontSize: 16, color: 'black' }}>( Logout )</ButtonText>\n </Button>\n </HStack>\n </VStack>\n </HStack>\n\n <VStack px={'$2'} space={'sm'}>\n <Button\n borderColor={'$trueGray400'}\n rounded={'$xl'}\n variant={'outline'}\n justifyContent={'flex-start'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n my={'$4'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar\n alignItems=\"center\"\n justifyContent=\"center\"\n size={'sm'}\n bg={'transparent'}\n rounded={'$lg'}\n >\n <FontAwesome5 name=\"smile\" size={20} color={'#1f2937'} />\n </Avatar>\n\n <Text style={{ fontSize: 20 }} color={'$warmGray600'}>\n Update your status\n </Text>\n </HStack>\n </Button>\n\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n variant={'solid'}\n justifyContent={'flex-start'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage\n alt=\"icon\"\n size={'sm'}\n rounded={'$lg'}\n source={images.notificationBellOff}\n />\n <AvatarFallbackText>PN</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>Pause notifications</Text>\n </HStack>\n </Button>\n\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n variant={'solid'}\n justifyContent={'flex-start'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage alt=\"icon\" size={'sm'} rounded={'$lg'} source={images.user} />\n <AvatarFallbackText>ST</AvatarFallbackText>\n <AvatarBadge\n bg=\"transparent\"\n style={{ width: 10, height: 10 }}\n borderWidth={'$1'}\n borderColor={'$black'}\n //top={3}\n bottom={'$0'}\n right={'$0'}\n />\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>\n Set yourself as{' '}\n <Text color={'$black'} fontWeight={'bold'}>\n away\n </Text>\n </Text>\n </HStack>\n </Button>\n </VStack>\n <Divider my={'$4'} />\n <VStack px={'$2'} space={'sm'}>\n <Button\n bg={'transparent'}\n variant={'solid'}\n justifyContent={'flex-start'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n onPress={() => navigation.navigate(NavigationRoutes.Profile)}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage alt=\"icon\" size={'sm'} rounded={'$lg'} source={images.user} />\n <AvatarFallbackText>VP</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>View Profile</Text>\n </HStack>\n </Button>\n\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n variant={'solid'}\n justifyContent={'flex-start'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage alt=\"icon\" size={'sm'} rounded={'$lg'} source={images.pushNotification} />\n <AvatarFallbackText>NC</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>Notifications</Text>\n </HStack>\n </Button>\n\n <Button\n bg={'transparent'}\n $pressed-bg=\"$trueGray200\"\n $active-bg={'$trueGray200'}\n variant={'solid'}\n justifyContent={'flex-start'}\n >\n <HStack space={'md'} alignItems=\"center\">\n <Avatar size={'sm'} bg={'transparent'} rounded={'$lg'}>\n <AvatarImage\n alt=\"icon\"\n size={'sm'}\n rounded={'$lg'}\n source={images.contrastAdjustment}\n />\n <AvatarFallbackText>PF</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>Preferences</Text>\n </HStack>\n </Button>\n </VStack>\n </VStack>\n </Box>\n );\n};\n\nexport default AccountScreen;\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React__default,{useState,useEffect}from'react';import {StyleSheet
|
|
1
|
+
import React__default,{useState,useEffect}from'react';import {TouchableOpacity,StyleSheet}from'react-native';import {Button,ButtonText,Box,VStack,FormControl,FormControlLabel,FormControlLabelText,Input,InputSlot,Text,InputField,FormControlError,FormControlErrorText}from'@admin-layout/gluestack-ui-mobile';import colors from'../../../constants/Colors.js';import {MaterialIcons}from'@expo/vector-icons';import'../../../constants/device.js';import'../../../constants/globalStyles.js';import'../../../constants/Layout.js';import {NavigationRoutes}from'../../../constants/routes.js';const AddChannelName = ({
|
|
2
2
|
navigation,
|
|
3
3
|
route
|
|
4
4
|
}) => {
|
|
5
5
|
const [name, setName] = useState("");
|
|
6
6
|
const [description, setDescription] = useState("");
|
|
7
7
|
const [showCreateButton, setShowCreateButton] = useState(false);
|
|
8
|
-
useState(false);
|
|
8
|
+
const [nameIsInvalid, setNameIsInvalid] = useState(false);
|
|
9
9
|
useEffect(() => {
|
|
10
10
|
if (name && name.length > 0)
|
|
11
11
|
setShowCreateButton(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddName.js","sources":["../../../../src/screens/Channels/Add/AddName.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet, TouchableOpacity } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n SafeAreaView,\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 Fab,\n Icon,\n Divider,\n} from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../../constants/Colors';\nimport { AntDesign, MaterialIcons } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../../constants';\n\nconst AddChannelName = ({ navigation, route }: any) => {\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [nameIsInvalid, setNameIsInvalid] = useState(false);\n // useEffect(() => {\n\n // if(name && name.length > 0){\n // let patt = /^[A-Za-z0-9_+\\-]*$/;\n // if (patt.test(name))\n // {\n // setNameIsInvalid(false)\n // setShowCreateButton(true)\n // }\n // else\n // {\n // setNameIsInvalid(true)\n // setShowCreateButton(false)\n // }\n // }\n // else\n // {\n // setShowCreateButton(false)\n // }\n\n // // if(name && name.length > 0)\n // // setShowCreateButton(true)\n // // else\n // // setShowCreateButton(false)\n\n // }, [name])\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 headerLeft: (props: any) => (\n <TouchableOpacity onPress={() => navigation.goBack()}>\n <MaterialIcons size={20} name=\"close\" color={'black'} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <Button\n mr={'$2'}\n onPress={() => addNewChannelVisiblity()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText style={{ color: showCreateButton ? 'black' : '#71717a' }}>Next</ButtonText>\n </Button>\n ),\n headerStyle: {\n height: 110,\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }, [name, description, showCreateButton]);\n\n const addNewChannelVisiblity = React.useCallback(() => {\n if (name && name.length > 0) {\n navigation.navigate(NavigationRoutes.AddChannelVisibility, {\n name: name,\n description: description,\n teamId: route?.params?.teamId?.toString(),\n teamName: route?.params?.teamName?.toString(),\n });\n }\n }, [name, description, route]);\n\n // const setChannelName = (v:any) => {\n // let nameStr = v.replace(/\\s+/g, '-').toLowerCase();\n // setName(nameStr)\n // }\n\n const handleChangeText = (newValue) => {\n // If the space bar is pressed, append a dash to the value\n const formattedValue = newValue?.replace(/ /g, '-')?.toLowerCase(); // Replace all spaces with dashes\n setName(formattedValue);\n };\n\n const handleKeyPress = (event) => {\n if (event.nativeEvent.key === ' ') {\n // Add a dash (-) when the space bar is pressed\n setName((prevValue) => prevValue?.toLowerCase() + '-');\n }\n };\n\n return (\n <Box flex={1} bg={'#fff'} softShadow={'1'} py={'$2'} h={'100%'}>\n <VStack space=\"md\">\n <Box px=\"$4\" pt=\"$4\">\n {/* <FormControl isInvalid={nameIsInvalid} mt=\"3\"> */}\n <FormControl mt=\"$3\">\n <FormControlLabel mb=\"$1\">\n <FormControlLabelText>Name</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputSlot pl={'$0'}>\n <Text color={'#71717a'}>#</Text>\n </InputSlot>\n <InputField\n type=\"text\"\n placeholder=\" e.g. plan-budget\"\n maxLength={80}\n value={name}\n onChangeText={handleChangeText}\n onKeyPress={handleKeyPress}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n <InputSlot pr=\"$3\">\n <Text color={'#71717a'}>{80 - name.length}</Text>\n </InputSlot>\n </Input>\n <FormControlError>\n <FormControlErrorText color=\"$red\">\n Channel names must be lowercase, and can't contain spaces,periods,or most punctuation.\n </FormControlErrorText>\n </FormControlError>\n </FormControl>\n <FormControl mt=\"$3\">\n <FormControlLabel mb=\"$1\">\n <FormControlLabelText>Description</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputField\n type=\"text\"\n placeholder=\"channel description\"\n value={description}\n onChangeText={(v) => setDescription(v)}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n </FormControl>\n </Box>\n </VStack>\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 AddChannelName;\n"],"names":["React","Colors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddName.js","sources":["../../../../src/screens/Channels/Add/AddName.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet, TouchableOpacity } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n SafeAreaView,\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 Fab,\n Icon,\n Divider,\n} from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../../constants/Colors';\nimport { AntDesign, MaterialIcons } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../../constants';\n\nconst AddChannelName = ({ navigation, route }: any) => {\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [nameIsInvalid, setNameIsInvalid] = useState(false);\n // useEffect(() => {\n\n // if(name && name.length > 0){\n // let patt = /^[A-Za-z0-9_+\\-]*$/;\n // if (patt.test(name))\n // {\n // setNameIsInvalid(false)\n // setShowCreateButton(true)\n // }\n // else\n // {\n // setNameIsInvalid(true)\n // setShowCreateButton(false)\n // }\n // }\n // else\n // {\n // setShowCreateButton(false)\n // }\n\n // // if(name && name.length > 0)\n // // setShowCreateButton(true)\n // // else\n // // setShowCreateButton(false)\n\n // }, [name])\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 headerLeft: (props: any) => (\n <TouchableOpacity onPress={() => navigation.goBack()}>\n <MaterialIcons size={20} name=\"close\" color={'black'} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <Button\n mr={'$2'}\n onPress={() => addNewChannelVisiblity()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText style={{ color: showCreateButton ? 'black' : '#71717a' }}>Next</ButtonText>\n </Button>\n ),\n headerStyle: {\n height: 110,\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }, [name, description, showCreateButton]);\n\n const addNewChannelVisiblity = React.useCallback(() => {\n if (name && name.length > 0) {\n navigation.navigate(NavigationRoutes.AddChannelVisibility, {\n name: name,\n description: description,\n teamId: route?.params?.teamId?.toString(),\n teamName: route?.params?.teamName?.toString(),\n });\n }\n }, [name, description, route]);\n\n // const setChannelName = (v:any) => {\n // let nameStr = v.replace(/\\s+/g, '-').toLowerCase();\n // setName(nameStr)\n // }\n\n const handleChangeText = (newValue) => {\n // If the space bar is pressed, append a dash to the value\n const formattedValue = newValue?.replace(/ /g, '-')?.toLowerCase(); // Replace all spaces with dashes\n setName(formattedValue);\n };\n\n const handleKeyPress = (event) => {\n if (event.nativeEvent.key === ' ') {\n // Add a dash (-) when the space bar is pressed\n setName((prevValue) => prevValue?.toLowerCase() + '-');\n }\n };\n\n return (\n <Box flex={1} bg={'#fff'} softShadow={'1'} py={'$2'} h={'100%'}>\n <VStack space=\"md\">\n <Box px=\"$4\" pt=\"$4\">\n {/* <FormControl isInvalid={nameIsInvalid} mt=\"3\"> */}\n <FormControl mt=\"$3\">\n <FormControlLabel mb=\"$1\">\n <FormControlLabelText>Name</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputSlot pl={'$0'}>\n <Text color={'#71717a'}>#</Text>\n </InputSlot>\n <InputField\n type=\"text\"\n placeholder=\" e.g. plan-budget\"\n maxLength={80}\n value={name}\n onChangeText={handleChangeText}\n onKeyPress={handleKeyPress}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n <InputSlot pr=\"$3\">\n <Text color={'#71717a'}>{80 - name.length}</Text>\n </InputSlot>\n </Input>\n <FormControlError>\n <FormControlErrorText color=\"$red\">\n Channel names must be lowercase, and can't contain spaces,periods,or most punctuation.\n </FormControlErrorText>\n </FormControlError>\n </FormControl>\n <FormControl mt=\"$3\">\n <FormControlLabel mb=\"$1\">\n <FormControlLabelText>Description</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputField\n type=\"text\"\n placeholder=\"channel description\"\n value={description}\n onChangeText={(v) => setDescription(v)}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n </FormControl>\n </Box>\n </VStack>\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 AddChannelName;\n"],"names":["React","Colors"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useEffect}from'react';import {StyleSheet}from'react-native';import {useToast,ToastAlert,Box,Text,
|
|
1
|
+
import React__default,{useState,useEffect}from'react';import {StyleSheet}from'react-native';import {useToast,ToastAlert,Button,ButtonText,Box,Text,RadioGroup,VStack,Heading,Radio,RadioLabel,RadioIndicator,RadioIcon,CircleIcon}from'@admin-layout/gluestack-ui-mobile';import colors from'../../../constants/Colors.js';import {RoomType}from'common';import {useAddChannelMutation}from'common/lib/generated/generated.js';import {Feather,FontAwesome}from'@expo/vector-icons';import'../../../constants/device.js';import'../../../constants/globalStyles.js';import'../../../constants/Layout.js';import {NavigationRoutes}from'../../../constants/routes.js';import {startCase}from'lodash-es';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../hooks/useDrawerLayout.js';import'../../../hooks/useExpoNotificationProvider.js';const AddChannelVisibility = ({
|
|
2
2
|
navigation,
|
|
3
3
|
route
|
|
4
4
|
}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddVisibility.js","sources":["../../../../src/screens/Channels/Add/AddVisibility.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport {\n Input,\n RadioGroup,\n RadioIndicator,\n RadioIcon,\n RadioLabel,\n Radio,\n CircleIcon,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n Fab,\n Icon,\n Divider,\n Heading,\n useToast,\n ToastAlert,\n} from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../../constants/Colors';\nimport { RoomType } from 'common';\nimport { useAddChannelMutation, useGetOrganizationDetailQuery } from 'common/lib/generated/generated.js';\nimport { FontAwesome, Feather } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../../constants';\nimport { startCase } from 'lodash-es';\nimport { useDrawerLayout } from '../../../hooks';\n\nconst AddChannelVisibility = ({ navigation, route }: any) => {\n const Toast = useToast();\n const { orgName, organizationDetail } = useDrawerLayout();\n const [channelType, setChannelType] = React.useState('public');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [createChannel] = useAddChannelMutation({\n onCompleted: (data: any) => {\n //console.log('create data',data)\n if (data?.createChannel)\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId: data?.createChannel?.id,\n orgName: orgName,\n isCreate: true,\n });\n else {\n Toast.show({\n placement: 'top',\n duration: 4000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Channel already exists'} status={'error'} isClosable={false} />\n ),\n });\n navigation.navigate(NavigationRoutes.AddChannel, { orgName: orgName });\n // navigation.navigate(NavigationRoutes.Home, { orgName: orgName });\n }\n },\n });\n\n useEffect(() => {\n if (channelType && channelType.length > 0) setShowCreateButton(true);\n else setShowCreateButton(false);\n }, [channelType]);\n\n useEffect(() => {\n navigation.setOptions({\n // headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerTitle: (props: any) => (\n <Box flex={1} mx={'$0'}>\n <Text fontSize={15} fontWeight={'500'} color={'$black'}>\n Create a Channel\n </Text>\n <Text color={'$warmGray600'} fontWeight={'500'}>\n {channelType == 'public' ? (\n <Feather color=\"black\" name=\"hash\" size={20} />\n ) : (\n <>\n <FontAwesome color=\"black\" name=\"lock\" size={20} />{' '}\n </>\n )}\n {route?.params?.name}\n </Text>\n </Box>\n ),\n headerRight: (props: any) => (\n <Button\n mr={'$2'}\n onPress={() => createNewChannel()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText fontSize={16} color={showCreateButton ? '$black' : '#71717a'}>\n Create\n </ButtonText>\n </Button>\n ),\n headerStyle: {\n height: 110,\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }, [channelType, showCreateButton]);\n\n const createNewChannel = React.useCallback(() => {\n if (channelType && channelType?.length > 0 && route?.params && route?.params?.name?.length > 0) {\n createChannel({\n variables: {\n name: route?.params?.name,\n description: route?.params?.description || '',\n type: channelType == 'private' ? RoomType.Private : RoomType.Channel,\n team: route?.params?.teamId?.toString(),\n },\n });\n }\n }, [channelType, route]);\n\n // const setChannelName = (v:any) => {\n // let nameStr = v.replace(/\\s+/g, '-').toLowerCase();\n // setName(nameStr)\n // }\n\n return (\n <Box px=\"$4\" bg={'$white'} flex={1}>\n <RadioGroup\n // name=\"visibilityRadioGroup\"\n accessibilityLabel=\"visibility\"\n value={channelType}\n onChange={(nextValue) => {\n setChannelType(nextValue);\n }}\n >\n <VStack w={'100%'} space={'xl'}>\n <Heading size={'md'} py={'$4'}>\n Visibility\n </Heading>\n <Radio value=\"public\" justifyContent=\"space-between\">\n <RadioLabel color={'$black'} fontSize={18}>\n Public - Anyone in{' '}\n <Text fontSize={18} fontWeight={'$bold'} color={'$black'}>\n {organizationDetail\n ? startCase(organizationDetail?.title ?? orgName ?? 'Home')\n : orgName || 'Home'}\n </Text>\n </RadioLabel>\n <RadioIndicator>\n <RadioIcon as={CircleIcon} p={'$1'} />\n </RadioIndicator>\n </Radio>\n\n <Radio value=\"private\" justifyContent=\"space-between\">\n <RadioLabel fontSize={18} color={'$black'}>\n Private - Only specific people {'\\n'}\n <Text fontSize={15} fontWeight={'$medium'} color={'$coolGray500'}>\n Can only be viewed or joined by invitation.\n </Text>\n </RadioLabel>\n\n <RadioIndicator>\n <RadioIcon as={CircleIcon} />\n </RadioIndicator>\n </Radio>\n\n {/* <HStack space={\"sm\"} alignItems={'center'} justifyContent={'space-between'}>\n <Text fontSize={18}>\n Public - Anyone in{' '}\n {organizationDetail\n ? startCase(organizationDetail?.title ?? orgName ?? 'Home')\n : orgName || 'Home'}\n </Text>\n <Radio\n accessibilityLabel=\"public\"\n aria-label=\"public\"\n value=\"public\"\n my={\"$1\"}\n aria-labelledby=\"public\"\n />\n </HStack>\n <HStack space={2} alignItems={'center'} justifyContent={'space-between'}>\n <Box>\n <Text fontSize={18}>Private - Only specific people</Text>\n <Text fontSize={15} fontWeight={'medium'} color={'coolGray.500'}>\n Can only be viewed or joined by invitation.\n </Text>\n </Box>\n\n <Radio\n accessibilityLabel=\"private\"\n aria-label=\"private\"\n value=\"private\"\n my={1}\n aria-labelledby=\"private\"\n />\n </HStack> */}\n </VStack>\n </RadioGroup>\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 AddChannelVisibility;\n"],"names":["React","_a","_b","Colors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddVisibility.js","sources":["../../../../src/screens/Channels/Add/AddVisibility.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport {\n Input,\n RadioGroup,\n RadioIndicator,\n RadioIcon,\n RadioLabel,\n Radio,\n CircleIcon,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n Fab,\n Icon,\n Divider,\n Heading,\n useToast,\n ToastAlert,\n} from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../../constants/Colors';\nimport { RoomType } from 'common';\nimport { useAddChannelMutation, useGetOrganizationDetailQuery } from 'common/lib/generated/generated.js';\nimport { FontAwesome, Feather } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../../constants';\nimport { startCase } from 'lodash-es';\nimport { useDrawerLayout } from '../../../hooks';\n\nconst AddChannelVisibility = ({ navigation, route }: any) => {\n const Toast = useToast();\n const { orgName, organizationDetail } = useDrawerLayout();\n const [channelType, setChannelType] = React.useState('public');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [createChannel] = useAddChannelMutation({\n onCompleted: (data: any) => {\n //console.log('create data',data)\n if (data?.createChannel)\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId: data?.createChannel?.id,\n orgName: orgName,\n isCreate: true,\n });\n else {\n Toast.show({\n placement: 'top',\n duration: 4000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Channel already exists'} status={'error'} isClosable={false} />\n ),\n });\n navigation.navigate(NavigationRoutes.AddChannel, { orgName: orgName });\n // navigation.navigate(NavigationRoutes.Home, { orgName: orgName });\n }\n },\n });\n\n useEffect(() => {\n if (channelType && channelType.length > 0) setShowCreateButton(true);\n else setShowCreateButton(false);\n }, [channelType]);\n\n useEffect(() => {\n navigation.setOptions({\n // headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerTitle: (props: any) => (\n <Box flex={1} mx={'$0'}>\n <Text fontSize={15} fontWeight={'500'} color={'$black'}>\n Create a Channel\n </Text>\n <Text color={'$warmGray600'} fontWeight={'500'}>\n {channelType == 'public' ? (\n <Feather color=\"black\" name=\"hash\" size={20} />\n ) : (\n <>\n <FontAwesome color=\"black\" name=\"lock\" size={20} />{' '}\n </>\n )}\n {route?.params?.name}\n </Text>\n </Box>\n ),\n headerRight: (props: any) => (\n <Button\n mr={'$2'}\n onPress={() => createNewChannel()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText fontSize={16} color={showCreateButton ? '$black' : '#71717a'}>\n Create\n </ButtonText>\n </Button>\n ),\n headerStyle: {\n height: 110,\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }, [channelType, showCreateButton]);\n\n const createNewChannel = React.useCallback(() => {\n if (channelType && channelType?.length > 0 && route?.params && route?.params?.name?.length > 0) {\n createChannel({\n variables: {\n name: route?.params?.name,\n description: route?.params?.description || '',\n type: channelType == 'private' ? RoomType.Private : RoomType.Channel,\n team: route?.params?.teamId?.toString(),\n },\n });\n }\n }, [channelType, route]);\n\n // const setChannelName = (v:any) => {\n // let nameStr = v.replace(/\\s+/g, '-').toLowerCase();\n // setName(nameStr)\n // }\n\n return (\n <Box px=\"$4\" bg={'$white'} flex={1}>\n <RadioGroup\n // name=\"visibilityRadioGroup\"\n accessibilityLabel=\"visibility\"\n value={channelType}\n onChange={(nextValue) => {\n setChannelType(nextValue);\n }}\n >\n <VStack w={'100%'} space={'xl'}>\n <Heading size={'md'} py={'$4'}>\n Visibility\n </Heading>\n <Radio value=\"public\" justifyContent=\"space-between\">\n <RadioLabel color={'$black'} fontSize={18}>\n Public - Anyone in{' '}\n <Text fontSize={18} fontWeight={'$bold'} color={'$black'}>\n {organizationDetail\n ? startCase(organizationDetail?.title ?? orgName ?? 'Home')\n : orgName || 'Home'}\n </Text>\n </RadioLabel>\n <RadioIndicator>\n <RadioIcon as={CircleIcon} p={'$1'} />\n </RadioIndicator>\n </Radio>\n\n <Radio value=\"private\" justifyContent=\"space-between\">\n <RadioLabel fontSize={18} color={'$black'}>\n Private - Only specific people {'\\n'}\n <Text fontSize={15} fontWeight={'$medium'} color={'$coolGray500'}>\n Can only be viewed or joined by invitation.\n </Text>\n </RadioLabel>\n\n <RadioIndicator>\n <RadioIcon as={CircleIcon} />\n </RadioIndicator>\n </Radio>\n\n {/* <HStack space={\"sm\"} alignItems={'center'} justifyContent={'space-between'}>\n <Text fontSize={18}>\n Public - Anyone in{' '}\n {organizationDetail\n ? startCase(organizationDetail?.title ?? orgName ?? 'Home')\n : orgName || 'Home'}\n </Text>\n <Radio\n accessibilityLabel=\"public\"\n aria-label=\"public\"\n value=\"public\"\n my={\"$1\"}\n aria-labelledby=\"public\"\n />\n </HStack>\n <HStack space={2} alignItems={'center'} justifyContent={'space-between'}>\n <Box>\n <Text fontSize={18}>Private - Only specific people</Text>\n <Text fontSize={15} fontWeight={'medium'} color={'coolGray.500'}>\n Can only be viewed or joined by invitation.\n </Text>\n </Box>\n\n <Radio\n accessibilityLabel=\"private\"\n aria-label=\"private\"\n value=\"private\"\n my={1}\n aria-labelledby=\"private\"\n />\n </HStack> */}\n </VStack>\n </RadioGroup>\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 AddChannelVisibility;\n"],"names":["React","_a","_b","Colors"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import React__default,{useState,useEffect}from'react';import {StyleSheet}from're
|
|
|
5
5
|
const [name, setName] = useState("");
|
|
6
6
|
const [description, setDescription] = useState("");
|
|
7
7
|
const [showCreateButton, setShowCreateButton] = useState(false);
|
|
8
|
-
useState(false);
|
|
8
|
+
const [nameIsInvalid, setNameIsInvalid] = useState(false);
|
|
9
9
|
const [createChannel, createdChannel] = useAddChannelMutation({
|
|
10
10
|
onCompleted: (data) => {
|
|
11
11
|
var _a, _b, _c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddChannel.js","sources":["../../../src/screens/Channels/AddChannel.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n SafeAreaView,\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 Fab,\n Icon,\n Divider,\n} from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../constants/Colors';\nimport { useAddChannelMutation } from 'common/lib/generated/generated.js';\nimport { AntDesign } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { NavigationRoutes } from '../../constants/routes';\n\nconst AddChannel = ({ navigation, route }: any) => {\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [nameIsInvalid, setNameIsInvalid] = useState(false);\n\n const [createChannel, createdChannel] = useAddChannelMutation({\n onCompleted: (data: any) => {\n //console.log('create data',data)\n if (data?.createChannel)\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId: data?.createChannel?.id,\n orgName: route?.params?.orgName,\n });\n else navigation.navigate(NavigationRoutes.Home, { orgName: route?.params?.orgName });\n },\n });\n\n // useEffect(() => {\n\n // if(name && name.length > 0){\n // let patt = /^[A-Za-z0-9_+\\-]*$/;\n // if (patt.test(name))\n // {\n // setNameIsInvalid(false)\n // setShowCreateButton(true)\n // }\n // else\n // {\n // setNameIsInvalid(true)\n // setShowCreateButton(false)\n // }\n // }\n // else\n // {\n // setShowCreateButton(false)\n // }\n\n // // if(name && name.length > 0)\n // // setShowCreateButton(true)\n // // else\n // // setShowCreateButton(false)\n\n // }, [name])\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 onPress={() => createNewChannel()} variant={'link'} disabled={showCreateButton ? false : true}>\n <ButtonText style={{ color: showCreateButton ? 'black' : '#71717a' }}>Create</ButtonText>\n </Button>\n ),\n });\n }, [name, description, showCreateButton]);\n\n const createNewChannel = () => {\n if (name && name.length > 0) {\n createChannel({\n variables: {\n name: name,\n description: description,\n },\n });\n }\n };\n\n // const setChannelName = (v:any) => {\n // let nameStr = v.replace(/\\s+/g, '-').toLowerCase();\n // setName(nameStr)\n // }\n\n return (\n <SafeAreaView flex={1}>\n <Box flex={1} bg={'#fff'} softShadow={'1'} py={'$2'} h={'100%'}>\n <VStack space=\"md\">\n <Box px=\"$4\" pt=\"$4\">\n {/* <FormControl isInvalid={nameIsInvalid} mt=\"3\"> */}\n <FormControl mt=\"$3\">\n <FormControlLabel mb=\"$1\">\n <FormControlLabelText>Name</FormControlLabelText>\n </FormControlLabel>\n\n <Input variant=\"underlined\">\n <InputSlot pl=\"$0\">\n <Text color={'$trueGray500'}>#</Text>\n </InputSlot>\n <InputField\n type=\"text\"\n placeholder=\" e.g. Plan budget\"\n maxLength={80}\n value={name}\n onChangeText={(v) => setName(v)}\n />\n <InputSlot pr=\"$3\">\n <Text color={'$trueGray500'}>{80 - name.length}</Text>\n </InputSlot>\n </Input>\n <FormControlError>\n <FormControlErrorText color=\"$red\">\n Channel names must be lowercase, and can't contain spaces,periods,or most\n punctuation.\n </FormControlErrorText>\n </FormControlError>\n </FormControl>\n <FormControl mt=\"$3\">\n <FormControlLabel mb=\"$1\">\n <FormControlLabelText>Description</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputField\n type=\"text\"\n placeholder=\"channel description\"\n value={description}\n onChangeText={(v) => setDescription(v)}\n />\n </Input>\n </FormControl>\n </Box>\n </VStack>\n </Box>\n </SafeAreaView>\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 AddChannel;\n"],"names":["React","Colors"],"mappings":"2dAQA,MAAM,aAAa,CAAC;AAAA,EAClB,UAAA;AAAA,EACA;AACF,CAAW,KAAA;AACT,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAS,EAAE,CAAA;AACnC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,EAAE,CAAA;AACjD,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9D,EAA0C,SAAS,KAAK;AACxD,EAAA,MAAM,CAAC,aAAA,EAAe,cAAc,CAAA,GAAI,qBAAsB,CAAA;AAAA,IAC5D,WAAA,EAAa,CAAC,IAAc,KAAA;AAjBhC,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAmBM,MAAA,IAAI,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,aAAA;AAAe,QAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,SAAW,EAAA;AAAA,UACvE,SAAA,EAAA,CAAW,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,aAAA,KAAN,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA;AAAA,UAChC,OAAA,EAAA,CAAS,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA,KAAP,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA;AAAA,SACzB,CAAA;AAAA;AAAO,QAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,IAAM,EAAA;AAAA,UACjD,OAAA,EAAA,CAAS,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA,KAAP,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA;AAAA,SACzB,CAAA;AAAA;AACH,GACD,CAAA;AA6BD,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,IAAA,IAAQ,KAAK,MAAS,GAAA,CAAA;AAAG,MAAA,mBAAA,CAAoB,IAAI,CAAA;AAAA;AAAO,MAAA,mBAAA,CAAoB,KAAK,CAAA;AAAA,GACvF,EAAG,CAAC,IAAI,CAAC,CAAA;AACT,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,UAAW,CAAA;AAAA,MACpB,WAAa,EAAA,IAAA;AAAA,MACb,gBAAkB,EAAA,MAAA;AAAA,MAClB,kBAAkB,EAAC;AAAA,MACnB,aAAa,CAAC,KAAA,qBAAgBA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,SAAS,MAAM,gBAAA,EAAoB,EAAA,OAAA,EAAS,QAAQ,QAAU,EAAA,gBAAA,GAAmB,QAAQ,IAChH,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,cAAW,KAAO,EAAA;AAAA,QAC7B,KAAA,EAAO,mBAAmB,OAAU,GAAA;AAAA,OACtC,EAAA,EAAG,QAAM,CACD;AAAA,KACX,CAAA;AAAA,GACA,EAAA,CAAC,IAAM,EAAA,WAAA,EAAa,gBAAgB,CAAC,CAAA;AACxC,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAI,IAAA,IAAA,IAAQ,IAAK,CAAA,MAAA,GAAS,CAAG,EAAA;AAC3B,MAAc,aAAA,CAAA;AAAA,QACZ,SAAW,EAAA;AAAA,UACT,IAAA;AAAA,UACA;AAAA;AACF,OACD,CAAA;AAAA;AACH,GACF;AAOA,EAAA,uBAAQA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA,EAAa,IAAM,EAAA,CAAA,EAAA,kBAChBA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,IAAM,EAAA,CAAA,EAAG,EAAI,EAAA,MAAA,EAAQ,UAAY,EAAA,GAAA,EAAK,EAAI,EAAA,IAAA,EAAM,CAAG,EAAA,MAAA,EAAA,kBACnDA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,KAAM,EAAA,IAAA,EAAA,kBACTA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,EAAG,EAAA,IAAA,EAAK,EAAG,EAAA,IAAA,EAAA,kBAEXA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IAAG,IACZ,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,EAAA,EAAG,IACjB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAqB,EAAA,IAAA,EAAA,MAAI,CAC9B,CAAA,kBAECA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,OAAQ,EAAA,YAAA,EAAA,kBACVA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,EAAG,EAAA,IAAA,EAAA,kBACTA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA,cAAA,EAAA,EAAgB,GAAC,CAClC,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,IAAA,EAAK,MAAO,EAAA,WAAA,EAAY,mBAAoB,EAAA,SAAA,EAAW,IAAI,KAAO,EAAA,IAAA,EAAM,YAAc,EAAA,CAAA,CAAA,KAAK,OAAQ,CAAA,CAAC,CAAG,EAAA,CAAA,kBAClHA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,EAAG,EAAA,IAAA,EAAA,kBACTA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA,cAAA,EAAA,EAAiB,EAAK,GAAA,IAAA,CAAK,MAAO,CACnD,CACJ,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,IAAA,kBACIA,cAAA,CAAA,aAAA,CAAA,oBAAA,EAAA,EAAqB,KAAM,EAAA,MAAA,EAAA,EAAO,wFAGnC,CACJ,CACJ,CAAA,+CACC,WAAY,EAAA,EAAA,EAAA,EAAG,IACZ,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,EAAA,EAAG,IACjB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAqB,EAAA,IAAA,EAAA,aAAW,CACrC,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,OAAQ,EAAA,YAAA,EAAA,+CACV,UAAW,EAAA,EAAA,IAAA,EAAK,MAAO,EAAA,WAAA,EAAY,qBAAsB,EAAA,KAAA,EAAO,WAAa,EAAA,YAAA,EAAc,CAAK,CAAA,KAAA,cAAA,CAAe,CAAC,CAAA,EAAG,CACxH,CACJ,CACJ,CACJ,CACJ,CACJ,CAAA;AACR;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,EAAOC,OAAO,KAAM,CAAA,IAAA;AAAA,IACpB,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA;AAEhB,CAAC"}
|
|
1
|
+
{"version":3,"file":"AddChannel.js","sources":["../../../src/screens/Channels/AddChannel.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n SafeAreaView,\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 Fab,\n Icon,\n Divider,\n} from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../constants/Colors';\nimport { useAddChannelMutation } from 'common/lib/generated/generated.js';\nimport { AntDesign } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { NavigationRoutes } from '../../constants/routes';\n\nconst AddChannel = ({ navigation, route }: any) => {\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [nameIsInvalid, setNameIsInvalid] = useState(false);\n\n const [createChannel, createdChannel] = useAddChannelMutation({\n onCompleted: (data: any) => {\n //console.log('create data',data)\n if (data?.createChannel)\n navigation.navigate(NavigationRoutes.AddPeople, {\n channelId: data?.createChannel?.id,\n orgName: route?.params?.orgName,\n });\n else navigation.navigate(NavigationRoutes.Home, { orgName: route?.params?.orgName });\n },\n });\n\n // useEffect(() => {\n\n // if(name && name.length > 0){\n // let patt = /^[A-Za-z0-9_+\\-]*$/;\n // if (patt.test(name))\n // {\n // setNameIsInvalid(false)\n // setShowCreateButton(true)\n // }\n // else\n // {\n // setNameIsInvalid(true)\n // setShowCreateButton(false)\n // }\n // }\n // else\n // {\n // setShowCreateButton(false)\n // }\n\n // // if(name && name.length > 0)\n // // setShowCreateButton(true)\n // // else\n // // setShowCreateButton(false)\n\n // }, [name])\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 onPress={() => createNewChannel()} variant={'link'} disabled={showCreateButton ? false : true}>\n <ButtonText style={{ color: showCreateButton ? 'black' : '#71717a' }}>Create</ButtonText>\n </Button>\n ),\n });\n }, [name, description, showCreateButton]);\n\n const createNewChannel = () => {\n if (name && name.length > 0) {\n createChannel({\n variables: {\n name: name,\n description: description,\n },\n });\n }\n };\n\n // const setChannelName = (v:any) => {\n // let nameStr = v.replace(/\\s+/g, '-').toLowerCase();\n // setName(nameStr)\n // }\n\n return (\n <SafeAreaView flex={1}>\n <Box flex={1} bg={'#fff'} softShadow={'1'} py={'$2'} h={'100%'}>\n <VStack space=\"md\">\n <Box px=\"$4\" pt=\"$4\">\n {/* <FormControl isInvalid={nameIsInvalid} mt=\"3\"> */}\n <FormControl mt=\"$3\">\n <FormControlLabel mb=\"$1\">\n <FormControlLabelText>Name</FormControlLabelText>\n </FormControlLabel>\n\n <Input variant=\"underlined\">\n <InputSlot pl=\"$0\">\n <Text color={'$trueGray500'}>#</Text>\n </InputSlot>\n <InputField\n type=\"text\"\n placeholder=\" e.g. Plan budget\"\n maxLength={80}\n value={name}\n onChangeText={(v) => setName(v)}\n />\n <InputSlot pr=\"$3\">\n <Text color={'$trueGray500'}>{80 - name.length}</Text>\n </InputSlot>\n </Input>\n <FormControlError>\n <FormControlErrorText color=\"$red\">\n Channel names must be lowercase, and can't contain spaces,periods,or most\n punctuation.\n </FormControlErrorText>\n </FormControlError>\n </FormControl>\n <FormControl mt=\"$3\">\n <FormControlLabel mb=\"$1\">\n <FormControlLabelText>Description</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputField\n type=\"text\"\n placeholder=\"channel description\"\n value={description}\n onChangeText={(v) => setDescription(v)}\n />\n </Input>\n </FormControl>\n </Box>\n </VStack>\n </Box>\n </SafeAreaView>\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 AddChannel;\n"],"names":["React","Colors"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default,{useState,useEffect}from'react';import {
|
|
1
|
+
import React__default,{useState,useEffect}from'react';import {TouchableHighlight,StyleSheet,Dimensions}from'react-native';import {Box,Text,Button,ButtonText,SafeAreaView,View,Input,InputSlot,InputIcon,SearchIcon,InputField,Divider,VStack,FlatList,Spinner,HStack}from'@admin-layout/gluestack-ui-mobile';import colors from'../../constants/Colors.js';import {NavigationRoutes}from'../../constants/routes.js';import {RoomType}from'common';import {useGetChannelsByUserQuery}from'common/lib/generated/generated.js';import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {FontAwesome,Octicons}from'@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';Dimensions.get("window").width;
|
|
2
2
|
Dimensions.get("window").height;
|
|
3
3
|
const defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];
|
|
4
4
|
const Channels = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channels.js","sources":["../../../src/screens/Channels/Channels.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet, TouchableHighlight, Dimensions } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n InputIcon,\n SearchIcon,\n Button,\n ButtonText,\n View,\n Text,\n VStack,\n Box,\n Fab,\n SafeAreaView,\n FlatList,\n Divider,\n HStack,\n SectionList,\n Center,\n Heading,\n Spinner,\n} from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../constants/Colors';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign } from '@expo/vector-icons';\n// import VirtualizedScrollView from '../VirtualizedScrollView';\nimport { RoomType } from 'common';\nimport { useGetChannelsByUserQuery, useGetChannelsByUserLazyQuery } from 'common/lib/generated/generated.js';\nimport { useIsFocused, useFocusEffect, useNavigation } from '@react-navigation/native';\n// import { navigationRef } from '@common-stack/client-react';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { StatusBar } from 'expo-status-bar';\nimport { NavigationHeader, ChannelsByAlphabeticalAccordion } from '../../components';\nimport { useDrawerLayout } from '../../hooks';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\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 = ({ navigation, route }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigationRef = useNavigation<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: null,\n },\n limit: 50,\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetch({\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: null,\n },\n limit: 50,\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 headerLeft: (props: any) => (\n <Button onPress={() => navigation.goBack()} variant={'link'}>\n <ButtonText>Cancel</ButtonText>\n </Button>\n ),\n headerRight: (props: any) => (\n <Button\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel, { orgName })}\n variant={'link'}\n >\n <ButtonText>Create</ButtonText>\n </Button>\n ),\n headerTitle: (props: any) => (\n <Box>\n <Text color={'$black'} fontSize={15} fontWeight={'600'}>\n Channels\n </Text>\n </Box>\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 renderUserChannelItem = ({ item }: any) => {\n // return (\n // <TouchableHighlight\n // underlayColor={'transparent'}\n // activeOpacity={0.5}\n // key={item.id}\n // style={{ marginTop: 1 }}\n // onPress={() => openInbox(item?.id, item?.title, item?.members?.length)}\n // >\n // <Box bg={'#fff'} shadow={1} py={2}>\n // <VStack space=\"5\">\n // {/* <Box px=\"4\" pt=\"4\"> */}\n // <HStack px=\"4\" py={1} space={2}>\n // <Text style={styles.headingText}>#</Text>\n // {/* <Box px=\"4\" py={1}> */}\n // <Box px=\"2\">\n // <Text style={styles.headingText}>{item.title}</Text>\n // <Text>You are a memeber</Text>\n // </Box>\n // </HStack>\n // {/* <Box px=\"4\" py={1}>\n // <Text style={styles.headingText}># {item.title}</Text>\n // <Text > You are a memeber</Text>\n // </Box> */}\n // {/* <Box px=\"4\" pb={2}>\n // You are a memeber\n // </Box> */}\n // </VStack>\n // </Box>\n // </TouchableHighlight>\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 <SafeAreaView flex={1} bg={'$white'}>\n <View flex={1} bg={'$white'}>\n <Input\n bg={'$coolGray100'}\n mx=\"$4\"\n my={'$2'}\n borderRadius={'$lg'}\n borderWidth={'$0'}\n style={{ boxShadow: 'none' }}\n variant=\"outline\"\n >\n <InputSlot pl=\"$3\">\n <InputIcon color={'$black'} as={SearchIcon} />\n </InputSlot>\n <InputField\n px={'$3'}\n alignItems=\"center\"\n type=\"text\"\n size=\"xl\"\n placeholder=\"Search\"\n placeholderTextColor={'#404040'}\n color=\"$black\"\n fontSize={15}\n onChange={({ nativeEvent: { eventCount, target, text } }) => {\n searchChannels(text);\n }}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n <Divider />\n {/* <ChannelsByAlphabeticalAccordion channels={sortedChannels} loading={loading} onPress={openInbox} /> */}\n <View flex={1}>\n <VStack flex={1}>\n <FlatList\n contentContainerStyle={{\n flexGrow: 1,\n paddingBottom: 50,\n }}\n w={'100%'}\n h={'100%'}\n maxWidth={'100%'}\n pb={'$20'}\n mb={'$10'}\n data={channels ? channels : []}\n keyExtractor={(item: any, index: any) => item + index}\n renderItem={({ item }: any) => (\n <TouchableHighlight\n underlayColor={'transparent'}\n activeOpacity={0.5}\n key={item.id}\n style={{ marginTop: 1 }}\n onPress={() => openInbox(item)}\n >\n <Box bg={'#fff'} py={'$2'}>\n <VStack space=\"md\">\n <HStack px=\"$4\" py={'$1'} space={'sm'} alignItems=\"center\">\n <Text style={styles.headingText}>\n {item.type == RoomType.Private ? (\n <>\n <FontAwesome color={'#525252'} name=\"lock\" size={20} />\n </>\n ) : (\n <Octicons color=\"#525252\" name=\"hash\" size={20} />\n )}\n </Text>\n\n <Box px=\"$2\">\n <Text style={styles.headingText}>{item.title}</Text>\n {/* <Text>You are a memeber</Text> */}\n </Box>\n </HStack>\n </VStack>\n </Box>\n </TouchableHighlight>\n )}\n ListEmptyComponent={() => {\n return (\n <View py={'$1'}>\n {loading ? (\n <Spinner color={'$blue500'} />\n ) : (\n <Text color={'$coolGray600'}>No Channels found</Text>\n )}\n </View>\n );\n }}\n key={'search-channels-list'}\n />\n </VStack>\n </View>\n\n {/* <Fab\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel)}\n bg={'$white'}\n $pressed-bg={'$trueGray200'}\n $active-bg={'$trueGray200'}\n bottom={'$10'}\n // renderInPortal={false}\n // shadow={3}\n size=\"sm\"\n borderRadius={'$lg'}\n >\n <AntDesign color=\"black\" name=\"plus\" size={20} />\n </Fab> */}\n </View>\n </SafeAreaView>\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","Colors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Channels.js","sources":["../../../src/screens/Channels/Channels.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { StyleSheet, TouchableHighlight, Dimensions } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n InputIcon,\n SearchIcon,\n Button,\n ButtonText,\n View,\n Text,\n VStack,\n Box,\n Fab,\n SafeAreaView,\n FlatList,\n Divider,\n HStack,\n SectionList,\n Center,\n Heading,\n Spinner,\n} from '@admin-layout/gluestack-ui-mobile';\nimport Colors from '../../constants/Colors';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign } from '@expo/vector-icons';\n// import VirtualizedScrollView from '../VirtualizedScrollView';\nimport { RoomType } from 'common';\nimport { useGetChannelsByUserQuery, useGetChannelsByUserLazyQuery } from 'common/lib/generated/generated.js';\nimport { useIsFocused, useFocusEffect, useNavigation } from '@react-navigation/native';\n// import { navigationRef } from '@common-stack/client-react';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { StatusBar } from 'expo-status-bar';\nimport { NavigationHeader, ChannelsByAlphabeticalAccordion } from '../../components';\nimport { useDrawerLayout } from '../../hooks';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\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 = ({ navigation, route }: any) => {\n const { orgName, organizationDetail } = useDrawerLayout();\n const navigationRef = useNavigation<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: null,\n },\n limit: 50,\n },\n });\n\n useFocusEffect(\n React.useCallback(() => {\n if (orgName) {\n refetch({\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: null,\n },\n limit: 50,\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 headerLeft: (props: any) => (\n <Button onPress={() => navigation.goBack()} variant={'link'}>\n <ButtonText>Cancel</ButtonText>\n </Button>\n ),\n headerRight: (props: any) => (\n <Button\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel, { orgName })}\n variant={'link'}\n >\n <ButtonText>Create</ButtonText>\n </Button>\n ),\n headerTitle: (props: any) => (\n <Box>\n <Text color={'$black'} fontSize={15} fontWeight={'600'}>\n Channels\n </Text>\n </Box>\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 renderUserChannelItem = ({ item }: any) => {\n // return (\n // <TouchableHighlight\n // underlayColor={'transparent'}\n // activeOpacity={0.5}\n // key={item.id}\n // style={{ marginTop: 1 }}\n // onPress={() => openInbox(item?.id, item?.title, item?.members?.length)}\n // >\n // <Box bg={'#fff'} shadow={1} py={2}>\n // <VStack space=\"5\">\n // {/* <Box px=\"4\" pt=\"4\"> */}\n // <HStack px=\"4\" py={1} space={2}>\n // <Text style={styles.headingText}>#</Text>\n // {/* <Box px=\"4\" py={1}> */}\n // <Box px=\"2\">\n // <Text style={styles.headingText}>{item.title}</Text>\n // <Text>You are a memeber</Text>\n // </Box>\n // </HStack>\n // {/* <Box px=\"4\" py={1}>\n // <Text style={styles.headingText}># {item.title}</Text>\n // <Text > You are a memeber</Text>\n // </Box> */}\n // {/* <Box px=\"4\" pb={2}>\n // You are a memeber\n // </Box> */}\n // </VStack>\n // </Box>\n // </TouchableHighlight>\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 <SafeAreaView flex={1} bg={'$white'}>\n <View flex={1} bg={'$white'}>\n <Input\n bg={'$coolGray100'}\n mx=\"$4\"\n my={'$2'}\n borderRadius={'$lg'}\n borderWidth={'$0'}\n style={{ boxShadow: 'none' }}\n variant=\"outline\"\n >\n <InputSlot pl=\"$3\">\n <InputIcon color={'$black'} as={SearchIcon} />\n </InputSlot>\n <InputField\n px={'$3'}\n alignItems=\"center\"\n type=\"text\"\n size=\"xl\"\n placeholder=\"Search\"\n placeholderTextColor={'#404040'}\n color=\"$black\"\n fontSize={15}\n onChange={({ nativeEvent: { eventCount, target, text } }) => {\n searchChannels(text);\n }}\n autoCapitalize={'none'}\n autoCorrect={false}\n />\n </Input>\n <Divider />\n {/* <ChannelsByAlphabeticalAccordion channels={sortedChannels} loading={loading} onPress={openInbox} /> */}\n <View flex={1}>\n <VStack flex={1}>\n <FlatList\n contentContainerStyle={{\n flexGrow: 1,\n paddingBottom: 50,\n }}\n w={'100%'}\n h={'100%'}\n maxWidth={'100%'}\n pb={'$20'}\n mb={'$10'}\n data={channels ? channels : []}\n keyExtractor={(item: any, index: any) => item + index}\n renderItem={({ item }: any) => (\n <TouchableHighlight\n underlayColor={'transparent'}\n activeOpacity={0.5}\n key={item.id}\n style={{ marginTop: 1 }}\n onPress={() => openInbox(item)}\n >\n <Box bg={'#fff'} py={'$2'}>\n <VStack space=\"md\">\n <HStack px=\"$4\" py={'$1'} space={'sm'} alignItems=\"center\">\n <Text style={styles.headingText}>\n {item.type == RoomType.Private ? (\n <>\n <FontAwesome color={'#525252'} name=\"lock\" size={20} />\n </>\n ) : (\n <Octicons color=\"#525252\" name=\"hash\" size={20} />\n )}\n </Text>\n\n <Box px=\"$2\">\n <Text style={styles.headingText}>{item.title}</Text>\n {/* <Text>You are a memeber</Text> */}\n </Box>\n </HStack>\n </VStack>\n </Box>\n </TouchableHighlight>\n )}\n ListEmptyComponent={() => {\n return (\n <View py={'$1'}>\n {loading ? (\n <Spinner color={'$blue500'} />\n ) : (\n <Text color={'$coolGray600'}>No Channels found</Text>\n )}\n </View>\n );\n }}\n key={'search-channels-list'}\n />\n </VStack>\n </View>\n\n {/* <Fab\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel)}\n bg={'$white'}\n $pressed-bg={'$trueGray200'}\n $active-bg={'$trueGray200'}\n bottom={'$10'}\n // renderInPortal={false}\n // shadow={3}\n size=\"sm\"\n borderRadius={'$lg'}\n >\n <AntDesign color=\"black\" name=\"plus\" size={20} />\n </Fab> */}\n </View>\n </SafeAreaView>\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","Colors"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import React__default,{useState}from'react';import {TouchableOpacity}from'react-native';import {NavigationRoutes}from'../../../../constants/routes.js';import {View,HStack,Text,FlatList,
|
|
1
|
+
import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import React__default,{useState}from'react';import {TouchableOpacity}from'react-native';import {NavigationRoutes}from'../../../../constants/routes.js';import {View,HStack,Text,FlatList,Button,ButtonText,VStack,Icon,AddIcon,Actionsheet,ActionsheetBackdrop,ActionsheetContent,ActionsheetItem,ActionsheetItemText,Spinner,Box}from'@admin-layout/gluestack-ui-mobile';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import styles from'../../styles.js';import {take,orderBy,uniqBy}from'lodash-es';import {RoomType}from'common';import {MaterialIcons,Octicons}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../../hooks/useDrawerLayout.js';import'../../../../hooks/useExpoNotificationProvider.js';import {useDisclose}from'../../../../hooks/useDisclose.js';const Channels = ({
|
|
2
2
|
channels,
|
|
3
3
|
loading,
|
|
4
4
|
reFetchChannels,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channels.js","sources":["../../../../../src/screens/Home/Components/Channels/Channels.tsx"],"sourcesContent":["import { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { TouchableOpacity, Share } from 'react-native';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport more from '../../../../assets/images/more.png';\nimport right from '../../../../assets/images/right.png';\nimport {} from '../../../../constants/preloadImages';\nimport {\n Pressable,\n View,\n Image,\n FlatList,\n Icon,\n AddIcon,\n Box,\n Text,\n Avatar,\n Spinner,\n VStack,\n HStack,\n Button,\n ButtonText,\n Actionsheet,\n ActionsheetBackdrop,\n ActionsheetContent,\n ActionsheetDragIndicatorWrapper,\n ActionsheetDragIndicator,\n ActionsheetItem,\n ActionsheetItemText,\n ActionsheetIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { userSelector, isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { useNavigation } from '@react-navigation/native';\nimport { navigationRef } from '@common-stack/client-react';\nimport styles from '../../styles';\nimport { startCase, orderBy, uniqBy, take } from 'lodash-es';\nimport { RoomType } from 'common';\nimport { useGetChannelsByUserQuery } from 'common/lib/generated/generated.js';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport Colors from '../../../../constants/Colors';\nimport { useDrawerLayout, useDisclose } from '../../../../hooks';\n\nconst Channels = ({ channels, loading, reFetchChannels, fetchMoreChannels, showMore }) => {\n const { isOpen, onOpen, onClose } = useDisclose();\n const navigation = useNavigation<any>();\n const [expandable, setExpendable] = useState(true);\n const user: any = useSelector(userSelector);\n const { orgName } = useDrawerLayout();\n // const { authenticated } = isUserAuthenticated();\n const isFocused = useIsFocused();\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n reFetchChannels();\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const organizationChannels = React.useMemo(() => {\n //Direct channel\n return (\n (channels &&\n channels?.length &&\n take(\n orderBy(\n uniqBy(\n [...channels]?.filter((i: any) => i.type !== RoomType.Direct),\n ({ id }) => id,\n ),\n [(ch: any) => ch?.title.toLowerCase()],\n ['asc'],\n ),\n 20,\n )) ||\n []\n );\n }, [channels]);\n\n const openInbox = React.useCallback(\n (id: any, title: any, totalMembers: any, type?: any) => {\n navigation.navigate(NavigationRoutes.DialogMessages, {\n channelId: id?.toString(),\n title: title?.toString(),\n totalMembers: totalMembers,\n channelType: type,\n orgName: orgName,\n hideTabBar: true,\n });\n },\n [orgName],\n );\n\n const renderUserChannelItem = ({ item }: any) => {\n return (\n <TouchableOpacity\n key={item.id}\n onPress={() => openInbox(item?.id, item?.title, item?.members?.length, item?.type)}\n >\n <VStack py={'$1'}>\n <HStack flex={1} alignItems={'center'} space=\"sm\">\n <Box>\n {item.type == RoomType.Channel ? (\n <Octicons color=\"black\" name=\"hash\" size={16} />\n ) : (\n <>\n <Octicons color=\"black\" name=\"lock\" size={16} />\n </>\n )}\n </Box>\n <Text style={{ fontSize: 14, fontWeight: '400' }} color={'$coolGray800'}>\n {item.title}\n </Text>\n </HStack>\n </VStack>\n </TouchableOpacity>\n );\n };\n\n const loadMore = React.useCallback(() => {\n fetchMoreChannels(organizationChannels?.length);\n }, [organizationChannels]);\n\n return (\n <View style={styles.channelContainer}>\n <TouchableOpacity style={styles.headingContainer} onPress={() => setExpendable(!expandable)}>\n <HStack flex={1} alignItems={'center'} justifyContent={'space-between'}>\n <Text style={{ fontSize: 15, fontWeight: '600', color: 'black' }}>Channels</Text>\n {expandable ? (\n <MaterialIcons color={'black'} name={'keyboard-arrow-up'} size={20} />\n ) : (\n <MaterialIcons color={'black'} name={'keyboard-arrow-down'} size={20} />\n )}\n {/* <HStack alignItems={'center'}>\n <Button\n bg={'transparent'}\n onPress={() => navigation.navigate(NavigationRoutes.Channels, { orgName })}\n >\n <MaterialIcons color={'black'} name={'add'} size={20} />\n </Button>\n {expandable ? (\n <MaterialIcons color={'black'} name={'keyboard-arrow-up'} size={20} />\n ) : (\n <MaterialIcons color={'black'} name={'keyboard-arrow-down'} size={20} />\n )}\n </HStack> */}\n </HStack>\n </TouchableOpacity>\n {/* <TouchableOpacity style={styles.headingContainer} onPress={() => setExpendable(!expandable)}>\n <Text fontSize={15} fontWeight={600}>\n Channels\n </Text>\n <Image alt={'more icon right'} style={styles.iconStyle} source={expandable ? more : right} />\n </TouchableOpacity> */}\n {expandable && (\n <>\n <FlatList\n py={'$2'}\n data={organizationChannels && organizationChannels.length > 0 ? organizationChannels : []}\n renderItem={renderUserChannelItem}\n key={'channels-list'}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n }}\n ListEmptyComponent={() => {\n return (\n <View py={'$1'}>\n {loading ? (\n <Spinner color={'$blue500'} />\n ) : (\n <Text color={'$coolGray600'}>No Channels found</Text>\n )}\n </View>\n );\n }}\n ListFooterComponent={() => {\n return (\n <>\n {channels?.length > 20 && (\n <HStack flex={1} alignItems={'center'}>\n <Button\n bg={'transparent'}\n variant={'solid'}\n pl={'$0'}\n onPress={() =>\n navigation.navigate(NavigationRoutes.Channels, { orgName })\n }\n $pressed-bg=\"transparent\"\n $active-bg={'transparent'}\n >\n <MaterialIcons color={'black'} name={'search'} size={20} />\n <ButtonText color={'$black'}>Browse all channels</ButtonText>\n </Button>\n {/* <Button\n size={'sm'}\n // w={135}\n variant={'ghost'}\n justifyContent={'flex-start'}\n _text={{ color: 'black', fontSize: 16 }}\n // onPress={() => loadMore()}\n >\n <HStack alignItems={'center'} space={1}>\n <Icon\n as={MaterialIcons}\n color={'black'}\n name={'search'}\n size={'lg'}\n />\n <Text color=\"black\" fontSize={16}>\n Browse All Channels\n </Text>\n </HStack>\n </Button> */}\n </HStack>\n )}\n\n <TouchableOpacity\n // onPress={() => navigation.navigate(NavigationRoutes.Channels, { orgName })}\n onPress={onOpen}\n >\n <VStack py={'$1'} ml={'-$0.5'}>\n <HStack\n flex={1}\n alignItems={'center'}\n justifyContent={'flex-start'}\n space={'sm'}\n >\n <Icon as={AddIcon} color={'$coolGray600'} />\n <Text style={{ fontSize: 14, fontWeight: '400', color: 'black' }}>\n Add Channel\n </Text>\n </HStack>\n </VStack>\n </TouchableOpacity>\n\n <Actionsheet isOpen={isOpen} onClose={onClose}>\n <ActionsheetBackdrop />\n <ActionsheetContent bg={'transparent'}>\n <VStack w=\"$full\" p={20} px={'$1'}>\n <ActionsheetItem\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddChannel, { orgName })\n }\n bg={'$white'}\n $pressed-bg=\"$coolGray100\"\n $active-bg={'$coolGray100'}\n borderWidth={'$1'}\n borderColor=\"$coolGray200\"\n borderRadius={'$lg'}\n borderBottomLeftRadius={'$0'}\n borderBottomRightRadius={'$0'}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <ActionsheetItemText\n style={{ fontWeight: '500', fontSize: 15, color: '#3b82f6' }}\n >\n Create Channel\n </ActionsheetItemText>\n </ActionsheetItem>\n\n <ActionsheetItem\n onPress={() =>\n navigation.navigate(NavigationRoutes.Channels, { orgName })\n }\n bg={'$white'}\n $pressed-bg=\"$coolGray100\"\n $active-bg={'$coolGray100'}\n borderWidth={'$1'}\n borderColor=\"$coolGray200\"\n borderRadius={'$lg'}\n borderTopLeftRadius={'$0'}\n borderTopRightRadius={'$0'}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <ActionsheetItemText\n style={{ fontWeight: '500', fontSize: 15, color: '#3b82f6' }}\n >\n Browse Channels\n </ActionsheetItemText>\n </ActionsheetItem>\n\n <ActionsheetItem\n onPress={() => onClose()}\n bg={'$white'}\n $pressed-bg=\"$coolGray100\"\n $active-bg={'$coolGray100'}\n borderWidth={'$1'}\n borderColor=\"$coolGray200\"\n borderRadius={'$lg'}\n alignItems=\"center\"\n justifyContent=\"center\"\n mt={'$1'}\n >\n <ActionsheetItemText\n style={{ fontWeight: '500', fontSize: 15, color: '#2563eb' }}\n >\n Cancel\n </ActionsheetItemText>\n </ActionsheetItem>\n </VStack>\n </ActionsheetContent>\n </Actionsheet>\n </>\n );\n }}\n />\n </>\n )}\n </View>\n );\n};\n\nexport default React.memo(Channels);\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Channels.js","sources":["../../../../../src/screens/Home/Components/Channels/Channels.tsx"],"sourcesContent":["import { useIsFocused, useFocusEffect } from '@react-navigation/native';\nimport React, { useState, useEffect, useLayoutEffect } from 'react';\nimport { TouchableOpacity, Share } from 'react-native';\nimport { NavigationRoutes } from '../../../../constants/routes';\nimport more from '../../../../assets/images/more.png';\nimport right from '../../../../assets/images/right.png';\nimport {} from '../../../../constants/preloadImages';\nimport {\n Pressable,\n View,\n Image,\n FlatList,\n Icon,\n AddIcon,\n Box,\n Text,\n Avatar,\n Spinner,\n VStack,\n HStack,\n Button,\n ButtonText,\n Actionsheet,\n ActionsheetBackdrop,\n ActionsheetContent,\n ActionsheetDragIndicatorWrapper,\n ActionsheetDragIndicator,\n ActionsheetItem,\n ActionsheetItemText,\n ActionsheetIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { userSelector, isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { useNavigation } from '@react-navigation/native';\nimport { navigationRef } from '@common-stack/client-react';\nimport styles from '../../styles';\nimport { startCase, orderBy, uniqBy, take } from 'lodash-es';\nimport { RoomType } from 'common';\nimport { useGetChannelsByUserQuery } from 'common/lib/generated/generated.js';\nimport { FontAwesome, Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport Colors from '../../../../constants/Colors';\nimport { useDrawerLayout, useDisclose } from '../../../../hooks';\n\nconst Channels = ({ channels, loading, reFetchChannels, fetchMoreChannels, showMore }) => {\n const { isOpen, onOpen, onClose } = useDisclose();\n const navigation = useNavigation<any>();\n const [expandable, setExpendable] = useState(true);\n const user: any = useSelector(userSelector);\n const { orgName } = useDrawerLayout();\n // const { authenticated } = isUserAuthenticated();\n const isFocused = useIsFocused();\n\n useFocusEffect(\n React.useCallback(() => {\n // Do something when the screen is focused\n reFetchChannels();\n\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n };\n }, []),\n );\n\n const organizationChannels = React.useMemo(() => {\n //Direct channel\n return (\n (channels &&\n channels?.length &&\n take(\n orderBy(\n uniqBy(\n [...channels]?.filter((i: any) => i.type !== RoomType.Direct),\n ({ id }) => id,\n ),\n [(ch: any) => ch?.title.toLowerCase()],\n ['asc'],\n ),\n 20,\n )) ||\n []\n );\n }, [channels]);\n\n const openInbox = React.useCallback(\n (id: any, title: any, totalMembers: any, type?: any) => {\n navigation.navigate(NavigationRoutes.DialogMessages, {\n channelId: id?.toString(),\n title: title?.toString(),\n totalMembers: totalMembers,\n channelType: type,\n orgName: orgName,\n hideTabBar: true,\n });\n },\n [orgName],\n );\n\n const renderUserChannelItem = ({ item }: any) => {\n return (\n <TouchableOpacity\n key={item.id}\n onPress={() => openInbox(item?.id, item?.title, item?.members?.length, item?.type)}\n >\n <VStack py={'$1'}>\n <HStack flex={1} alignItems={'center'} space=\"sm\">\n <Box>\n {item.type == RoomType.Channel ? (\n <Octicons color=\"black\" name=\"hash\" size={16} />\n ) : (\n <>\n <Octicons color=\"black\" name=\"lock\" size={16} />\n </>\n )}\n </Box>\n <Text style={{ fontSize: 14, fontWeight: '400' }} color={'$coolGray800'}>\n {item.title}\n </Text>\n </HStack>\n </VStack>\n </TouchableOpacity>\n );\n };\n\n const loadMore = React.useCallback(() => {\n fetchMoreChannels(organizationChannels?.length);\n }, [organizationChannels]);\n\n return (\n <View style={styles.channelContainer}>\n <TouchableOpacity style={styles.headingContainer} onPress={() => setExpendable(!expandable)}>\n <HStack flex={1} alignItems={'center'} justifyContent={'space-between'}>\n <Text style={{ fontSize: 15, fontWeight: '600', color: 'black' }}>Channels</Text>\n {expandable ? (\n <MaterialIcons color={'black'} name={'keyboard-arrow-up'} size={20} />\n ) : (\n <MaterialIcons color={'black'} name={'keyboard-arrow-down'} size={20} />\n )}\n {/* <HStack alignItems={'center'}>\n <Button\n bg={'transparent'}\n onPress={() => navigation.navigate(NavigationRoutes.Channels, { orgName })}\n >\n <MaterialIcons color={'black'} name={'add'} size={20} />\n </Button>\n {expandable ? (\n <MaterialIcons color={'black'} name={'keyboard-arrow-up'} size={20} />\n ) : (\n <MaterialIcons color={'black'} name={'keyboard-arrow-down'} size={20} />\n )}\n </HStack> */}\n </HStack>\n </TouchableOpacity>\n {/* <TouchableOpacity style={styles.headingContainer} onPress={() => setExpendable(!expandable)}>\n <Text fontSize={15} fontWeight={600}>\n Channels\n </Text>\n <Image alt={'more icon right'} style={styles.iconStyle} source={expandable ? more : right} />\n </TouchableOpacity> */}\n {expandable && (\n <>\n <FlatList\n py={'$2'}\n data={organizationChannels && organizationChannels.length > 0 ? organizationChannels : []}\n renderItem={renderUserChannelItem}\n key={'channels-list'}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flex: 1,\n }}\n ListEmptyComponent={() => {\n return (\n <View py={'$1'}>\n {loading ? (\n <Spinner color={'$blue500'} />\n ) : (\n <Text color={'$coolGray600'}>No Channels found</Text>\n )}\n </View>\n );\n }}\n ListFooterComponent={() => {\n return (\n <>\n {channels?.length > 20 && (\n <HStack flex={1} alignItems={'center'}>\n <Button\n bg={'transparent'}\n variant={'solid'}\n pl={'$0'}\n onPress={() =>\n navigation.navigate(NavigationRoutes.Channels, { orgName })\n }\n $pressed-bg=\"transparent\"\n $active-bg={'transparent'}\n >\n <MaterialIcons color={'black'} name={'search'} size={20} />\n <ButtonText color={'$black'}>Browse all channels</ButtonText>\n </Button>\n {/* <Button\n size={'sm'}\n // w={135}\n variant={'ghost'}\n justifyContent={'flex-start'}\n _text={{ color: 'black', fontSize: 16 }}\n // onPress={() => loadMore()}\n >\n <HStack alignItems={'center'} space={1}>\n <Icon\n as={MaterialIcons}\n color={'black'}\n name={'search'}\n size={'lg'}\n />\n <Text color=\"black\" fontSize={16}>\n Browse All Channels\n </Text>\n </HStack>\n </Button> */}\n </HStack>\n )}\n\n <TouchableOpacity\n // onPress={() => navigation.navigate(NavigationRoutes.Channels, { orgName })}\n onPress={onOpen}\n >\n <VStack py={'$1'} ml={'-$0.5'}>\n <HStack\n flex={1}\n alignItems={'center'}\n justifyContent={'flex-start'}\n space={'sm'}\n >\n <Icon as={AddIcon} color={'$coolGray600'} />\n <Text style={{ fontSize: 14, fontWeight: '400', color: 'black' }}>\n Add Channel\n </Text>\n </HStack>\n </VStack>\n </TouchableOpacity>\n\n <Actionsheet isOpen={isOpen} onClose={onClose}>\n <ActionsheetBackdrop />\n <ActionsheetContent bg={'transparent'}>\n <VStack w=\"$full\" p={20} px={'$1'}>\n <ActionsheetItem\n onPress={() =>\n navigation.navigate(NavigationRoutes.AddChannel, { orgName })\n }\n bg={'$white'}\n $pressed-bg=\"$coolGray100\"\n $active-bg={'$coolGray100'}\n borderWidth={'$1'}\n borderColor=\"$coolGray200\"\n borderRadius={'$lg'}\n borderBottomLeftRadius={'$0'}\n borderBottomRightRadius={'$0'}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <ActionsheetItemText\n style={{ fontWeight: '500', fontSize: 15, color: '#3b82f6' }}\n >\n Create Channel\n </ActionsheetItemText>\n </ActionsheetItem>\n\n <ActionsheetItem\n onPress={() =>\n navigation.navigate(NavigationRoutes.Channels, { orgName })\n }\n bg={'$white'}\n $pressed-bg=\"$coolGray100\"\n $active-bg={'$coolGray100'}\n borderWidth={'$1'}\n borderColor=\"$coolGray200\"\n borderRadius={'$lg'}\n borderTopLeftRadius={'$0'}\n borderTopRightRadius={'$0'}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <ActionsheetItemText\n style={{ fontWeight: '500', fontSize: 15, color: '#3b82f6' }}\n >\n Browse Channels\n </ActionsheetItemText>\n </ActionsheetItem>\n\n <ActionsheetItem\n onPress={() => onClose()}\n bg={'$white'}\n $pressed-bg=\"$coolGray100\"\n $active-bg={'$coolGray100'}\n borderWidth={'$1'}\n borderColor=\"$coolGray200\"\n borderRadius={'$lg'}\n alignItems=\"center\"\n justifyContent=\"center\"\n mt={'$1'}\n >\n <ActionsheetItemText\n style={{ fontWeight: '500', fontSize: 15, color: '#2563eb' }}\n >\n Cancel\n </ActionsheetItemText>\n </ActionsheetItem>\n </VStack>\n </ActionsheetContent>\n </Actionsheet>\n </>\n );\n }}\n />\n </>\n )}\n </View>\n );\n};\n\nexport default React.memo(Channels);\n"],"names":["React"],"mappings":"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"}
|