diff --git a/app/views/CreateChannelView.js b/app/views/CreateChannelView.js index 937a48ef..9d1e450f 100644 --- a/app/views/CreateChannelView.js +++ b/app/views/CreateChannelView.js @@ -5,6 +5,7 @@ import { View, Text, Switch, ScrollView, StyleSheet, FlatList } from 'react-native'; import { dequal } from 'dequal'; +import * as List from '../containers/List'; import TextInput from '../presentation/TextInput'; import Loading from '../containers/Loading'; @@ -31,12 +32,6 @@ const styles = StyleSheet.create({ list: { width: '100%' }, - separator: { - marginLeft: 60 - }, - formSeparator: { - marginLeft: 15 - }, input: { height: 54, paddingHorizontal: 18, @@ -264,13 +259,6 @@ class CreateChannelView extends React.Component { }); } - renderSeparator = () => - - renderFormSeparator = () => { - const { theme } = this.props; - return ; - } - renderItem = ({ item }) => { const { baseUrl, user, theme } = this.props; @@ -305,7 +293,7 @@ class CreateChannelView extends React.Component { } ]} renderItem={this.renderItem} - ItemSeparatorComponent={this.renderSeparator} + ItemSeparatorComponent={List.Separator} enableEmptySections keyboardShouldPersistTaps='always' /> @@ -341,13 +329,13 @@ class CreateChannelView extends React.Component { theme={theme} underlineColorAndroid='transparent' /> - {this.renderFormSeparator()} + {this.renderType()} - {this.renderFormSeparator()} + {this.renderReadOnly()} - {this.renderFormSeparator()} + {this.renderEncrypted()} - {this.renderFormSeparator()} + {this.renderBroadcast()} diff --git a/app/views/DirectoryView/index.js b/app/views/DirectoryView/index.js index 8be78712..afb1214f 100644 --- a/app/views/DirectoryView/index.js +++ b/app/views/DirectoryView/index.js @@ -4,6 +4,7 @@ import { View, FlatList, Text } from 'react-native'; import { connect } from 'react-redux'; +import * as List from '../../containers/List'; import Touch from '../../utils/touch'; import RocketChat from '../../lib/rocketchat'; @@ -182,11 +183,6 @@ class DirectoryView extends React.Component { ); } - renderSeparator = () => { - const { theme } = this.props; - return ; - } - renderItem = ({ item, index }) => { const { data, type } = this.state; const { baseUrl, user, theme } = this.props; @@ -251,7 +247,7 @@ class DirectoryView extends React.Component { keyExtractor={item => item._id} ListHeaderComponent={this.renderHeader} renderItem={this.renderItem} - ItemSeparatorComponent={this.renderSeparator} + ItemSeparatorComponent={List.Separator} keyboardShouldPersistTaps='always' ListFooterComponent={loading ? : null} onEndReached={() => this.load({})} diff --git a/app/views/NewMessageView.js b/app/views/NewMessageView.js index fb5890ab..31dcac51 100644 --- a/app/views/NewMessageView.js +++ b/app/views/NewMessageView.js @@ -6,6 +6,7 @@ import { import { connect } from 'react-redux'; import orderBy from 'lodash/orderBy'; import { Q } from '@nozbe/watermelondb'; +import * as List from '../containers/List'; import Touch from '../utils/touch'; import database from '../lib/database'; @@ -27,9 +28,6 @@ import { goRoom } from '../utils/goRoom'; import SafeAreaView from '../containers/SafeAreaView'; const styles = StyleSheet.create({ - separator: { - marginLeft: 60 - }, button: { height: 46, flexDirection: 'row', @@ -195,10 +193,6 @@ class NewMessageView extends React.Component { ); } - renderSeparator = () => { - const { theme } = this.props; - return ; - } renderItem = ({ item, index }) => { const { search, chats } = this.state; @@ -238,7 +232,7 @@ class NewMessageView extends React.Component { keyExtractor={item => item._id} ListHeaderComponent={this.renderHeader} renderItem={this.renderItem} - ItemSeparatorComponent={this.renderSeparator} + ItemSeparatorComponent={List.Separator} contentContainerStyle={{ backgroundColor: themes[theme].backgroundColor }} keyboardShouldPersistTaps='always' /> diff --git a/app/views/ReadReceiptView/index.js b/app/views/ReadReceiptView/index.js index 113e8936..f41d7c87 100644 --- a/app/views/ReadReceiptView/index.js +++ b/app/views/ReadReceiptView/index.js @@ -4,6 +4,7 @@ import { FlatList, View, Text } from 'react-native'; import { dequal } from 'dequal'; import moment from 'moment'; import { connect } from 'react-redux'; +import * as List from '../../containers/List'; import Avatar from '../../containers/Avatar'; import styles from './styles'; @@ -121,11 +122,6 @@ class ReadReceiptView extends React.Component { ); } - renderSeparator = () => { - const { theme } = this.props; - return ; - } - render() { const { receipts, loading } = this.state; const { theme } = this.props; @@ -143,7 +139,7 @@ class ReadReceiptView extends React.Component { this.onSearchChangeText(text)} testID='room-members-view-search' /> ) - renderSeparator = () => { - const { theme } = this.props; - return ; - } - renderItem = ({ item }) => { const { baseUrl, user, theme } = this.props; @@ -453,7 +449,7 @@ class RoomMembersView extends React.Component { renderItem={this.renderItem} style={[styles.list, { backgroundColor: themes[theme].backgroundColor }]} keyExtractor={item => item._id} - ItemSeparatorComponent={this.renderSeparator} + ItemSeparatorComponent={List.Separator} ListHeaderComponent={this.renderSearchBar} ListFooterComponent={() => { if (isLoading) { diff --git a/app/views/RoomsListView/ServerDropdown.js b/app/views/RoomsListView/ServerDropdown.js index aeef8d33..c27691af 100644 --- a/app/views/RoomsListView/ServerDropdown.js +++ b/app/views/RoomsListView/ServerDropdown.js @@ -5,6 +5,7 @@ import { import PropTypes from 'prop-types'; import { connect, batch } from 'react-redux'; import { withSafeAreaInsets } from 'react-native-safe-area-context'; +import * as List from '../../containers/List'; import { toggleServerDropdown as toggleServerDropdownAction } from '../../actions/rooms'; import { selectServerRequest as selectServerRequestAction, serverInitAdd as serverInitAddAction } from '../../actions/server'; @@ -174,11 +175,6 @@ class ServerDropdown extends Component { } } - renderSeparator = () => { - const { theme } = this.props; - return ; - } - renderServer = ({ item }) => { const { server, theme } = this.props; @@ -247,7 +243,7 @@ class ServerDropdown extends Component { data={servers} keyExtractor={item => item.id} renderItem={this.renderServer} - ItemSeparatorComponent={this.renderSeparator} + ItemSeparatorComponent={List.Separator} keyboardShouldPersistTaps='always' /> diff --git a/app/views/SelectedUsersView.js b/app/views/SelectedUsersView.js index 94d2f6b2..f9d14e16 100644 --- a/app/views/SelectedUsersView.js +++ b/app/views/SelectedUsersView.js @@ -1,9 +1,10 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { View, StyleSheet, FlatList } from 'react-native'; +import { View, FlatList } from 'react-native'; import { connect } from 'react-redux'; import orderBy from 'lodash/orderBy'; import { Q } from '@nozbe/watermelondb'; +import * as List from '../containers/List'; import database from '../lib/database'; import RocketChat from '../lib/rocketchat'; @@ -27,12 +28,6 @@ import { import { showErrorAlert } from '../utils/info'; import SafeAreaView from '../containers/SafeAreaView'; -const styles = StyleSheet.create({ - separator: { - marginLeft: 60 - } -}); - class SelectedUsersView extends React.Component { static propTypes = { baseUrl: PropTypes.string, @@ -225,11 +220,6 @@ class SelectedUsersView extends React.Component { ); } - renderSeparator = () => { - const { theme } = this.props; - return ; - } - renderItem = ({ item, index }) => { const { search, chats } = this.state; const { baseUrl, user, theme } = this.props; @@ -275,7 +265,7 @@ class SelectedUsersView extends React.Component { extraData={this.props} keyExtractor={item => item._id} renderItem={this.renderItem} - ItemSeparatorComponent={this.renderSeparator} + ItemSeparatorComponent={List.Separator} ListHeaderComponent={this.renderHeader} contentContainerStyle={{ backgroundColor: themes[theme].backgroundColor }} enableEmptySections