@messenger-box/slack-ui-mobile 10.0.3-alpha.7 → 10.0.3-alpha.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/Actionsheet.js +96 -0
- package/lib/components/Actionsheet.js.map +1 -0
- package/lib/components/AppRootContextProviderComponent.js +16 -2
- package/lib/components/AppRootContextProviderComponent.js.map +1 -1
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js +13 -7
- package/lib/components/Channels/ChannelsByAlphabeticalAccordion.js.map +1 -1
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js +11 -24
- package/lib/components/CustomBottomTabs/CustomBottomTabs.js.map +1 -1
- package/lib/components/CustomDrawer/CustomDrawer.js +31 -31
- package/lib/components/CustomDrawer/CustomDrawer.js.map +1 -1
- package/lib/components/Header/styles.js +2 -2
- package/lib/components/Header/styles.js.map +1 -1
- package/lib/components/LoadingSpinner/index.js +3 -3
- package/lib/components/LoadingSpinner/index.js.map +1 -1
- package/lib/components/NavigationHeader/InboxNavigationHeader.js +20 -25
- package/lib/components/NavigationHeader/InboxNavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js +58 -40
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeaderChat.js +9 -9
- package/lib/components/NavigationHeader/NavigationHeaderChat.js.map +1 -1
- package/lib/components/NavigationHeader/index.js +1 -1
- package/lib/components/SlackSearchInput/Suggestion.js +1 -1
- package/lib/components/SlackSearchInput/Tag.js +1 -1
- package/lib/components/SlackSearchInput/index.js +3 -3
- package/lib/components/SlackSearchInput/index.js.map +1 -1
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js +19 -4
- package/lib/components/VirtualizedScrollView/VirtualizedScrollView.js.map +1 -1
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js +41 -31
- package/lib/components/WorkSpaceDrawer/WorkSpaceDrawer.js.map +1 -1
- package/lib/compute.js +32 -23
- package/lib/compute.js.map +1 -1
- package/lib/constants/Colors.js +2 -2
- package/lib/constants/globalStyles.js +3 -3
- package/lib/constants/globalStyles.js.map +1 -1
- package/lib/hooks/useOptimizedChannelsQueries.js +106 -0
- package/lib/hooks/useOptimizedChannelsQueries.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/navigation/SearchTabNavigation.js +47 -39
- package/lib/navigation/SearchTabNavigation.js.map +1 -1
- package/lib/navigation/TeamTabNavigation.js +51 -38
- package/lib/navigation/TeamTabNavigation.js.map +1 -1
- package/lib/queries/slackuiQueries.js +129 -0
- package/lib/queries/slackuiQueries.js.map +1 -0
- package/lib/routes.json +32 -23
- package/lib/screens/Account/AccountScreen.js +23 -26
- package/lib/screens/Account/AccountScreen.js.map +1 -1
- package/lib/screens/Activity/ActivityScreen.js +6 -2
- package/lib/screens/Activity/ActivityScreen.js.map +1 -1
- package/lib/screens/Channels/Add/AddName.js +33 -8
- package/lib/screens/Channels/Add/AddName.js.map +1 -1
- package/lib/screens/Channels/Add/AddVisibility.js +6 -6
- package/lib/screens/Channels/Add/AddVisibility.js.map +1 -1
- package/lib/screens/Channels/AddChannel.js +5 -3
- package/lib/screens/Channels/AddChannel.js.map +1 -1
- package/lib/screens/Channels/Channels.js +101 -95
- package/lib/screens/Channels/Channels.js.map +1 -1
- package/lib/screens/Files/FilesScreen.js +2 -2
- package/lib/screens/Files/FilesScreen.js.map +1 -1
- package/lib/screens/Home/Components/Channels/Channels.js +91 -77
- package/lib/screens/Home/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js +249 -115
- package/lib/screens/Home/Components/DirectChannels/DirectChannels.js.map +1 -1
- package/lib/screens/Home/Components/InviteMembers/index.js +88 -0
- package/lib/screens/Home/Components/InviteMembers/index.js.map +1 -0
- package/lib/screens/Home/Components/Teams/Teams.js +110 -47
- package/lib/screens/Home/Components/Teams/Teams.js.map +1 -1
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js +44 -75
- package/lib/screens/Home/Components/TopCommonSlider/TopCommonSlider.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +161 -194
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/styles.js +4 -4
- package/lib/screens/Home/styles.js.map +1 -1
- package/lib/screens/Inbox/InboxChannelDetail.js +67 -34
- package/lib/screens/Inbox/InboxChannelDetail.js.map +1 -1
- package/lib/screens/Inbox/InboxDialogMessages.js +2 -2
- package/lib/screens/Inbox/InboxDialogMessages.js.map +1 -1
- package/lib/screens/Inbox/InboxScreen.js +3 -3
- package/lib/screens/Inbox/InboxScreen.js.map +1 -1
- package/lib/screens/Login.js +4 -2
- package/lib/screens/Login.js.map +1 -1
- package/lib/screens/Organization/AddWorkspace.js +42 -38
- package/lib/screens/Organization/AddWorkspace.js.map +1 -1
- package/lib/screens/Organization/CreateOrganization.js +11 -2
- package/lib/screens/Organization/CreateOrganization.js.map +1 -1
- package/lib/screens/Organization/InitialChannelOnboarding.js +22 -4
- package/lib/screens/Organization/InitialChannelOnboarding.js.map +1 -1
- package/lib/screens/Organization/InitializeOrganizationChannel.js +9 -4
- package/lib/screens/Organization/InitializeOrganizationChannel.js.map +1 -1
- package/lib/screens/Organization/InviteOrganizationMembers.js +52 -10
- package/lib/screens/Organization/InviteOrganizationMembers.js.map +1 -1
- package/lib/screens/Peoples/AddByEmail.js +24 -6
- package/lib/screens/Peoples/AddByEmail.js.map +1 -1
- package/lib/screens/Peoples/AddFromContacts.js +172 -87
- package/lib/screens/Peoples/AddFromContacts.js.map +1 -1
- package/lib/screens/Peoples/AddPeople.js +21 -42
- package/lib/screens/Peoples/AddPeople.js.map +1 -1
- package/lib/screens/Peoples/People.js +42 -4
- package/lib/screens/Peoples/People.js.map +1 -1
- package/lib/screens/Profile/ProfileScreen.js +27 -12
- package/lib/screens/Profile/ProfileScreen.js.map +1 -1
- package/lib/screens/Saved/SavedScreen.js +2 -2
- package/lib/screens/Saved/SavedScreen.js.map +1 -1
- package/lib/screens/Search/Channels.js +20 -32
- package/lib/screens/Search/Channels.js.map +1 -1
- package/lib/screens/Search/Files.js +2 -2
- package/lib/screens/Search/Files.js.map +1 -1
- package/lib/screens/Search/JumpTo.js +2 -2
- package/lib/screens/Search/JumpTo.js.map +1 -1
- package/lib/screens/Search/People.js +19 -27
- package/lib/screens/Search/People.js.map +1 -1
- package/lib/screens/Search/Recents.js +26 -31
- package/lib/screens/Search/Recents.js.map +1 -1
- package/lib/screens/Search/SearchAddChannel.js +366 -227
- package/lib/screens/Search/SearchAddChannel.js.map +1 -1
- package/lib/screens/Search/SearchChannelPeople.js +70 -37
- package/lib/screens/Search/SearchChannelPeople.js.map +1 -1
- package/lib/screens/Search/SearchScreen.js +5 -3
- package/lib/screens/Search/SearchScreen.js.map +1 -1
- package/lib/screens/Search/styles.js +2 -2
- package/lib/screens/Search/styles.js.map +1 -1
- package/lib/screens/Teams/AddTeam.js +3 -3
- package/lib/screens/Teams/AddTeam.js.map +1 -1
- package/lib/screens/Teams/Components/Channels/Channels.js +6 -6
- package/lib/screens/Teams/Components/Channels/Channels.js.map +1 -1
- package/lib/screens/Teams/Components/Members/Members.js +7 -3
- package/lib/screens/Teams/Components/Members/Members.js.map +1 -1
- package/lib/screens/Teams/Team.js +6 -8
- package/lib/screens/Teams/Team.js.map +1 -1
- package/lib/screens/Teams/Teams.js +137 -106
- package/lib/screens/Teams/Teams.js.map +1 -1
- package/lib/screens/Teams/useTeams.js +41 -0
- package/lib/screens/Teams/useTeams.js.map +1 -0
- package/lib/screens/Wiki/WikiScreen.js +2 -2
- package/lib/screens/Wiki/WikiScreen.js.map +1 -1
- package/lib/theme/index.js +2 -2
- package/lib/theme/index.js.map +1 -1
- package/package.json +6 -4
- package/lib/navigation/ActivityNavigator.js +0 -61
- package/lib/navigation/ActivityNavigator.js.map +0 -1
- package/lib/navigation/ExploreNavigator.js +0 -583
- package/lib/navigation/ExploreNavigator.js.map +0 -1
- package/lib/navigation/InboxNavigator.js +0 -183
- package/lib/navigation/InboxNavigator.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/SlackSearchInput/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n //FlatList,\n FlatListProps,\n StyleSheet,\n TextInput,\n TextInputProps,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\nimport Suggestion from './Suggestion';\nimport Tag from './Tag';\nimport { HStack, Box, FlatList } from '@admin-layout/gluestack-ui-mobile';\n\nexport type Tag = any;\nexport type Suggestion = any;\n// export type inputProps = TextInputProps & IInputProps;\nexport type inputProps = TextInputProps;\n\nexport type SlackInputProps = {\n /** array of tags to render */\n tags: Tag[];\n\n /** array of all possible suggestions that the autocomplete pulls from */\n suggestions?: Suggestion[];\n\n /** function called when tags needs to be updated */\n onChangeTags: (newTags: Tag[]) => void;\n\n /** given a tag, returns the string that should be rendered in a Tag */\n labelExtractor: (tag: Tag) => string;\n\n /** called when a tag is pressed, instead of calling `onChangeTags` with the pressed tag removed */\n onTagPress?: (tag: Tag) => void;\n\n /** an array of characters that should trigger a new tag and clear the TextInput\n * @default [',', ' ', ';', '\\n'] */\n parseChars?: string[];\n\n /** called when the user types a character in parseChars and should therefore add a new tag\n * if undefined, will call `onChangeTags` with `[...tags, userInputText]`\n */\n onAddNewTag?: (userInput: string) => void;\n\n /** whether or not to allow the user to create a Tag that doesn't come from `suggestions`\n * @default true\n */\n allowCustomTags?: boolean;\n\n /** called when a suggestion is pressed\n * defaultly calls `onChangeTags` with `[...tags, pressedSuggestion]`\n */\n onSuggestionPress?: (suggestion: Suggestion) => void;\n\n /** given a Suggestion, returns a string that can be compared to the user's search */\n suggestionExtractor?: (suggestion: Suggestion) => string;\n\n /** a function for filtering suggestions based on the TextInput value */\n filterSuggestions?: (text: string) => Suggestion[];\n\n /** a function that returns a custom tag component */\n renderTag?: (tag: Tag, onPress: (tag: Tag) => void, index?: any) => JSX.Element;\n\n /** a function that returns a custom suggestion component */\n renderSuggestion?: (suggestion: Suggestion, onPress: (tag: Suggestion) => void, index?: any) => JSX.Element;\n\n /** any custom TextInputProps */\n inputProps?: Partial<inputProps>;\n\n /** any additional FlatListProps */\n flatListProps?: Partial<FlatListProps<any>>;\n\n flatListGluestackUiProps?: any;\n\n /** style for the outer-most View that houses both the tagContainer and suggestion list */\n containerStyle?: ViewStyle;\n\n /** styles for the container View that houses the tags and the input */\n tagContainerStyle?: ViewStyle;\n\n /** styles for the TextInput component */\n inputStyle?: TextStyle;\n\n /** styles for the FlatList that renders suggestions */\n flatListStyle?: ViewStyle;\n\n /** styles for the container View of FlatList that renders suggestions */\n flatListContainerStyle?: ViewStyle;\n\n renderLeftElement?: () => JSX.Element;\n\n renderRightElement?: () => JSX.Element;\n\n isSetInputFocusOut?: boolean;\n};\n\nexport const SlackInput = ({\n tags,\n suggestions,\n labelExtractor,\n suggestionExtractor,\n onChangeTags,\n onTagPress,\n parseChars,\n allowCustomTags,\n onAddNewTag,\n onSuggestionPress,\n filterSuggestions,\n renderTag,\n renderSuggestion,\n renderLeftElement,\n renderRightElement,\n containerStyle,\n tagContainerStyle,\n inputStyle,\n flatListStyle,\n flatListContainerStyle,\n inputProps,\n flatListProps,\n flatListGluestackUiProps,\n isSetInputFocusOut,\n}: SlackInputProps) => {\n const [text, setText] = useState('');\n const inputRef = useRef<TextInput | null>(null);\n const extractor = suggestionExtractor || labelExtractor;\n\n useEffect(() => {\n console.log('isSetInputFocusOut', isSetInputFocusOut);\n if (isSetInputFocusOut) inputRef.current?.blur();\n }, [isSetInputFocusOut]);\n\n const handleTagPress = useCallback((tag: Tag) => {\n if (onTagPress) {\n onTagPress(tag);\n } else {\n onChangeTags(tags.filter((t) => labelExtractor(t) !== labelExtractor(tag)));\n }\n }, []);\n\n // const handleTagPress = (tag: Tag) => {\n // if (onTagPress) {\n // onTagPress(tag);\n // } else {\n // onChangeTags(tags.filter((t) => labelExtractor(t) !== labelExtractor(tag)));\n // }\n // };\n\n const handleSuggestionPress = useCallback(\n (suggestion: Suggestion) => {\n setText('');\n if (onSuggestionPress) {\n onSuggestionPress(suggestion);\n } else {\n onChangeTags([...tags, suggestion]);\n }\n\n inputRef.current?.focus();\n },\n [tags, inputRef, isSetInputFocusOut],\n );\n\n // const handleSuggestionPress = (suggestion: Suggestion) => {\n // setText('');\n // if (onSuggestionPress) {\n // onSuggestionPress(suggestion);\n // } else {\n // onChangeTags([...tags, suggestion]);\n // }\n // inputRef.current?.focus();\n // };\n\n const handleTextChange = useCallback(\n (input: string) => {\n setText(input);\n\n const lastTyped = input.charAt(input.length - 1);\n if (parseChars && parseChars.indexOf(lastTyped) > -1) {\n setText('');\n if (allowCustomTags) {\n const label = input.slice(0, -1);\n if (onAddNewTag) {\n onAddNewTag(label);\n } else {\n onChangeTags([...tags, label]);\n }\n }\n }\n },\n [tags],\n );\n\n // const handleTextChange = (input: string) => {\n // setText(input);\n\n // const lastTyped = input.charAt(input.length - 1);\n // if (parseChars && parseChars.indexOf(lastTyped) > -1) {\n // setText('');\n // if (allowCustomTags) {\n // const label = input.slice(0, -1);\n // if (onAddNewTag) {\n // onAddNewTag(label);\n // } else {\n // onChangeTags([...tags, label]);\n // }\n // }\n // }\n // };\n\n const renderTagComponent = (tag: Tag, index: any) => {\n const onPress = () => handleTagPress(tag);\n if (renderTag) {\n return renderTag(tag, onPress, index);\n }\n return <Tag label={labelExtractor(tag)} key={`render-tag-key-${index}`} onPress={onPress} />;\n // return <Tag label={labelExtractor(tag)} key={labelExtractor(tag)} onPress={onPress} />;\n };\n\n const renderSuggestionComponent = ({ item, index }: { item: Suggestion; index: any }) => {\n const onPress = () => handleSuggestionPress(item);\n if (renderSuggestion) {\n return renderSuggestion(item, onPress, index);\n }\n return <Suggestion label={extractor(item)} onPress={onPress} />;\n };\n\n const onKeyPress = useCallback(\n ({ nativeEvent: { key } }: { nativeEvent: { key: string } }) => {\n if (text !== '' || key !== 'Backspace' || tags.length < 1) {\n return;\n }\n const updatedTags = [...tags];\n updatedTags.pop();\n onChangeTags(updatedTags);\n },\n [tags, text],\n );\n\n // const onKeyPress = ({ nativeEvent: { key } }: { nativeEvent: { key: string } }) => {\n // if (text !== '' || key !== 'Backspace' || tags.length < 1) {\n // return;\n // }\n // const updatedTags = [...tags];\n // updatedTags.pop();\n // onChangeTags(updatedTags);\n // };\n\n const getSuggestions = useCallback(() => {\n if (filterSuggestions) {\n return filterSuggestions(text);\n }\n if (!text || text === '') {\n return [];\n }\n const regex = new RegExp(`${text.trim()}`, 'i');\n return suggestions?.filter((item) => extractor(item).search(regex) >= 0);\n }, [text, suggestions]);\n\n // const getSuggestions = () => {\n // if (filterSuggestions) {\n // return filterSuggestions(text);\n // }\n // if (!text || text === '') {\n // return [];\n // }\n // const regex = new RegExp(`${text.trim()}`, 'i');\n // return suggestions?.filter((item) => extractor(item).search(regex) >= 0);\n // };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <HStack\n style={[styles.tagContainer, tagContainerStyle]}\n alignItems={'center'}\n justifyContent={'space-between'}\n >\n <Box>{renderLeftElement?.()}</Box>\n <HStack flex={renderRightElement ? 1 : 1} flexWrap={'wrap'} alignItems={'center'}>\n {tags?.map(renderTagComponent)}\n <TextInput\n // variant={'unstyled'}\n value={text}\n onKeyPress={onKeyPress}\n ref={inputRef}\n onChangeText={handleTextChange}\n style={[styles.input, inputStyle]}\n {...inputProps}\n />\n </HStack>\n <Box>{renderRightElement?.()}</Box>\n </HStack>\n <View style={flatListContainerStyle}>\n <FlatList\n data={getSuggestions()}\n //keyExtractor={extractor}\n keyExtractor={(item, index) => String(index)}\n renderItem={renderSuggestionComponent}\n keyboardShouldPersistTaps=\"handled\"\n style={[styles.list, flatListStyle]}\n {...flatListProps}\n {...flatListGluestackUiProps}\n />\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n zIndex: 2000,\n width: '100%',\n },\n tagContainer: {\n // flexDirection: 'row',\n flexWrap: 'wrap',\n // alignItems: 'center',\n },\n input: {\n flex: 1,\n minWidth: 100,\n },\n list: {\n maxHeight: 100,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n\n// SlackInput.defaultProps = {\n// parseChars: [',', ' ', ';', '\\n'],\n// allowCustomTags: true,\n// suggestions: [],\n// };\n\nexport default React.memo(SlackInput);\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/SlackSearchInput/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n //FlatList,\n FlatListProps,\n StyleSheet,\n TextInput,\n TextInputProps,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\nimport Suggestion from './Suggestion';\nimport Tag from './Tag';\nimport { HStack, Box, FlatList } from '@admin-layout/gluestack-ui-mobile';\n\nexport type Tag = any;\nexport type Suggestion = any;\n// export type inputProps = TextInputProps & IInputProps;\nexport type inputProps = TextInputProps;\n\nexport type SlackInputProps = {\n /** array of tags to render */\n tags: Tag[];\n\n /** array of all possible suggestions that the autocomplete pulls from */\n suggestions?: Suggestion[];\n\n /** function called when tags needs to be updated */\n onChangeTags: (newTags: Tag[]) => void;\n\n /** given a tag, returns the string that should be rendered in a Tag */\n labelExtractor: (tag: Tag) => string;\n\n /** called when a tag is pressed, instead of calling `onChangeTags` with the pressed tag removed */\n onTagPress?: (tag: Tag) => void;\n\n /** an array of characters that should trigger a new tag and clear the TextInput\n * @default [',', ' ', ';', '\\n'] */\n parseChars?: string[];\n\n /** called when the user types a character in parseChars and should therefore add a new tag\n * if undefined, will call `onChangeTags` with `[...tags, userInputText]`\n */\n onAddNewTag?: (userInput: string) => void;\n\n /** whether or not to allow the user to create a Tag that doesn't come from `suggestions`\n * @default true\n */\n allowCustomTags?: boolean;\n\n /** called when a suggestion is pressed\n * defaultly calls `onChangeTags` with `[...tags, pressedSuggestion]`\n */\n onSuggestionPress?: (suggestion: Suggestion) => void;\n\n /** given a Suggestion, returns a string that can be compared to the user's search */\n suggestionExtractor?: (suggestion: Suggestion) => string;\n\n /** a function for filtering suggestions based on the TextInput value */\n filterSuggestions?: (text: string) => Suggestion[];\n\n /** a function that returns a custom tag component */\n renderTag?: (tag: Tag, onPress: (tag: Tag) => void, index?: any) => JSX.Element;\n\n /** a function that returns a custom suggestion component */\n renderSuggestion?: (suggestion: Suggestion, onPress: (tag: Suggestion) => void, index?: any) => JSX.Element;\n\n /** any custom TextInputProps */\n inputProps?: Partial<inputProps>;\n\n /** any additional FlatListProps */\n flatListProps?: Partial<FlatListProps<any>>;\n\n flatListGluestackUiProps?: any;\n\n /** style for the outer-most View that houses both the tagContainer and suggestion list */\n containerStyle?: ViewStyle;\n\n /** styles for the container View that houses the tags and the input */\n tagContainerStyle?: ViewStyle;\n\n /** styles for the TextInput component */\n inputStyle?: TextStyle;\n\n /** styles for the FlatList that renders suggestions */\n flatListStyle?: ViewStyle;\n\n /** styles for the container View of FlatList that renders suggestions */\n flatListContainerStyle?: ViewStyle;\n\n renderLeftElement?: () => JSX.Element;\n\n renderRightElement?: () => JSX.Element;\n\n isSetInputFocusOut?: boolean;\n};\n\nexport const SlackInput = ({\n tags,\n suggestions,\n labelExtractor,\n suggestionExtractor,\n onChangeTags,\n onTagPress,\n parseChars,\n allowCustomTags,\n onAddNewTag,\n onSuggestionPress,\n filterSuggestions,\n renderTag,\n renderSuggestion,\n renderLeftElement,\n renderRightElement,\n containerStyle,\n tagContainerStyle,\n inputStyle,\n flatListStyle,\n flatListContainerStyle,\n inputProps,\n flatListProps,\n flatListGluestackUiProps,\n isSetInputFocusOut,\n}: SlackInputProps) => {\n const [text, setText] = useState('');\n const inputRef = useRef<TextInput | null>(null);\n const extractor = suggestionExtractor || labelExtractor;\n\n useEffect(() => {\n console.log('isSetInputFocusOut', isSetInputFocusOut);\n if (isSetInputFocusOut) inputRef.current?.blur();\n }, [isSetInputFocusOut]);\n\n const handleTagPress = useCallback((tag: Tag) => {\n if (onTagPress) {\n onTagPress(tag);\n } else {\n onChangeTags(tags.filter((t) => labelExtractor(t) !== labelExtractor(tag)));\n }\n }, []);\n\n // const handleTagPress = (tag: Tag) => {\n // if (onTagPress) {\n // onTagPress(tag);\n // } else {\n // onChangeTags(tags.filter((t) => labelExtractor(t) !== labelExtractor(tag)));\n // }\n // };\n\n const handleSuggestionPress = useCallback(\n (suggestion: Suggestion) => {\n setText('');\n if (onSuggestionPress) {\n onSuggestionPress(suggestion);\n } else {\n onChangeTags([...tags, suggestion]);\n }\n\n inputRef.current?.focus();\n },\n [tags, inputRef, isSetInputFocusOut],\n );\n\n // const handleSuggestionPress = (suggestion: Suggestion) => {\n // setText('');\n // if (onSuggestionPress) {\n // onSuggestionPress(suggestion);\n // } else {\n // onChangeTags([...tags, suggestion]);\n // }\n // inputRef.current?.focus();\n // };\n\n const handleTextChange = useCallback(\n (input: string) => {\n setText(input);\n\n const lastTyped = input.charAt(input.length - 1);\n if (parseChars && parseChars.indexOf(lastTyped) > -1) {\n setText('');\n if (allowCustomTags) {\n const label = input.slice(0, -1);\n if (onAddNewTag) {\n onAddNewTag(label);\n } else {\n onChangeTags([...tags, label]);\n }\n }\n }\n },\n [tags],\n );\n\n // const handleTextChange = (input: string) => {\n // setText(input);\n\n // const lastTyped = input.charAt(input.length - 1);\n // if (parseChars && parseChars.indexOf(lastTyped) > -1) {\n // setText('');\n // if (allowCustomTags) {\n // const label = input.slice(0, -1);\n // if (onAddNewTag) {\n // onAddNewTag(label);\n // } else {\n // onChangeTags([...tags, label]);\n // }\n // }\n // }\n // };\n\n const renderTagComponent = (tag: Tag, index: any) => {\n const onPress = () => handleTagPress(tag);\n if (renderTag) {\n return renderTag(tag, onPress, index);\n }\n return <Tag label={labelExtractor(tag)} key={`render-tag-key-${index}`} onPress={onPress} />;\n // return <Tag label={labelExtractor(tag)} key={labelExtractor(tag)} onPress={onPress} />;\n };\n\n const renderSuggestionComponent = ({ item, index }: { item: Suggestion; index: any }) => {\n const onPress = () => handleSuggestionPress(item);\n if (renderSuggestion) {\n return renderSuggestion(item, onPress, index);\n }\n return <Suggestion label={extractor(item)} onPress={onPress} />;\n };\n\n const onKeyPress = useCallback(\n ({ nativeEvent: { key } }: { nativeEvent: { key: string } }) => {\n if (text !== '' || key !== 'Backspace' || tags.length < 1) {\n return;\n }\n const updatedTags = [...tags];\n updatedTags.pop();\n onChangeTags(updatedTags);\n },\n [tags, text],\n );\n\n // const onKeyPress = ({ nativeEvent: { key } }: { nativeEvent: { key: string } }) => {\n // if (text !== '' || key !== 'Backspace' || tags.length < 1) {\n // return;\n // }\n // const updatedTags = [...tags];\n // updatedTags.pop();\n // onChangeTags(updatedTags);\n // };\n\n const getSuggestions = useCallback(() => {\n if (filterSuggestions) {\n return filterSuggestions(text);\n }\n if (!text || text === '') {\n return [];\n }\n const regex = new RegExp(`${text.trim()}`, 'i');\n return suggestions?.filter((item) => extractor(item).search(regex) >= 0);\n }, [text, suggestions]);\n\n // const getSuggestions = () => {\n // if (filterSuggestions) {\n // return filterSuggestions(text);\n // }\n // if (!text || text === '') {\n // return [];\n // }\n // const regex = new RegExp(`${text.trim()}`, 'i');\n // return suggestions?.filter((item) => extractor(item).search(regex) >= 0);\n // };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <HStack style={[styles.tagContainer, tagContainerStyle]} className=\"items-center justify-between\">\n <Box>{renderLeftElement?.()}</Box>\n <HStack className={`flex-[${renderRightElement ? 1 : 1}] flex-wrap items-center`}>\n {tags?.map(renderTagComponent)}\n <TextInput\n // variant={'unstyled'}\n value={text}\n onKeyPress={onKeyPress}\n ref={inputRef}\n onChange={(event) => handleTextChange(event.nativeEvent.text)}\n style={[styles.input, inputStyle]}\n {...inputProps}\n />\n </HStack>\n <Box>{renderRightElement?.()}</Box>\n </HStack>\n <View style={flatListContainerStyle}>\n <FlatList\n data={getSuggestions()}\n //keyExtractor={extractor}\n keyExtractor={(item, index) => String(index)}\n renderItem={renderSuggestionComponent}\n keyboardShouldPersistTaps=\"handled\"\n style={[styles.list, flatListStyle]}\n {...flatListProps}\n {...flatListGluestackUiProps}\n />\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n zIndex: 2000,\n width: '100%',\n },\n tagContainer: {\n // flexDirection: 'row',\n flexWrap: 'wrap',\n // alignItems: 'center',\n },\n input: {\n flex: 1,\n minWidth: 100,\n },\n list: {\n maxHeight: 100,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n\n// SlackInput.defaultProps = {\n// parseChars: [',', ' ', ';', '\\n'],\n// allowCustomTags: true,\n// suggestions: [],\n// };\n\nexport default React.memo(SlackInput);\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {FlatList}from'@admin-layout/gluestack-ui-mobile';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';var __defProp = Object.defineProperty;
|
|
1
|
+
import React__default from'react';import {FlatList}from'@admin-layout/gluestack-ui-mobile';import'@expo/vector-icons';import'expo-font';import'expo-splash-screen';import'react-native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import'../../hooks/useExpoNotificationProvider.js';import'../../hooks/useOptimizedChannelsQueries.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __defProps = Object.defineProperties;
|
|
3
3
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -22,7 +22,22 @@ const VirtualizedScrollView = (props) => {
|
|
|
22
22
|
headerAnimationOffsetValue,
|
|
23
23
|
setHeaderAnimationOffsetValue
|
|
24
24
|
} = useDrawerLayout();
|
|
25
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
26
|
+
FlatList,
|
|
27
|
+
__spreadProps(__spreadValues({}, props), {
|
|
28
|
+
onScroll: (e) => {
|
|
29
|
+
e.nativeEvent.contentOffset.y;
|
|
30
|
+
},
|
|
31
|
+
nestedScrollEnabled: (props == null ? void 0 : props.nestedScrollEnabled) || true,
|
|
32
|
+
style: [props == null ? void 0 : props.style, {
|
|
33
|
+
paddingBottom: 10,
|
|
34
|
+
flex: 1
|
|
35
|
+
}],
|
|
36
|
+
data: [],
|
|
37
|
+
keyExtractor: (e, i) => "dom" + i.toString(),
|
|
38
|
+
ListEmptyComponent: null,
|
|
39
|
+
renderItem: null,
|
|
40
|
+
ListHeaderComponent: () => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, props.children)
|
|
41
|
+
})
|
|
42
|
+
);
|
|
28
43
|
};export{VirtualizedScrollView as default};//# sourceMappingURL=VirtualizedScrollView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedScrollView.js","sources":["../../../src/components/VirtualizedScrollView/VirtualizedScrollView.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList } from '@admin-layout/gluestack-ui-mobile';\nimport { useDrawerLayout } from '../../hooks';\n\nconst VirtualizedScrollView = (props: any) => {\n const { headerAnimationOffsetValue, setHeaderAnimationOffsetValue } = useDrawerLayout();\n\n return (\n <FlatList\n {...props}\n onScroll={(e) => {\n const currentOffset = e.nativeEvent.contentOffset.y;\n const direction = currentOffset > headerAnimationOffsetValue ? 'down' : 'up';\n\n //..last commented..// if (currentOffset >= 0 || (direction === 'down' && currentOffset >= 200 && currentOffset <= 500))\n // setHeaderAnimationOffsetValue(e.nativeEvent.contentOffset.y);\n\n // if (e.nativeEvent.contentOffset.y >= 0) setHeaderAnimationOffsetValue(e.nativeEvent.contentOffset.y);\n }}\n nestedScrollEnabled={props?.nestedScrollEnabled || true}\n pb={'$10'}\n data={[]}\n keyExtractor={(e, i) => 'dom' + i.toString()}\n ListEmptyComponent={null}\n renderItem={null}\n ListHeaderComponent={() => <>{props.children}</>}\n />\n );\n};\n\nexport default VirtualizedScrollView;\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;AAGM,MAAA,qBAAA,GAAwB,CAAC,KAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,0BAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,
|
|
1
|
+
{"version":3,"file":"VirtualizedScrollView.js","sources":["../../../src/components/VirtualizedScrollView/VirtualizedScrollView.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList } from '@admin-layout/gluestack-ui-mobile';\nimport { useDrawerLayout } from '../../hooks';\n\nconst VirtualizedScrollView = (props: any) => {\n const { headerAnimationOffsetValue, setHeaderAnimationOffsetValue } = useDrawerLayout();\n\n return (\n <FlatList\n {...props}\n onScroll={(e) => {\n const currentOffset = e.nativeEvent.contentOffset.y;\n const direction = currentOffset > headerAnimationOffsetValue ? 'down' : 'up';\n\n //..last commented..// if (currentOffset >= 0 || (direction === 'down' && currentOffset >= 200 && currentOffset <= 500))\n // setHeaderAnimationOffsetValue(e.nativeEvent.contentOffset.y);\n\n // if (e.nativeEvent.contentOffset.y >= 0) setHeaderAnimationOffsetValue(e.nativeEvent.contentOffset.y);\n }}\n nestedScrollEnabled={props?.nestedScrollEnabled || true}\n // pb={'$10'}\n style={[props?.style, { paddingBottom: 10, flex: 1 }]}\n data={[]}\n keyExtractor={(e, i) => 'dom' + i.toString()}\n ListEmptyComponent={null}\n renderItem={null}\n ListHeaderComponent={() => <>{props.children}</>}\n />\n );\n};\n\nexport default VirtualizedScrollView;\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;AAGM,MAAA,qBAAA,GAAwB,CAAC,KAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,0BAAA;AAAA,IACA;AAAA,MACE,eAAgB,EAAA;AACpB,EAAO,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAa,KAAb,CAAA,EAAA;AAAA,MAAoB,UAAU,CAAK,CAAA,KAAA;AACzC,QAAsB,CAAE,CAAA,WAAA,CAAY,aAAc,CAAA;AACsB,OAM1E;AAAA,MAAG,mBAAA,EAAA,CAAqB,+BAAO,mBAAuB,KAAA,IAAA;AAAA,MAEtD,KAAA,EAAO,CAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,KAAO,EAAA;AAAA,QACpB,aAAe,EAAA,EAAA;AAAA,QACf,IAAM,EAAA;AAAA,OACP,CAAA;AAAA,MAAG,MAAM,EAAC;AAAA,MAAG,cAAc,CAAC,CAAA,EAAG,CAAM,KAAA,KAAA,GAAQ,EAAE,QAAS,EAAA;AAAA,MAAG,kBAAoB,EAAA,IAAA;AAAA,MAAM,UAAY,EAAA,IAAA;AAAA,MAAM,mBAAqB,EAAA,sBAASA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,KAAA,CAAM,QAAS;AAAA,KAAA;AAAA,GAAK;AAC5J"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {AntDesign,Ionicons
|
|
1
|
+
import React__default from'react';import {AntDesign,Ionicons}from'@expo/vector-icons';import {SafeAreaView,TouchableHighlight}from'react-native';import {Box,useLocationChange,VStack,Heading,FlatList,Text,Divider,Button,ButtonText,HStack,Avatar}from'@admin-layout/gluestack-ui-mobile';import {useSelector,shallowEqual,useDispatch}from'react-redux';import {NavigationRoutes}from'../../constants/routes.js';import {useNavigation,useFocusEffect,StackActions}from'@react-navigation/native';import {useDrawerLayout}from'../../hooks/useDrawerLayout.js';import {useOrganizationDetailQuery,useUserOrganizationsQuery}from'../../queries/slackuiQueries.js';import {LOCATION_CHANGE}from'@common-stack/remix-router-redux';import {userSelector}from'@adminide-stack/user-auth0-client';var __defProp = Object.defineProperty;
|
|
2
2
|
var __defProps = Object.defineProperties;
|
|
3
3
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -21,7 +21,7 @@ const WorkSpaceDrawerComponent = (props) => {
|
|
|
21
21
|
const dispatch = useDispatch();
|
|
22
22
|
const navigation = useNavigation();
|
|
23
23
|
const user = useSelector(userSelector);
|
|
24
|
-
const settings = useSelector((state) => state.settings);
|
|
24
|
+
const settings = useSelector((state) => state.settings, shallowEqual);
|
|
25
25
|
const {
|
|
26
26
|
open,
|
|
27
27
|
setOpen,
|
|
@@ -36,7 +36,7 @@ const WorkSpaceDrawerComponent = (props) => {
|
|
|
36
36
|
const {
|
|
37
37
|
data: orgDetailData,
|
|
38
38
|
refetch: _refetchOrgDetail
|
|
39
|
-
} =
|
|
39
|
+
} = useOrganizationDetailQuery(orgName || "", {
|
|
40
40
|
variables: {
|
|
41
41
|
where: {
|
|
42
42
|
name: orgName
|
|
@@ -47,7 +47,7 @@ const WorkSpaceDrawerComponent = (props) => {
|
|
|
47
47
|
data: userOrganizationsData,
|
|
48
48
|
loading: isLoadingUsersOrganization,
|
|
49
49
|
refetch: refetchUserOrganizations
|
|
50
|
-
} =
|
|
50
|
+
} = useUserOrganizationsQuery({
|
|
51
51
|
variables: {
|
|
52
52
|
userId: user == null ? void 0 : user.id
|
|
53
53
|
}
|
|
@@ -57,11 +57,7 @@ const WorkSpaceDrawerComponent = (props) => {
|
|
|
57
57
|
userId: user == null ? void 0 : user.id
|
|
58
58
|
});
|
|
59
59
|
if (orgName)
|
|
60
|
-
_refetchOrgDetail(
|
|
61
|
-
where: {
|
|
62
|
-
name: orgName
|
|
63
|
-
}
|
|
64
|
-
});
|
|
60
|
+
_refetchOrgDetail();
|
|
65
61
|
}, [orgName, open]));
|
|
66
62
|
React__default.useEffect(() => {
|
|
67
63
|
if (orgDetailData == null ? void 0 : orgDetailData.getOrganizationDetail)
|
|
@@ -108,44 +104,56 @@ const WorkSpaceDrawerComponent = (props) => {
|
|
|
108
104
|
const title = (_a = o == null ? void 0 : o.title) != null ? _a : o.name;
|
|
109
105
|
const matches = (_b = title == null ? void 0 : title.match(/\b(\w)/g)) != null ? _b : "";
|
|
110
106
|
const acronym = Array.isArray(matches) ? (_c = matches == null ? void 0 : matches.join("")) == null ? void 0 : _c.substring(0, 2) : "";
|
|
111
|
-
return /* @__PURE__ */ React__default.createElement(TouchableHighlight, { underlayColor: "transparent", activeOpacity: 0.5, key: i, onPress: () => goToOrganization(o.name)
|
|
107
|
+
return /* @__PURE__ */ React__default.createElement(TouchableHighlight, { underlayColor: "transparent", activeOpacity: 0.5, key: i, onPress: () => goToOrganization(o.name), style: {
|
|
108
|
+
marginVertical: 2
|
|
109
|
+
} }, /* @__PURE__ */ React__default.createElement(HStack, { style: {
|
|
110
|
+
backgroundColor: o.name == orgName ? "#e5e7eb" : "transparent",
|
|
111
|
+
paddingVertical: 10,
|
|
112
|
+
paddingHorizontal: 10,
|
|
113
|
+
borderRadius: 10
|
|
114
|
+
}, className: `justify-between items-center w-full py-2` }, /* @__PURE__ */ React__default.createElement(HStack, { space: "md", className: "items-center" }, /* @__PURE__ */ React__default.createElement(
|
|
112
115
|
Button,
|
|
113
116
|
{
|
|
114
|
-
px: "$0",
|
|
115
|
-
py: "$0",
|
|
116
117
|
size: "md",
|
|
117
|
-
|
|
118
|
+
className: "bg-transparent px-0 py-0 "
|
|
118
119
|
},
|
|
119
120
|
/* @__PURE__ */ React__default.createElement(
|
|
120
121
|
Avatar,
|
|
121
122
|
{
|
|
122
|
-
bg: "$trueGray300",
|
|
123
123
|
size: "md",
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
124
|
+
className: `bg-gray-200 rounded-lg ${o.name == orgName ? "border-2" : "border"} p-0`,
|
|
125
|
+
style: {
|
|
126
|
+
backgroundColor: "#e5e7eb",
|
|
127
|
+
borderColor: o.name == orgName ? "#000" : "#d3d3d3"
|
|
128
|
+
}
|
|
128
129
|
},
|
|
129
|
-
/* @__PURE__ */ React__default.createElement(Text, {
|
|
130
|
-
|
|
131
|
-
} }, acronym)
|
|
130
|
+
/* @__PURE__ */ React__default.createElement(Text, { style: {
|
|
131
|
+
fontWeight: "800"
|
|
132
|
+
}, className: "font-extrabold text-black uppercase text-base" }, acronym)
|
|
132
133
|
)
|
|
133
|
-
), /* @__PURE__ */ React__default.createElement(Text, {
|
|
134
|
+
), /* @__PURE__ */ React__default.createElement(Text, { className: "text-black font-bold", style: {
|
|
134
135
|
fontSize: 16
|
|
135
|
-
}
|
|
136
|
+
} }, title))));
|
|
136
137
|
};
|
|
137
|
-
return /* @__PURE__ */ React__default.createElement(SafeAreaView, {
|
|
138
|
+
return /* @__PURE__ */ React__default.createElement(SafeAreaView, { style: {
|
|
139
|
+
flex: 1
|
|
140
|
+
} }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 w-full h-full px-2 pt-2" }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 w-full" }, /* @__PURE__ */ React__default.createElement(VStack, { className: "flex-1 w-full h-full absolute top-0", space: "sm" }, /* @__PURE__ */ React__default.createElement(Heading, { className: ` color-[${props.titleColor || (settings == null ? void 0 : settings.navTheme) == "dark" ? "text-white" : "text-black"}]`, size: "lg" }, "Workspaces"), /* @__PURE__ */ React__default.createElement(FlatList, { style: {
|
|
141
|
+
flex: 1,
|
|
142
|
+
paddingTop: 5,
|
|
143
|
+
width: "100%"
|
|
144
|
+
}, keyExtractor: (item, index) => String(index), contentContainerStyle: {
|
|
138
145
|
flexGrow: 1,
|
|
139
|
-
paddingBottom:
|
|
146
|
+
paddingBottom: 150,
|
|
147
|
+
width: "100%"
|
|
140
148
|
}, data: (userOrganizationsData == null ? void 0 : userOrganizationsData.getUserOrganizations) && (userOrganizationsData == null ? void 0 : userOrganizationsData.getUserOrganizations.length) > 0 ? userOrganizationsData == null ? void 0 : userOrganizationsData.getUserOrganizations : [], renderItem: renderWorkspaces, ListEmptyComponent: () => {
|
|
141
|
-
return /* @__PURE__ */ React__default.createElement(Box, {
|
|
142
|
-
}, key: "workspaces-list" })), /* @__PURE__ */ React__default.createElement(VStack, {
|
|
149
|
+
return /* @__PURE__ */ React__default.createElement(Box, { className: "bg-white py-2" }, /* @__PURE__ */ React__default.createElement(VStack, { space: "sm" }, /* @__PURE__ */ React__default.createElement(Box, { className: "px-4 py-5" }, /* @__PURE__ */ React__default.createElement(Text, null, "No Memebers found"))));
|
|
150
|
+
}, key: "workspaces-list" })), /* @__PURE__ */ React__default.createElement(VStack, { className: "flex-1 w-full bg-white absolute bottom-0", space: "sm" }, /* @__PURE__ */ React__default.createElement(Divider, { className: "w-full" }), (user == null ? void 0 : user.accessToken) && /* @__PURE__ */ React__default.createElement(VStack, { space: "sm" }, /* @__PURE__ */ React__default.createElement(Button, { size: "sm", variant: "solid", className: "bg-transparent active:bg-gray-200 hover:bg-gray-200 justify-start", onPress: () => addWorkSpace() }, /* @__PURE__ */ React__default.createElement(AntDesign, { color: "black", name: "plus", size: 22 }), /* @__PURE__ */ React__default.createElement(ButtonText, { className: "pl-2", style: {
|
|
143
151
|
color: "black",
|
|
144
152
|
fontSize: 15
|
|
145
|
-
} }, "Add a workspace")), /* @__PURE__ */ React__default.createElement(Button, { size: "sm", variant: "solid",
|
|
153
|
+
} }, "Add a workspace")), /* @__PURE__ */ React__default.createElement(Button, { size: "sm", variant: "solid", className: "bg-transparent active:bg-gray-200 hover:bg-gray-200 justify-start" }, /* @__PURE__ */ React__default.createElement(Ionicons, { color: "black", name: "settings-outline", size: 22 }), /* @__PURE__ */ React__default.createElement(ButtonText, { className: "pl-2", style: {
|
|
146
154
|
color: "black",
|
|
147
155
|
fontSize: 15
|
|
148
|
-
} }, "Preferences")), /* @__PURE__ */ React__default.createElement(Button, { size: "sm", variant: "solid",
|
|
156
|
+
} }, "Preferences")), /* @__PURE__ */ React__default.createElement(Button, { size: "sm", variant: "solid", className: "bg-transparent active:bg-gray-200 hover:bg-gray-200 justify-start" }, /* @__PURE__ */ React__default.createElement(Ionicons, { color: "black", name: "help-circle-outline", size: 22 }), /* @__PURE__ */ React__default.createElement(ButtonText, { className: "pl-2", style: {
|
|
149
157
|
color: "black",
|
|
150
158
|
fontSize: 15
|
|
151
159
|
} }, "Help")))))));
|
|
@@ -153,7 +161,9 @@ const WorkSpaceDrawerComponent = (props) => {
|
|
|
153
161
|
const WorkSpaceDrawer = (props) => {
|
|
154
162
|
useNavigation();
|
|
155
163
|
const user = useSelector(userSelector);
|
|
156
|
-
useSelector((state) => state.settings);
|
|
157
|
-
return /* @__PURE__ */ React__default.createElement(SafeAreaView, {
|
|
164
|
+
useSelector((state) => state.settings, shallowEqual);
|
|
165
|
+
return /* @__PURE__ */ React__default.createElement(SafeAreaView, { style: {
|
|
166
|
+
flex: 1
|
|
167
|
+
} }, /* @__PURE__ */ React__default.createElement(Box, { className: "flex-1 w-full" }, user && (user == null ? void 0 : user.accessToken) ? /* @__PURE__ */ React__default.createElement(WorkSpaceDrawerComponent, __spreadValues({}, props)) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null)));
|
|
158
168
|
};
|
|
159
169
|
var WorkSpaceDrawer$1 = React__default.memo(WorkSpaceDrawer);export{WorkSpaceDrawer$1 as default};//# sourceMappingURL=WorkSpaceDrawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkSpaceDrawer.js","sources":["../../../src/components/WorkSpaceDrawer/WorkSpaceDrawer.tsx"],"sourcesContent":["import React from 'react';\nimport { Ionicons, MaterialIcons, FontAwesome5, AntDesign } from '@expo/vector-icons';\nimport { createDrawerNavigator, DrawerContentScrollView, DrawerItemList, DrawerItem } from '@react-navigation/drawer';\nimport { TouchableHighlight } from 'react-native';\nimport {\n SafeAreaView,\n VStack,\n HStack,\n Button,\n ButtonText,\n Icon,\n Text,\n Heading,\n Center,\n Box,\n Image,\n Avatar,\n AvatarFallbackText,\n Divider,\n FlatList,\n useLocationChange,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { navigationRef } from '@common-stack/client-react';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { StackActions, CommonActions, useNavigation, useFocusEffect } from '@react-navigation/native';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport {\n useGetUserOrganizationsQuery,\n useGetOrganizationDetailLazyQuery,\n useGetOrganizationDetailQuery,\n useCreateOrganizationMutation,\n} from 'common/lib/generated/generated.js';\nimport { startCase } from 'lodash-es';\nimport { LOCATION_CHANGE as LOCATION_CHANGE_SUCCESS } from '@common-stack/remix-router-redux';\nimport { userSelector, isUserAuthenticated } from '@adminide-stack/user-auth0-client';\n\nconst WorkSpaceDrawerComponent = (props: any) => {\n const dispatch = useDispatch();\n const navigation = useNavigation<any>();\n const user: any = useSelector(userSelector);\n const settings = useSelector<any>((state) => state.settings) as any;\n const { open, setOpen, appConfiguredRoutes, orgName, setOrganizationDetail, organizationDetail } =\n useDrawerLayout();\n const { setLocationChange } = useLocationChange();\n const { data: orgDetailData, refetch: _refetchOrgDetail } = useGetOrganizationDetailQuery({\n variables: {\n where: {\n name: orgName,\n },\n },\n });\n const {\n data: userOrganizationsData,\n loading: isLoadingUsersOrganization,\n refetch: refetchUserOrganizations,\n }: any = useGetUserOrganizationsQuery({\n // //@ts-ignor\n variables: { userId: user?.id },\n //fetchPolicy: 'cache-and-network',\n });\n\n useFocusEffect(\n React.useCallback(() => {\n refetchUserOrganizations({\n userId: user?.id,\n });\n if (orgName) _refetchOrgDetail({ where: { name: orgName } });\n }, [orgName, open]),\n );\n\n React.useEffect(() => {\n if (orgDetailData?.getOrganizationDetail) setOrganizationDetail(orgDetailData?.getOrganizationDetail);\n }, [orgDetailData?.getOrganizationDetail]);\n\n // const goToOrganization = React.useCallback((orgName: any) => {\n // setOpen(false);\n // setLocationChange({ configurableRoutes: appConfiguredRoutes, orgName: orgName });\n // navigation.reset({\n // index: 0,\n // routes: [\n // {\n // name: 'MainStack.Layout.Home',\n // params: { orgName: orgName },\n // },\n // ],\n // });\n // }, []);\n\n const goToOrganization = React.useCallback((orgName: any) => {\n setOpen(false);\n const currentRoute = navigation?.getCurrentRoute();\n const currParams = {\n ...(currentRoute.params || {}),\n orgName: orgName,\n };\n dispatch({\n type: LOCATION_CHANGE_SUCCESS,\n payload: {\n currentRoute: {\n path: currentRoute?.name ?? null,\n params: currParams,\n },\n previousRoute: {\n path: currentRoute?.name ?? null,\n params: currentRoute.params,\n },\n },\n });\n navigation.dispatch(StackActions.push('MainStack', { screen: NavigationRoutes.Home, params: { orgName } }));\n }, []);\n\n const addWorkSpace = React.useCallback(() => {\n setOpen(false);\n // navigation?.navigate('MainStack', { screen: NavigationRoutes.AddWorkSpace, params: { orgName } });\n navigation?.navigate(NavigationRoutes.AddWorkSpace, { orgName });\n }, [orgName]);\n\n const renderWorkspaces = ({ item: o, index: i }: any) => {\n const title = o?.title ?? o.name;\n const matches: any = title?.match(/\\b(\\w)/g) ?? '';\n //const acronym: any = matches?.join('')?.substring(0, 2)?.toUpperCase() ?? ''; // JSON\n const acronym: any = Array.isArray(matches) ? matches?.join('')?.substring(0, 2) : ''; // JSON\n\n return (\n <TouchableHighlight\n underlayColor={'transparent'}\n activeOpacity={0.5}\n key={i}\n onPress={() => goToOrganization(o.name)}\n >\n <HStack px={'$2'} justifyContent=\"space-between\" alignItems=\"center\" w=\"100%\" py={'$2'}>\n <HStack space={'sm'} alignItems=\"center\">\n <Button\n // mx={'$2'}\n px={'$0'}\n py={'$0'}\n size={'md'}\n bg={'transparent'}\n // borderRadius={'$lg'}\n // borderWidth={o.name == orgName ? '$2' : '$1'}\n // borderColor={o.name == orgName ? '#000' : '#d3d3d3'}\n >\n <Avatar\n bg={'$trueGray300'}\n size={'md'}\n // borderRadius={o.name == orgName ? '$none' : '$lg'}\n borderRadius={'$lg'}\n borderWidth={o.name == orgName ? '$2' : '$1'}\n borderColor={o.name == orgName ? '#000' : '#d3d3d3'}\n p={'$0'}\n >\n <Text fontWeight={'$extrabold'} color=\"$black\" style={{ fontSize: 18 }}>\n {acronym}\n </Text>\n </Avatar>\n\n {/* <ButtonText size=\"md\" fontWeight={'$extrabold'} color=\"$black\" style={{ fontSize: 18 }}>\n {startCase(acronym)}\n </ButtonText> */}\n </Button>\n <Text color=\"$black\" style={{ fontSize: 16 }} w={'60%'} fontWeight={'$bold'}>\n {title}\n </Text>\n </HStack>\n <Button bg={'transparent'} size={'lg'} pr={'$1'}>\n <MaterialIcons size={30} name=\"more-vert\" color={'#000'} />\n </Button>\n </HStack>\n </TouchableHighlight>\n );\n };\n\n return (\n <SafeAreaView flex={1}>\n <Box flex={1} w={'100%'}>\n {/* <StatusBar style={'dark'} /> */}\n <Box flex={1}>\n <Heading\n p={'$5'}\n size={'lg'}\n color={props.titleColor || settings?.navTheme == 'dark' ? 'white' : 'black'}\n >\n Workspaces\n </Heading>\n <VStack flex={0.8} space={'sm'}>\n <FlatList\n flex={1}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flexGrow: 1,\n paddingBottom: 80,\n }}\n data={\n userOrganizationsData?.getUserOrganizations &&\n userOrganizationsData?.getUserOrganizations.length > 0\n ? userOrganizationsData?.getUserOrganizations\n : []\n }\n renderItem={renderWorkspaces}\n ListEmptyComponent={() => {\n return (\n <Box bg={'#fff'} py={'$2'}>\n <VStack space=\"sm\">\n <Box px=\"$4\" py={'$5'}>\n <Text>No Memebers found</Text>\n </Box>\n </VStack>\n </Box>\n );\n }}\n key={'workspaces-list'}\n />\n {/* {userOrganizationsData?.getUserOrganizations &&\n userOrganizationsData?.getUserOrganizations?.length > 0 &&\n userOrganizationsData?.getUserOrganizations?.map((o: any, i: any) => {\n const matches: any = o?.title?.match(/\\b(\\w)/g) ?? '';\n const acronym: any = matches?.join('')?.substring(0, 2)?.toUpperCase() ?? ''; // JSON\n return (\n <TouchableHighlight\n underlayColor={'transparent'}\n activeOpacity={0.5}\n key={i}\n onPress={() => goToOrganization(o.name)}\n >\n <HStack px=\"1\" justifyContent=\"space-between\" alignItems=\"center\" w=\"100%\">\n <HStack alignItems=\"center\">\n <IconButton\n mx={2}\n px={2}\n py={2}\n size={12}\n bg={'transparent'}\n borderRadius={'lg'}\n borderWidth={o.name == orgName ? 2 : 1}\n borderColor={o.name == orgName ? '#000' : '#d3d3d3'}\n icon={\n <Avatar\n bg={'gray.300'}\n size={o.name == orgName ? 10 : 12}\n borderRadius={o.name == orgName ? 0 : 'lg'}\n p={2}\n _image={{ borderRadius: 0 }}\n _text={{ color: '#000', fontWeight: 800, fontSize: 18 }}\n >\n {acronym}\n </Avatar>\n }\n />\n <Text color=\"black\" fontSize=\"18\" fontWeight={'bold'}>\n {o?.title ?? o.name}\n </Text>\n </HStack>\n <IconButton\n size={'lg'}\n _icon={{\n as: MaterialIcons,\n name: 'more-vert',\n color: '#000',\n }}\n />\n </HStack>\n </TouchableHighlight>\n );\n })} */}\n </VStack>\n <VStack flex={1} w={'100%'} space={'sm'} bg={'$white'} position={'absolute'} bottom={'$10'}>\n <Divider w={'100%'} />\n {user?.accessToken && (\n <VStack space={'sm'}>\n <Button\n size={'sm'}\n variant={'solid'}\n bg={'transparent'}\n $pressed-bg={'$trueGray200'}\n justifyContent={'flex-start'}\n onPress={() => addWorkSpace()}\n >\n <AntDesign color=\"black\" name=\"plus\" size={22} />\n <ButtonText pl={'$2'} style={{ color: 'black', fontSize: 15 }}>\n Add a workspace\n </ButtonText>\n </Button>\n <Button\n size={'sm'}\n variant={'solid'}\n bg={'transparent'}\n $pressed-bg={'$trueGray200'}\n justifyContent={'flex-start'}\n >\n <Ionicons color=\"black\" name=\"settings-outline\" size={22} />\n <ButtonText pl={'$2'} style={{ color: 'black', fontSize: 15 }}>\n Preferences\n </ButtonText>\n </Button>\n <Button\n size={'sm'}\n variant={'solid'}\n bg={'transparent'}\n $pressed-bg={'$trueGray200'}\n justifyContent={'flex-start'}\n >\n <Ionicons color=\"black\" name=\"help-circle-outline\" size={22} />\n <ButtonText pl={'$2'} style={{ color: 'black', fontSize: 15 }}>\n Help\n </ButtonText>\n </Button>\n {/* <HStack px=\"1\" pt={1} justifyContent=\"space-between\" alignItems=\"center\" w=\"100%\">\n <TouchableHighlight\n underlayColor={'transparent'}\n activeOpacity={0.5}\n style={{ width: '100%' }}\n onPress={() => CreateOrganization()}\n >\n <Text textAlign={'center'} color=\"black\" fontSize=\"18\" fontWeight={'bold'}>\n Add a Workspace\n </Text>\n </TouchableHighlight>\n </HStack> */}\n </VStack>\n )}\n </VStack>\n </Box>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst WorkSpaceDrawer = (props: any) => {\n const navigation = useNavigation<any>();\n const user: any = useSelector(userSelector);\n const settings = useSelector<any>((state) => state.settings) as any;\n\n return (\n <SafeAreaView flex={1}>\n <Box flex={1} w={'100%'}>\n {user && user?.accessToken ? <WorkSpaceDrawerComponent {...props} /> : <></>}\n </Box>\n </SafeAreaView>\n );\n};\n\nexport default React.memo(WorkSpaceDrawer);\n"],"names":["React","orgName","LOCATION_CHANGE_SUCCESS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkSpaceDrawer.js","sources":["../../../src/components/WorkSpaceDrawer/WorkSpaceDrawer.tsx"],"sourcesContent":["import React from 'react';\nimport { Ionicons, MaterialIcons, FontAwesome5, AntDesign } from '@expo/vector-icons';\nimport { createDrawerNavigator, DrawerContentScrollView, DrawerItemList, DrawerItem } from '@react-navigation/drawer';\nimport { TouchableHighlight, SafeAreaView } from 'react-native';\nimport {\n VStack,\n HStack,\n Button,\n ButtonText,\n Icon,\n Text,\n Heading,\n Center,\n Box,\n Image,\n Avatar,\n AvatarFallbackText,\n Divider,\n FlatList,\n useLocationChange,\n} from '@admin-layout/gluestack-ui-mobile';\nimport { StatusBar } from 'expo-status-bar';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { shallowEqual } from 'react-redux';\nimport { navigationRef } from '@common-stack/client-react';\nimport { NavigationRoutes } from '../../constants/routes';\nimport { StackActions, CommonActions, useNavigation, useFocusEffect } from '@react-navigation/native';\nimport { useDrawerLayout } from '../../hooks/useDrawerLayout';\nimport {\n useUserOrganizationsQuery,\n useOrganizationDetailQuery,\n useOrganizationDetailLazyQuery,\n useCreateOrganizationMutation,\n} from '../../queries/slackuiQueries';\nimport { startCase } from 'lodash-es';\nimport { LOCATION_CHANGE as LOCATION_CHANGE_SUCCESS } from '@common-stack/remix-router-redux';\nimport { userSelector, isUserAuthenticated } from '@adminide-stack/user-auth0-client';\nimport colors from 'tailwindcss/colors';\n\nconst WorkSpaceDrawerComponent = (props: any) => {\n const dispatch = useDispatch();\n const navigation = useNavigation<any>();\n const user: any = useSelector(userSelector);\n const settings = useSelector<any>((state) => state.settings, shallowEqual) as any;\n const { open, setOpen, appConfiguredRoutes, orgName, setOrganizationDetail, organizationDetail } =\n useDrawerLayout();\n const { setLocationChange } = useLocationChange();\n const { data: orgDetailData, refetch: _refetchOrgDetail } = useOrganizationDetailQuery(orgName || '', {\n variables: {\n where: {\n name: orgName,\n },\n },\n });\n const {\n data: userOrganizationsData,\n loading: isLoadingUsersOrganization,\n refetch: refetchUserOrganizations,\n }: any = useUserOrganizationsQuery({\n // //@ts-ignor\n variables: { userId: user?.id },\n //fetchPolicy: 'cache-and-network',\n });\n\n useFocusEffect(\n React.useCallback(() => {\n refetchUserOrganizations({\n userId: user?.id,\n });\n if (orgName) _refetchOrgDetail();\n }, [orgName, open]),\n );\n\n React.useEffect(() => {\n if (orgDetailData?.getOrganizationDetail) setOrganizationDetail(orgDetailData?.getOrganizationDetail);\n }, [orgDetailData?.getOrganizationDetail]);\n\n // const goToOrganization = React.useCallback((orgName: any) => {\n // setOpen(false);\n // setLocationChange({ configurableRoutes: appConfiguredRoutes, orgName: orgName });\n // navigation.reset({\n // index: 0,\n // routes: [\n // {\n // name: 'MainStack.Layout.Home',\n // params: { orgName: orgName },\n // },\n // ],\n // });\n // }, []);\n\n const goToOrganization = React.useCallback((orgName: any) => {\n setOpen(false);\n const currentRoute = navigation?.getCurrentRoute();\n const currParams = {\n ...(currentRoute.params || {}),\n orgName: orgName,\n };\n dispatch({\n type: LOCATION_CHANGE_SUCCESS,\n payload: {\n currentRoute: {\n path: currentRoute?.name ?? null,\n params: currParams,\n },\n previousRoute: {\n path: currentRoute?.name ?? null,\n params: currentRoute.params,\n },\n },\n });\n navigation.dispatch(StackActions.push('MainStack', { screen: NavigationRoutes.Home, params: { orgName } }));\n }, []);\n\n const addWorkSpace = React.useCallback(() => {\n setOpen(false);\n // navigation?.navigate('MainStack', { screen: NavigationRoutes.AddWorkSpace, params: { orgName } });\n navigation?.navigate(NavigationRoutes.AddWorkSpace, { orgName });\n }, [orgName]);\n\n const renderWorkspaces = ({ item: o, index: i }: any) => {\n const title = o?.title ?? o.name;\n const matches: any = title?.match(/\\b(\\w)/g) ?? '';\n //const acronym: any = matches?.join('')?.substring(0, 2)?.toUpperCase() ?? ''; // JSON\n const acronym: any = Array.isArray(matches) ? matches?.join('')?.substring(0, 2) : ''; // JSON\n\n return (\n <TouchableHighlight\n underlayColor={'transparent'}\n activeOpacity={0.5}\n key={i}\n onPress={() => goToOrganization(o.name)}\n style={{ marginVertical: 2 }}\n >\n <HStack\n style={{\n backgroundColor: o.name == orgName ? '#e5e7eb' : 'transparent',\n paddingVertical: 10,\n paddingHorizontal: 10,\n borderRadius: 10,\n }}\n className={`justify-between items-center w-full py-2`}\n >\n <HStack space={'md'} className=\"items-center\">\n <Button\n size={'md'}\n className=\"bg-transparent px-0 py-0 \"\n // borderRadius={'$lg'}\n // borderWidth={o.name == orgName ? '$2' : '$1'}\n // borderColor={o.name == orgName ? '#000' : '#d3d3d3'}\n >\n <Avatar\n size={'md'}\n // borderRadius={o.name == orgName ? '$none' : '$lg'}\n className={`bg-gray-200 rounded-lg ${o.name == orgName ? 'border-2' : 'border'} p-0`}\n style={{\n backgroundColor: '#e5e7eb',\n borderColor: o.name == orgName ? '#000' : '#d3d3d3',\n }}\n >\n <Text\n style={{ fontWeight: '800' }}\n className=\"font-extrabold text-black uppercase text-base\"\n >\n {acronym}\n </Text>\n </Avatar>\n\n {/* <ButtonText size=\"md\" fontWeight={'$extrabold'} color=\"$black\" style={{ fontSize: 18 }}>\n {startCase(acronym)}\n </ButtonText> */}\n </Button>\n <Text className=\"text-black font-bold\" style={{ fontSize: 16 }}>\n {title}\n </Text>\n </HStack>\n </HStack>\n </TouchableHighlight>\n );\n };\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <Box className=\"flex-1 w-full h-full px-2 pt-2\">\n {/* <StatusBar style={'dark'} /> */}\n <Box className=\"flex-1 w-full\">\n <VStack className=\"flex-1 w-full h-full absolute top-0\" space={'sm'}>\n <Heading\n className={` color-[${\n props.titleColor || settings?.navTheme == 'dark' ? 'text-white' : 'text-black'\n }]`}\n size={'lg'}\n >\n Workspaces\n </Heading>\n <FlatList\n style={{ flex: 1, paddingTop: 5, width: '100%' }}\n keyExtractor={(item, index) => String(index)}\n contentContainerStyle={{\n flexGrow: 1,\n paddingBottom: 150,\n width: '100%',\n }}\n data={\n userOrganizationsData?.getUserOrganizations &&\n userOrganizationsData?.getUserOrganizations.length > 0\n ? userOrganizationsData?.getUserOrganizations\n : []\n }\n renderItem={renderWorkspaces}\n ListEmptyComponent={() => {\n return (\n <Box className=\"bg-white py-2\">\n <VStack space=\"sm\">\n <Box className=\"px-4 py-5\">\n <Text>No Memebers found</Text>\n </Box>\n </VStack>\n </Box>\n );\n }}\n key={'workspaces-list'}\n />\n </VStack>\n <VStack className=\"flex-1 w-full bg-white absolute bottom-0\" space={'sm'}>\n <Divider className=\"w-full\" />\n {user?.accessToken && (\n <VStack space={'sm'}>\n <Button\n size={'sm'}\n variant={'solid'}\n className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200 justify-start\"\n onPress={() => addWorkSpace()}\n >\n <AntDesign color=\"black\" name=\"plus\" size={22} />\n <ButtonText className=\"pl-2\" style={{ color: 'black', fontSize: 15 }}>\n Add a workspace\n </ButtonText>\n </Button>\n <Button\n size={'sm'}\n variant={'solid'}\n className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200 justify-start\"\n >\n <Ionicons color=\"black\" name=\"settings-outline\" size={22} />\n <ButtonText className=\"pl-2\" style={{ color: 'black', fontSize: 15 }}>\n Preferences\n </ButtonText>\n </Button>\n <Button\n size={'sm'}\n variant={'solid'}\n className=\"bg-transparent active:bg-gray-200 hover:bg-gray-200 justify-start\"\n >\n <Ionicons color=\"black\" name=\"help-circle-outline\" size={22} />\n <ButtonText className=\"pl-2\" style={{ color: 'black', fontSize: 15 }}>\n Help\n </ButtonText>\n </Button>\n </VStack>\n )}\n </VStack>\n </Box>\n </Box>\n </SafeAreaView>\n );\n};\n\nconst WorkSpaceDrawer = (props: any) => {\n const navigation = useNavigation<any>();\n const user: any = useSelector(userSelector);\n const settings = useSelector<any>((state) => state.settings, shallowEqual) as any;\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <Box className=\"flex-1 w-full\">\n {user && user?.accessToken ? <WorkSpaceDrawerComponent {...props} /> : <></>}\n </Box>\n </SafeAreaView>\n );\n};\n\nexport default React.memo(WorkSpaceDrawer);\n"],"names":["React","orgName","LOCATION_CHANGE_SUCCESS"],"mappings":"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"}
|
package/lib/compute.js
CHANGED
|
@@ -188,7 +188,7 @@ const slackUiPageStore = [{
|
|
|
188
188
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Profile/ProfileScreen.js",
|
|
189
189
|
hasComponent: true,
|
|
190
190
|
queries: {
|
|
191
|
-
|
|
191
|
+
UserByIdDocument: "{}"
|
|
192
192
|
}
|
|
193
193
|
}, {
|
|
194
194
|
key: "search",
|
|
@@ -292,8 +292,8 @@ const slackUiPageStore = [{
|
|
|
292
292
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Organization/AddWorkspace.js",
|
|
293
293
|
hasComponent: true,
|
|
294
294
|
queries: {
|
|
295
|
-
|
|
296
|
-
|
|
295
|
+
OrganizationDetailDocument: "{}",
|
|
296
|
+
UserOrganizationsDocument: "{userId: params.userId}"
|
|
297
297
|
}
|
|
298
298
|
}, {
|
|
299
299
|
key: "createorganization",
|
|
@@ -348,7 +348,10 @@ const slackUiPageStore = [{
|
|
|
348
348
|
}
|
|
349
349
|
},
|
|
350
350
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Organization/InviteOrganizationMembers.js",
|
|
351
|
-
hasComponent: true
|
|
351
|
+
hasComponent: true,
|
|
352
|
+
queries: {
|
|
353
|
+
OrganizationSharableLinkDocument: "{}"
|
|
354
|
+
}
|
|
352
355
|
}, {
|
|
353
356
|
key: "initializeorgchannel",
|
|
354
357
|
path: "/:orgName/initializeorgchannel",
|
|
@@ -402,7 +405,11 @@ const slackUiPageStore = [{
|
|
|
402
405
|
}
|
|
403
406
|
},
|
|
404
407
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Organization/InitialChannelOnboarding.js",
|
|
405
|
-
hasComponent: true
|
|
408
|
+
hasComponent: true,
|
|
409
|
+
queries: {
|
|
410
|
+
OrganizationDetailDocument: "{}",
|
|
411
|
+
ChannelDetailDocument: "{}"
|
|
412
|
+
}
|
|
406
413
|
}, {
|
|
407
414
|
key: "channels",
|
|
408
415
|
path: "/:orgName/channels",
|
|
@@ -424,7 +431,7 @@ const slackUiPageStore = [{
|
|
|
424
431
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Channels/Channels.js",
|
|
425
432
|
hasComponent: true,
|
|
426
433
|
queries: {
|
|
427
|
-
|
|
434
|
+
ChannelsDocument: "{}"
|
|
428
435
|
}
|
|
429
436
|
}, {
|
|
430
437
|
key: "addchannel",
|
|
@@ -511,9 +518,9 @@ const slackUiPageStore = [{
|
|
|
511
518
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Peoples/AddPeople.js",
|
|
512
519
|
hasComponent: true,
|
|
513
520
|
queries: {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
521
|
+
OrganizationMembersDocument: "{}",
|
|
522
|
+
ChannelDetailDocument: "{}",
|
|
523
|
+
ChannelsDocument: "{criteria: {orgName: params.orgName,type: DIRECT}}"
|
|
517
524
|
}
|
|
518
525
|
}, {
|
|
519
526
|
key: "addpeoplebyemail",
|
|
@@ -529,8 +536,8 @@ const slackUiPageStore = [{
|
|
|
529
536
|
orgName: null
|
|
530
537
|
},
|
|
531
538
|
options: {
|
|
532
|
-
|
|
533
|
-
|
|
539
|
+
animation: "slide_from_bottom",
|
|
540
|
+
animationDuration: 50,
|
|
534
541
|
headerTitleAlign: "left",
|
|
535
542
|
title: "Add by Email",
|
|
536
543
|
headerShown: true,
|
|
@@ -557,8 +564,8 @@ const slackUiPageStore = [{
|
|
|
557
564
|
orgName: null
|
|
558
565
|
},
|
|
559
566
|
options: {
|
|
560
|
-
|
|
561
|
-
|
|
567
|
+
animation: "slide_from_bottom",
|
|
568
|
+
animationDuration: 50,
|
|
562
569
|
headerTitleAlign: "left",
|
|
563
570
|
title: "Add teammates",
|
|
564
571
|
headerShown: true,
|
|
@@ -572,7 +579,7 @@ const slackUiPageStore = [{
|
|
|
572
579
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Peoples/AddFromContacts.js",
|
|
573
580
|
hasComponent: true,
|
|
574
581
|
queries: {
|
|
575
|
-
|
|
582
|
+
OrganizationSharableLinkDocument: "{}"
|
|
576
583
|
}
|
|
577
584
|
}, {
|
|
578
585
|
key: "searchchannelpeople",
|
|
@@ -602,7 +609,8 @@ const slackUiPageStore = [{
|
|
|
602
609
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Search/SearchChannelPeople.js",
|
|
603
610
|
hasComponent: true,
|
|
604
611
|
queries: {
|
|
605
|
-
|
|
612
|
+
ChannelsDocument: "{criteria: {orgName: params.orgName,type: params.type},limit: 25}",
|
|
613
|
+
OrganizationMembersDocument: "{}"
|
|
606
614
|
}
|
|
607
615
|
}, {
|
|
608
616
|
key: "teams",
|
|
@@ -641,10 +649,7 @@ const slackUiPageStore = [{
|
|
|
641
649
|
}
|
|
642
650
|
},
|
|
643
651
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Teams/Teams.js",
|
|
644
|
-
hasComponent: true
|
|
645
|
-
queries: {
|
|
646
|
-
GetOrganizationTeamsDocument: "{orgName: params.orgName}"
|
|
647
|
-
}
|
|
652
|
+
hasComponent: true
|
|
648
653
|
}, {
|
|
649
654
|
key: "teamview",
|
|
650
655
|
path: "/:orgName/teamview",
|
|
@@ -739,7 +744,10 @@ const slackUiPageStore = [{
|
|
|
739
744
|
}
|
|
740
745
|
},
|
|
741
746
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Peoples/People.js",
|
|
742
|
-
hasComponent: true
|
|
747
|
+
hasComponent: true,
|
|
748
|
+
queries: {
|
|
749
|
+
AllUsersDocument: "{}"
|
|
750
|
+
}
|
|
743
751
|
}, {
|
|
744
752
|
key: "inboxdialogmessage",
|
|
745
753
|
path: "/:orgName/inbox/dialogmessage",
|
|
@@ -805,7 +813,7 @@ const slackUiPageStore = [{
|
|
|
805
813
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Inbox/InboxChannelDetail.js",
|
|
806
814
|
hasComponent: true,
|
|
807
815
|
queries: {
|
|
808
|
-
|
|
816
|
+
ChannelDetailDocument: "{}"
|
|
809
817
|
}
|
|
810
818
|
}, {
|
|
811
819
|
key: "searchaddchannel",
|
|
@@ -824,7 +832,8 @@ const slackUiPageStore = [{
|
|
|
824
832
|
},
|
|
825
833
|
options: {
|
|
826
834
|
title: "New Message",
|
|
827
|
-
|
|
835
|
+
animation: "slide_from_bottom",
|
|
836
|
+
animationDuration: 50,
|
|
828
837
|
headerTitleAlign: "left",
|
|
829
838
|
headerShown: true,
|
|
830
839
|
headerBackTitleVisible: false,
|
|
@@ -839,7 +848,7 @@ const slackUiPageStore = [{
|
|
|
839
848
|
componentPath: "@messenger-box/slack-ui-mobile/lib/screens/Search/SearchAddChannel.js",
|
|
840
849
|
hasComponent: true,
|
|
841
850
|
queries: {
|
|
842
|
-
|
|
851
|
+
OrganizationMembersWithChannelsDocument: "{}"
|
|
843
852
|
}
|
|
844
853
|
}, {
|
|
845
854
|
key: "threads",
|