* Add Channel Info Edit options to ChannelInfo screen
Refactor CreateChannel to CreateChannel and ChannelInfo
Add EditChannel screen
add updateChannelRequest
display header option only if channel is DM or GM
Add editing prop to ChannelInfo
Add saving state to ChannelInfo
Clean up EditChannel and change saving to updating
Add channel name (url) field in EditChannel
Clean up enableRightButton logic for EditChannel
Add error handling for EditChannel fields
Remove leftButton declaration from EditChannel
Add wrapWithPreventDoubleTap to click handlers in ChannelInfo
Move channel info to parent component (CreateChannel)
Add editing support for channel info in parent component
Remove ownProps from connected components
Remove passing parent props using the spread operator
* Strip out channel url field from EditChannel
* Comment out channelUrl textInput ref
Make eslint happy
* Remove injectIntl in favor of intl context props
* Add mobile prefix to json string
* Remove unnecessary actions declaration in ChannelInfo
* Refactor creating | editing to saving
* Safe check refs when blurring in ChannelInfo
* pass channelType for displayingHeaderOnly in EditChannelInfo
* Refactor ChannelInfo component to EditChannelInfo
* pass 1to1 props instead of object
* Add required to certain props in EditChannelInfo
* Use Stylesheet for container styles
* Add InvalidPermission method when updating channel
* Clean up onDisplayNameChangeText and safe check scrollToEnd
* Add {deviceWidth, deviceHeight} from redux
* Remove style.navTitle
* Add wrapper methods for delete and leave channel
* remove alertErrorIfInvalidPermissions
* Fix mobile localization strings to use prefix mobile.-
* Add TODO for channel URL
96 lines
6.5 KiB
JavaScript
96 lines
6.5 KiB
JavaScript
// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import React from 'react';
|
|
import {Navigation} from 'react-native-navigation';
|
|
|
|
import About from 'app/screens/about';
|
|
|
|
import AddReaction from 'app/screens/add_reaction';
|
|
import AdvancedSettings from 'app/screens/settings/advanced_settings';
|
|
import Channel from 'app/screens/channel';
|
|
import ChannelAddMembers from 'app/screens/channel_add_members';
|
|
import ChannelInfo from 'app/screens/channel_info';
|
|
import EditChannel from 'app/screens/edit_channel';
|
|
import ChannelMembers from 'app/screens/channel_members';
|
|
import ChannelPeek from 'app/screens/channel_peek';
|
|
import ClientUpgrade from 'app/screens/client_upgrade';
|
|
import Code from 'app/screens/code';
|
|
import CreateChannel from 'app/screens/create_channel';
|
|
import EditPost from 'app/screens/edit_post';
|
|
import ImagePreview from 'app/screens/image_preview';
|
|
import LoadTeam from 'app/screens/load_team';
|
|
import Login from 'app/screens/login';
|
|
import LoginOptions from 'app/screens/login_options';
|
|
import Mfa from 'app/screens/mfa';
|
|
import MoreChannels from 'app/screens/more_channels';
|
|
import MoreDirectMessages from 'app/screens/more_dms';
|
|
import Notification from 'app/screens/notification';
|
|
import NotificationSettings from 'app/screens/settings/notification_settings';
|
|
import NotificationSettingsEmail from 'app/screens/settings/notification_settings_email';
|
|
import NotificationSettingsMentions from 'app/screens/settings/notification_settings_mentions';
|
|
import NotificationSettingsMentionsKeywords from 'app/screens/settings/notification_settings_mentions_keywords';
|
|
import NotificationSettingsMobile from 'app/screens/settings/notification_settings_mobile';
|
|
import OptionsModal from 'app/screens/options_modal';
|
|
import Root from 'app/screens/root';
|
|
import SSO from 'app/screens/sso';
|
|
import Search from 'app/screens/search';
|
|
import SelectServer from 'app/screens/select_server';
|
|
import SelectTeam from 'app/screens/select_team';
|
|
import Settings from 'app/screens/settings/general';
|
|
import Thread from 'app/screens/thread';
|
|
import UserProfile from 'app/screens/user_profile';
|
|
|
|
import IntlWrapper from 'app/components/root';
|
|
|
|
function wrapWithContextProvider(Comp, excludeEvents = true) {
|
|
return (props) => { //eslint-disable-line react/display-name
|
|
const {navigator} = props; //eslint-disable-line react/prop-types
|
|
return (
|
|
<IntlWrapper
|
|
navigator={navigator}
|
|
excludeEvents={excludeEvents}
|
|
>
|
|
<Comp {...props}/>
|
|
</IntlWrapper>
|
|
);
|
|
};
|
|
}
|
|
|
|
export function registerScreens(store, Provider) {
|
|
Navigation.registerComponent('About', () => wrapWithContextProvider(About), store, Provider);
|
|
Navigation.registerComponent('AddReaction', () => wrapWithContextProvider(AddReaction), store, Provider);
|
|
Navigation.registerComponent('AdvancedSettings', () => wrapWithContextProvider(AdvancedSettings), store, Provider);
|
|
Navigation.registerComponent('Channel', () => wrapWithContextProvider(Channel, false), store, Provider);
|
|
Navigation.registerComponent('ChannelAddMembers', () => wrapWithContextProvider(ChannelAddMembers), store, Provider);
|
|
Navigation.registerComponent('ChannelInfo', () => wrapWithContextProvider(ChannelInfo), store, Provider);
|
|
Navigation.registerComponent('EditChannel', () => wrapWithContextProvider(EditChannel), store, Provider);
|
|
Navigation.registerComponent('ChannelMembers', () => wrapWithContextProvider(ChannelMembers), store, Provider);
|
|
Navigation.registerComponent('ChannelPeek', () => wrapWithContextProvider(ChannelPeek), store, Provider);
|
|
Navigation.registerComponent('ClientUpgrade', () => wrapWithContextProvider(ClientUpgrade), store, Provider);
|
|
Navigation.registerComponent('Code', () => wrapWithContextProvider(Code), store, Provider);
|
|
Navigation.registerComponent('CreateChannel', () => wrapWithContextProvider(CreateChannel), store, Provider);
|
|
Navigation.registerComponent('EditPost', () => wrapWithContextProvider(EditPost), store, Provider);
|
|
Navigation.registerComponent('ImagePreview', () => wrapWithContextProvider(ImagePreview), store, Provider);
|
|
Navigation.registerComponent('LoadTeam', () => wrapWithContextProvider(LoadTeam, false), store, Provider);
|
|
Navigation.registerComponent('Login', () => wrapWithContextProvider(Login), store, Provider);
|
|
Navigation.registerComponent('LoginOptions', () => wrapWithContextProvider(LoginOptions), store, Provider);
|
|
Navigation.registerComponent('MFA', () => wrapWithContextProvider(Mfa), store, Provider);
|
|
Navigation.registerComponent('MoreChannels', () => wrapWithContextProvider(MoreChannels), store, Provider);
|
|
Navigation.registerComponent('MoreDirectMessages', () => wrapWithContextProvider(MoreDirectMessages), store, Provider);
|
|
Navigation.registerComponent('OptionsModal', () => wrapWithContextProvider(OptionsModal), store, Provider);
|
|
Navigation.registerComponent('Notification', () => wrapWithContextProvider(Notification), store, Provider);
|
|
Navigation.registerComponent('NotificationSettings', () => wrapWithContextProvider(NotificationSettings), store, Provider);
|
|
Navigation.registerComponent('NotificationSettingsEmail', () => wrapWithContextProvider(NotificationSettingsEmail), store, Provider);
|
|
Navigation.registerComponent('NotificationSettingsMentions', () => wrapWithContextProvider(NotificationSettingsMentions), store, Provider);
|
|
Navigation.registerComponent('NotificationSettingsMentionsKeywords', () => wrapWithContextProvider(NotificationSettingsMentionsKeywords), store, Provider);
|
|
Navigation.registerComponent('NotificationSettingsMobile', () => wrapWithContextProvider(NotificationSettingsMobile), store, Provider);
|
|
Navigation.registerComponent('Root', () => Root, store, Provider);
|
|
Navigation.registerComponent('Search', () => wrapWithContextProvider(Search), store, Provider);
|
|
Navigation.registerComponent('SelectServer', () => wrapWithContextProvider(SelectServer), store, Provider);
|
|
Navigation.registerComponent('SelectTeam', () => wrapWithContextProvider(SelectTeam), store, Provider);
|
|
Navigation.registerComponent('Settings', () => wrapWithContextProvider(Settings), store, Provider);
|
|
Navigation.registerComponent('SSO', () => wrapWithContextProvider(SSO), store, Provider);
|
|
Navigation.registerComponent('Thread', () => wrapWithContextProvider(Thread), store, Provider);
|
|
Navigation.registerComponent('UserProfile', () => wrapWithContextProvider(UserProfile), store, Provider);
|
|
}
|