76 lines
2.2 KiB
JavaScript
76 lines
2.2 KiB
JavaScript
import React, { useEffect } from 'react';
|
|||
import PropTypes from 'prop-types';
|
|||
import { connect } from 'react-redux';
|
|||
|
|||
import * as List from '../containers/List';
|
|||
import StatusBar from '../containers/StatusBar';
|
|||
import { useTheme } from '../theme';
|
|||
import * as HeaderButton from '../containers/HeaderButton';
|
|||
import SafeAreaView from '../containers/SafeAreaView';
|
|||
import I18n from '../i18n';
|
|||
|
|||
const setHeader = (navigation, isMasterDetail) => {
|
|||
const options = {
|
|||
headerTitle: I18n.t('Add_Channel_to_Team')
|
|||
};
|
|||
|
|||
if (isMasterDetail) {
|
|||
options.headerLeft = () => <HeaderButton.CloseModal navigation={navigation} />;
|
|||
}
|
|||
|
|||
navigation.setOptions(options);
|
|||
};
|
|||
|
|||
const AddChannelTeamView = ({
|
|||
navigation, route, isMasterDetail
|
|||
}) => {
|
|||
const { teamId, teamChannels } = route.params;
|
|||
const { theme } = useTheme();
|
|||
|
|||
useEffect(() => {
|
|||
setHeader(navigation, isMasterDetail);
|
|||
}, []);
|
|||
|
|||
return (
|
|||
<SafeAreaView testID='add-channel-team-view'>
|
|||
<StatusBar />
|
|||
<List.Container>
|
|||
<List.Separator />
|
|||
<List.Item
|
|||
title='Create_New'
|
|||
onPress={() => (isMasterDetail
|
|||
? navigation.navigate('SelectedUsersViewCreateChannel', { nextAction: () => navigation.navigate('CreateChannelView', { teamId }) })
|
|||
: navigation.navigate('SelectedUsersView', { nextAction: () => navigation.navigate('ChatsStackNavigator', { screen: 'CreateChannelView', params: { teamId } }) }))
|
|||
}
|
|||
testID='add-channel-team-view-create-channel'
|
|||
left={() => <List.Icon name='team' />}
|
|||
right={() => <List.Icon name='chevron-right' />}
|
|||
theme={theme}
|
|||
/>
|
|||
<List.Separator />
|
|||
<List.Item
|
|||
title='Add_Existing'
|
|||
onPress={() => navigation.navigate('AddExistingChannelView', { teamId, teamChannels })}
|
|||
testID='add-channel-team-view-add-existing'
|
|||
left={() => <List.Icon name='channel-public' />}
|
|||
right={() => <List.Icon name='chevron-right' />}
|
|||
theme={theme}
|
|||
/>
|
|||
<List.Separator />
|
|||
</List.Container>
|
|||
</SafeAreaView>
|
|||
);
|
|||
};
|
|||
|
|||
AddChannelTeamView.propTypes = {
|
|||
route: PropTypes.object,
|
|||
navigation: PropTypes.object,
|
|||
isMasterDetail: PropTypes.bool
|
|||
};
|
|||
|
|||
const mapStateToProps = state => ({
|
|||
isMasterDetail: state.app.isMasterDetail
|
|||
});
|
|||
|
|||
export default connect(mapStateToProps)(AddChannelTeamView);
|