@messenger-box/slack-ui-mobile 10.0.3-alpha.34 → 10.0.3-alpha.36

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.
@@ -1 +1 @@
1
- {"version":3,"file":"AddByEmail.js","sources":["../../../src/screens/Peoples/AddByEmail.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport {\n Input,\n InputField,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n ButtonIcon,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n Image,\n Checkbox,\n ChevronLeftIcon,\n Heading,\n CheckIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StyleSheet, TouchableOpacity, Linking, Platform, Dimensions, SafeAreaView } from 'react-native';\nimport Colors from '../../constants/Colors';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, Ionicons } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused } from '@react-navigation/native';\nimport { useSendOrganizationInvitationMutation } from 'common/graphql';\nimport { useDrawerLayout } from '../../hooks';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport colors from 'tailwindcss/colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\nconst screenHeight = Dimensions.get('screen').height;\n\nconst AddPeopleByEmail = ({ navigation, route }: any) => {\n const isFocused = useIsFocused();\n const { orgName } = useDrawerLayout();\n const user = useSelector(userSelector);\n const [contacts, setContacts] = useState([]);\n const [email, setEmail] = useState('');\n // const emailReg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w\\w+)+$/;\n const emailReg = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const [emailSent, setEmailSent] = useState(false);\n const [sendOrganizationInvitationMutation, { data, loading, error }] = useSendOrganizationInvitationMutation({\n onCompleted: (res) => {\n console.log('org invitation res', JSON.stringify(res));\n if (res?.sendOrganizationInvitation) setEmailSent(true);\n },\n onError: (e) => {\n console.log('e', JSON.stringify(e));\n setEmailSent(false);\n },\n });\n\n useEffect(() => {\n return () => {\n setEmailSent(false);\n setEmail('');\n };\n }, []);\n\n useEffect(() => {\n if (isFocused) {\n }\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n title: emailSent ? '' : 'Add by Email',\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation?.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <>\n {emailSent ? (\n <></>\n ) : (\n <Button\n className=\"mr-2\"\n disabled={email && emailReg.test(email) === true ? false : true}\n variant={'link'}\n onPress={() =>\n sendOrganizationInvitationMutation({\n variables: {\n request: {\n emails: [email],\n orgName: orgName,\n invitedBy: user?.profile?.name,\n sentInvitee: true,\n },\n },\n })\n }\n >\n <ButtonText\n className={`${email && emailReg.test(email) === true ? 'text-black' : 'text-gray-400'}`}\n >\n SEND\n </ButtonText>\n </Button>\n )}\n </>\n ),\n });\n }, [isFocused, navigation, email, orgName, user, emailSent]);\n\n return (\n <Box className=\"flex-1 bg-white\">\n {emailSent ? (\n <SafeAreaView style={{ flex: 1 }}>\n <VStack space={'lg'} className=\"py-5 flex-1 justify-between\">\n <Box className=\"text-center justify-center rounded-full\">\n {/* <CheckIcon size={10} mt=\"0.5\" color=\"emerald.500\" /> */}\n <Button className=\"rounded-full bg-green-100\" size={'lg'}>\n {/* <AntDesign name=\"check\" size={25} /> */}\n <ButtonIcon color={'#14532d'} as={CheckIcon} />\n </Button>\n </Box>\n <Heading className=\"text-center\">Invitation sent</Heading>\n <HStack className=\"flex-1 px-4 pr-10\" space={'sm'}>\n <Box>\n <AntDesign color=\"black\" name=\"adduser\" size={30} />\n </Box>\n <Box>\n <Text color={colors.black} className=\"font-bold\">\n {email}\n </Text>\n <Text>\n Invited as a member of {orgName}.They'll be able to receive and reply to messages by\n email untill they join.\n </Text>\n </Box>\n </HStack>\n <Box className=\"px-5\">\n <Button\n onPress={() => {\n setEmail('');\n navigation.goBack();\n }}\n className=\"bg-green-900 rounded-lg active:bg-green-600 hover:bg-green-600\"\n >\n <ButtonText className=\"font-bold text-[15]\">Done</ButtonText>\n </Button>\n </Box>\n </VStack>\n </SafeAreaView>\n ) : (\n <Input variant=\"underlined\" className=\" rounded-lg\" size={'xl'}>\n <InputField\n type=\"text\"\n size=\"xl\"\n autoCapitalize={'none'}\n autoCorrect={false}\n placeholderTextColor={'#404040'}\n value={email}\n placeholder=\"name@example.com\"\n onChangeText={(v) => setEmail(v)}\n textContentType=\"emailAddress\"\n keyboardType=\"email-address\"\n className=\"px-3 text-[14] transform-none\"\n />\n </Input>\n // <Input\n // textTransform={'none'}\n // borderWidth={1}\n // borderColor={'coolGray.300'}\n // _focus={{ borderColor: 'coolGray.300' }}\n // py={4}\n // px={3}\n // _input={{ placeholderTextColor: '#404040', fontSize: 14 }}\n // variant=\"underlined\"\n // placeholder=\"name@example.com\"\n // value={email}\n // onChangeText={(v) => setEmail(v)}\n // textContentType=\"emailAddress\"\n // keyboardType=\"email-address\"\n // autoCapitalize=\"none\"\n // autoCorrect={false}\n // />\n )}\n {/* <View flex={1}>\n <VirtualizedScrollView>\n <VStack space=\"5\" pt={2}></VStack>\n </VirtualizedScrollView>\n </View> */}\n </Box>\n );\n};\n\nexport default AddPeopleByEmail;\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"AddByEmail.js","sources":["../../../src/screens/Peoples/AddByEmail.tsx"],"sourcesContent":["import React, { useState, useEffect, useLayoutEffect } from 'react';\nimport {\n Input,\n InputField,\n View,\n Text,\n VStack,\n Box,\n FormControl,\n Button,\n ButtonText,\n ButtonIcon,\n Icon,\n Divider,\n FlatList,\n HStack,\n Avatar,\n Image,\n Checkbox,\n ChevronLeftIcon,\n Heading,\n CheckIcon,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StyleSheet, TouchableOpacity, Linking, Platform, Dimensions, SafeAreaView } from 'react-native';\nimport Colors from '../../constants/Colors';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, Ionicons } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused } from '@react-navigation/native';\nimport { useSendOrganizationInvitationMutation } from 'common/graphql';\nimport { useDrawerLayout } from '../../hooks';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport colors from 'tailwindcss/colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\nconst screenHeight = Dimensions.get('screen').height;\n\nconst AddPeopleByEmail = ({ navigation, route }: any) => {\n const isFocused = useIsFocused();\n const { orgName } = useDrawerLayout();\n const user = useSelector(userSelector);\n const [contacts, setContacts] = useState([]);\n const [email, setEmail] = useState('');\n // const emailReg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w\\w+)+$/;\n const emailReg = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const [emailSent, setEmailSent] = useState(false);\n const [sendOrganizationInvitationMutation, { data, loading, error }] = useSendOrganizationInvitationMutation({\n onCompleted: (res) => {\n console.log('org invitation res', JSON.stringify(res));\n if (res?.sendOrganizationInvitation) setEmailSent(true);\n },\n onError: (e) => {\n console.log('e', JSON.stringify(e));\n setEmailSent(false);\n },\n });\n\n useEffect(() => {\n return () => {\n setEmailSent(false);\n setEmail('');\n };\n }, []);\n\n useEffect(() => {\n if (isFocused) {\n }\n\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n title: emailSent ? '' : 'Add by Email',\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation?.goBack()}>\n <Ionicons color=\"black\" name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <>\n {emailSent ? (\n <></>\n ) : (\n <Button\n className=\"mr-2\"\n disabled={email && emailReg.test(email) === true ? false : true}\n variant={'link'}\n onPress={() =>\n sendOrganizationInvitationMutation({\n variables: {\n request: {\n emails: [email],\n orgName: orgName,\n invitedBy: user?.profile?.name,\n sentInvitee: true,\n },\n },\n })\n }\n >\n <ButtonText\n className={`${email && emailReg.test(email) === true ? 'text-black' : 'text-gray-400'}`}\n >\n SEND\n </ButtonText>\n </Button>\n )}\n </>\n ),\n });\n }, [isFocused, navigation, email, orgName, user, emailSent]);\n\n return (\n <Box className=\"flex-1 bg-white\">\n {emailSent ? (\n <SafeAreaView style={{ flex: 1 }}>\n <VStack space={'lg'} className=\"py-5 flex-1 justify-between\">\n <Box className=\"text-center justify-center rounded-full\">\n {/* <CheckIcon size={10} mt=\"0.5\" color=\"emerald.500\" /> */}\n <Button className=\"rounded-full bg-green-100\" size={'lg'}>\n {/* <AntDesign name=\"check\" size={25} /> */}\n <ButtonIcon color={'#14532d'} as={CheckIcon} />\n </Button>\n </Box>\n <Heading className=\"text-center\">Invitation sent</Heading>\n <HStack className=\"flex-1 px-4 pr-10\" space={'sm'}>\n <Box>\n <AntDesign color=\"black\" name=\"adduser\" size={30} />\n </Box>\n <Box>\n <Text color={colors.black} className=\"font-bold\">\n {email}\n </Text>\n <Text>\n Invited as a member of {orgName}.They'll be able to receive and reply to messages by\n email untill they join.\n </Text>\n </Box>\n </HStack>\n <Box className=\"px-5\">\n <Button\n onPress={() => {\n setEmail('');\n navigation.goBack();\n }}\n className=\"bg-green-900 rounded-lg active:bg-green-600 hover:bg-green-600\"\n >\n <ButtonText className=\"font-bold text-[15]\">Done</ButtonText>\n </Button>\n </Box>\n </VStack>\n </SafeAreaView>\n ) : (\n <Input variant=\"underlined\" className=\" rounded-lg\" size={'xl'}>\n <InputField\n type=\"text\"\n size=\"xl\"\n autoCapitalize={'none'}\n autoCorrect={false}\n placeholderTextColor={'#404040'}\n value={email}\n placeholder=\"name@example.com\"\n onChange={(event) => setEmail(event.nativeEvent.text)}\n textContentType=\"emailAddress\"\n keyboardType=\"email-address\"\n className=\"px-3 text-[14] transform-none\"\n />\n </Input>\n // <Input\n // textTransform={'none'}\n // borderWidth={1}\n // borderColor={'coolGray.300'}\n // _focus={{ borderColor: 'coolGray.300' }}\n // py={4}\n // px={3}\n // _input={{ placeholderTextColor: '#404040', fontSize: 14 }}\n // variant=\"underlined\"\n // placeholder=\"name@example.com\"\n // value={email}\n // onChangeText={(v) => setEmail(v)}\n // textContentType=\"emailAddress\"\n // keyboardType=\"email-address\"\n // autoCapitalize=\"none\"\n // autoCorrect={false}\n // />\n )}\n {/* <View flex={1}>\n <VirtualizedScrollView>\n <VStack space=\"5\" pt={2}></VStack>\n </VirtualizedScrollView>\n </View> */}\n </Box>\n );\n};\n\nexport default AddPeopleByEmail;\n"],"names":["React"],"mappings":"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"}
@@ -130,7 +130,7 @@ import React__default,{useState,useEffect}from'react';import {Button,ButtonText,
130
130
  };
131
131
  return /* @__PURE__ */ React__default.createElement(SafeAreaView, { style: styles.container }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-white" }, /* @__PURE__ */ React__default.createElement(Box, { className: "px-4 py-2 bg-white" }, /* @__PURE__ */ React__default.createElement(Input, { size: "md", className: "bg-gray-100 rounded-lg" }, /* @__PURE__ */ React__default.createElement(InputSlot, null, /* @__PURE__ */ React__default.createElement(Feather, { name: "search", size: 16, color: "#9ca3af", style: {
132
132
  marginLeft: 8
133
- } })), /* @__PURE__ */ React__default.createElement(InputField, { placeholder: "Search contacts", placeholderTextColor: "#9ca3af", onChangeText: setSearchQuery, value: searchQuery, autoCapitalize: "none", autoCorrect: false, className: "text-black" }), searchQuery ? /* @__PURE__ */ React__default.createElement(InputSlot, null, /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: () => setSearchQuery(""), style: {
133
+ } })), /* @__PURE__ */ React__default.createElement(InputField, { placeholder: "Search contacts", placeholderTextColor: "#9ca3af", onChange: (event) => setSearchQuery(event.nativeEvent.text), value: searchQuery, autoCapitalize: "none", autoCorrect: false, className: "text-black" }), searchQuery ? /* @__PURE__ */ React__default.createElement(InputSlot, null, /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: () => setSearchQuery(""), style: {
134
134
  marginRight: 8
135
135
  } }, /* @__PURE__ */ React__default.createElement(Ionicons, { name: "close-circle", size: 16, color: "#9ca3af" }))) : null)), loading ? /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 justify-center items-center" }, /* @__PURE__ */ React__default.createElement(Spinner, { size: "large", color: Colors.blue }), /* @__PURE__ */ React__default.createElement(Text, { className: "mt-4 text-gray-500" }, "Loading contacts...")) : /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1" }, selectedContacts.length > 0 && /* @__PURE__ */ React__default.createElement(Box, { className: "px-4 py-2 bg-gray-50 border-b border-gray-200" }, /* @__PURE__ */ React__default.createElement(Text, { className: "text-sm text-gray-500" }, selectedContacts.length, " ", selectedContacts.length === 1 ? "contact" : "contacts", " ", "selected")), /* @__PURE__ */ React__default.createElement(FlatList, { data: filteredContacts, renderItem: renderContactList, keyExtractor: (item) => item.id, contentContainerStyle: styles.listContainer, ListEmptyComponent: () => /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 justify-center items-center py-8" }, /* @__PURE__ */ React__default.createElement(Feather, { name: "users", size: 48, color: "#d1d5db" }), /* @__PURE__ */ React__default.createElement(Text, { className: "text-center text-gray-500 mt-4" }, searchQuery ? "No matching contacts found" : "No contacts found")) }))));
136
136
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AddFromContacts.js","sources":["../../../src/screens/Peoples/AddFromContacts.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport {\n Input,\n InputField,\n View,\n Text,\n VStack,\n Box,\n Button,\n ButtonText,\n CheckIcon,\n FlatList,\n HStack,\n Avatar,\n AvatarImage,\n AvatarFallbackText,\n Image,\n Checkbox,\n CheckboxIndicator,\n CheckboxIcon,\n Heading,\n Spinner,\n InputSlot,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StyleSheet, TouchableOpacity, Linking, Platform } from 'react-native';\nimport Colors from '../../constants/Colors';\nimport { useGetOrganizationSharableLinkQuery } from 'common/graphql';\nimport { AntDesign, Ionicons, Feather } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused } from '@react-navigation/native';\nimport * as Contacts from 'expo-contacts';\nimport { config } from '../../config';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nconst AddFromContacts = ({ navigation, route }: any) => {\n const isFocused = useIsFocused();\n const [contacts, setContacts] = useState<any[]>([]);\n const [filteredContacts, setFilteredContacts] = useState<any[]>([]);\n const [selectedContacts, setSelectedContacts] = useState<any>([]);\n const [searchQuery, setSearchQuery] = useState('');\n const [loading, setLoading] = useState(true);\n const { data: organizationSharableLink } = useGetOrganizationSharableLinkQuery();\n\n useEffect(() => {\n if (searchQuery.trim() === '') {\n setFilteredContacts(contacts);\n } else {\n const filtered = contacts.filter((contact) => {\n const fullName = `${contact.firstName || ''} ${contact.lastName || ''}`.toLowerCase();\n const phoneNumber = contact.phoneNumbers?.[0]?.number?.toLowerCase() || '';\n const query = searchQuery.toLowerCase();\n return fullName.includes(query) || phoneNumber.includes(query);\n });\n setFilteredContacts(filtered);\n }\n }, [searchQuery, contacts]);\n\n useEffect(() => {\n (async () => {\n try {\n setLoading(true);\n const { status } = await Contacts.requestPermissionsAsync();\n if (status === 'granted') {\n const { data } = await Contacts.getContactsAsync({\n fields: [\n Contacts.Fields.FirstName,\n Contacts.Fields.LastName,\n Contacts.Fields.PhoneNumbers,\n Contacts.Fields.Image,\n Contacts.Fields.ImageAvailable,\n ],\n });\n\n if (data.length > 0) {\n // Sort contacts alphabetically by name\n const sortedContacts = data.sort((a, b) => {\n const nameA = `${a.firstName || ''} ${a.lastName || ''}`.trim().toLowerCase();\n const nameB = `${b.firstName || ''} ${b.lastName || ''}`.trim().toLowerCase();\n return nameA.localeCompare(nameB);\n });\n\n // Filter out contacts without phone numbers\n const validContacts = sortedContacts.filter(\n (contact) => contact.phoneNumbers && contact.phoneNumbers.length > 0,\n );\n\n // Log information about contact images\n console.log(`Total contacts with phone numbers: ${validContacts.length}`);\n const contactsWithImages = validContacts.filter(\n (contact) => contact.imageAvailable && contact.image,\n );\n console.log(`Contacts with images: ${contactsWithImages.length}`);\n if (contactsWithImages.length > 0) {\n console.log('Sample image data:', contactsWithImages[0].image);\n }\n\n setContacts(validContacts);\n setFilteredContacts(validContacts);\n }\n }\n } catch (error) {\n console.error('Error fetching contacts:', error);\n } finally {\n setLoading(false);\n }\n })();\n }, []);\n\n useEffect(() => {\n if (isFocused) {\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n title: 'Add from Contacts',\n headerTitleStyle: {\n fontWeight: '600',\n },\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation.goBack()}>\n <Ionicons color={Colors.slackBlack} name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <Button\n className=\"mr-2\"\n onPress={() => sendInvitation()}\n disabled={selectedContacts.length === 0}\n variant={'link'}\n >\n <ButtonText\n className={`${selectedContacts.length > 0 ? 'text-black font-bold' : 'text-gray-500'}`}\n >\n Send\n </ButtonText>\n </Button>\n ),\n });\n }\n }, [isFocused, navigation, selectedContacts]);\n\n const toggleContact = (item: any) => {\n if (!item.phoneNumbers || item.phoneNumbers.length === 0) return;\n\n const contact = {\n id: item.id,\n name: `${item.firstName || ''} ${item.lastName || ''}`.trim(),\n mobile: item.phoneNumbers[0],\n };\n\n setSelectedContacts((prev) => {\n const isSelected = prev.some((c: any) => c.id === contact.id);\n if (isSelected) {\n return prev.filter((c: any) => c.id !== contact.id);\n } else {\n return [...prev, contact];\n }\n });\n };\n\n const getInitials = (firstName?: string, lastName?: string) => {\n const first = firstName ? firstName.charAt(0).toUpperCase() : '';\n const last = lastName ? lastName.charAt(0).toUpperCase() : '';\n return (first + last).substring(0, 2);\n };\n\n const renderContactList = ({ item }: any) => {\n const isSelected = selectedContacts.some((c: any) => c.id === item.id);\n const hasPhoneNumber = item.phoneNumbers && item.phoneNumbers.length > 0;\n const initials = getInitials(item.firstName, item.lastName);\n\n if (!hasPhoneNumber) return null;\n\n return (\n <TouchableOpacity\n key={item.id}\n onPress={() => toggleContact(item)}\n style={styles.contactItem}\n disabled={!hasPhoneNumber}\n activeOpacity={0.7}\n >\n <HStack space=\"md\" className=\"justify-between items-center w-full\">\n <HStack space=\"md\" className=\"items-center space-x-3\">\n {item.imageAvailable && item.image && item.image.uri ? (\n <Avatar size=\"md\" className=\"bg-gray-400\">\n <AvatarImage\n source={{ uri: item.image.uri }}\n alt={`${item.firstName || ''} ${item.lastName || ''}`.trim()}\n onError={(e) => console.log('Avatar image failed to load', e.nativeEvent.error)}\n style={styles.avatarImage}\n />\n <AvatarFallbackText>{initials}</AvatarFallbackText>\n </Avatar>\n ) : (\n <Avatar size=\"md\" className=\"bg-blue-500\">\n <AvatarFallbackText style={styles.avatarText}>{initials}</AvatarFallbackText>\n </Avatar>\n )}\n\n <Box>\n <Text className=\"text-gray-800 font-semibold text-base\">\n {item.firstName || ''} {item.lastName || ''}\n </Text>\n <Text className=\"text-gray-500 text-sm\">\n {item.phoneNumbers?.[0]?.number || 'No number'}\n </Text>\n </Box>\n </HStack>\n\n <Checkbox\n value={item.id}\n isChecked={isSelected}\n accessibilityLabel={`Select ${item.firstName}`}\n aria-label={`Select ${item.firstName}`}\n >\n <CheckboxIndicator className={isSelected ? 'bg-blue-500 border-blue-500' : ''}>\n <CheckboxIcon as={CheckIcon} />\n </CheckboxIndicator>\n </Checkbox>\n </HStack>\n </TouchableOpacity>\n );\n };\n\n const sendInvitation = () => {\n if (selectedContacts.length === 0) return;\n\n const mobileNumbers = selectedContacts.map((i: any) => i.mobile.number);\n let numbers = '';\n mobileNumbers.forEach((phoneNumber: string) => {\n numbers += `${phoneNumber.replace(/\\s/g, '')},`;\n });\n numbers = numbers.slice(0, -1);\n const smtDivider = Platform.OS === 'ios' ? '&' : '?';\n\n const message = `Join me on ${\n config.APP_NAME\n } - it's a faster, simpler way to work. Sign up here from any device: ${\n organizationSharableLink?.getOrganizationSharableLink ?? ''\n }`;\n\n const url =\n Platform.OS === 'android'\n ? `sms:${numbers}?body=${encodeURIComponent(message)}`\n : `sms:/open?addresses=${numbers}&body=${encodeURIComponent(message)}`;\n Linking.openURL(url);\n };\n\n return (\n <SafeAreaView style={styles.container}>\n <Box className=\"flex-1 bg-white\">\n <Box className=\"px-4 py-2 bg-white\">\n <Input size=\"md\" className=\"bg-gray-100 rounded-lg\">\n <InputSlot>\n <Feather name=\"search\" size={16} color=\"#9ca3af\" style={{ marginLeft: 8 }} />\n </InputSlot>\n <InputField\n placeholder=\"Search contacts\"\n placeholderTextColor=\"#9ca3af\"\n onChangeText={setSearchQuery}\n value={searchQuery}\n autoCapitalize=\"none\"\n autoCorrect={false}\n className=\"text-black\"\n />\n {searchQuery ? (\n <InputSlot>\n <TouchableOpacity onPress={() => setSearchQuery('')} style={{ marginRight: 8 }}>\n <Ionicons name=\"close-circle\" size={16} color=\"#9ca3af\" />\n </TouchableOpacity>\n </InputSlot>\n ) : null}\n </Input>\n </Box>\n\n {loading ? (\n <Box className=\"flex-1 justify-center items-center\">\n <Spinner size=\"large\" color={Colors.blue} />\n <Text className=\"mt-4 text-gray-500\">Loading contacts...</Text>\n </Box>\n ) : (\n <Box className=\"flex-1\">\n {selectedContacts.length > 0 && (\n <Box className=\"px-4 py-2 bg-gray-50 border-b border-gray-200\">\n <Text className=\"text-sm text-gray-500\">\n {selectedContacts.length} {selectedContacts.length === 1 ? 'contact' : 'contacts'}{' '}\n selected\n </Text>\n </Box>\n )}\n\n <FlatList\n data={filteredContacts}\n renderItem={renderContactList}\n keyExtractor={(item) => item.id}\n contentContainerStyle={styles.listContainer}\n ListEmptyComponent={() => (\n <Box className=\"flex-1 justify-center items-center py-8\">\n <Feather name=\"users\" size={48} color=\"#d1d5db\" />\n <Text className=\"text-center text-gray-500 mt-4\">\n {searchQuery ? 'No matching contacts found' : 'No contacts found'}\n </Text>\n </Box>\n )}\n />\n </Box>\n )}\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: 'white',\n },\n listContainer: {\n flexGrow: 1,\n },\n contactItem: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#f3f4f6',\n },\n avatarText: {\n color: 'white',\n fontWeight: '600',\n },\n avatarImage: {\n width: '100%',\n height: '100%',\n },\n});\n\nexport default AddFromContacts;\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"AddFromContacts.js","sources":["../../../src/screens/Peoples/AddFromContacts.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport {\n Input,\n InputField,\n View,\n Text,\n VStack,\n Box,\n Button,\n ButtonText,\n CheckIcon,\n FlatList,\n HStack,\n Avatar,\n AvatarImage,\n AvatarFallbackText,\n Image,\n Checkbox,\n CheckboxIndicator,\n CheckboxIcon,\n Heading,\n Spinner,\n InputSlot,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StyleSheet, TouchableOpacity, Linking, Platform } from 'react-native';\nimport Colors from '../../constants/Colors';\nimport { useGetOrganizationSharableLinkQuery } from 'common/graphql';\nimport { AntDesign, Ionicons, Feather } from '@expo/vector-icons';\nimport VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused } from '@react-navigation/native';\nimport * as Contacts from 'expo-contacts';\nimport { config } from '../../config';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nconst AddFromContacts = ({ navigation, route }: any) => {\n const isFocused = useIsFocused();\n const [contacts, setContacts] = useState<any[]>([]);\n const [filteredContacts, setFilteredContacts] = useState<any[]>([]);\n const [selectedContacts, setSelectedContacts] = useState<any>([]);\n const [searchQuery, setSearchQuery] = useState('');\n const [loading, setLoading] = useState(true);\n const { data: organizationSharableLink } = useGetOrganizationSharableLinkQuery();\n\n useEffect(() => {\n if (searchQuery.trim() === '') {\n setFilteredContacts(contacts);\n } else {\n const filtered = contacts.filter((contact) => {\n const fullName = `${contact.firstName || ''} ${contact.lastName || ''}`.toLowerCase();\n const phoneNumber = contact.phoneNumbers?.[0]?.number?.toLowerCase() || '';\n const query = searchQuery.toLowerCase();\n return fullName.includes(query) || phoneNumber.includes(query);\n });\n setFilteredContacts(filtered);\n }\n }, [searchQuery, contacts]);\n\n useEffect(() => {\n (async () => {\n try {\n setLoading(true);\n const { status } = await Contacts.requestPermissionsAsync();\n if (status === 'granted') {\n const { data } = await Contacts.getContactsAsync({\n fields: [\n Contacts.Fields.FirstName,\n Contacts.Fields.LastName,\n Contacts.Fields.PhoneNumbers,\n Contacts.Fields.Image,\n Contacts.Fields.ImageAvailable,\n ],\n });\n\n if (data.length > 0) {\n // Sort contacts alphabetically by name\n const sortedContacts = data.sort((a, b) => {\n const nameA = `${a.firstName || ''} ${a.lastName || ''}`.trim().toLowerCase();\n const nameB = `${b.firstName || ''} ${b.lastName || ''}`.trim().toLowerCase();\n return nameA.localeCompare(nameB);\n });\n\n // Filter out contacts without phone numbers\n const validContacts = sortedContacts.filter(\n (contact) => contact.phoneNumbers && contact.phoneNumbers.length > 0,\n );\n\n // Log information about contact images\n console.log(`Total contacts with phone numbers: ${validContacts.length}`);\n const contactsWithImages = validContacts.filter(\n (contact) => contact.imageAvailable && contact.image,\n );\n console.log(`Contacts with images: ${contactsWithImages.length}`);\n if (contactsWithImages.length > 0) {\n console.log('Sample image data:', contactsWithImages[0].image);\n }\n\n setContacts(validContacts);\n setFilteredContacts(validContacts);\n }\n }\n } catch (error) {\n console.error('Error fetching contacts:', error);\n } finally {\n setLoading(false);\n }\n })();\n }, []);\n\n useEffect(() => {\n if (isFocused) {\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n title: 'Add from Contacts',\n headerTitleStyle: {\n fontWeight: '600',\n },\n headerLeft: (props: any) => (\n <TouchableOpacity style={{ paddingHorizontal: 10 }} onPress={() => navigation.goBack()}>\n <Ionicons color={Colors.slackBlack} name=\"chevron-back\" size={20} />\n </TouchableOpacity>\n ),\n headerRight: (props: any) => (\n <Button\n className=\"mr-2\"\n onPress={() => sendInvitation()}\n disabled={selectedContacts.length === 0}\n variant={'link'}\n >\n <ButtonText\n className={`${selectedContacts.length > 0 ? 'text-black font-bold' : 'text-gray-500'}`}\n >\n Send\n </ButtonText>\n </Button>\n ),\n });\n }\n }, [isFocused, navigation, selectedContacts]);\n\n const toggleContact = (item: any) => {\n if (!item.phoneNumbers || item.phoneNumbers.length === 0) return;\n\n const contact = {\n id: item.id,\n name: `${item.firstName || ''} ${item.lastName || ''}`.trim(),\n mobile: item.phoneNumbers[0],\n };\n\n setSelectedContacts((prev) => {\n const isSelected = prev.some((c: any) => c.id === contact.id);\n if (isSelected) {\n return prev.filter((c: any) => c.id !== contact.id);\n } else {\n return [...prev, contact];\n }\n });\n };\n\n const getInitials = (firstName?: string, lastName?: string) => {\n const first = firstName ? firstName.charAt(0).toUpperCase() : '';\n const last = lastName ? lastName.charAt(0).toUpperCase() : '';\n return (first + last).substring(0, 2);\n };\n\n const renderContactList = ({ item }: any) => {\n const isSelected = selectedContacts.some((c: any) => c.id === item.id);\n const hasPhoneNumber = item.phoneNumbers && item.phoneNumbers.length > 0;\n const initials = getInitials(item.firstName, item.lastName);\n\n if (!hasPhoneNumber) return null;\n\n return (\n <TouchableOpacity\n key={item.id}\n onPress={() => toggleContact(item)}\n style={styles.contactItem}\n disabled={!hasPhoneNumber}\n activeOpacity={0.7}\n >\n <HStack space=\"md\" className=\"justify-between items-center w-full\">\n <HStack space=\"md\" className=\"items-center space-x-3\">\n {item.imageAvailable && item.image && item.image.uri ? (\n <Avatar size=\"md\" className=\"bg-gray-400\">\n <AvatarImage\n source={{ uri: item.image.uri }}\n alt={`${item.firstName || ''} ${item.lastName || ''}`.trim()}\n onError={(e) => console.log('Avatar image failed to load', e.nativeEvent.error)}\n style={styles.avatarImage}\n />\n <AvatarFallbackText>{initials}</AvatarFallbackText>\n </Avatar>\n ) : (\n <Avatar size=\"md\" className=\"bg-blue-500\">\n <AvatarFallbackText style={styles.avatarText}>{initials}</AvatarFallbackText>\n </Avatar>\n )}\n\n <Box>\n <Text className=\"text-gray-800 font-semibold text-base\">\n {item.firstName || ''} {item.lastName || ''}\n </Text>\n <Text className=\"text-gray-500 text-sm\">\n {item.phoneNumbers?.[0]?.number || 'No number'}\n </Text>\n </Box>\n </HStack>\n\n <Checkbox\n value={item.id}\n isChecked={isSelected}\n accessibilityLabel={`Select ${item.firstName}`}\n aria-label={`Select ${item.firstName}`}\n >\n <CheckboxIndicator className={isSelected ? 'bg-blue-500 border-blue-500' : ''}>\n <CheckboxIcon as={CheckIcon} />\n </CheckboxIndicator>\n </Checkbox>\n </HStack>\n </TouchableOpacity>\n );\n };\n\n const sendInvitation = () => {\n if (selectedContacts.length === 0) return;\n\n const mobileNumbers = selectedContacts.map((i: any) => i.mobile.number);\n let numbers = '';\n mobileNumbers.forEach((phoneNumber: string) => {\n numbers += `${phoneNumber.replace(/\\s/g, '')},`;\n });\n numbers = numbers.slice(0, -1);\n const smtDivider = Platform.OS === 'ios' ? '&' : '?';\n\n const message = `Join me on ${\n config.APP_NAME\n } - it's a faster, simpler way to work. Sign up here from any device: ${\n organizationSharableLink?.getOrganizationSharableLink ?? ''\n }`;\n\n const url =\n Platform.OS === 'android'\n ? `sms:${numbers}?body=${encodeURIComponent(message)}`\n : `sms:/open?addresses=${numbers}&body=${encodeURIComponent(message)}`;\n Linking.openURL(url);\n };\n\n return (\n <SafeAreaView style={styles.container}>\n <Box className=\"flex-1 bg-white\">\n <Box className=\"px-4 py-2 bg-white\">\n <Input size=\"md\" className=\"bg-gray-100 rounded-lg\">\n <InputSlot>\n <Feather name=\"search\" size={16} color=\"#9ca3af\" style={{ marginLeft: 8 }} />\n </InputSlot>\n <InputField\n placeholder=\"Search contacts\"\n placeholderTextColor=\"#9ca3af\"\n onChange={(event) => setSearchQuery(event.nativeEvent.text)}\n value={searchQuery}\n autoCapitalize=\"none\"\n autoCorrect={false}\n className=\"text-black\"\n />\n {searchQuery ? (\n <InputSlot>\n <TouchableOpacity onPress={() => setSearchQuery('')} style={{ marginRight: 8 }}>\n <Ionicons name=\"close-circle\" size={16} color=\"#9ca3af\" />\n </TouchableOpacity>\n </InputSlot>\n ) : null}\n </Input>\n </Box>\n\n {loading ? (\n <Box className=\"flex-1 justify-center items-center\">\n <Spinner size=\"large\" color={Colors.blue} />\n <Text className=\"mt-4 text-gray-500\">Loading contacts...</Text>\n </Box>\n ) : (\n <Box className=\"flex-1\">\n {selectedContacts.length > 0 && (\n <Box className=\"px-4 py-2 bg-gray-50 border-b border-gray-200\">\n <Text className=\"text-sm text-gray-500\">\n {selectedContacts.length} {selectedContacts.length === 1 ? 'contact' : 'contacts'}{' '}\n selected\n </Text>\n </Box>\n )}\n\n <FlatList\n data={filteredContacts}\n renderItem={renderContactList}\n keyExtractor={(item) => item.id}\n contentContainerStyle={styles.listContainer}\n ListEmptyComponent={() => (\n <Box className=\"flex-1 justify-center items-center py-8\">\n <Feather name=\"users\" size={48} color=\"#d1d5db\" />\n <Text className=\"text-center text-gray-500 mt-4\">\n {searchQuery ? 'No matching contacts found' : 'No contacts found'}\n </Text>\n </Box>\n )}\n />\n </Box>\n )}\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: 'white',\n },\n listContainer: {\n flexGrow: 1,\n },\n contactItem: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#f3f4f6',\n },\n avatarText: {\n color: 'white',\n fontWeight: '600',\n },\n avatarImage: {\n width: '100%',\n height: '100%',\n },\n});\n\nexport default AddFromContacts;\n"],"names":["React"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React__default,{useState,useEffect,useRef}from'react';import {Box,HStack,Text,ScrollView,Avatar,AvatarImage,AvatarFallbackText,AvatarBadge}from'@admin-layout/gluestack-ui-mobile';import {Keyboard,TouchableOpacity,SafeAreaView,StyleSheet,View,TextInput,Dimensions}from'react-native';import {RoomType}from'common';import {useGetChannelsByUserLazyQuery,useGetOrganizationMembersWithChannelsQuery}from'common/graphql';import {MaterialIcons,Feather,SimpleLineIcons,Octicons}from'@expo/vector-icons';import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {startCase,uniqBy}from'lodash-es';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';Dimensions.get("window").width;
1
+ import React__default,{useState,useEffect,useRef}from'react';import {Box,HStack,Text,ScrollView,Avatar,AvatarImage,AvatarFallbackText,AvatarBadge}from'@admin-layout/gluestack-ui-mobile';import {Keyboard,TouchableOpacity,SafeAreaView,StyleSheet,View,TextInput,Dimensions}from'react-native';import {RoomType}from'common';import {useGetChannelsByUserLazyQuery,useGetOrganizationMembersWithChannelsQuery}from'common/graphql';import {useNavigation,useIsFocused,useFocusEffect}from'@react-navigation/native';import {userSelector}from'@adminide-stack/user-auth0-client';import {useSelector}from'react-redux';import {startCase,uniqBy}from'lodash-es';import {MaterialIcons,Feather,Octicons}from'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';Dimensions.get("window").width;
2
2
  Dimensions.get("window").height;
3
3
  Dimensions.get("screen").height;
4
4
  const defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];
@@ -204,9 +204,6 @@ const SearchAddChannel = (props) => {
204
204
  }, alt: item.title }) : /* @__PURE__ */ React__default.createElement(AvatarFallbackText, null, item.imageAcronym || item.title.charAt(0))), /* @__PURE__ */ React__default.createElement(Text, { style: styles.chipText }, item.title));
205
205
  };
206
206
  const renderListItem = (item, index) => {
207
- if (item.type === "header") {
208
- return /* @__PURE__ */ React__default.createElement(HStack, { key: index, style: styles.sectionHeader }, /* @__PURE__ */ React__default.createElement(SimpleLineIcons, { name: "bell", size: 16, color: "#2563EB" }), /* @__PURE__ */ React__default.createElement(Text, { style: styles.sectionHeaderText }, item.title));
209
- }
210
207
  return /* @__PURE__ */ React__default.createElement(HStack, { key: index, style: styles.listItem }, /* @__PURE__ */ React__default.createElement(HStack, { style: styles.listItemLeft }, item.type == RoomType.Channel && /* @__PURE__ */ React__default.createElement(View, { style: styles.iconContainer }, /* @__PURE__ */ React__default.createElement(Octicons, { name: "hash", size: 20, color: "#000" })), item.type == RoomType.Private && /* @__PURE__ */ React__default.createElement(View, { style: styles.iconContainer }, /* @__PURE__ */ React__default.createElement(Octicons, { name: "lock", size: 20, color: "#000" })), item.type == RoomType.Direct && /* @__PURE__ */ React__default.createElement(Avatar, { size: "sm", style: styles.userAvatar }, item.channelImage ? /* @__PURE__ */ React__default.createElement(AvatarImage, { source: {
211
208
  uri: item.channelImage
212
209
  }, alt: item.title }) : /* @__PURE__ */ React__default.createElement(AvatarFallbackText, null, item.title.charAt(0)), /* @__PURE__ */ React__default.createElement(AvatarBadge, { style: styles.onlineBadge })), /* @__PURE__ */ React__default.createElement(HStack, { style: styles.titleContainer }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.itemTitle }, item.title), item.type === "app" && /* @__PURE__ */ React__default.createElement(View, { style: styles.appLabel }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.appLabelText }, "APP")))), /* @__PURE__ */ React__default.createElement(TouchableOpacity, { onPress: () => toggleItemSelection(item) }, isItemSelected(item) ? /* @__PURE__ */ React__default.createElement(View, { style: styles.checkedBox }, /* @__PURE__ */ React__default.createElement(Feather, { name: "check", size: 18, color: "#fff" })) : /* @__PURE__ */ React__default.createElement(View, { style: styles.uncheckedBox })));
@@ -220,7 +217,7 @@ const SearchAddChannel = (props) => {
220
217
  return /* @__PURE__ */ React__default.createElement(SafeAreaView, { style: {
221
218
  flex: 1,
222
219
  backgroundColor: "#fff"
223
- } }, /* @__PURE__ */ React__default.createElement(Box, { style: styles.container }, /* @__PURE__ */ React__default.createElement(HStack, { style: styles.searchContainer }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.toLabel }, "To:"), /* @__PURE__ */ React__default.createElement(View, { style: styles.chipContainerWrapper }, /* @__PURE__ */ React__default.createElement(View, { style: styles.chipWrapView }, selectedItems.map(renderSelectedItemChip), /* @__PURE__ */ React__default.createElement(TextInput, { ref: inputRef, style: styles.searchInput, placeholder: selectedItems.length ? "" : "Search for a channel or conversation", placeholderTextColor: "#9CA3AF", value: searchText, onChangeText: setSearchText })))), /* @__PURE__ */ React__default.createElement(ScrollView, { style: styles.listContainer }, filteredData.map(renderListItem)), /* @__PURE__ */ React__default.createElement(HStack, { style: styles.messageInputContainer }, /* @__PURE__ */ React__default.createElement(TextInput, { style: styles.messageInput, placeholder: `Message ${selectedItems.map((item) => item.title).join(", ")}`, placeholderTextColor: "#9CA3AF" }), /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: styles.sendButton }, /* @__PURE__ */ React__default.createElement(Feather, { name: "arrow-right", size: 22, color: "#fff" })))));
220
+ } }, /* @__PURE__ */ React__default.createElement(Box, { style: styles.container }, /* @__PURE__ */ React__default.createElement(HStack, { style: styles.searchContainer }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.toLabel }, "To:"), /* @__PURE__ */ React__default.createElement(View, { style: styles.chipContainerWrapper }, /* @__PURE__ */ React__default.createElement(View, { style: styles.chipWrapView }, selectedItems.map(renderSelectedItemChip), /* @__PURE__ */ React__default.createElement(TextInput, { ref: inputRef, style: styles.searchInput, placeholder: selectedItems.length ? "" : "Search for a channel or conversation", placeholderTextColor: "#9CA3AF", value: searchText, onChange: (event) => setSearchText(event.nativeEvent.text) })))), /* @__PURE__ */ React__default.createElement(ScrollView, { style: styles.listContainer }, filteredData.map(renderListItem)), /* @__PURE__ */ React__default.createElement(HStack, { style: styles.messageInputContainer }, /* @__PURE__ */ React__default.createElement(TextInput, { style: styles.messageInput, placeholder: `Message ${selectedItems.map((item) => item.title).join(", ")}`, placeholderTextColor: "#9CA3AF" }), /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: styles.sendButton }, /* @__PURE__ */ React__default.createElement(Feather, { name: "arrow-right", size: 22, color: "#fff" })))));
224
221
  };
225
222
  const styles = StyleSheet.create({
226
223
  container: {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchAddChannel.js","sources":["../../../src/screens/Search/SearchAddChannel.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from 'react';\nimport {\n Text,\n Button,\n ButtonText,\n Box,\n Icon,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Checkbox,\n CheckboxLabel,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n VStack,\n ScrollView,\n} from '@admin-layout/gluestack-ui-mobile';\nimport {\n TouchableOpacity,\n Dimensions,\n Keyboard,\n KeyboardEvent,\n TextInput,\n View,\n StyleSheet,\n SafeAreaView,\n} from 'react-native';\nimport { RoomType } from 'common';\nimport {\n useGetOrganizationMembersWithChannelsQuery,\n useGetChannelsByUserLazyQuery,\n useGetOrganizationMembersQuery,\n} from 'common/graphql';\n// import { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, SimpleLineIcons, MaterialCommunityIcons, Entypo } from '@expo/vector-icons';\nimport { Inbox, DialogMessages, DialogThreads } from '@messenger-box/platform-mobile';\n// import VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused, useFocusEffect, useNavigation } from '@react-navigation/native';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../hooks';\nimport { LoadingSpinnerDefault, SlackInput } from '../../components';\nimport colors from 'tailwindcss/colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst screenHeight = Dimensions.get('screen').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];\nconst orgMemersDataFetchLimit = 10;\nexport const useKeyboard = () => {\n const [keyboardHeight, setKeyboardHeight] = useState(0);\n\n useEffect(() => {\n function onKeyboardDidShow(e: KeyboardEvent) {\n // Remove type here if not using TypeScript\n setKeyboardHeight(e?.endCoordinates?.height ?? 0);\n }\n\n function onKeyboardDidHide() {\n setKeyboardHeight(0);\n }\n\n const showSubscription = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow);\n const hideSubscription = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);\n return () => {\n showSubscription.remove();\n hideSubscription.remove();\n };\n }, []);\n\n return keyboardHeight;\n};\n\n// const listData = [\n// { id: 'header1', type: 'header', title: 'Message with external people' },\n// { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n// { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n// { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n// { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n// { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n// { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n// { id: 'cdecode', title: 'cdecode', type: 'private' },\n// { id: 'general', title: 'general', type: 'channel' },\n// { id: 'mobile', title: 'mobile', type: 'private' },\n// ];\n\nconst SearchAddChannel = (props: any) => {\n const navigation = useNavigation<any>();\n const { orgName, organizationDetail } = useDrawerLayout();\n const isFocused = useIsFocused();\n const user = useSelector(userSelector);\n const [channels, setChannels] = useState<any>([]);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const [selectedItems, setSelectedItems] = useState<any[]>([]);\n const [searchText, setSearchText] = useState('');\n const [offset, setOffset] = useState(0);\n const [channelId, setChannelId] = useState<any>(null);\n const [isCreateNewChannel, setIsCreateNewChannel] = useState<boolean>(false);\n const keyboardHeight = useKeyboard();\n const inputRef = useRef<TextInput>(null);\n const [tags, setTags] = useState<any[]>([]);\n const labelExtractor = (tag: any) => (tag?.id ? tag?.id : tag?.userId);\n const [getChannelByUser, { loading: isChannelByUserLoading }] = useGetChannelsByUserLazyQuery();\n const {\n data,\n loading: oLoading,\n error: oError,\n refetch,\n } = useGetOrganizationMembersWithChannelsQuery({\n variables: {\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n useFocusEffect(\n React.useCallback(() => {\n refetch({\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setChannels([]);\n setChannelId(null);\n setInitialOrgMembers([]);\n };\n }, [orgName]),\n );\n\n React.useEffect(() => {\n navigation.setOptions({\n headerLeft: (props: any) => (\n <TouchableOpacity onPress={() => navigation.goBack()}>\n <MaterialIcons size={20} name=\"close\" color={'black'} />\n </TouchableOpacity>\n ),\n });\n }, []);\n\n React.useEffect(() => {\n if (data?.channelsByUser) {\n const allChannels: any =\n data?.channelsByUser\n ?.filter((ch: any) =>\n ch.type == RoomType.Direct &&\n ch?.members?.length == 1 &&\n ch?.members?.filter((ch: any) => ch?.user?.id == user?.id)\n ? ch\n : ch?.members?.filter((m: any) => m?.user?.id != user?.id),\n )\n ?.map((i: any) => {\n const ch: any = { id: i?.id, title: i?.title, type: i?.type };\n const channelMembers =\n i.members\n ?.map((m: any) => m?.user)\n ?.filter((ch: any) =>\n i.members?.length == 1 && ch?.id == user?.id ? ch : ch?.id != user?.id,\n ) ?? null;\n const title =\n ch.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : ch.title;\n ch.title = title;\n ch.channelImage = channelMembers[0]?.picture;\n ch.imageAcronym = startCase(channelMembers[0]?.username?.charAt(0));\n ch.members = channelMembers;\n ch.totalMembers = channelMembers?.length;\n ch.userId = null;\n ch.isOrgMembers = false;\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n\n const existingDirectChannelsToDelete = new Set(\n data?.channelsByUser?.map((ch: any) => ch?.members?.map((m: any) => m?.user?.id))?.flat(1),\n );\n\n const allOrgMembers: any =\n data?.getOrganizationMembers?.data\n ?.filter((m: any) => m?.user?.id != user?.id)\n .filter((obj: any) => !existingDirectChannelsToDelete.has(obj?.userId))\n ?.map((i: any) => {\n const ch: any = {\n id: null,\n title: i?.user?.givenName + ' ' + i?.user?.familyName,\n type: RoomType.Direct,\n channelImage: i?.user?.picture,\n imageAcronym: startCase(i?.user?.username?.charAt(0)),\n members: [],\n totalMembers: 1,\n userId: i?.user?.id,\n isOrgMembers: true,\n };\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n setChannels((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n setInitialOrgMembers((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n }\n }, [data]);\n\n React.useEffect(() => {\n if (channelId && tags?.length === 0) setChannelId(null);\n if (!channelId && tags?.length > 0) {\n const userIds = [\n ...new Set(\n tags?.map((t: any) => (t?.userId ? t?.userId : t?.members?.map((m: any) => m?.id)))?.flat(1),\n ),\n ];\n\n getChannelId(userIds);\n }\n console.log('channelid', channelId, ' tags?.length', tags?.length);\n }, [channelId, tags, orgName]);\n\n const getChannelId = React.useCallback(\n async (userIds: any[]) => {\n const res = await getChannelByUser({\n variables: {\n criteria: {\n orgName: orgName,\n type: RoomType.Direct,\n 'members.user': { $all: [...userIds, user?.id] },\n },\n limit: 1,\n },\n });\n\n if (res?.data?.channelsByUser?.length > 0) {\n setChannelId(res?.data?.channelsByUser?.[0]?.id);\n setIsCreateNewChannel(false);\n } else {\n setChannelId(null);\n setIsCreateNewChannel(true);\n }\n // ?.then((res) => {\n // if (res?.data?.channelsByUser?.length > 0) {\n // setChannelId(res?.data?.channelsByUser?.[0]?.id);\n // setInputFocusOut(true);\n // } else {\n // setChannelId(null);\n // setInputFocusOut(false);\n // }\n // });\n },\n [orgName, user],\n );\n\n // Toggle selection of an item\n const toggleItemSelection = (item: any) => {\n const itemExists = selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n\n if (itemExists) {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n } else {\n setSelectedItems([...selectedItems, item]);\n }\n };\n\n // Check if an item is selected\n const isItemSelected = (item: any) => {\n return selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n };\n\n // Remove a selected item (chip)\n const removeSelectedItem = (item: any) => {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n };\n\n // Render a selected item as a chip in the To: field\n const renderSelectedItemChip = (item: any, index: number) => {\n return (\n <View key={index} style={styles.chipContainer}>\n <Avatar size=\"xs\" style={styles.chipAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.imageAcronym || item.title.charAt(0)}</AvatarFallbackText>\n )}\n </Avatar>\n <Text style={styles.chipText}>{item.title}</Text>\n </View>\n );\n };\n\n // Render list items (channels and users)\n const renderListItem = (item: any, index: number) => {\n if (item.type === 'header') {\n return (\n <HStack key={index} style={styles.sectionHeader}>\n <SimpleLineIcons name=\"bell\" size={16} color=\"#2563EB\" />\n <Text style={styles.sectionHeaderText}>{item.title}</Text>\n </HStack>\n );\n }\n\n return (\n <HStack key={index} style={styles.listItem}>\n <HStack style={styles.listItemLeft}>\n {/* {item.type === 'app' && item.appName === 'figma' && (\n <View style={styles.iconContainer}>\n <MaterialCommunityIcons name=\"sigma\" size={20} color=\"#F24E1E\" />\n </View>\n )} */}\n\n {/* {item.type === 'app' && item.appName === 'github' && (\n <View style={styles.iconContainer}>\n <AntDesign name=\"github\" size={20} color=\"#000\" />\n </View>\n )} */}\n\n {item.type == RoomType.Channel && (\n <View style={styles.iconContainer}>\n <Octicons name=\"hash\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Private && (\n <View style={styles.iconContainer}>\n <Octicons name=\"lock\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Direct && (\n <Avatar size=\"sm\" style={styles.userAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.title.charAt(0)}</AvatarFallbackText>\n )}\n <AvatarBadge style={styles.onlineBadge} />\n </Avatar>\n )}\n\n <HStack style={styles.titleContainer}>\n <Text style={styles.itemTitle}>{item.title}</Text>\n {item.type === 'app' && (\n <View style={styles.appLabel}>\n <Text style={styles.appLabelText}>APP</Text>\n </View>\n )}\n </HStack>\n </HStack>\n\n <TouchableOpacity onPress={() => toggleItemSelection(item)}>\n {isItemSelected(item) ? (\n <View style={styles.checkedBox}>\n <Feather name=\"check\" size={18} color=\"#fff\" />\n </View>\n ) : (\n <View style={styles.uncheckedBox} />\n )}\n </TouchableOpacity>\n </HStack>\n );\n };\n\n // Sample data for the channel list\n // const listData = [\n // { id: 'header1', type: 'header', title: 'Message with external people' },\n // { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n // { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n // { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n // { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n // { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n // { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n // { id: 'cdecode', title: 'cdecode', type: 'private' },\n // { id: 'general', title: 'general', type: 'channel' },\n // { id: 'mobile', title: 'mobile', type: 'private' },\n // ];\n\n const listData = [{ id: 'header1', type: 'header', title: 'Message with external people' }, ...channels];\n\n const filteredData = searchText.trim()\n ? listData.filter(\n (item) => item.type !== 'header' && item.title.toLowerCase().includes(searchText.toLowerCase()),\n )\n : listData;\n\n return (\n <SafeAreaView style={{ flex: 1, backgroundColor: '#fff' }}>\n <Box style={styles.container}>\n {/* To: field with search */}\n <HStack style={styles.searchContainer}>\n <Text style={styles.toLabel}>To:</Text>\n <View style={styles.chipContainerWrapper}>\n <View style={styles.chipWrapView}>\n {selectedItems.map(renderSelectedItemChip)}\n <TextInput\n ref={inputRef}\n style={styles.searchInput}\n placeholder={selectedItems.length ? '' : 'Search for a channel or conversation'}\n placeholderTextColor=\"#9CA3AF\"\n value={searchText}\n onChangeText={setSearchText}\n />\n </View>\n </View>\n </HStack>\n\n {/* List of channels and people */}\n <ScrollView style={styles.listContainer}>{filteredData.map(renderListItem)}</ScrollView>\n\n {/* Message input at bottom */}\n <HStack style={styles.messageInputContainer}>\n <TextInput\n style={styles.messageInput}\n placeholder={`Message ${selectedItems.map((item) => item.title).join(', ')}`}\n placeholderTextColor=\"#9CA3AF\"\n />\n <TouchableOpacity style={styles.sendButton}>\n <Feather name=\"arrow-right\" size={22} color=\"#fff\" />\n </TouchableOpacity>\n </HStack>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n },\n headerTitle: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n searchContainer: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n toLabel: {\n fontSize: 16,\n marginRight: 8,\n marginTop: 8,\n color: '#374151',\n },\n chipContainerWrapper: {\n flex: 1,\n },\n chipWrapView: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipScrollView: {\n flex: 1,\n },\n chipScrollContent: {\n alignItems: 'center',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#EFF6FF',\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 6,\n marginRight: 8,\n marginBottom: 8,\n },\n chipAvatar: {\n width: 20,\n height: 20,\n marginRight: 4,\n },\n chipText: {\n color: '#1E40AF',\n fontSize: 14,\n },\n searchInput: {\n flex: 1,\n height: 40,\n fontSize: 16,\n minWidth: 100,\n },\n listContainer: {\n flex: 1,\n },\n sectionHeader: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 16,\n paddingBottom: 8,\n },\n sectionHeaderText: {\n marginLeft: 8,\n fontWeight: 'bold',\n fontSize: 16,\n color: '#374151',\n },\n listItem: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n listItemLeft: {\n flexDirection: 'row',\n alignItems: 'center',\n flex: 1,\n },\n iconContainer: {\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n marginRight: 12,\n },\n userAvatar: {\n marginRight: 12,\n },\n onlineBadge: {\n width: 8,\n height: 8,\n backgroundColor: '#10B981',\n borderWidth: 1,\n borderColor: '#FFFFFF',\n bottom: 0,\n right: 0,\n },\n titleContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n itemTitle: {\n fontSize: 16,\n color: '#1F2937',\n },\n appLabel: {\n backgroundColor: '#E5E5E5',\n borderRadius: 4,\n paddingHorizontal: 6,\n paddingVertical: 2,\n marginLeft: 8,\n },\n appLabelText: {\n fontSize: 10,\n fontWeight: 'bold',\n color: '#4B5563',\n },\n uncheckedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n borderWidth: 1,\n borderColor: '#D1D5DB',\n },\n checkedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n messageInputContainer: {\n borderTopWidth: 1,\n borderTopColor: '#E5E5E5',\n paddingHorizontal: 16,\n paddingVertical: 12,\n flexDirection: 'row',\n alignItems: 'center',\n },\n messageInput: {\n flex: 1,\n height: 40,\n backgroundColor: '#F9FAFB',\n borderRadius: 20,\n paddingHorizontal: 16,\n marginRight: 12,\n fontSize: 16,\n },\n sendButton: {\n width: 40,\n height: 40,\n borderRadius: 20,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default React.memo(SearchAddChannel);\n"],"names":["React","props","_a","_b","_c","ch","_d","_e","_f","_g","_h","_i"],"mappings":"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"}
1
+ {"version":3,"file":"SearchAddChannel.js","sources":["../../../src/screens/Search/SearchAddChannel.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from 'react';\nimport {\n Text,\n Button,\n ButtonText,\n Box,\n Icon,\n HStack,\n Avatar,\n AvatarFallbackText,\n AvatarImage,\n AvatarBadge,\n AvatarGroup,\n Checkbox,\n CheckboxLabel,\n CheckboxIndicator,\n CheckboxIcon,\n CheckIcon,\n VStack,\n ScrollView,\n} from '@admin-layout/gluestack-ui-mobile';\nimport {\n TouchableOpacity,\n Dimensions,\n Keyboard,\n KeyboardEvent,\n TextInput,\n View,\n StyleSheet,\n SafeAreaView,\n} from 'react-native';\nimport { RoomType } from 'common';\nimport {\n useGetOrganizationMembersWithChannelsQuery,\n useGetChannelsByUserLazyQuery,\n useGetOrganizationMembersQuery,\n} from 'common/graphql';\n// import { NavigationRoutes } from '../../constants/routes';\nimport { AntDesign, SimpleLineIcons, MaterialCommunityIcons, Entypo } from '@expo/vector-icons';\nimport { Inbox, DialogMessages, DialogThreads } from '@messenger-box/platform-mobile';\n// import VirtualizedScrollView from '../../components/VirtualizedScrollView';\nimport { useIsFocused, useFocusEffect, useNavigation } from '@react-navigation/native';\nimport { userSelector } from '@adminide-stack/user-auth0-client';\nimport { useSelector } from 'react-redux';\nimport { startCase, orderBy, uniqBy } from 'lodash-es';\nimport { Feather, Octicons, MaterialIcons } from '@expo/vector-icons';\nimport { useDrawerLayout } from '../../hooks';\nimport { LoadingSpinnerDefault, SlackInput } from '../../components';\nimport colors from 'tailwindcss/colors';\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nconst screenHeight = Dimensions.get('screen').height;\n\nconst defaultChannelType = [RoomType.Channel, RoomType.Private, RoomType.Public, RoomType.Direct];\nconst orgMemersDataFetchLimit = 10;\nexport const useKeyboard = () => {\n const [keyboardHeight, setKeyboardHeight] = useState(0);\n\n useEffect(() => {\n function onKeyboardDidShow(e: KeyboardEvent) {\n // Remove type here if not using TypeScript\n setKeyboardHeight(e?.endCoordinates?.height ?? 0);\n }\n\n function onKeyboardDidHide() {\n setKeyboardHeight(0);\n }\n\n const showSubscription = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow);\n const hideSubscription = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);\n return () => {\n showSubscription.remove();\n hideSubscription.remove();\n };\n }, []);\n\n return keyboardHeight;\n};\n\n// const listData = [\n// { id: 'header1', type: 'header', title: 'Message with external people' },\n// { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n// { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n// { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n// { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n// { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n// { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n// { id: 'cdecode', title: 'cdecode', type: 'private' },\n// { id: 'general', title: 'general', type: 'channel' },\n// { id: 'mobile', title: 'mobile', type: 'private' },\n// ];\n\nconst SearchAddChannel = (props: any) => {\n const navigation = useNavigation<any>();\n const { orgName, organizationDetail } = useDrawerLayout();\n const isFocused = useIsFocused();\n const user = useSelector(userSelector);\n const [channels, setChannels] = useState<any>([]);\n const [initialOrgMembers, setInitialOrgMembers] = useState<any>([]);\n const [selectedItems, setSelectedItems] = useState<any[]>([]);\n const [searchText, setSearchText] = useState('');\n const [offset, setOffset] = useState(0);\n const [channelId, setChannelId] = useState<any>(null);\n const [isCreateNewChannel, setIsCreateNewChannel] = useState<boolean>(false);\n const keyboardHeight = useKeyboard();\n const inputRef = useRef<TextInput>(null);\n const [tags, setTags] = useState<any[]>([]);\n const labelExtractor = (tag: any) => (tag?.id ? tag?.id : tag?.userId);\n const [getChannelByUser, { loading: isChannelByUserLoading }] = useGetChannelsByUserLazyQuery();\n const {\n data,\n loading: oLoading,\n error: oError,\n refetch,\n } = useGetOrganizationMembersWithChannelsQuery({\n variables: {\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n useFocusEffect(\n React.useCallback(() => {\n refetch({\n orgName: orgName,\n channelCriteria: {\n orgName: orgName,\n type: defaultChannelType,\n },\n offset: offset,\n limit: orgMemersDataFetchLimit,\n });\n return () => {\n // Do something when the screen is unfocused\n // Useful for cleanup functions\n setChannels([]);\n setChannelId(null);\n setInitialOrgMembers([]);\n };\n }, [orgName]),\n );\n\n React.useEffect(() => {\n navigation.setOptions({\n headerLeft: (props: any) => (\n <TouchableOpacity onPress={() => navigation.goBack()}>\n <MaterialIcons size={20} name=\"close\" color={'black'} />\n </TouchableOpacity>\n ),\n });\n }, []);\n\n React.useEffect(() => {\n if (data?.channelsByUser) {\n const allChannels: any =\n data?.channelsByUser\n ?.filter((ch: any) =>\n ch.type == RoomType.Direct &&\n ch?.members?.length == 1 &&\n ch?.members?.filter((ch: any) => ch?.user?.id == user?.id)\n ? ch\n : ch?.members?.filter((m: any) => m?.user?.id != user?.id),\n )\n ?.map((i: any) => {\n const ch: any = { id: i?.id, title: i?.title, type: i?.type };\n const channelMembers =\n i.members\n ?.map((m: any) => m?.user)\n ?.filter((ch: any) =>\n i.members?.length == 1 && ch?.id == user?.id ? ch : ch?.id != user?.id,\n ) ?? null;\n const title =\n ch.type == RoomType.Direct\n ? channelMembers\n ?.map((u: any) => u?.givenName + ' ' + (u?.familyName ?? ''))\n ?.filter((mu: any) => mu)\n ?.join(', ') ?? ''\n : ch.title;\n ch.title = title;\n ch.channelImage = channelMembers[0]?.picture;\n ch.imageAcronym = startCase(channelMembers[0]?.username?.charAt(0));\n ch.members = channelMembers;\n ch.totalMembers = channelMembers?.length;\n ch.userId = null;\n ch.isOrgMembers = false;\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n\n const existingDirectChannelsToDelete = new Set(\n data?.channelsByUser?.map((ch: any) => ch?.members?.map((m: any) => m?.user?.id))?.flat(1),\n );\n\n const allOrgMembers: any =\n data?.getOrganizationMembers?.data\n ?.filter((m: any) => m?.user?.id != user?.id)\n .filter((obj: any) => !existingDirectChannelsToDelete.has(obj?.userId))\n ?.map((i: any) => {\n const ch: any = {\n id: null,\n title: i?.user?.givenName + ' ' + i?.user?.familyName,\n type: RoomType.Direct,\n channelImage: i?.user?.picture,\n imageAcronym: startCase(i?.user?.username?.charAt(0)),\n members: [],\n totalMembers: 1,\n userId: i?.user?.id,\n isOrgMembers: true,\n };\n\n return ch;\n })\n ?.filter((ch: any) => ch) ?? [];\n setChannels((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n setInitialOrgMembers((oldChannels: any) =>\n uniqBy([...allChannels, ...allOrgMembers, ...oldChannels], ({ id, userId }) => id + userId),\n );\n }\n }, [data]);\n\n React.useEffect(() => {\n if (channelId && tags?.length === 0) setChannelId(null);\n if (!channelId && tags?.length > 0) {\n const userIds = [\n ...new Set(\n tags?.map((t: any) => (t?.userId ? t?.userId : t?.members?.map((m: any) => m?.id)))?.flat(1),\n ),\n ];\n\n getChannelId(userIds);\n }\n console.log('channelid', channelId, ' tags?.length', tags?.length);\n }, [channelId, tags, orgName]);\n\n const getChannelId = React.useCallback(\n async (userIds: any[]) => {\n const res = await getChannelByUser({\n variables: {\n criteria: {\n orgName: orgName,\n type: RoomType.Direct,\n 'members.user': { $all: [...userIds, user?.id] },\n },\n limit: 1,\n },\n });\n\n if (res?.data?.channelsByUser?.length > 0) {\n setChannelId(res?.data?.channelsByUser?.[0]?.id);\n setIsCreateNewChannel(false);\n } else {\n setChannelId(null);\n setIsCreateNewChannel(true);\n }\n // ?.then((res) => {\n // if (res?.data?.channelsByUser?.length > 0) {\n // setChannelId(res?.data?.channelsByUser?.[0]?.id);\n // setInputFocusOut(true);\n // } else {\n // setChannelId(null);\n // setInputFocusOut(false);\n // }\n // });\n },\n [orgName, user],\n );\n\n // Toggle selection of an item\n const toggleItemSelection = (item: any) => {\n const itemExists = selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n\n if (itemExists) {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n } else {\n setSelectedItems([...selectedItems, item]);\n }\n };\n\n // Check if an item is selected\n const isItemSelected = (item: any) => {\n return selectedItems.some(\n (selectedItem) =>\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId),\n );\n };\n\n // Remove a selected item (chip)\n const removeSelectedItem = (item: any) => {\n setSelectedItems(\n selectedItems.filter(\n (selectedItem) =>\n !(\n (selectedItem.id && selectedItem.id === item.id) ||\n (selectedItem.userId && selectedItem.userId === item.userId)\n ),\n ),\n );\n };\n\n // Render a selected item as a chip in the To: field\n const renderSelectedItemChip = (item: any, index: number) => {\n return (\n <View key={index} style={styles.chipContainer}>\n <Avatar size=\"xs\" style={styles.chipAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.imageAcronym || item.title.charAt(0)}</AvatarFallbackText>\n )}\n </Avatar>\n <Text style={styles.chipText}>{item.title}</Text>\n </View>\n );\n };\n\n // Render list items (channels and users)\n const renderListItem = (item: any, index: number) => {\n // if (item.type === 'header') {\n // return (\n // <HStack key={index} style={styles.sectionHeader}>\n // <SimpleLineIcons name=\"bell\" size={16} color=\"#2563EB\" />\n // <Text style={styles.sectionHeaderText}>{item.title}</Text>\n // </HStack>\n // );\n // }\n\n return (\n <HStack key={index} style={styles.listItem}>\n <HStack style={styles.listItemLeft}>\n {/* {item.type === 'app' && item.appName === 'figma' && (\n <View style={styles.iconContainer}>\n <MaterialCommunityIcons name=\"sigma\" size={20} color=\"#F24E1E\" />\n </View>\n )} */}\n\n {/* {item.type === 'app' && item.appName === 'github' && (\n <View style={styles.iconContainer}>\n <AntDesign name=\"github\" size={20} color=\"#000\" />\n </View>\n )} */}\n\n {item.type == RoomType.Channel && (\n <View style={styles.iconContainer}>\n <Octicons name=\"hash\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Private && (\n <View style={styles.iconContainer}>\n <Octicons name=\"lock\" size={20} color=\"#000\" />\n </View>\n )}\n\n {item.type == RoomType.Direct && (\n <Avatar size=\"sm\" style={styles.userAvatar}>\n {item.channelImage ? (\n <AvatarImage source={{ uri: item.channelImage }} alt={item.title} />\n ) : (\n <AvatarFallbackText>{item.title.charAt(0)}</AvatarFallbackText>\n )}\n <AvatarBadge style={styles.onlineBadge} />\n </Avatar>\n )}\n\n <HStack style={styles.titleContainer}>\n <Text style={styles.itemTitle}>{item.title}</Text>\n {item.type === 'app' && (\n <View style={styles.appLabel}>\n <Text style={styles.appLabelText}>APP</Text>\n </View>\n )}\n </HStack>\n </HStack>\n\n <TouchableOpacity onPress={() => toggleItemSelection(item)}>\n {isItemSelected(item) ? (\n <View style={styles.checkedBox}>\n <Feather name=\"check\" size={18} color=\"#fff\" />\n </View>\n ) : (\n <View style={styles.uncheckedBox} />\n )}\n </TouchableOpacity>\n </HStack>\n );\n };\n\n // Sample data for the channel list\n // const listData = [\n // { id: 'header1', type: 'header', title: 'Message with external people' },\n // { id: 'figma', title: 'Figma', type: 'app', appName: 'figma' },\n // { id: 'github', title: 'GitHub (deactivated)', type: 'app', appName: 'github' },\n // { id: 'huzaifa', title: 'Huzaifa Ali', type: 'user', picture: 'https://i.pravatar.cc/150?img=33' },\n // { id: 'muflah', title: 'Muflah Nasir', type: 'user', picture: 'https://i.pravatar.cc/150?img=60' },\n // { id: 'shubham', title: 'Shubham A', type: 'user', picture: 'https://i.pravatar.cc/150?img=12' },\n // { id: 'shubhamk', title: 'Shubham K', type: 'user', picture: 'https://i.pravatar.cc/150?img=11' },\n // { id: 'cdecode', title: 'cdecode', type: 'private' },\n // { id: 'general', title: 'general', type: 'channel' },\n // { id: 'mobile', title: 'mobile', type: 'private' },\n // ];\n\n const listData = [{ id: 'header1', type: 'header', title: 'Message with external people' }, ...channels];\n\n const filteredData = searchText.trim()\n ? listData.filter(\n (item) => item.type !== 'header' && item.title.toLowerCase().includes(searchText.toLowerCase()),\n )\n : listData;\n\n return (\n <SafeAreaView style={{ flex: 1, backgroundColor: '#fff' }}>\n <Box style={styles.container}>\n {/* To: field with search */}\n <HStack style={styles.searchContainer}>\n <Text style={styles.toLabel}>To:</Text>\n <View style={styles.chipContainerWrapper}>\n <View style={styles.chipWrapView}>\n {selectedItems.map(renderSelectedItemChip)}\n <TextInput\n ref={inputRef}\n style={styles.searchInput}\n placeholder={selectedItems.length ? '' : 'Search for a channel or conversation'}\n placeholderTextColor=\"#9CA3AF\"\n value={searchText}\n onChange={(event) => setSearchText(event.nativeEvent.text)}\n />\n </View>\n </View>\n </HStack>\n\n {/* List of channels and people */}\n <ScrollView style={styles.listContainer}>{filteredData.map(renderListItem)}</ScrollView>\n\n {/* Message input at bottom */}\n <HStack style={styles.messageInputContainer}>\n <TextInput\n style={styles.messageInput}\n placeholder={`Message ${selectedItems.map((item) => item.title).join(', ')}`}\n placeholderTextColor=\"#9CA3AF\"\n />\n <TouchableOpacity style={styles.sendButton}>\n <Feather name=\"arrow-right\" size={22} color=\"#fff\" />\n </TouchableOpacity>\n </HStack>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: '#fff',\n },\n header: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n },\n headerTitle: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n searchContainer: {\n paddingHorizontal: 16,\n paddingVertical: 12,\n borderBottomWidth: 1,\n borderBottomColor: '#E5E5E5',\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n toLabel: {\n fontSize: 16,\n marginRight: 8,\n marginTop: 8,\n color: '#374151',\n },\n chipContainerWrapper: {\n flex: 1,\n },\n chipWrapView: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipScrollView: {\n flex: 1,\n },\n chipScrollContent: {\n alignItems: 'center',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n chipContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#EFF6FF',\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 6,\n marginRight: 8,\n marginBottom: 8,\n },\n chipAvatar: {\n width: 20,\n height: 20,\n marginRight: 4,\n },\n chipText: {\n color: '#1E40AF',\n fontSize: 14,\n },\n searchInput: {\n flex: 1,\n height: 40,\n fontSize: 16,\n minWidth: 100,\n },\n listContainer: {\n flex: 1,\n },\n sectionHeader: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 16,\n paddingBottom: 8,\n },\n sectionHeaderText: {\n marginLeft: 8,\n fontWeight: 'bold',\n fontSize: 16,\n color: '#374151',\n },\n listItem: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n listItemLeft: {\n flexDirection: 'row',\n alignItems: 'center',\n flex: 1,\n },\n iconContainer: {\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n marginRight: 12,\n },\n userAvatar: {\n marginRight: 12,\n },\n onlineBadge: {\n width: 8,\n height: 8,\n backgroundColor: '#10B981',\n borderWidth: 1,\n borderColor: '#FFFFFF',\n bottom: 0,\n right: 0,\n },\n titleContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n itemTitle: {\n fontSize: 16,\n color: '#1F2937',\n },\n appLabel: {\n backgroundColor: '#E5E5E5',\n borderRadius: 4,\n paddingHorizontal: 6,\n paddingVertical: 2,\n marginLeft: 8,\n },\n appLabelText: {\n fontSize: 10,\n fontWeight: 'bold',\n color: '#4B5563',\n },\n uncheckedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n borderWidth: 1,\n borderColor: '#D1D5DB',\n },\n checkedBox: {\n width: 22,\n height: 22,\n borderRadius: 4,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n messageInputContainer: {\n borderTopWidth: 1,\n borderTopColor: '#E5E5E5',\n paddingHorizontal: 16,\n paddingVertical: 12,\n flexDirection: 'row',\n alignItems: 'center',\n },\n messageInput: {\n flex: 1,\n height: 40,\n backgroundColor: '#F9FAFB',\n borderRadius: 20,\n paddingHorizontal: 16,\n marginRight: 12,\n fontSize: 16,\n },\n sendButton: {\n width: 40,\n height: 40,\n borderRadius: 20,\n backgroundColor: '#2563EB',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default React.memo(SearchAddChannel);\n"],"names":["React","props","_a","_b","_c","ch","_d","_e","_f","_g","_h","_i"],"mappings":"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"}
@@ -74,5 +74,5 @@ import React__default,{useState,useEffect,useCallback}from'react';import {useToa
74
74
  });
75
75
  }
76
76
  }, [name]);
77
- return /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-white shadow-md py-2 h-full" }, /* @__PURE__ */ React__default.createElement(VStack, { space: "md" }, /* @__PURE__ */ React__default.createElement(Box, { className: "px-4 pt-4" }, /* @__PURE__ */ React__default.createElement(FormControl, { className: "mt-3" }, /* @__PURE__ */ React__default.createElement(FormControlLabel, { className: "mb-1" }, /* @__PURE__ */ React__default.createElement(FormControlLabelText, null, "Team Name")), /* @__PURE__ */ React__default.createElement(Input, { variant: "underlined" }, /* @__PURE__ */ React__default.createElement(InputSlot, { className: "pl-0" }, /* @__PURE__ */ React__default.createElement(Text, { className: "text-gray-500" }, "#")), /* @__PURE__ */ React__default.createElement(InputField, { type: "text", placeholder: " e.g. My company team", maxLength: 80, value: name, onChangeText: (v) => setName(v) }), /* @__PURE__ */ React__default.createElement(InputSlot, { className: "pr-3" }, /* @__PURE__ */ React__default.createElement(Text, { className: "text-gray-500" }, 80 - name.length))), /* @__PURE__ */ React__default.createElement(FormControlError, null, /* @__PURE__ */ React__default.createElement(FormControlErrorText, { className: "text-red-500" }, "Team names must be lowercase, and can't contain spaces,periods,or most punctuation."))), /* @__PURE__ */ React__default.createElement(FormControl, { className: "mt-3" }, /* @__PURE__ */ React__default.createElement(FormControlLabel, { className: "mb-1" }, /* @__PURE__ */ React__default.createElement(FormControlLabelText, null, "Description")), /* @__PURE__ */ React__default.createElement(Input, { variant: "underlined" }, /* @__PURE__ */ React__default.createElement(InputField, { type: "text", placeholder: "Team description", value: description, onChangeText: (v) => setDescription(v) }))))));
77
+ return /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 bg-white shadow-md py-2 h-full" }, /* @__PURE__ */ React__default.createElement(VStack, { space: "md" }, /* @__PURE__ */ React__default.createElement(Box, { className: "px-4 pt-4" }, /* @__PURE__ */ React__default.createElement(FormControl, { className: "mt-3" }, /* @__PURE__ */ React__default.createElement(FormControlLabel, { className: "mb-1" }, /* @__PURE__ */ React__default.createElement(FormControlLabelText, null, "Team Name")), /* @__PURE__ */ React__default.createElement(Input, { variant: "underlined" }, /* @__PURE__ */ React__default.createElement(InputSlot, { className: "pl-0" }, /* @__PURE__ */ React__default.createElement(Text, { className: "text-gray-500" }, "#")), /* @__PURE__ */ React__default.createElement(InputField, { type: "text", placeholder: " e.g. My company team", maxLength: 80, value: name, onChange: (event) => setName(event.nativeEvent.text) }), /* @__PURE__ */ React__default.createElement(InputSlot, { className: "pr-3" }, /* @__PURE__ */ React__default.createElement(Text, { className: "text-gray-500" }, 80 - name.length))), /* @__PURE__ */ React__default.createElement(FormControlError, null, /* @__PURE__ */ React__default.createElement(FormControlErrorText, { className: "text-red-500" }, "Team names must be lowercase, and can't contain spaces,periods,or most punctuation."))), /* @__PURE__ */ React__default.createElement(FormControl, { className: "mt-3" }, /* @__PURE__ */ React__default.createElement(FormControlLabel, { className: "mb-1" }, /* @__PURE__ */ React__default.createElement(FormControlLabelText, null, "Description")), /* @__PURE__ */ React__default.createElement(Input, { variant: "underlined" }, /* @__PURE__ */ React__default.createElement(InputField, { type: "text", placeholder: "Team description", value: description, onChange: (event) => setDescription(event.nativeEvent.text) }))))));
78
78
  };export{AddTeam as default};//# sourceMappingURL=AddTeam.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddTeam.js","sources":["../../../src/screens/Teams/AddTeam.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { StyleSheet, TouchableOpacity } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n Text,\n VStack,\n Box,\n FormControl,\n FormControlLabel,\n FormControlLabelText,\n FormControlHelper,\n FormControlHelperText,\n FormControlError,\n FormControlErrorText,\n Button,\n ButtonText,\n useToast,\n ToastAlert,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { useCreateTeamMutation } from 'common/graphql';\nimport { AntDesign } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { useDrawerLayout } from '../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst AddTeam = ({ navigation, route }: any) => {\n const Toast = useToast();\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const { orgName, organizationDetail } = useDrawerLayout();\n\n const [createTeam, { error }] = useCreateTeamMutation({\n context: {\n headers: {\n orgname: orgName,\n },\n },\n onCompleted: (data: any) => {\n navigation.navigate(NavigationRoutes.Teams);\n },\n onError: (error: any) => {\n console.log('add team error', error);\n if (error) {\n Toast.show({\n placement: 'top',\n duration: 2000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Team already exists'} status={'error'} isClosable={false} />\n ),\n });\n }\n },\n });\n\n useEffect(() => {\n if (name && name.length > 0) setShowCreateButton(true);\n else setShowCreateButton(false);\n }, [name]);\n\n useEffect(() => {\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerRight: (props: any) => (\n <Button\n className=\"mr-2\"\n onPress={() => handleCreateTeam()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText style={{ color: showCreateButton ? 'black' : '#71717a' }}>Create</ButtonText>\n </Button>\n ),\n });\n }, [name, description, showCreateButton]);\n\n const handleCreateTeam = useCallback(() => {\n try {\n if (name && name.length > 0) {\n createTeam({\n variables: {\n request: {\n name: name,\n title: name,\n description: description,\n //orgName: route?.params?.orgName,\n //emails:[],\n //tags:[]\n },\n },\n });\n }\n } catch (error) {\n console.log('error', error);\n Toast.show({\n placement: 'top',\n duration: 1000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Team already exists'} status={'error'} isClosable={false} />\n ),\n });\n }\n }, [name]);\n\n // const createNewTeam = () => {\n // if (name && name.length > 0) {\n // createTeam({\n // variables: {\n // request: {\n // name: name,\n // title: name,\n // description: description,\n // //orgName: route?.params?.orgName,\n // //emails:[],\n // //tags:[]\n // },\n // },\n // });\n // }\n // };\n\n return (\n <Box className=\"flex-1 bg-white shadow-md py-2 h-full\">\n <VStack space=\"md\">\n <Box className=\"px-4 pt-4\">\n {/* <FormControl isInvalid={nameIsInvalid} mt=\"3\"> */}\n <FormControl className=\"mt-3\">\n <FormControlLabel className=\"mb-1\">\n <FormControlLabelText>Team Name</FormControlLabelText>\n </FormControlLabel>\n\n <Input variant=\"underlined\">\n <InputSlot className=\"pl-0\">\n <Text className=\"text-gray-500\">#</Text>\n </InputSlot>\n <InputField\n type=\"text\"\n placeholder=\" e.g. My company team\"\n maxLength={80}\n value={name}\n onChangeText={(v) => setName(v)}\n />\n <InputSlot className=\"pr-3\">\n <Text className=\"text-gray-500\">{80 - name.length}</Text>\n </InputSlot>\n </Input>\n <FormControlError>\n <FormControlErrorText className=\"text-red-500\">\n Team names must be lowercase, and can't contain spaces,periods,or most punctuation.\n </FormControlErrorText>\n </FormControlError>\n </FormControl>\n <FormControl className=\"mt-3\">\n <FormControlLabel className=\"mb-1\">\n <FormControlLabelText>Description</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputField\n type=\"text\"\n placeholder=\"Team description\"\n value={description}\n onChangeText={(v) => setDescription(v)}\n />\n </Input>\n </FormControl>\n </Box>\n </VStack>\n </Box>\n );\n};\n\nexport default AddTeam;\n"],"names":["error","React"],"mappings":"olBAQA,MAAM,UAAU,CAAC;AAAA,EACf,UAAA;AAAA,EACA;AACF,CAAW,KAAA;AACT,EAAA,MAAM,QAAQ,QAAS,EAAA;AACvB,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,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAA,MAAM,CAAC,UAAY,EAAA;AAAA,IACjB;AAAA,GACD,IAAI,qBAAsB,CAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,OAAS,EAAA;AAAA,QACP,OAAS,EAAA;AAAA;AACX,KACF;AAAA,IACA,WAAA,EAAa,CAAC,IAAc,KAAA;AAC1B,MAAW,UAAA,CAAA,QAAA,CAAS,iBAAiB,KAAK,CAAA;AAAA,KAC5C;AAAA,IACA,OAAA,EAAS,CAACA,MAAe,KAAA;AACvB,MAAQ,OAAA,CAAA,GAAA,CAAI,kBAAkBA,MAAK,CAAA;AACnC,MAAA,IAAIA,MAAO,EAAA;AACT,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,qBAAuB,EAAA,MAAA,EAAQ,OAAS,EAAA,UAAA,EAAY,KAAO,EAAA;AAAA,SAC7F,CAAA;AAAA;AACH;AACF,GACD,CAAA;AACD,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,kDAAgB,MAAO,EAAA,EAAA,SAAA,EAAU,QAAO,OAAS,EAAA,MAAM,kBAAoB,EAAA,OAAA,EAAS,QAAQ,QAAU,EAAA,gBAAA,GAAmB,QAAQ,IACjI,EAAA,kBAAAC,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,EAAM,MAAA,gBAAA,GAAmB,YAAY,MAAM;AACzC,IAAI,IAAA;AACF,MAAI,IAAA,IAAA,IAAQ,IAAK,CAAA,MAAA,GAAS,CAAG,EAAA;AAC3B,QAAW,UAAA,CAAA;AAAA,UACT,SAAW,EAAA;AAAA,YACT,OAAS,EAAA;AAAA,cACP,IAAA;AAAA,cACA,KAAO,EAAA,IAAA;AAAA,cACP;AAAA;AAIF;AACF,SACD,CAAA;AAAA;AACH,aACOD,MAAP,EAAA;AACA,MAAQ,OAAA,CAAA,GAAA,CAAI,SAASA,MAAK,CAAA;AAC1B,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,qBAAuB,EAAA,MAAA,EAAQ,OAAS,EAAA,UAAA,EAAY,KAAO,EAAA;AAAA,OAC7F,CAAA;AAAA;AACH,GACF,EAAG,CAAC,IAAI,CAAC,CAAA;AAmBT,EAAO,uBAAAC,cAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,SAAA,EAAU,uCACZ,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAO,KAAM,EAAA,IAAA,EAAA,kBACTA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,SAAU,EAAA,WAAA,EAAA,+CAEV,WAAY,EAAA,EAAA,SAAA,EAAU,MACnB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,SAAA,EAAU,MACxB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAqB,EAAA,IAAA,EAAA,WAAS,CACnC,CAAA,kBAECA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,SAAQ,YACX,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,SAAU,EAAA,EAAA,SAAA,EAAU,MACjB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAU,eAAgB,EAAA,EAAA,GAAC,CACrC,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,MAAK,MAAO,EAAA,WAAA,EAAY,uBAAwB,EAAA,SAAA,EAAW,EAAI,EAAA,KAAA,EAAO,IAAM,EAAA,YAAA,EAAc,CAAK,CAAA,KAAA,OAAA,CAAQ,CAAC,CAAA,EAAG,CACvH,kBAAAA,cAAA,CAAA,aAAA,CAAC,aAAU,SAAU,EAAA,MAAA,EAAA,kBAChBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,SAAU,EAAA,eAAA,EAAA,EAAiB,KAAK,IAAK,CAAA,MAAO,CACtD,CACJ,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,wCACIA,cAAA,CAAA,aAAA,CAAA,oBAAA,EAAA,EAAqB,SAAU,EAAA,cAAA,EAAA,EAAe,qFAE/C,CACJ,CACJ,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,SAAU,EAAA,MAAA,EAAA,kBAClBA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,WAAU,MACxB,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,kBACVA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,IAAK,EAAA,MAAA,EAAO,aAAY,kBAAmB,EAAA,KAAA,EAAO,WAAa,EAAA,YAAA,EAAc,CAAK,CAAA,KAAA,cAAA,CAAe,CAAC,CAAA,EAAG,CACrH,CACJ,CACJ,CACJ,CACJ,CAAA;AACR"}
1
+ {"version":3,"file":"AddTeam.js","sources":["../../../src/screens/Teams/AddTeam.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { StyleSheet, TouchableOpacity } from 'react-native';\nimport {\n Input,\n InputField,\n InputSlot,\n Text,\n VStack,\n Box,\n FormControl,\n FormControlLabel,\n FormControlLabelText,\n FormControlHelper,\n FormControlHelperText,\n FormControlError,\n FormControlErrorText,\n Button,\n ButtonText,\n useToast,\n ToastAlert,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { useCreateTeamMutation } from 'common/graphql';\nimport { AntDesign } from '@expo/vector-icons';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { useDrawerLayout } from '../../hooks';\nimport colors from 'tailwindcss/colors';\n\nconst AddTeam = ({ navigation, route }: any) => {\n const Toast = useToast();\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [showCreateButton, setShowCreateButton] = useState(false);\n const { orgName, organizationDetail } = useDrawerLayout();\n\n const [createTeam, { error }] = useCreateTeamMutation({\n context: {\n headers: {\n orgname: orgName,\n },\n },\n onCompleted: (data: any) => {\n navigation.navigate(NavigationRoutes.Teams);\n },\n onError: (error: any) => {\n console.log('add team error', error);\n if (error) {\n Toast.show({\n placement: 'top',\n duration: 2000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Team already exists'} status={'error'} isClosable={false} />\n ),\n });\n }\n },\n });\n\n useEffect(() => {\n if (name && name.length > 0) setShowCreateButton(true);\n else setShowCreateButton(false);\n }, [name]);\n\n useEffect(() => {\n navigation.setOptions({\n headerShown: true,\n headerTitleAlign: 'left',\n headerTitleStyle: {},\n headerRight: (props: any) => (\n <Button\n className=\"mr-2\"\n onPress={() => handleCreateTeam()}\n variant={'link'}\n disabled={showCreateButton ? false : true}\n >\n <ButtonText style={{ color: showCreateButton ? 'black' : '#71717a' }}>Create</ButtonText>\n </Button>\n ),\n });\n }, [name, description, showCreateButton]);\n\n const handleCreateTeam = useCallback(() => {\n try {\n if (name && name.length > 0) {\n createTeam({\n variables: {\n request: {\n name: name,\n title: name,\n description: description,\n //orgName: route?.params?.orgName,\n //emails:[],\n //tags:[]\n },\n },\n });\n }\n } catch (error) {\n console.log('error', error);\n Toast.show({\n placement: 'top',\n duration: 1000,\n render: ({ id }) => (\n <ToastAlert id={id} title={'Team already exists'} status={'error'} isClosable={false} />\n ),\n });\n }\n }, [name]);\n\n // const createNewTeam = () => {\n // if (name && name.length > 0) {\n // createTeam({\n // variables: {\n // request: {\n // name: name,\n // title: name,\n // description: description,\n // //orgName: route?.params?.orgName,\n // //emails:[],\n // //tags:[]\n // },\n // },\n // });\n // }\n // };\n\n return (\n <Box className=\"flex-1 bg-white shadow-md py-2 h-full\">\n <VStack space=\"md\">\n <Box className=\"px-4 pt-4\">\n {/* <FormControl isInvalid={nameIsInvalid} mt=\"3\"> */}\n <FormControl className=\"mt-3\">\n <FormControlLabel className=\"mb-1\">\n <FormControlLabelText>Team Name</FormControlLabelText>\n </FormControlLabel>\n\n <Input variant=\"underlined\">\n <InputSlot className=\"pl-0\">\n <Text className=\"text-gray-500\">#</Text>\n </InputSlot>\n <InputField\n type=\"text\"\n placeholder=\" e.g. My company team\"\n maxLength={80}\n value={name}\n onChange={(event) => setName(event.nativeEvent.text)}\n />\n <InputSlot className=\"pr-3\">\n <Text className=\"text-gray-500\">{80 - name.length}</Text>\n </InputSlot>\n </Input>\n <FormControlError>\n <FormControlErrorText className=\"text-red-500\">\n Team names must be lowercase, and can't contain spaces,periods,or most punctuation.\n </FormControlErrorText>\n </FormControlError>\n </FormControl>\n <FormControl className=\"mt-3\">\n <FormControlLabel className=\"mb-1\">\n <FormControlLabelText>Description</FormControlLabelText>\n </FormControlLabel>\n <Input variant=\"underlined\">\n <InputField\n type=\"text\"\n placeholder=\"Team description\"\n value={description}\n onChange={(event) => setDescription(event.nativeEvent.text)}\n />\n </Input>\n </FormControl>\n </Box>\n </VStack>\n </Box>\n );\n};\n\nexport default AddTeam;\n"],"names":["error","React"],"mappings":"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"}
@@ -41,7 +41,7 @@ const TeamsScreen = () => {
41
41
  backgroundColor: "white"
42
42
  } }, /* @__PURE__ */ React__default.createElement(Spinner, { color: colors.blue[500], size: "large" }));
43
43
  }
44
- return /* @__PURE__ */ React__default.createElement(SafeAreaView, { style: styles.container }, /* @__PURE__ */ React__default.createElement(StatusBar, { style: "dark" }), /* @__PURE__ */ React__default.createElement(Box, { style: styles.content }, /* @__PURE__ */ React__default.createElement(Input, { style: styles.searchInput, variant: "outlined" }, /* @__PURE__ */ React__default.createElement(InputField, { type: "text", size: "xl", value: searchTerm, placeholderTextColor: colors.gray[500], style: styles.inputField, placeholder: "Search for teams", onChangeText: handleSearchChange, autoCapitalize: "none", autoCorrect: false })), /* @__PURE__ */ React__default.createElement(FlatList, { contentContainerStyle: teams.length ? styles.listContent : styles.emptyListContent, data: teams, renderItem: ({
44
+ return /* @__PURE__ */ React__default.createElement(SafeAreaView, { style: styles.container }, /* @__PURE__ */ React__default.createElement(StatusBar, { style: "dark" }), /* @__PURE__ */ React__default.createElement(Box, { style: styles.content }, /* @__PURE__ */ React__default.createElement(Input, { style: styles.searchInput, variant: "outlined" }, /* @__PURE__ */ React__default.createElement(InputField, { type: "text", size: "xl", value: searchTerm, placeholderTextColor: colors.gray[500], style: styles.inputField, placeholder: "Search for teams", onChange: (event) => handleSearchChange(event.nativeEvent.text), autoCapitalize: "none", autoCorrect: false })), /* @__PURE__ */ React__default.createElement(FlatList, { contentContainerStyle: teams.length ? styles.listContent : styles.emptyListContent, data: teams, renderItem: ({
45
45
  item
46
46
  }) => /* @__PURE__ */ React__default.createElement(TeamItem, { item, onPress: viewTeam }), keyExtractor: (item) => item._id || item.id, refreshControl: /* @__PURE__ */ React__default.createElement(RefreshControl, { refreshing: teamsLoading, onRefresh: refetch, colors: [colors.blue[500]], tintColor: colors.blue[500] }), showsVerticalScrollIndicator: false, ListEmptyComponent: () => /* @__PURE__ */ React__default.createElement(Center, { style: styles.emptyContainer }, teamsLoading ? /* @__PURE__ */ React__default.createElement(Spinner, { color: colors.blue[500] }) : /* @__PURE__ */ React__default.createElement(View, { style: styles.emptyContent }, /* @__PURE__ */ React__default.createElement(Octicons, { name: "organization", size: 36, color: colors.gray[400] }), /* @__PURE__ */ React__default.createElement(Text, { style: styles.emptyText }, error ? "Error loading teams" : "No teams found"), error && /* @__PURE__ */ React__default.createElement(TouchableOpacity, { style: styles.retryButton, onPress: refetch }, /* @__PURE__ */ React__default.createElement(Text, { style: styles.retryButtonText }, "Retry")))) }), /* @__PURE__ */ React__default.createElement(Fab, { size: "md", placement: "bottom right", onPress: () => navigation.navigate(NavigationRoutes.AddTeam), style: styles.fab }, /* @__PURE__ */ React__default.createElement(FabIcon, { as: AddIcon, color: "black" }))));
47
47
  };