@messenger-box/slack-ui-mobile 10.0.3-alpha.47 → 10.0.3-alpha.49

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.
Files changed (50) hide show
  1. package/lib/components/AppRootContextProviderComponent.js +1 -1
  2. package/lib/components/AppRootContextProviderComponent.js.map +1 -1
  3. package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +1 -1
  4. package/lib/compute.js +6 -6
  5. package/lib/compute.js.map +1 -1
  6. package/lib/hooks/useOptimizedChannelsQueries.js +106 -0
  7. package/lib/hooks/useOptimizedChannelsQueries.js.map +1 -0
  8. package/lib/index.js +1 -1
  9. package/lib/index.js.map +1 -1
  10. package/lib/navigation/SearchTabNavigation.js +1 -1
  11. package/lib/navigation/TeamTabNavigation.js +1 -1
  12. package/lib/routes.json +6 -6
  13. package/lib/screens/Account/AccountScreen.js +1 -1
  14. package/lib/screens/Account/AccountScreen.js.map +1 -1
  15. package/lib/screens/Channels/Add/AddVisibility.js +1 -1
  16. package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
  17. package/lib/screens/Channels/Channels.js +1 -1
  18. package/lib/screens/Channels/Channels.js.map +1 -1
  19. package/lib/screens/Home/Components/Channels/Channels.js +16 -53
  20. package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
  21. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +58 -61
  22. package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
  23. package/lib/screens/Home/Components/Teams/Teams.js +1 -1
  24. package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
  25. package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +1 -1
  26. package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
  27. package/lib/screens/Home/HomeScreen.js +45 -5
  28. package/lib/screens/Home/HomeScreen.js.map +1 -1
  29. package/lib/screens/Inbox/InboxChannelDetail.js +1 -1
  30. package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
  31. package/lib/screens/Inbox/InboxScreen.js +1 -1
  32. package/lib/screens/Peoples/AddByEmail.js +1 -1
  33. package/lib/screens/Peoples/AddByEmail.js.map +1 -1
  34. package/lib/screens/Peoples/AddPeople.js +1 -1
  35. package/lib/screens/Peoples/AddPeople.js.map +1 -1
  36. package/lib/screens/Search/JumpTo.js +1 -1
  37. package/lib/screens/Search/JumpTo.js.map +1 -1
  38. package/lib/screens/Search/SearchAddChannel.js +35 -16
  39. package/lib/screens/Search/SearchAddChannel.js.map +1 -1
  40. package/lib/screens/Search/SearchChannelPeople.js +1 -1
  41. package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
  42. package/lib/screens/Search/SearchScreen.js +1 -1
  43. package/lib/screens/Teams/AddTeam.js +1 -1
  44. package/lib/screens/Teams/AddTeam.js.map +1 -1
  45. package/lib/screens/Teams/Components/Channels/Channels.js +1 -1
  46. package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
  47. package/lib/screens/Teams/Team.js +1 -1
  48. package/lib/screens/Teams/Teams.js +1 -1
  49. package/lib/screens/Teams/Teams.js.map +1 -1
  50. 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 { 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';\nimport colors from 'tailwindcss/colors';\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 className=\"bg-white flex-1\">\n <VStack className=\"m-0 flex-1 py-5\">\n <HStack space={'sm'} className=\"px-2 pt-0 mt-0 pb-4 items-center\">\n <Avatar size={'md'} className=\"bg-transparent rounded-lg\">\n <AvatarFallbackText>{startCase(user?.profile?.nickname?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"icon\"\n className=\"rounded-lg \"\n source={{\n uri: user?.profile?.picture,\n }}\n />\n <AvatarBadge\n className=\"bottom-[-1] right-[-1.5] bg-green-800\"\n style={{ width: 15, height: 15 }}\n />\n </Avatar>\n <VStack>\n <Text style={{ fontSize: 20 }} color={colors.black} className=\"font-bold\">\n {user?.profile?.name ?? user?.profile?.nickname}\n </Text>\n <HStack space={'sm'} className=\"items-center\">\n <Text style={{ fontSize: 15 }} color={colors.gray[600]} className=\"font-normal\">\n {' '}\n Active\n </Text>\n <Button\n size={'xs'}\n variant={'solid'}\n onPress={logout}\n className=\"bg-transparent p-0 active:bg-gray-200 hover:bg-gray-200\"\n >\n <ButtonText style={{ fontSize: 16, color: 'black' }}>( Logout )</ButtonText>\n </Button>\n </HStack>\n </VStack>\n </HStack>\n\n <VStack className=\"px-2\" space={'sm'}>\n <Button\n variant={'outline'}\n className=\"border-gray-400 rounded-xl justify-start my-4 active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"rounded-lg bg-transparent justify-center items-center\">\n <FontAwesome5 name=\"smile\" size={20} color={'#1f2937'} />\n </Avatar>\n\n <Text style={{ fontSize: 20 }} color={colors.gray[600]}>\n Update your status\n </Text>\n </HStack>\n </Button>\n\n <Button\n variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"rounded-lg\" source={images.notificationBellOff} />\n <AvatarFallbackText>PN</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>Pause notifications</Text>\n </HStack>\n </Button>\n\n <Button\n // $pressed-bg=\"$trueGray200\"\n // $active-bg={'$trueGray200'}\n variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"rounded-lg\" source={images.user} />\n <AvatarFallbackText>ST</AvatarFallbackText>\n <AvatarBadge\n style={{ width: 10, height: 10 }}\n className=\"bg-transparent border border-black bottom-0 right-0\"\n />\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>\n Set yourself as{' '}\n <Text color={colors.black} className=\"font-bold\">\n away\n </Text>\n </Text>\n </HStack>\n </Button>\n </VStack>\n <Divider className=\"my-4\" />\n <VStack className=\"px-2\" space={'sm'}>\n <Button\n variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n onPress={() => navigation.navigate(NavigationRoutes.Profile)}\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"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 variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"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 variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"rounded-lg\" source={images.contrastAdjustment} />\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 { 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';\nimport colors from 'tailwindcss/colors';\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 className=\"bg-white flex-1\">\n <VStack className=\"m-0 flex-1 py-5\">\n <HStack space={'sm'} className=\"px-2 pt-0 mt-0 pb-4 items-center\">\n <Avatar size={'md'} className=\"bg-transparent rounded-lg\">\n <AvatarFallbackText>{startCase(user?.profile?.nickname?.charAt(0))}</AvatarFallbackText>\n <AvatarImage\n alt=\"icon\"\n className=\"rounded-lg \"\n source={{\n uri: user?.profile?.picture,\n }}\n />\n <AvatarBadge\n className=\"bottom-[-1] right-[-1.5] bg-green-800\"\n style={{ width: 15, height: 15 }}\n />\n </Avatar>\n <VStack>\n <Text style={{ fontSize: 20 }} color={colors.black} className=\"font-bold\">\n {user?.profile?.name ?? user?.profile?.nickname}\n </Text>\n <HStack space={'sm'} className=\"items-center\">\n <Text style={{ fontSize: 15 }} color={colors.gray[600]} className=\"font-normal\">\n {' '}\n Active\n </Text>\n <Button\n size={'xs'}\n variant={'solid'}\n onPress={logout}\n className=\"bg-transparent p-0 active:bg-gray-200 hover:bg-gray-200\"\n >\n <ButtonText style={{ fontSize: 16, color: 'black' }}>( Logout )</ButtonText>\n </Button>\n </HStack>\n </VStack>\n </HStack>\n\n <VStack className=\"px-2\" space={'sm'}>\n <Button\n variant={'outline'}\n className=\"border-gray-400 rounded-xl justify-start my-4 active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"rounded-lg bg-transparent justify-center items-center\">\n <FontAwesome5 name=\"smile\" size={20} color={'#1f2937'} />\n </Avatar>\n\n <Text style={{ fontSize: 20 }} color={colors.gray[600]}>\n Update your status\n </Text>\n </HStack>\n </Button>\n\n <Button\n variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"rounded-lg\" source={images.notificationBellOff} />\n <AvatarFallbackText>PN</AvatarFallbackText>\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>Pause notifications</Text>\n </HStack>\n </Button>\n\n <Button\n // $pressed-bg=\"$trueGray200\"\n // $active-bg={'$trueGray200'}\n variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"rounded-lg\" source={images.user} />\n <AvatarFallbackText>ST</AvatarFallbackText>\n <AvatarBadge\n style={{ width: 10, height: 10 }}\n className=\"bg-transparent border border-black bottom-0 right-0\"\n />\n </Avatar>\n <Text style={{ fontSize: 20, color: 'black' }}>\n Set yourself as{' '}\n <Text color={colors.black} className=\"font-bold\">\n away\n </Text>\n </Text>\n </HStack>\n </Button>\n </VStack>\n <Divider className=\"my-4\" />\n <VStack className=\"px-2\" space={'sm'}>\n <Button\n variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n onPress={() => navigation.navigate(NavigationRoutes.Profile)}\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"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 variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"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 variant={'solid'}\n className=\"bg-transparent justify-start active:bg-gray-200 hover:bg-gray-200\"\n >\n <HStack space={'md'} className=\"items-center\">\n <Avatar size={'sm'} className=\"bg-transparent rounded-lg\">\n <AvatarImage alt=\"icon\" className=\"rounded-lg\" source={images.contrastAdjustment} />\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":"q7BAYA,MAAM,gBAAgB,MAAM;AAZ5B,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAaE,EAAA,MAAM,QAAQ,QAAS,EAAA;AACvB,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAM,MAAA,IAAA,GAAO,YAAoC,YAAY,CAAA;AAC7D,EAAA,MAAM,WAAW,WAAY,EAAA;AAC7B,EAAA,MAAM,aAAa,aAAmB,EAAA;AACtC,EAAA,MAAM,SAAS,MAAM;AAEnB,IAAI,IAAA;AACF,MAAA,QAAA,CAAS,mBAAmB,CAAA;AAE5B,MAAA,KAAA,CAAM,IAAK,CAAA;AAAA,QACT,SAAW,EAAA,KAAA;AAAA,QACX,QAAU,EAAA,GAAA;AAAA,QACV,QAAQ,CAAC;AAAA,UACP;AAAA,SACF,kDAAO,UAAW,EAAA,EAAA,EAAA,EAAQ,OAAO,aAAe,EAAA,MAAA,EAAQ,OAAS,EAAA,UAAA,EAAY,KAAO,EAAA;AAAA,OACrF,CAAA;AAAA,aAEM,KAAP,EAAA;AACA,MAAQ,OAAA,CAAA,KAAA,CAAM,qBAAqB,KAAK,CAAA;AAAA;AAC1C,GACF;AACA,EAAA,oDAAQ,GAAI,EAAA,EAAA,SAAA,EAAU,iBACZ,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,SAAU,EAAA,iBAAA,EAAA,kBACbA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,OAAO,IAAM,EAAA,SAAA,EAAU,sDAC1BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,MAAM,IAAM,EAAA,SAAA,EAAU,2BAC1B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,0BAAoB,SAAU,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,OAAN,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,aAAf,IAAyB,GAAA,MAAA,GAAA,EAAA,CAAA,MAAA,CAAO,CAAE,CAAA,CAAE,mBAClEA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,KAAI,MAAO,EAAA,SAAA,EAAU,eAAc,MAAQ,EAAA;AAAA,IACpE,GAAA,EAAA,CAAK,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,OAAA,KAAN,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA;AAAA,KACnB,CACW,kBAAAA,cAAA,CAAA,aAAA,CAAC,WAAY,EAAA,EAAA,SAAA,EAAU,yCAAwC,KAAO,EAAA;AAAA,IAClF,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA;AAAA,KACP,CACO,CAAA,+CACC,MACG,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,IACzB,QAAU,EAAA;AAAA,GACZ,EAAG,KAAO,EAAA,MAAA,CAAO,KAAO,EAAA,SAAA,EAAU,gBACf,EAAM,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,OAAA,KAAN,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,KAAf,IAAuB,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,YAAN,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,QAC3C,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,KAAA,EAAO,MAAM,SAAU,EAAA,cAAA,EAAA,kBAC1BA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,IAC3B,QAAU,EAAA;AAAA,GACZ,EAAG,OAAO,MAAO,CAAA,IAAA,CAAK,MAAM,SAAU,EAAA,aAAA,EAAA,EACjB,GAAI,EAAA,QAET,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,IAAM,EAAA,IAAA,EAAM,SAAS,OAAS,EAAA,OAAA,EAAS,QAAQ,SAAU,EAAA,yDAAA,EAAA,kBAC5DA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,KAAO,EAAA;AAAA,IACnC,QAAU,EAAA,EAAA;AAAA,IACV,KAAO,EAAA;AAAA,OACN,YAAU,CACC,CACJ,CACJ,CACJ,mBAECA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,WAAU,MAAO,EAAA,KAAA,EAAO,wBAC3BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,SAAS,SAAW,EAAA,SAAA,EAAU,wGACjCA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,OAAO,IAAM,EAAA,SAAA,EAAU,kCAC1BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,MAAM,IAAM,EAAA,SAAA,EAAU,2EACzBA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA,EAAa,MAAK,OAAQ,EAAA,IAAA,EAAM,IAAI,KAAO,EAAA,SAAA,EAAW,CAC3D,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,IAC3B,QAAU,EAAA;AAAA,GACZ,EAAG,OAAO,MAAO,CAAA,IAAA,CAAK,QAAM,oBAEZ,CACJ,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,OAAS,EAAA,OAAA,EAAS,WAAU,mEAChC,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,KAAO,EAAA,IAAA,EAAM,WAAU,cAC3B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,IAAM,EAAA,IAAA,EAAM,WAAU,2BAC1B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,eAAY,GAAI,EAAA,MAAA,EAAO,WAAU,YAAa,EAAA,MAAA,EAAQ,OAAO,mBAAqB,EAAA,CAAA,+CAClF,kBAAmB,EAAA,IAAA,EAAA,IAAE,CAC1B,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,IAC3B,QAAU,EAAA,EAAA;AAAA,IACV,KAAO,EAAA;AAAA,GACN,EAAA,EAAA,qBAAmB,CACV,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MAGb,OAAS,EAAA,OAAA;AAAA,MAAS,SAAU,EAAA;AAAA,KAAA;AAAA,oBACXA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,KAAO,EAAA,IAAA,EAAM,SAAU,EAAA,cAAA,EAAA,kBAC1BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,IAAM,EAAA,IAAA,EAAM,SAAU,EAAA,2BAAA,EAAA,kBACzBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,GAAI,EAAA,MAAA,EAAO,SAAU,EAAA,YAAA,EAAa,MAAQ,EAAA,MAAA,CAAO,IAAM,EAAA,CAAA,kBACnEA,cAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,IAAA,EAAmB,IAAE,CAAA,kBACrBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,KAAO,EAAA;AAAA,MACpC,KAAO,EAAA,EAAA;AAAA,MACP,MAAQ,EAAA;AAAA,OACP,SAAU,EAAA,qDAAA,EAAsD,CACrD,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,MAC3B,QAAU,EAAA,EAAA;AAAA,MACV,KAAO,EAAA;AAAA,KACN,EAAA,EAAA,iBAAA,EACiC,GAChB,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAO,MAAO,CAAA,KAAA,EAAO,SAAU,EAAA,WAAA,EAAA,EAAY,MAEjD,CACJ,CACJ;AAAA,GAER,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,OAAQ,EAAA,EAAA,SAAA,EAAU,QAAO,CAC1B,kBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,SAAA,EAAU,MAAO,EAAA,KAAA,EAAO,wBAC3BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,OAAS,EAAA,OAAA,EAAS,SAAU,EAAA,mEAAA,EAAoE,OAAS,EAAA,MAAM,UAAW,CAAA,QAAA,CAAS,gBAAiB,CAAA,OAAO,CAC/J,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,KAAO,EAAA,IAAA,EAAM,SAAU,EAAA,cAAA,EAAA,kBAC1BA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,IAAM,EAAA,IAAA,EAAM,SAAU,EAAA,2BAAA,EAAA,kBACzBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,GAAI,EAAA,MAAA,EAAO,WAAU,YAAa,EAAA,MAAA,EAAQ,MAAO,CAAA,IAAA,EAAM,CACpE,kBAAAA,cAAA,CAAA,aAAA,CAAC,kBAAmB,EAAA,IAAA,EAAA,IAAE,CAC1B,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA;AAAA,IAC3B,QAAU,EAAA,EAAA;AAAA,IACV,KAAO,EAAA;AAAA,OACN,cAAY,CACH,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,OAAS,EAAA,OAAA,EAAS,SAAU,EAAA,mEAAA,EAAA,+CAC/B,MAAO,EAAA,EAAA,KAAA,EAAO,MAAM,SAAU,EAAA,cAAA,EAAA,+CAC1B,MAAO,EAAA,EAAA,IAAA,EAAM,IAAM,EAAA,SAAA,EAAU,+CACzBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,KAAI,MAAO,EAAA,SAAA,EAAU,cAAa,MAAQ,EAAA,MAAA,CAAO,gBAAkB,EAAA,CAAA,+CAC/E,kBAAmB,EAAA,IAAA,EAAA,IAAE,CAC1B,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,IAC3B,QAAU,EAAA,EAAA;AAAA,IACV,KAAO,EAAA;AAAA,OACN,eAAa,CACJ,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,OAAS,EAAA,OAAA,EAAS,SAAU,EAAA,mEAAA,EAAA,+CAC/B,MAAO,EAAA,EAAA,KAAA,EAAO,MAAM,SAAU,EAAA,cAAA,EAAA,+CAC1B,MAAO,EAAA,EAAA,IAAA,EAAM,IAAM,EAAA,SAAA,EAAU,+CACzBA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,KAAI,MAAO,EAAA,SAAA,EAAU,cAAa,MAAQ,EAAA,MAAA,CAAO,kBAAoB,EAAA,CAAA,+CACjF,kBAAmB,EAAA,IAAA,EAAA,IAAE,CAC1B,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KAAO,EAAA;AAAA,IAC3B,QAAU,EAAA,EAAA;AAAA,IACV,KAAO,EAAA;AAAA,OACN,aAAW,CACF,CACJ,CACJ,CACJ,CACJ,CAAA;AACR"}
@@ -1,4 +1,4 @@
1
- import React__default,{useState,useEffect}from'react';import {StyleSheet}from'react-native';import {useToast,Button,ButtonText,Box,Text,RadioGroup,VStack,Heading,Radio,RadioLabel,RadioIndicator,RadioIcon,CircleIcon,ToastAlert}from'@admin-layout/gluestack-ui-mobile';import Colors from'../../../constants/Colors.js';import {RoomType}from'common';import {useAddChannelMutation}from'../../../queries/slackuiQueries.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';import colors from'tailwindcss/colors';const AddChannelVisibility = ({
1
+ import React__default,{useState,useEffect}from'react';import {StyleSheet}from'react-native';import {useToast,Button,ButtonText,Box,Text,RadioGroup,VStack,Heading,Radio,RadioLabel,RadioIndicator,RadioIcon,CircleIcon,ToastAlert}from'@admin-layout/gluestack-ui-mobile';import Colors from'../../../constants/Colors.js';import {RoomType}from'common';import {useAddChannelMutation}from'../../../queries/slackuiQueries.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';import'../../../hooks/useOptimizedChannelsQueries.js';import colors from'tailwindcss/colors';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, useOrganizationDetailQuery } from '../../../queries/slackuiQueries';\nimport { FontAwesome, Feather } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../../constants';\nimport { startCase } from 'lodash-es';\nimport { useDrawerLayout } from '../../../hooks';\nimport colors from 'tailwindcss/colors';\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 className=\"flex-1 mx-0\">\n <Text className=\"text-[15px] font-[500] text-black\" color={colors.black}>\n Create a Channel\n </Text>\n <Text color={colors.gray[600]} className=\"font-[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 className=\"mr-2\"\n onPress={() => createNewChannel()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText className={`text-[16px] 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 className=\"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 className=\"w-full\" space={'xl'}>\n <Heading size={'md'} className=\"py-4\">\n Visibility\n </Heading>\n <Radio value=\"public\" className=\"justify-between\">\n <RadioLabel className=\"color-black text-[18px]\">\n Public - Anyone in{' '}\n <Text className=\"text-[18px] font-bold color-black\">\n {organizationDetail\n ? startCase(organizationDetail?.title ?? orgName ?? 'Home')\n : orgName || 'Home'}\n </Text>\n </RadioLabel>\n <RadioIndicator>\n <RadioIcon as={CircleIcon} className=\"p-1\" />\n </RadioIndicator>\n </Radio>\n\n <Radio value=\"private\" className=\"justify-between\">\n <RadioLabel className=\"text-[18px] text-black\">\n Private - Only specific people {'\\n'}\n <Text className=\"text-[15px] font-medium text-gray-500\">\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"],"mappings":"k3BAWA,MAAM,uBAAuB,CAAC;AAAA,EAC5B,UAAA;AAAA,EACA;AACF,CAAW,KAAA;AAdX,EAAA,IAAA,EAAA,EAAA,EAAA;AAeE,EAAA,MAAM,QAAQ,QAAS,EAAA;AACvB,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAA,MAAM,CAAC,WAAa,EAAA,cAAc,CAAI,GAAAA,cAAA,CAAM,SAAS,QAAQ,CAAA;AAC7D,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9D,EAAM,MAAA,CAAC,aAAa,CAAA,GAAI,qBAAsB,CAAA;AAAA,IAC5C,WAAA,EAAa,CAAC,IAAc,KAAA;AAvBhC,MAAAC,IAAAA,GAAAA;AAyBM,MAAA,IAAI,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,aAAA;AAAe,QAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,SAAW,EAAA;AAAA,UACvE,SAAWA,EAAAA,CAAAA,GAAAA,GAAA,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,aAAA,KAAN,gBAAAA,GAAqB,CAAA,EAAA;AAAA,UAChC,OAAA;AAAA,UACA,QAAU,EAAA;AAAA,SACX,CAAA;AAAA,WAAO;AACN,QAAA,KAAA,CAAM,IAAK,CAAA;AAAA,UACT,SAAW,EAAA,KAAA;AAAA,UACX,QAAU,EAAA,GAAA;AAAA,UACV,QAAQ,CAAC;AAAA,YACP;AAAA,WACF,kDAAO,UAAW,EAAA,EAAA,EAAA,EAAQ,OAAO,wBAA0B,EAAA,MAAA,EAAQ,OAAS,EAAA,UAAA,EAAY,KAAO,EAAA;AAAA,SAChG,CAAA;AACD,QAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,UAAY,EAAA;AAAA,UAC/C;AAAA,SACD,CAAA;AAAA;AAEH;AACF,GACD,CAAA;AACD,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,WAAA,IAAe,YAAY,MAAS,GAAA,CAAA;AAAG,MAAA,mBAAA,CAAoB,IAAI,CAAA;AAAA;AAAO,MAAA,mBAAA,CAAoB,KAAK,CAAA;AAAA,GACrG,EAAG,CAAC,WAAW,CAAC,CAAA;AAChB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,UAAW,CAAA;AAAA,MAEpB,gBAAkB,EAAA,MAAA;AAAA,MAClB,kBAAkB,EAAC;AAAA,MACnB,WAAA,EAAa,CAAC,KAAY,KAAA;AApDhC,QAAAA,IAAAA,GAAAA;AAoDmC,QAAC,uBAAAD,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,WAAU,aAC9B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,SAAU,EAAA,mCAAA,EAAoC,KAAO,EAAA,MAAA,CAAO,KAAO,EAAA,EAAA,kBAEzE,mBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,IAAA,CAAK,MAAM,SAAU,EAAA,YAAA,EAAA,EACpC,WAAe,IAAA,QAAA,mBAAYA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,OAAM,OAAQ,EAAA,IAAA,EAAK,QAAO,IAAM,EAAA,EAAA,EAAI,oBAChEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,WAAY,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,IAAA,EAAK,QAAO,IAAM,EAAA,EAAA,EAAI,CAAG,EAAA,GACxD,CACHC,EAAAA,CAAAA,GAAAA,GAAA,+BAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAAA,GAAe,CAAA,IACpB,CACJ,CAAA;AAAA,OAAA;AAAA,MACV,WAAA,EAAa,CAAC,KAAA,qBAAgBD,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,WAAU,MAAO,EAAA,OAAA,EAAS,MAAM,gBAAA,EAAoB,EAAA,OAAA,EAAS,QAAQ,QAAU,EAAA,gBAAA,GAAmB,KAAQ,GAAA,IAAA,EAAA,kBAChIA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,SAAW,EAAA,CAAA,mBAAA,EAAsB,gBAAmB,GAAA,QAAA,GAAW,SAAc,CAAA,CAAA,CAAA,EAAA,EAAA,QAEzF,CACJ,CAAA;AAAA,MACV,WAAa,EAAA;AAAA,QACX,MAAQ,EAAA,GAAA;AAAA,QACR,iBAAmB,EAAA,CAAA;AAAA,QACnB,WAAa,EAAA;AAAA;AACf,KACD,CAAA;AAAA,GACA,EAAA,CAAC,WAAa,EAAA,gBAAgB,CAAC,CAAA;AAClC,EAAM,MAAA,gBAAA,GAAmBA,cAAM,CAAA,WAAA,CAAY,MAAM;AA3EnD,IAAA,IAAAC,KAAAC,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA4EI,IAAA,IAAI,gBAAe,WAAa,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA,MAAA,IAAS,CAAK,KAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,aAAUA,GAAAD,GAAAA,CAAAA,GAAAA,GAAA,KAAO,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,MAAA,KAAP,gBAAAA,GAAe,CAAA,IAAA,KAAf,IAAAC,GAAAA,MAAAA,GAAAA,GAAAA,CAAqB,UAAS,CAAG,EAAA;AAC9F,MAAc,aAAA,CAAA;AAAA,QACZ,SAAW,EAAA;AAAA,UACT,IAAA,EAAA,CAAM,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,MAAA,KAAP,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA;AAAA,UACrB,WAAa,EAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,WAAe,KAAA,EAAA;AAAA,UAC3C,IAAM,EAAA,WAAA,IAAe,SAAY,GAAA,QAAA,CAAS,UAAU,QAAS,CAAA,OAAA;AAAA,UAC7D,IAAM,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,WAAf,IAAuB,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA;AAAA;AAC/B,OACD,CAAA;AAAA;AACH,GACC,EAAA,CAAC,WAAa,EAAA,KAAK,CAAC,CAAA;AAOvB,EAAO,uBAAAF,cAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,SAAA,EAAU,sBACZ,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MAET,kBAAmB,EAAA,YAAA;AAAA,MAAa,KAAO,EAAA,WAAA;AAAA,MAAa,UAAU,CAAa,SAAA,KAAA;AACzE,QAAA,cAAA,CAAe,SAAS,CAAA;AAAA;AAC1B,KAAA;AAAA,iDACa,MAAO,EAAA,EAAA,SAAA,EAAU,QAAS,EAAA,KAAA,EAAO,wBAC7BA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,IAAM,EAAA,IAAA,EAAM,WAAU,MAAO,EAAA,EAAA,YAEtC,mBACCA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,OAAM,QAAS,EAAA,SAAA,EAAU,iBAC5B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,cAAW,SAAU,EAAA,yBAAA,EAAA,EAA0B,oBACzB,EAAA,GAAA,+CAClB,IAAK,EAAA,EAAA,SAAA,EAAU,mCACX,EAAA,EAAA,kBAAA,GAAqB,WAAU,EAAoB,GAAA,CAAA,EAAA,GAAA,kBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,kBAAA,CAAA,KAAA,KAApB,YAA6B,OAA7B,KAAA,IAAA,GAAA,EAAA,GAAwC,MAAM,CAAI,GAAA,OAAA,IAAW,MACjG,CACJ,mBACCA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA,IAAA,kBACIA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,IAAI,UAAY,EAAA,SAAA,EAAU,KAAM,EAAA,CAC/C,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,SAAM,KAAM,EAAA,SAAA,EAAU,WAAU,iBAC7B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAU,4BAAyB,iCACX,EAAA,IAAA,+CAC/B,IAAK,EAAA,EAAA,SAAA,EAAU,2CAAwC,6CAExD,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,sCACIA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,IAAI,UAAY,EAAA,CAC/B,CACJ,CAgCJ;AAAA,GAER,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,EAAO,OAAO,KAAM,CAAA,IAAA;AAAA,IACpB,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA;AAEhB,CAAC"}
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, useOrganizationDetailQuery } from '../../../queries/slackuiQueries';\nimport { FontAwesome, Feather } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../../constants';\nimport { startCase } from 'lodash-es';\nimport { useDrawerLayout } from '../../../hooks';\nimport colors from 'tailwindcss/colors';\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 className=\"flex-1 mx-0\">\n <Text className=\"text-[15px] font-[500] text-black\" color={colors.black}>\n Create a Channel\n </Text>\n <Text color={colors.gray[600]} className=\"font-[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 className=\"mr-2\"\n onPress={() => createNewChannel()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText className={`text-[16px] 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 className=\"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 className=\"w-full\" space={'xl'}>\n <Heading size={'md'} className=\"py-4\">\n Visibility\n </Heading>\n <Radio value=\"public\" className=\"justify-between\">\n <RadioLabel className=\"color-black text-[18px]\">\n Public - Anyone in{' '}\n <Text className=\"text-[18px] font-bold color-black\">\n {organizationDetail\n ? startCase(organizationDetail?.title ?? orgName ?? 'Home')\n : orgName || 'Home'}\n </Text>\n </RadioLabel>\n <RadioIndicator>\n <RadioIcon as={CircleIcon} className=\"p-1\" />\n </RadioIndicator>\n </Radio>\n\n <Radio value=\"private\" className=\"justify-between\">\n <RadioLabel className=\"text-[18px] text-black\">\n Private - Only specific people {'\\n'}\n <Text className=\"text-[15px] font-medium text-gray-500\">\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"],"mappings":"w6BAWA,MAAM,uBAAuB,CAAC;AAAA,EAC5B,UAAA;AAAA,EACA;AACF,CAAW,KAAA;AAdX,EAAA,IAAA,EAAA,EAAA,EAAA;AAeE,EAAA,MAAM,QAAQ,QAAS,EAAA;AACvB,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAA,MAAM,CAAC,WAAa,EAAA,cAAc,CAAI,GAAAA,cAAA,CAAM,SAAS,QAAQ,CAAA;AAC7D,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9D,EAAM,MAAA,CAAC,aAAa,CAAA,GAAI,qBAAsB,CAAA;AAAA,IAC5C,WAAA,EAAa,CAAC,IAAc,KAAA;AAvBhC,MAAAC,IAAAA,GAAAA;AAyBM,MAAA,IAAI,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,aAAA;AAAe,QAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,SAAW,EAAA;AAAA,UACvE,SAAWA,EAAAA,CAAAA,GAAAA,GAAA,IAAM,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,aAAA,KAAN,gBAAAA,GAAqB,CAAA,EAAA;AAAA,UAChC,OAAA;AAAA,UACA,QAAU,EAAA;AAAA,SACX,CAAA;AAAA,WAAO;AACN,QAAA,KAAA,CAAM,IAAK,CAAA;AAAA,UACT,SAAW,EAAA,KAAA;AAAA,UACX,QAAU,EAAA,GAAA;AAAA,UACV,QAAQ,CAAC;AAAA,YACP;AAAA,WACF,kDAAO,UAAW,EAAA,EAAA,EAAA,EAAQ,OAAO,wBAA0B,EAAA,MAAA,EAAQ,OAAS,EAAA,UAAA,EAAY,KAAO,EAAA;AAAA,SAChG,CAAA;AACD,QAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,UAAY,EAAA;AAAA,UAC/C;AAAA,SACD,CAAA;AAAA;AAEH;AACF,GACD,CAAA;AACD,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,WAAA,IAAe,YAAY,MAAS,GAAA,CAAA;AAAG,MAAA,mBAAA,CAAoB,IAAI,CAAA;AAAA;AAAO,MAAA,mBAAA,CAAoB,KAAK,CAAA;AAAA,GACrG,EAAG,CAAC,WAAW,CAAC,CAAA;AAChB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,UAAW,CAAA;AAAA,MAEpB,gBAAkB,EAAA,MAAA;AAAA,MAClB,kBAAkB,EAAC;AAAA,MACnB,WAAA,EAAa,CAAC,KAAY,KAAA;AApDhC,QAAAA,IAAAA,GAAAA;AAoDmC,QAAC,uBAAAD,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,WAAU,aAC9B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,SAAU,EAAA,mCAAA,EAAoC,KAAO,EAAA,MAAA,CAAO,KAAO,EAAA,EAAA,kBAEzE,mBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,MAAO,CAAA,IAAA,CAAK,MAAM,SAAU,EAAA,YAAA,EAAA,EACpC,WAAe,IAAA,QAAA,mBAAYA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,OAAM,OAAQ,EAAA,IAAA,EAAK,QAAO,IAAM,EAAA,EAAA,EAAI,oBAChEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,WAAY,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,IAAA,EAAK,QAAO,IAAM,EAAA,EAAA,EAAI,CAAG,EAAA,GACxD,CACHC,EAAAA,CAAAA,GAAAA,GAAA,+BAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAAA,GAAe,CAAA,IACpB,CACJ,CAAA;AAAA,OAAA;AAAA,MACV,WAAA,EAAa,CAAC,KAAA,qBAAgBD,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,WAAU,MAAO,EAAA,OAAA,EAAS,MAAM,gBAAA,EAAoB,EAAA,OAAA,EAAS,QAAQ,QAAU,EAAA,gBAAA,GAAmB,KAAQ,GAAA,IAAA,EAAA,kBAChIA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,SAAW,EAAA,CAAA,mBAAA,EAAsB,gBAAmB,GAAA,QAAA,GAAW,SAAc,CAAA,CAAA,CAAA,EAAA,EAAA,QAEzF,CACJ,CAAA;AAAA,MACV,WAAa,EAAA;AAAA,QACX,MAAQ,EAAA,GAAA;AAAA,QACR,iBAAmB,EAAA,CAAA;AAAA,QACnB,WAAa,EAAA;AAAA;AACf,KACD,CAAA;AAAA,GACA,EAAA,CAAC,WAAa,EAAA,gBAAgB,CAAC,CAAA;AAClC,EAAM,MAAA,gBAAA,GAAmBA,cAAM,CAAA,WAAA,CAAY,MAAM;AA3EnD,IAAA,IAAAC,KAAAC,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA4EI,IAAA,IAAI,gBAAe,WAAa,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA,MAAA,IAAS,CAAK,KAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,aAAUA,GAAAD,GAAAA,CAAAA,GAAAA,GAAA,KAAO,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,MAAA,KAAP,gBAAAA,GAAe,CAAA,IAAA,KAAf,IAAAC,GAAAA,MAAAA,GAAAA,GAAAA,CAAqB,UAAS,CAAG,EAAA;AAC9F,MAAc,aAAA,CAAA;AAAA,QACZ,SAAW,EAAA;AAAA,UACT,IAAA,EAAA,CAAM,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,MAAA,KAAP,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA;AAAA,UACrB,WAAa,EAAA,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,WAAe,KAAA,EAAA;AAAA,UAC3C,IAAM,EAAA,WAAA,IAAe,SAAY,GAAA,QAAA,CAAS,UAAU,QAAS,CAAA,OAAA;AAAA,UAC7D,IAAM,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,WAAf,IAAuB,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA;AAAA;AAC/B,OACD,CAAA;AAAA;AACH,GACC,EAAA,CAAC,WAAa,EAAA,KAAK,CAAC,CAAA;AAOvB,EAAO,uBAAAF,cAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,SAAA,EAAU,sBACZ,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MAET,kBAAmB,EAAA,YAAA;AAAA,MAAa,KAAO,EAAA,WAAA;AAAA,MAAa,UAAU,CAAa,SAAA,KAAA;AACzE,QAAA,cAAA,CAAe,SAAS,CAAA;AAAA;AAC1B,KAAA;AAAA,iDACa,MAAO,EAAA,EAAA,SAAA,EAAU,QAAS,EAAA,KAAA,EAAO,wBAC7BA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,IAAM,EAAA,IAAA,EAAM,WAAU,MAAO,EAAA,EAAA,YAEtC,mBACCA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,OAAM,QAAS,EAAA,SAAA,EAAU,iBAC5B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,cAAW,SAAU,EAAA,yBAAA,EAAA,EAA0B,oBACzB,EAAA,GAAA,+CAClB,IAAK,EAAA,EAAA,SAAA,EAAU,mCACX,EAAA,EAAA,kBAAA,GAAqB,WAAU,EAAoB,GAAA,CAAA,EAAA,GAAA,kBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,kBAAA,CAAA,KAAA,KAApB,YAA6B,OAA7B,KAAA,IAAA,GAAA,EAAA,GAAwC,MAAM,CAAI,GAAA,OAAA,IAAW,MACjG,CACJ,mBACCA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA,IAAA,kBACIA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,IAAI,UAAY,EAAA,SAAA,EAAU,KAAM,EAAA,CAC/C,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,SAAM,KAAM,EAAA,SAAA,EAAU,WAAU,iBAC7B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAU,4BAAyB,iCACX,EAAA,IAAA,+CAC/B,IAAK,EAAA,EAAA,SAAA,EAAU,2CAAwC,6CAExD,CACJ,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,sCACIA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,IAAI,UAAY,EAAA,CAC/B,CACJ,CAgCJ;AAAA,GAER,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,EAAO,OAAO,KAAM,CAAA,IAAA;AAAA,IACpB,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA;AAAA;AAEhB,CAAC"}
@@ -1,4 +1,4 @@
1
- import React__default,{useState,useCallback,useEffect}from'react';import {Platform,SafeAreaView,StyleSheet,Dimensions}from'react-native';import {Box,Text,Button,ButtonText,Pressable,HStack,VStack,Center,Spinner,Heading,Input,InputSlot,InputIcon,SearchIcon,InputField,FlatList}from'@admin-layout/gluestack-ui-mobile';import {NavigationRoutes}from'../../constants/routes.js';import {RoomType}from'common';import {useChannelsQuery}from'../../queries/slackuiQueries.js';import {useIsFocused,useFocusEffect}from'@react-navigation/native';import {MaterialIcons,FontAwesome,Octicons}from'@expo/vector-icons';import colors from'tailwindcss/colors';import {StatusBar}from'expo-status-bar';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;
1
+ import React__default,{useState,useCallback,useEffect}from'react';import {Platform,SafeAreaView,StyleSheet,Dimensions}from'react-native';import {Box,Text,Button,ButtonText,Pressable,HStack,VStack,Center,Spinner,Heading,Input,InputSlot,InputIcon,SearchIcon,InputField,FlatList}from'@admin-layout/gluestack-ui-mobile';import {NavigationRoutes}from'../../constants/routes.js';import {RoomType}from'common';import {useChannelsQuery}from'../../queries/slackuiQueries.js';import {useIsFocused,useFocusEffect}from'@react-navigation/native';import {MaterialIcons,FontAwesome,Octicons}from'@expo/vector-icons';import colors from'tailwindcss/colors';import {StatusBar}from'expo-status-bar';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.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, useCallback, useMemo } from 'react';\nimport { StyleSheet, TouchableHighlight, Dimensions, SafeAreaView, Platform } 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 FlatList,\n Divider,\n HStack,\n SectionList,\n Center,\n Heading,\n Spinner,\n Avatar,\n Badge,\n BadgeText,\n Pressable,\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 { useChannelsQuery } from '../../queries/slackuiQueries';\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 colors from 'tailwindcss/colors';\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 } = useDrawerLayout();\n const isFocused = useIsFocused();\n const [channels, setChannels] = useState<any[]>([]);\n const [intialChannels, setInitialChannels] = useState<any[]>([]);\n const [searchQuery, setSearchQuery] = useState<string>('');\n\n const { data, loading, error, refetch } = useChannelsQuery();\n\n useFocusEffect(\n 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 // Cleanup\n };\n }, [orgName, refetch]),\n );\n\n useEffect(() => {\n if (data) {\n const newChannels =\n data?.channelsByUser\n ?.filter((i: any) => i.type !== RoomType.Direct)\n ?.sort((a: any, b: any) => a.title.localeCompare(b.title)) || [];\n\n setChannels((oldChannels: any) => uniqBy([...newChannels, ...oldChannels], ({ id }) => id));\n setInitialChannels((oldChannels: any) => uniqBy([...newChannels, ...oldChannels], ({ id }) => id));\n }\n }, [data]);\n\n useEffect(() => {\n if (navigation) {\n navigation.setOptions({\n headerTitleAlign: 'left',\n headerTitleStyle: {\n borderBottomWidth: 1,\n },\n headerLeft: () => (\n <Button\n //onPress={() => navigation.goBack()}\n onPress={() => {\n if (Platform.OS === 'macos') {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n } else if (navigation.canGoBack()) {\n navigation.goBack();\n } else {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n }\n }}\n variant={'link'}\n >\n <ButtonText>\n <MaterialIcons name=\"close\" size={24} color=\"black\" />\n </ButtonText>\n </Button>\n ),\n headerRight: () => (\n <Button\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel, { orgName })}\n variant={'link'}\n >\n <ButtonText>Create</ButtonText>\n </Button>\n ),\n // headerLeft:()=><></>,\n // headerRight: () => (\n // <Button onPress={() => navigation.goBack()} variant={'link'}>\n // <ButtonText><MaterialIcons name=\"close\" size={24} color=\"black\" /></ButtonText>\n // </Button>\n // ),\n headerTitle: () => (\n <Box>\n <Text color={colors.black} className=\"text-[15] font-bold\">\n Channels\n </Text>\n </Box>\n ),\n headerStyle: {\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }\n }, [navigation, orgName]);\n\n const openInbox = useCallback(\n (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 [navigation],\n );\n\n const searchChannels = useCallback(\n (text: string) => {\n setSearchQuery(text);\n if (text) {\n const searchedChannel = intialChannels.filter((o: any) =>\n o?.title?.toLowerCase().includes(text?.toLowerCase()),\n );\n setChannels(searchedChannel);\n } else {\n setChannels(intialChannels);\n }\n },\n [intialChannels],\n );\n\n const renderChannelIcon = useCallback((type: RoomType) => {\n if (type === RoomType.Private) {\n return <FontAwesome color={'#525252'} name=\"lock\" size={18} />;\n } else {\n return <Octicons color=\"#525252\" name=\"hash\" size={18} />;\n }\n }, []);\n\n const renderChannelItem = useCallback(\n ({ item }: any) => (\n <Pressable onPress={() => openInbox(item)}>\n {({ pressed }) => (\n <Box\n className={`py-4 ${pressed ? 'bg-gray-100' : 'bg-white'} border-b border-gray-200`}\n style={{ borderBottomColor: colors.gray[300] }}\n >\n <HStack className=\"px-4 items-center\">\n <Box className=\"mr-2\">{renderChannelIcon(item.type)}</Box>\n <VStack>\n <Text\n className=\"font-medium text-lg text-gray-900\"\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n >\n {item.title}\n </Text>\n </VStack>\n </HStack>\n </Box>\n )}\n </Pressable>\n ),\n [openInbox, renderChannelIcon],\n );\n\n const renderEmptyList = useCallback(\n () => (\n <Center className=\"flex-1 py-10\">\n {loading ? (\n <VStack className=\"space-y-3 items-center\">\n <Spinner size=\"large\" color={colors.blue[500]} />\n <Text color={colors.gray[600]}>Loading channels...</Text>\n </VStack>\n ) : (\n <VStack className=\"space-y-3 items-center px-4\">\n <Box className=\"rounded-full bg-gray-100 p-4\">\n <Octicons name=\"hash\" size={32} color={colors.gray[400]} />\n </Box>\n <Heading size=\"sm\" style={{ color: colors.gray[800] }}>\n No Channels Found\n </Heading>\n {searchQuery ? (\n <Text className=\"text-center\" style={{ color: colors.gray[600] }}>\n No channels match your search \"{searchQuery}\"\n </Text>\n ) : (\n <Text className=\"text-center\" style={{ color: colors.gray[600] }}>\n Create a new channel to get started\n </Text>\n )}\n <Button\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel, { orgName })}\n className=\"mt-2\"\n >\n <ButtonText>Create Channel</ButtonText>\n </Button>\n </VStack>\n )}\n </Center>\n ),\n [loading, searchQuery, navigation, orgName],\n );\n\n const keyExtractor = useCallback((item: any) => item.id.toString(), []);\n\n const navigateToAddChannel = useCallback(() => {\n navigation.navigate(NavigationRoutes.AddChannel, { orgName });\n }, [navigation, orgName]);\n\n return (\n <SafeAreaView style={styles.safeArea}>\n <StatusBar style=\"dark\" />\n <Box className=\"flex-1 bg-white\">\n <Box className=\"px-4 py-2\" style={styles.searchContainer}>\n <Input\n variant=\"outline\"\n className=\"bg-white rounded-3xl border border-gray-300\"\n style={styles.searchInput}\n size=\"lg\"\n >\n <InputSlot className=\"pl-3\">\n <InputIcon color={colors.gray[500]} as={SearchIcon} />\n </InputSlot>\n <InputField\n type=\"text\"\n size=\"md\"\n placeholder=\"Search channels\"\n placeholderTextColor={colors.gray[400]}\n className=\"px-3 py-2 text-base\"\n value={searchQuery}\n onChange={(event) => searchChannels(event.nativeEvent.text)}\n autoCapitalize=\"none\"\n autoCorrect={false}\n clearButtonMode=\"while-editing\"\n />\n </Input>\n </Box>\n\n <Box className=\"flex-1\">\n <FlatList\n contentContainerStyle={styles.flatListContent}\n data={channels}\n keyExtractor={keyExtractor}\n renderItem={renderChannelItem}\n ListEmptyComponent={renderEmptyList}\n showsVerticalScrollIndicator={false}\n initialNumToRender={10}\n maxToRenderPerBatch={10}\n windowSize={10}\n />\n </Box>\n\n {/* <Fab\n onPress={navigateToAddChannel}\n className=\"bg-blue-500 mb-16 mr-4\"\n $pressed-className=\"bg-blue-600\"\n size=\"lg\"\n placement=\"bottom right\"\n >\n <AntDesign color=\"white\" name=\"plus\" size={24} />\n </Fab> */}\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n safeArea: {\n flex: 1,\n backgroundColor: 'white',\n },\n searchContainer: {\n paddingVertical: 10,\n },\n searchInput: {\n borderRadius: 10,\n borderColor: colors.gray[300],\n paddingHorizontal: 10,\n },\n flatListContent: {\n flexGrow: 1,\n paddingBottom: 80,\n },\n channelTitle: {\n color: colors.gray[900],\n fontSize: 16,\n fontWeight: '500',\n },\n channelDescription: {\n color: colors.gray[600],\n fontSize: 14,\n marginTop: 2,\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/Channels/Channels.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useMemo } from 'react';\nimport { StyleSheet, TouchableHighlight, Dimensions, SafeAreaView, Platform } 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 FlatList,\n Divider,\n HStack,\n SectionList,\n Center,\n Heading,\n Spinner,\n Avatar,\n Badge,\n BadgeText,\n Pressable,\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 { useChannelsQuery } from '../../queries/slackuiQueries';\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 colors from 'tailwindcss/colors';\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 } = useDrawerLayout();\n const isFocused = useIsFocused();\n const [channels, setChannels] = useState<any[]>([]);\n const [intialChannels, setInitialChannels] = useState<any[]>([]);\n const [searchQuery, setSearchQuery] = useState<string>('');\n\n const { data, loading, error, refetch } = useChannelsQuery();\n\n useFocusEffect(\n 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 // Cleanup\n };\n }, [orgName, refetch]),\n );\n\n useEffect(() => {\n if (data) {\n const newChannels =\n data?.channelsByUser\n ?.filter((i: any) => i.type !== RoomType.Direct)\n ?.sort((a: any, b: any) => a.title.localeCompare(b.title)) || [];\n\n setChannels((oldChannels: any) => uniqBy([...newChannels, ...oldChannels], ({ id }) => id));\n setInitialChannels((oldChannels: any) => uniqBy([...newChannels, ...oldChannels], ({ id }) => id));\n }\n }, [data]);\n\n useEffect(() => {\n if (navigation) {\n navigation.setOptions({\n headerTitleAlign: 'left',\n headerTitleStyle: {\n borderBottomWidth: 1,\n },\n headerLeft: () => (\n <Button\n //onPress={() => navigation.goBack()}\n onPress={() => {\n if (Platform.OS === 'macos') {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n } else if (navigation.canGoBack()) {\n navigation.goBack();\n } else {\n navigation.navigate('MainStack', {\n screen: NavigationRoutes.Home,\n params: { orgName },\n });\n }\n }}\n variant={'link'}\n >\n <ButtonText>\n <MaterialIcons name=\"close\" size={24} color=\"black\" />\n </ButtonText>\n </Button>\n ),\n headerRight: () => (\n <Button\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel, { orgName })}\n variant={'link'}\n >\n <ButtonText>Create</ButtonText>\n </Button>\n ),\n // headerLeft:()=><></>,\n // headerRight: () => (\n // <Button onPress={() => navigation.goBack()} variant={'link'}>\n // <ButtonText><MaterialIcons name=\"close\" size={24} color=\"black\" /></ButtonText>\n // </Button>\n // ),\n headerTitle: () => (\n <Box>\n <Text color={colors.black} className=\"text-[15] font-bold\">\n Channels\n </Text>\n </Box>\n ),\n headerStyle: {\n borderBottomWidth: 1,\n borderColor: '#d1d2d3',\n },\n });\n }\n }, [navigation, orgName]);\n\n const openInbox = useCallback(\n (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 [navigation],\n );\n\n const searchChannels = useCallback(\n (text: string) => {\n setSearchQuery(text);\n if (text) {\n const searchedChannel = intialChannels.filter((o: any) =>\n o?.title?.toLowerCase().includes(text?.toLowerCase()),\n );\n setChannels(searchedChannel);\n } else {\n setChannels(intialChannels);\n }\n },\n [intialChannels],\n );\n\n const renderChannelIcon = useCallback((type: RoomType) => {\n if (type === RoomType.Private) {\n return <FontAwesome color={'#525252'} name=\"lock\" size={18} />;\n } else {\n return <Octicons color=\"#525252\" name=\"hash\" size={18} />;\n }\n }, []);\n\n const renderChannelItem = useCallback(\n ({ item }: any) => (\n <Pressable onPress={() => openInbox(item)}>\n {({ pressed }) => (\n <Box\n className={`py-4 ${pressed ? 'bg-gray-100' : 'bg-white'} border-b border-gray-200`}\n style={{ borderBottomColor: colors.gray[300] }}\n >\n <HStack className=\"px-4 items-center\">\n <Box className=\"mr-2\">{renderChannelIcon(item.type)}</Box>\n <VStack>\n <Text\n className=\"font-medium text-lg text-gray-900\"\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n >\n {item.title}\n </Text>\n </VStack>\n </HStack>\n </Box>\n )}\n </Pressable>\n ),\n [openInbox, renderChannelIcon],\n );\n\n const renderEmptyList = useCallback(\n () => (\n <Center className=\"flex-1 py-10\">\n {loading ? (\n <VStack className=\"space-y-3 items-center\">\n <Spinner size=\"large\" color={colors.blue[500]} />\n <Text color={colors.gray[600]}>Loading channels...</Text>\n </VStack>\n ) : (\n <VStack className=\"space-y-3 items-center px-4\">\n <Box className=\"rounded-full bg-gray-100 p-4\">\n <Octicons name=\"hash\" size={32} color={colors.gray[400]} />\n </Box>\n <Heading size=\"sm\" style={{ color: colors.gray[800] }}>\n No Channels Found\n </Heading>\n {searchQuery ? (\n <Text className=\"text-center\" style={{ color: colors.gray[600] }}>\n No channels match your search \"{searchQuery}\"\n </Text>\n ) : (\n <Text className=\"text-center\" style={{ color: colors.gray[600] }}>\n Create a new channel to get started\n </Text>\n )}\n <Button\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel, { orgName })}\n className=\"mt-2\"\n >\n <ButtonText>Create Channel</ButtonText>\n </Button>\n </VStack>\n )}\n </Center>\n ),\n [loading, searchQuery, navigation, orgName],\n );\n\n const keyExtractor = useCallback((item: any) => item.id.toString(), []);\n\n const navigateToAddChannel = useCallback(() => {\n navigation.navigate(NavigationRoutes.AddChannel, { orgName });\n }, [navigation, orgName]);\n\n return (\n <SafeAreaView style={styles.safeArea}>\n <StatusBar style=\"dark\" />\n <Box className=\"flex-1 bg-white\">\n <Box className=\"px-4 py-2\" style={styles.searchContainer}>\n <Input\n variant=\"outline\"\n className=\"bg-white rounded-3xl border border-gray-300\"\n style={styles.searchInput}\n size=\"lg\"\n >\n <InputSlot className=\"pl-3\">\n <InputIcon color={colors.gray[500]} as={SearchIcon} />\n </InputSlot>\n <InputField\n type=\"text\"\n size=\"md\"\n placeholder=\"Search channels\"\n placeholderTextColor={colors.gray[400]}\n className=\"px-3 py-2 text-base\"\n value={searchQuery}\n onChange={(event) => searchChannels(event.nativeEvent.text)}\n autoCapitalize=\"none\"\n autoCorrect={false}\n clearButtonMode=\"while-editing\"\n />\n </Input>\n </Box>\n\n <Box className=\"flex-1\">\n <FlatList\n contentContainerStyle={styles.flatListContent}\n data={channels}\n keyExtractor={keyExtractor}\n renderItem={renderChannelItem}\n ListEmptyComponent={renderEmptyList}\n showsVerticalScrollIndicator={false}\n initialNumToRender={10}\n maxToRenderPerBatch={10}\n windowSize={10}\n />\n </Box>\n\n {/* <Fab\n onPress={navigateToAddChannel}\n className=\"bg-blue-500 mb-16 mr-4\"\n $pressed-className=\"bg-blue-600\"\n size=\"lg\"\n placement=\"bottom right\"\n >\n <AntDesign color=\"white\" name=\"plus\" size={24} />\n </Fab> */}\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n safeArea: {\n flex: 1,\n backgroundColor: 'white',\n },\n searchContainer: {\n paddingVertical: 10,\n },\n searchInput: {\n borderRadius: 10,\n borderColor: colors.gray[300],\n paddingHorizontal: 10,\n },\n flatListContent: {\n flexGrow: 1,\n paddingBottom: 80,\n },\n channelTitle: {\n color: colors.gray[900],\n fontSize: 16,\n fontWeight: '500',\n },\n channelDescription: {\n color: colors.gray[600],\n fontSize: 14,\n marginTop: 2,\n },\n});\n\nexport default React.memo(Channels);\n"],"names":["React"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useContext,useCallback,useMemo}from'react';import {TouchableOpacity}from'react-native';import'../../../../constants/device.js';import'../../../../constants/globalStyles.js';import'../../../../constants/Layout.js';import {NavigationRoutes}from'../../../../constants/routes.js';import {HStack,Text,Box,VStack,FlatList}from'@admin-layout/gluestack-ui-mobile';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector,shallowEqual}from'react-redux';import {take,orderBy,uniqBy}from'lodash-es';import {RoomType}from'common';import {useChannelsQuery}from'../../../../queries/slackuiQueries.js';import {Feather,MaterialIcons,FontAwesome}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../../hooks/useDrawerLayout.js';import'../../../../hooks/useExpoNotificationProvider.js';import colors from'tailwindcss/colors';import {RefetchContext}from'../../HomeScreen.js';const defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];
2
- const Channels = () => {
1
+ import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import React__default,{useState,useContext,useMemo,useCallback}from'react';import {TouchableOpacity}from'react-native';import'../../../../constants/device.js';import'../../../../constants/globalStyles.js';import'../../../../constants/Layout.js';import {NavigationRoutes}from'../../../../constants/routes.js';import {HStack,Text,Box,VStack,FlatList}from'@admin-layout/gluestack-ui-mobile';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector,shallowEqual}from'react-redux';import {Feather,MaterialIcons,FontAwesome}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../../../hooks/useDrawerLayout.js';import'../../../../hooks/useExpoNotificationProvider.js';import'../../../../hooks/useOptimizedChannelsQueries.js';import colors from'tailwindcss/colors';import {RefetchContext,ChannelsDataContext}from'../../HomeScreen.js';const Channels = () => {
3
2
  const navigation = useNavigation();
4
3
  const [expandable, setExpendable] = useState(true);
5
4
  useSelector(userSelector, shallowEqual);
@@ -11,55 +10,20 @@ const Channels = () => {
11
10
  shouldRefetch
12
11
  } = useContext(RefetchContext);
13
12
  const {
14
- data,
13
+ getChannelsForHome,
14
+ loading,
15
15
  error,
16
- refetch: reFetchUserChannels,
17
- loading
18
- } = useChannelsQuery({
19
- variables: {
20
- criteria: {
21
- orgName,
22
- type: defaultChannelType,
23
- team: null
24
- },
25
- limit: 11
26
- },
27
- fetchPolicy: "cache-and-network",
28
- nextFetchPolicy: "cache-first",
29
- skip: !orgName
30
- });
31
- const reFetchChannels = useCallback(() => {
32
- if (orgName) {
33
- reFetchUserChannels({
34
- criteria: {
35
- orgName,
36
- type: defaultChannelType,
37
- team: null
38
- },
39
- limit: 11
40
- });
41
- }
42
- }, [orgName, reFetchUserChannels]);
16
+ refetchChannels,
17
+ hasChannels
18
+ } = useContext(ChannelsDataContext);
19
+ const organizationChannels = useMemo(() => {
20
+ return getChannelsForHome(10);
21
+ }, [getChannelsForHome]);
43
22
  useFocusEffect(useCallback(() => {
44
23
  if (shouldRefetch && orgName) {
45
- reFetchChannels();
46
- }
47
- }, [shouldRefetch, orgName, reFetchChannels]));
48
- useFocusEffect(useCallback(() => {
49
- if (orgName) {
50
- reFetchChannels();
24
+ refetchChannels();
51
25
  }
52
- }, [orgName, reFetchChannels]));
53
- const organizationChannels = useMemo(() => {
54
- var _a;
55
- const channels = (data == null ? void 0 : data.channelsByUser) || [];
56
- return channels && channels.length && take(orderBy(uniqBy((_a = [...channels]) == null ? void 0 : _a.filter((i) => i.type !== RoomType.Direct), ({
57
- id
58
- }) => id), [(ch) => {
59
- var _a2;
60
- return (_a2 = ch == null ? void 0 : ch.title) == null ? void 0 : _a2.toLowerCase();
61
- }], ["asc"]), 10) || [];
62
- }, [data == null ? void 0 : data.channelsByUser]);
26
+ }, [shouldRefetch, orgName, refetchChannels]));
63
27
  const openInbox = useCallback((id, title, totalMembers, type) => {
64
28
  navigation.navigate(NavigationRoutes.DialogMessages, {
65
29
  channelId: id == null ? void 0 : id.toString(),
@@ -90,7 +54,7 @@ const Channels = () => {
90
54
  } }, /* @__PURE__ */ React__default.createElement(Text, { color: "#E01E5A", style: {
91
55
  marginBottom: 8,
92
56
  fontWeight: "500"
93
- } }, errorMessage), /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: reFetchChannels }, /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", style: {
57
+ } }, errorMessage), /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: refetchChannels }, /* @__PURE__ */ React__default.createElement(HStack, { space: "sm", style: {
94
58
  alignItems: "center"
95
59
  } }, /* @__PURE__ */ React__default.createElement(Feather, { name: "refresh-cw", color: "#1264A3", size: 16 }), /* @__PURE__ */ React__default.createElement(Text, { color: "#1264A3", style: {
96
60
  fontWeight: "500"
@@ -106,10 +70,9 @@ const Channels = () => {
106
70
  color: "#616061",
107
71
  textAlign: "center"
108
72
  } }, "No channels available")));
109
- }, [error, reFetchChannels]);
73
+ }, [error, refetchChannels]);
110
74
  const ListFooterComponent = useCallback(() => {
111
- var _a;
112
- const showMoreChannels = ((_a = data == null ? void 0 : data.channelsByUser) == null ? void 0 : _a.length) > 10;
75
+ const showMoreChannels = hasChannels && organizationChannels.length >= 10;
113
76
  return /* @__PURE__ */ React__default.createElement(VStack, null, showMoreChannels && /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: () => navigation.navigate(NavigationRoutes.Channels, {
114
77
  orgName
115
78
  }), style: {
@@ -127,7 +90,7 @@ const Channels = () => {
127
90
  fontSize: 16,
128
91
  color: "#616061"
129
92
  } }, "Add Channels"))));
130
- }, [data == null ? void 0 : data.channelsByUser, orgName, navigation]);
93
+ }, [hasChannels, organizationChannels.length, orgName, navigation]);
131
94
  const SectionHeader = useCallback(() => {
132
95
  return /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: () => setExpendable(!expandable), style: {
133
96
  paddingVertical: 6,
@@ -142,5 +105,5 @@ const Channels = () => {
142
105
  }
143
106
  return /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(SectionHeader, null), (organizationChannels == null ? void 0 : organizationChannels.length) > 0 ? /* @__PURE__ */ React__default.createElement(FlatList, { keyExtractor: (item) => ((item == null ? void 0 : item.id) || "channel") + "-" + (item == null ? void 0 : item.title), data: organizationChannels, renderItem: renderChannelItem, ListFooterComponent, style: {
144
107
  marginTop: 6
145
- }, scrollEnabled: false }) : /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(ListEmptyComponent, null), /* @__PURE__ */ React__default.createElement(ListFooterComponent, null)));
108
+ }, scrollEnabled: false }) : /* @__PURE__ */ React__default.createElement(ListEmptyComponent, null));
146
109
  };export{Channels as default};//# sourceMappingURL=Channels.js.map
@@ -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, useCallback, useMemo, useContext } from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { NavigationRoutes } from '../../../../constants';\nimport { Pressable, View, FlatList, Box, Text, HStack, VStack, Icon } from '@admin-layout/gluestack-ui-mobile';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport { useNavigation } from '@react-navigation/native';\nimport styles from '../../styles';\nimport { orderBy, uniqBy, take } from 'lodash-es';\nimport { RoomType } from 'common';\nimport { useChannelsQuery } from '../../../../queries';\nimport { FontAwesome, Feather, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../../../hooks';\nimport colors from 'tailwindcss/colors';\nimport { RefetchContext } from '../../HomeScreen';\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public];\n\nconst Channels = () => {\n const navigation = useNavigation<any>();\n const [expandable, setExpendable] = useState(true);\n const user: any = useSelector(userSelector, shallowEqual);\n const { orgName } = useDrawerLayout();\n const isFocused = useIsFocused();\n const { shouldRefetch } = useContext(RefetchContext);\n\n // GraphQL Queries\n const {\n data,\n error,\n refetch: reFetchUserChannels,\n loading,\n } = useChannelsQuery({\n variables: {\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: null,\n },\n limit: 11,\n },\n fetchPolicy: 'cache-and-network',\n nextFetchPolicy: 'cache-first',\n // Skip the query if organization name is not available\n skip: !orgName,\n });\n\n const reFetchChannels = useCallback(() => {\n if (orgName) {\n reFetchUserChannels({\n criteria: {\n orgName: orgName,\n type: defaultChannelType,\n team: null,\n },\n limit: 11,\n });\n }\n }, [orgName, reFetchUserChannels]);\n\n // Use RefetchContext to control when to refetch data\n useFocusEffect(\n useCallback(() => {\n if (shouldRefetch && orgName) {\n reFetchChannels();\n }\n }, [shouldRefetch, orgName, reFetchChannels]),\n );\n\n // Focus effect to fetch data when screen is focused\n useFocusEffect(\n useCallback(() => {\n if (orgName) {\n reFetchChannels();\n }\n }, [orgName, reFetchChannels]),\n );\n\n const organizationChannels = useMemo(() => {\n const channels = data?.channelsByUser || [];\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 10,\n )) ||\n []\n );\n }, [data?.channelsByUser]);\n\n const openInbox = 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, navigation],\n );\n\n const renderChannelItem = useCallback(\n ({ item }) => (\n <TouchableOpacity\n onPress={() => openInbox(item?.id, item?.title, item?.members?.length, item?.type)}\n style={{ paddingVertical: 2, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Text className=\"text-gray-600 flex-none\">#</Text>\n <Text className=\"text-gray-900 flex-1 text-base\">{item.title}</Text>\n </HStack>\n </TouchableOpacity>\n ),\n [openInbox],\n );\n\n const ListEmptyComponent = useCallback(() => {\n // Get error message if any\n const errorMessage = error\n ? error.message.includes(\"Service 'ChannelService.getAll' is not found\")\n ? 'Channel service is temporarily unavailable. Please try again later.'\n : error.message\n : null;\n\n return (\n <Box style={{ padding: 12 }}>\n {errorMessage ? (\n <Box style={{ padding: 8, backgroundColor: '#FFF4F4', borderRadius: 4 }}>\n <Text color=\"#E01E5A\" style={{ marginBottom: 8, fontWeight: '500' }}>\n {errorMessage}\n </Text>\n <TouchableOpacity onPress={reFetchChannels}>\n <HStack space=\"sm\" style={{ alignItems: 'center' }}>\n <Feather name=\"refresh-cw\" color=\"#1264A3\" size={16} />\n <Text color=\"#1264A3\" style={{ fontWeight: '500' }}>\n Retry\n </Text>\n </HStack>\n </TouchableOpacity>\n </Box>\n ) : (\n <Box style={{ alignItems: 'center', paddingVertical: 16 }}>\n <Box style={{ padding: 12, marginBottom: 8, borderRadius: 24, backgroundColor: '#F8F8F8' }}>\n <Feather name=\"hash\" color=\"#616061\" size={20} />\n </Box>\n <Text style={{ color: '#616061', textAlign: 'center' }}>No channels available</Text>\n </Box>\n )}\n </Box>\n );\n }, [error, reFetchChannels]);\n\n const ListFooterComponent = useCallback(() => {\n const showMoreChannels = data?.channelsByUser?.length > 10;\n\n return (\n <VStack>\n {showMoreChannels && (\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.Channels, { orgName })}\n style={{ paddingVertical: 8, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <MaterialIcons color=\"#616061\" name=\"search\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Browse all Channels</Text>\n </HStack>\n </TouchableOpacity>\n )}\n\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel, { orgName })}\n style={{ paddingVertical: 5, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Feather color=\"#616061\" name=\"plus\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Add Channels</Text>\n </HStack>\n </TouchableOpacity>\n </VStack>\n );\n }, [data?.channelsByUser, orgName, navigation]);\n\n const SectionHeader = useCallback(() => {\n return (\n <TouchableOpacity\n onPress={() => setExpendable(!expandable)}\n style={{ paddingVertical: 6, paddingHorizontal: 16 }}\n >\n <HStack className=\"justify-between items-center\">\n <Text className=\"font-semibold\" style={{ fontSize: 15, color: '#1D1C1D' }}>\n Channels\n </Text>\n <FontAwesome\n name={expandable ? 'chevron-down' : 'chevron-left'}\n color={colors.gray[800]}\n size={12}\n />\n </HStack>\n </TouchableOpacity>\n );\n }, [expandable]);\n\n if (!expandable) {\n return <SectionHeader />;\n }\n\n return (\n <Box>\n <SectionHeader />\n {organizationChannels?.length > 0 ? (\n <FlatList\n keyExtractor={(item) => (item?.id || 'channel') + '-' + item?.title}\n data={organizationChannels}\n renderItem={renderChannelItem}\n ListFooterComponent={ListFooterComponent}\n style={{ marginTop: 6 }}\n scrollEnabled={false}\n />\n ) : (\n <Box>\n <ListEmptyComponent />\n <ListFooterComponent />\n </Box>\n )}\n </Box>\n );\n};\n\nexport default Channels;\n"],"names":["_a","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, useCallback, useMemo, useContext } from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { NavigationRoutes } from '../../../../constants';\nimport { Pressable, View, FlatList, Box, Text, HStack, VStack, Icon } from '@admin-layout/gluestack-ui-mobile';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector, shallowEqual } from 'react-redux';\nimport { useNavigation } from '@react-navigation/native';\nimport styles from '../../styles';\nimport { orderBy, uniqBy, take } from 'lodash-es';\nimport { RoomType } from 'common';\nimport { FontAwesome, Feather, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../../../hooks';\nimport colors from 'tailwindcss/colors';\nimport { RefetchContext, ChannelsDataContext } from '../../HomeScreen';\n\nconst Channels = () => {\n const navigation = useNavigation<any>();\n const [expandable, setExpendable] = useState(true);\n const user: any = useSelector(userSelector, shallowEqual);\n const { orgName } = useDrawerLayout();\n const isFocused = useIsFocused();\n const { shouldRefetch } = useContext(RefetchContext);\n\n // Use shared channels data from context instead of making separate query\n const { getChannelsForHome, loading, error, refetchChannels, hasChannels } = useContext(ChannelsDataContext);\n\n // Get channels with home-specific limit (10 channels)\n const organizationChannels = useMemo(() => {\n return getChannelsForHome(10);\n }, [getChannelsForHome]);\n\n // Use RefetchContext to control when to refetch data\n useFocusEffect(\n useCallback(() => {\n if (shouldRefetch && orgName) {\n refetchChannels();\n }\n }, [shouldRefetch, orgName, refetchChannels]),\n );\n\n const openInbox = 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, navigation],\n );\n\n const renderChannelItem = useCallback(\n ({ item }) => (\n <TouchableOpacity\n onPress={() => openInbox(item?.id, item?.title, item?.members?.length, item?.type)}\n style={{ paddingVertical: 2, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Text className=\"text-gray-600 flex-none\">#</Text>\n <Text className=\"text-gray-900 flex-1 text-base\">{item.title}</Text>\n </HStack>\n </TouchableOpacity>\n ),\n [openInbox],\n );\n\n const ListEmptyComponent = useCallback(() => {\n // Get error message if any\n const errorMessage = error\n ? error.message.includes(\"Service 'ChannelService.getAll' is not found\")\n ? 'Channel service is temporarily unavailable. Please try again later.'\n : error.message\n : null;\n\n return (\n <Box style={{ padding: 12 }}>\n {errorMessage ? (\n <Box style={{ padding: 8, backgroundColor: '#FFF4F4', borderRadius: 4 }}>\n <Text color=\"#E01E5A\" style={{ marginBottom: 8, fontWeight: '500' }}>\n {errorMessage}\n </Text>\n <TouchableOpacity onPress={refetchChannels}>\n <HStack space=\"sm\" style={{ alignItems: 'center' }}>\n <Feather name=\"refresh-cw\" color=\"#1264A3\" size={16} />\n <Text color=\"#1264A3\" style={{ fontWeight: '500' }}>\n Retry\n </Text>\n </HStack>\n </TouchableOpacity>\n </Box>\n ) : (\n <Box style={{ alignItems: 'center', paddingVertical: 16 }}>\n <Box style={{ padding: 12, marginBottom: 8, borderRadius: 24, backgroundColor: '#F8F8F8' }}>\n <Feather name=\"hash\" color=\"#616061\" size={20} />\n </Box>\n <Text style={{ color: '#616061', textAlign: 'center' }}>No channels available</Text>\n </Box>\n )}\n </Box>\n );\n }, [error, refetchChannels]);\n\n const ListFooterComponent = useCallback(() => {\n // Use hasChannels and channel count from context for more accurate data\n const showMoreChannels = hasChannels && organizationChannels.length >= 10;\n\n return (\n <VStack>\n {showMoreChannels && (\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.Channels, { orgName })}\n style={{ paddingVertical: 8, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <MaterialIcons color=\"#616061\" name=\"search\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Browse all Channels</Text>\n </HStack>\n </TouchableOpacity>\n )}\n\n <TouchableOpacity\n onPress={() => navigation.navigate(NavigationRoutes.AddChannel, { orgName })}\n style={{ paddingVertical: 5, paddingHorizontal: 12 }}\n >\n <HStack space=\"md\" className=\"items-center\">\n <Feather color=\"#616061\" name=\"plus\" size={18} />\n <Text style={{ fontSize: 16, color: '#616061' }}>Add Channels</Text>\n </HStack>\n </TouchableOpacity>\n </VStack>\n );\n }, [hasChannels, organizationChannels.length, orgName, navigation]);\n\n const SectionHeader = useCallback(() => {\n return (\n <TouchableOpacity\n onPress={() => setExpendable(!expandable)}\n style={{ paddingVertical: 6, paddingHorizontal: 16 }}\n >\n <HStack className=\"justify-between items-center\">\n <Text className=\"font-semibold\" style={{ fontSize: 15, color: '#1D1C1D' }}>\n Channels\n </Text>\n <FontAwesome\n name={expandable ? 'chevron-down' : 'chevron-left'}\n color={colors.gray[800]}\n size={12}\n />\n </HStack>\n </TouchableOpacity>\n );\n }, [expandable]);\n\n if (!expandable) {\n return <SectionHeader />;\n }\n\n return (\n <Box>\n <SectionHeader />\n {organizationChannels?.length > 0 ? (\n <FlatList\n keyExtractor={(item) => (item?.id || 'channel') + '-' + item?.title}\n data={organizationChannels}\n renderItem={renderChannelItem}\n ListFooterComponent={ListFooterComponent}\n style={{ marginTop: 6 }}\n scrollEnabled={false}\n />\n ) : (\n <ListEmptyComponent />\n )}\n </Box>\n );\n};\n\nexport default Channels;\n"],"names":["React"],"mappings":"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"}