[NEW] Add/Create/Remove channel on a team (#3090)
* Added Create Team
* Added actionTypes, actions, ENG strings for Teams and updated NewMessageView
* Added createTeam sagas, createTeam reducer, new Team string and update CreateChannelView
* Remove unnecessary actionTypes, reducers and sagas, e2e tests and navigation to team view
* Minor tweaks
* Show TeamChannelsView only if joined the team
* Minor tweak
* Added AddChannelTeamView
* Added permissions, translations strings for teams, deleteTeamRoom and addTeamRooms, AddExistingChannelView, updated CreateChannelView, TeamChannelsView
* Refactor touch component and update removeRoom and deleteRoom methods
* Minor tweaks
* Minor tweaks for removing channels and addExistingChannelView
* Added missing events and fixed channels list
* Minor tweaks for refactored touch component
* Minor tweaks
* Remove unnecesary changes, update TeamChannelsView, AddExistingChannelView, AddChannelTeamView, createChannel, goRoom and Touchable
* Add screens to ModalStack, events, autoJoin, update createChannel, addRoomsToTeam and Touchable
* Minor tweak
* Update loadMessagesForRoom.js
* Updated schema, tag component, touch, AddChannelTeamView, AddExistingChannelView, ActionSheet Item
* Fix unnecessary changes
* Add i18n, update createChannel, AddExistingChannelTeamView, AddChannelTeamView, RightButton and TeamChannelsView
* Updated styles, added tag story
* Minor tweak
* Minor tweaks
* Auto-join tweak
* Minor tweaks
* Minor tweak on search
* One way to refactor :P
* Next level refactor :)
* Fix create group dm
* Refactor renderItem
* Minor bug fixes
* Fix stories
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-05-19 21:14:42 +00:00
|
|
|
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'
|
2021-05-27 20:41:33 +00:00
|
|
|
onPress={() => (isMasterDetail
|
|
|
|
? navigation.navigate('SelectedUsersViewCreateChannel', { nextAction: () => navigation.navigate('CreateChannelView', { teamId }) })
|
|
|
|
: navigation.navigate('SelectedUsersView', { nextAction: () => navigation.navigate('ChatsStackNavigator', { screen: 'CreateChannelView', params: { teamId } }) }))
|
|
|
|
}
|
[NEW] Add/Create/Remove channel on a team (#3090)
* Added Create Team
* Added actionTypes, actions, ENG strings for Teams and updated NewMessageView
* Added createTeam sagas, createTeam reducer, new Team string and update CreateChannelView
* Remove unnecessary actionTypes, reducers and sagas, e2e tests and navigation to team view
* Minor tweaks
* Show TeamChannelsView only if joined the team
* Minor tweak
* Added AddChannelTeamView
* Added permissions, translations strings for teams, deleteTeamRoom and addTeamRooms, AddExistingChannelView, updated CreateChannelView, TeamChannelsView
* Refactor touch component and update removeRoom and deleteRoom methods
* Minor tweaks
* Minor tweaks for removing channels and addExistingChannelView
* Added missing events and fixed channels list
* Minor tweaks for refactored touch component
* Minor tweaks
* Remove unnecesary changes, update TeamChannelsView, AddExistingChannelView, AddChannelTeamView, createChannel, goRoom and Touchable
* Add screens to ModalStack, events, autoJoin, update createChannel, addRoomsToTeam and Touchable
* Minor tweak
* Update loadMessagesForRoom.js
* Updated schema, tag component, touch, AddChannelTeamView, AddExistingChannelView, ActionSheet Item
* Fix unnecessary changes
* Add i18n, update createChannel, AddExistingChannelTeamView, AddChannelTeamView, RightButton and TeamChannelsView
* Updated styles, added tag story
* Minor tweak
* Minor tweaks
* Auto-join tweak
* Minor tweaks
* Minor tweak on search
* One way to refactor :P
* Next level refactor :)
* Fix create group dm
* Refactor renderItem
* Minor bug fixes
* Fix stories
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-05-19 21:14:42 +00:00
|
|
|
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-create-channel'
|
|
|
|
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);
|