From 91f87e075487ae4f233c3346b7631fe5989acdc1 Mon Sep 17 00:00:00 2001 From: harshil Sharma Date: Fri, 20 Oct 2023 17:18:14 +0530 Subject: [PATCH] WIP --- .../convert_gm_to_channel.tsx | 3 ++- .../convert_gm_to_channel_form.tsx | 1 + .../convert_gm_to_channel/team_selector.tsx | 12 ++++++--- .../team_selector_list/team_selector_list.tsx | 25 ++++++++++++------- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/app/screens/convert_gm_to_channel/convert_gm_to_channel.tsx b/app/screens/convert_gm_to_channel/convert_gm_to_channel.tsx index 5f720f3b3..ec6fd3f04 100644 --- a/app/screens/convert_gm_to_channel/convert_gm_to_channel.tsx +++ b/app/screens/convert_gm_to_channel/convert_gm_to_channel.tsx @@ -8,6 +8,7 @@ import {useServerUrl} from '@app/context/server'; import {ConvertGMToChannelForm} from './convert_gm_to_channel_form'; import {Loader} from './loader'; +import { logDebug } from '@app/utils/log'; type Props = { channelId: string; @@ -39,7 +40,7 @@ const ConvertGMToChannel = (props: Props) => { work(); }, []); - const showLoader = !loadingAnimationTimeout && !commonTeamsFetched; + const showLoader = !loadingAnimationTimeout || !commonTeamsFetched; if (showLoader) { return (); } diff --git a/app/screens/convert_gm_to_channel/convert_gm_to_channel_form.tsx b/app/screens/convert_gm_to_channel/convert_gm_to_channel_form.tsx index cf22e7118..19dd4feb7 100644 --- a/app/screens/convert_gm_to_channel/convert_gm_to_channel_form.tsx +++ b/app/screens/convert_gm_to_channel/convert_gm_to_channel_form.tsx @@ -12,6 +12,7 @@ import Button from '@components/button'; import {ChannelNameInput} from './channel_name_input'; import {MessageBox} from './message_box'; import {TeamSelector} from './team_selector'; +import { logDebug } from '@app/utils/log'; const getStyleFromTheme = makeStyleSheetFromTheme((theme: Theme) => { return { diff --git a/app/screens/convert_gm_to_channel/team_selector.tsx b/app/screens/convert_gm_to_channel/team_selector.tsx index 5ed08fb9d..58cad184d 100644 --- a/app/screens/convert_gm_to_channel/team_selector.tsx +++ b/app/screens/convert_gm_to_channel/team_selector.tsx @@ -1,7 +1,7 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -import React from 'react'; +import React, { useCallback, useState } from 'react'; import {useIntl} from 'react-intl'; import {Platform} from 'react-native'; @@ -36,18 +36,24 @@ export const TeamSelector = ({commonTeams}: Props) => { const placeholder = formatMessage({id: 'channel_into.convert_gm_to_channel.team_selector.placeholder', defaultMessage: 'Select a Team'}); + const [selectedTeam, setSelectedTeam] = useState(''); + + const selectTeam = useCallback((teamId: string) => { + setSelectedTeam(teamId); + }, []); + const goToTeamSelectorList = preventDoubleTap(async () => { await dismissBottomSheet(); const title = formatMessage({id: 'channel_info.convert_gm_to_channel.team_selector_list.title', defaultMessage: 'Select Team'}); - goToScreen(Screens.TEAM_SELECTOR_LIST, title, {teans: commonTeams}); + goToScreen(Screens.TEAM_SELECTOR_LIST, title, {teams: commonTeams, selectTeam}); }); return ( diff --git a/app/screens/convert_gm_to_channel/team_selector_list/team_selector_list.tsx b/app/screens/convert_gm_to_channel/team_selector_list/team_selector_list.tsx index 7249bc13d..38411cab5 100644 --- a/app/screens/convert_gm_to_channel/team_selector_list/team_selector_list.tsx +++ b/app/screens/convert_gm_to_channel/team_selector_list/team_selector_list.tsx @@ -2,7 +2,7 @@ // See LICENSE.txt for license information. import React, {useMemo} from 'react'; -import {View} from 'react-native'; +import {Text, View} from 'react-native'; import {useTheme} from '@app/context/theme'; import {changeOpacity, getKeyboardAppearanceFromTheme, makeStyleSheetFromTheme} from '@app/utils/theme'; @@ -10,20 +10,19 @@ import SearchBar from '@components/search'; const getStyleSheet = makeStyleSheetFromTheme((theme: Theme) => ({ container: { - - }, - inputContainerStyle: { - - }, - inputStyle: { - + padding: 12, }, listContainer: { }, })); -const TeamSelectorList = () => { +type Props = { + teams: Team[]; + selectTeam: (teamId: string) => void; +} + +const TeamSelectorList = ({teams, selectTeam}: Props) => { const theme = useTheme(); const styles = getStyleSheet(theme); @@ -38,7 +37,15 @@ const TeamSelectorList = () => { placeholderTextColor={color} searchIconColor={color} testID='convert_gm_to_channel_team_search_bar' + onChangeText={selectTeam} /> + + { + teams.map((team) => ( + {team.name} + )) + } + ); };