diff --git a/android/app/src/main/res/drawable-hdpi/hashtag.png b/android/app/src/main/res/drawable-hdpi/hashtag.png new file mode 100644 index 000000000..946eae134 Binary files /dev/null and b/android/app/src/main/res/drawable-hdpi/hashtag.png differ diff --git a/android/app/src/main/res/drawable-hdpi/lock.png b/android/app/src/main/res/drawable-hdpi/lock.png new file mode 100644 index 000000000..60f2bc365 Binary files /dev/null and b/android/app/src/main/res/drawable-hdpi/lock.png differ diff --git a/android/app/src/main/res/drawable-hdpi/mention.png b/android/app/src/main/res/drawable-hdpi/mention.png new file mode 100644 index 000000000..637ac5dc3 Binary files /dev/null and b/android/app/src/main/res/drawable-hdpi/mention.png differ diff --git a/android/app/src/main/res/drawable-mdpi/hashtag.png b/android/app/src/main/res/drawable-mdpi/hashtag.png new file mode 100644 index 000000000..890f02c73 Binary files /dev/null and b/android/app/src/main/res/drawable-mdpi/hashtag.png differ diff --git a/android/app/src/main/res/drawable-mdpi/lock.png b/android/app/src/main/res/drawable-mdpi/lock.png new file mode 100644 index 000000000..f0d911fdb Binary files /dev/null and b/android/app/src/main/res/drawable-mdpi/lock.png differ diff --git a/android/app/src/main/res/drawable-mdpi/mention.png b/android/app/src/main/res/drawable-mdpi/mention.png new file mode 100644 index 000000000..4455b43e8 Binary files /dev/null and b/android/app/src/main/res/drawable-mdpi/mention.png differ diff --git a/android/app/src/main/res/drawable-xhdpi/hashtag.png b/android/app/src/main/res/drawable-xhdpi/hashtag.png new file mode 100644 index 000000000..70a5b3f63 Binary files /dev/null and b/android/app/src/main/res/drawable-xhdpi/hashtag.png differ diff --git a/android/app/src/main/res/drawable-xhdpi/lock.png b/android/app/src/main/res/drawable-xhdpi/lock.png new file mode 100644 index 000000000..7522c4515 Binary files /dev/null and b/android/app/src/main/res/drawable-xhdpi/lock.png differ diff --git a/android/app/src/main/res/drawable-xhdpi/mention.png b/android/app/src/main/res/drawable-xhdpi/mention.png new file mode 100644 index 000000000..1f51d42fe Binary files /dev/null and b/android/app/src/main/res/drawable-xhdpi/mention.png differ diff --git a/android/app/src/main/res/drawable-xxhdpi/hashtag.png b/android/app/src/main/res/drawable-xxhdpi/hashtag.png new file mode 100644 index 000000000..8017c8263 Binary files /dev/null and b/android/app/src/main/res/drawable-xxhdpi/hashtag.png differ diff --git a/android/app/src/main/res/drawable-xxhdpi/lock.png b/android/app/src/main/res/drawable-xxhdpi/lock.png new file mode 100644 index 000000000..72797f881 Binary files /dev/null and b/android/app/src/main/res/drawable-xxhdpi/lock.png differ diff --git a/android/app/src/main/res/drawable-xxhdpi/mention.png b/android/app/src/main/res/drawable-xxhdpi/mention.png new file mode 100644 index 000000000..29defc2cd Binary files /dev/null and b/android/app/src/main/res/drawable-xxhdpi/mention.png differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/hashtag.png b/android/app/src/main/res/drawable-xxxhdpi/hashtag.png new file mode 100644 index 000000000..1a88b82f1 Binary files /dev/null and b/android/app/src/main/res/drawable-xxxhdpi/hashtag.png differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/lock.png b/android/app/src/main/res/drawable-xxxhdpi/lock.png new file mode 100644 index 000000000..e4931fe5b Binary files /dev/null and b/android/app/src/main/res/drawable-xxxhdpi/lock.png differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/mention.png b/android/app/src/main/res/drawable-xxxhdpi/mention.png new file mode 100644 index 000000000..14b2374d4 Binary files /dev/null and b/android/app/src/main/res/drawable-xxxhdpi/mention.png differ diff --git a/app/containers/RoomTypeIcon.js b/app/containers/RoomTypeIcon.js index 0d843eef7..0eb6175bb 100644 --- a/app/containers/RoomTypeIcon.js +++ b/app/containers/RoomTypeIcon.js @@ -15,9 +15,9 @@ const RoomTypeIcon = ({ type, size, style }) => { } if (type === 'c') { - return ; + return ; } - return ; + return ; }; RoomTypeIcon.propTypes = { diff --git a/app/containers/Typing.js b/app/containers/Typing.js deleted file mode 100644 index 10836a1d7..000000000 --- a/app/containers/Typing.js +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { - View, StyleSheet, Text, Keyboard, LayoutAnimation -} from 'react-native'; -import { connect } from 'react-redux'; -import I18n from '../i18n'; - -const styles = StyleSheet.create({ - typing: { - transform: [{ scaleY: -1 }], - fontWeight: 'bold', - paddingHorizontal: 15, - height: 25 - }, - emptySpace: { - height: 5 - } -}); - -@connect(state => ({ - username: state.login.user && state.login.user.username, - usersTyping: state.room.usersTyping -})) -export default class Typing extends React.Component { - shouldComponentUpdate(nextProps) { - const { usersTyping } = this.props; - return usersTyping.join() !== nextProps.usersTyping.join(); - } - - componentWillUpdate() { - LayoutAnimation.easeInEaseOut(); - } - - onPress = () => { - Keyboard.dismiss(); - } - - get usersTyping() { - const { usersTyping, username } = this.props; - const users = usersTyping.filter(_username => username !== _username); - return users.length ? `${ users.join(', ') } ${ users.length > 1 ? I18n.t('are_typing') : I18n.t('is_typing') }` : ''; - } - - render() { - const { usersTyping } = this; - - if (!usersTyping) { - return ; - } - - return ( this.onPress()}>{usersTyping}); - } -} - - -Typing.propTypes = { - username: PropTypes.string, - usersTyping: PropTypes.array -}; diff --git a/app/sagas/messages.js b/app/sagas/messages.js index c244960bc..01bda80c2 100644 --- a/app/sagas/messages.js +++ b/app/sagas/messages.js @@ -75,20 +75,13 @@ const handleTogglePinRequest = function* handleTogglePinRequest({ message }) { } }; -const goRoom = function* goRoom({ rid, name }) { +const goRoom = function* goRoom({ rid }) { yield Navigation.popToRoot('RoomsListView'); Navigation.push('RoomsListView', { component: { name: 'RoomView', passProps: { rid - }, - options: { - topBar: { - title: { - text: name - } - } } } }); @@ -99,10 +92,10 @@ const handleReplyBroadcast = function* handleReplyBroadcast({ message }) { const { username } = message.u; const subscriptions = database.objects('subscriptions').filtered('name = $0', username); if (subscriptions.length) { - yield goRoom({ rid: subscriptions[0].rid, name: subscriptions[0].name }); + yield goRoom({ rid: subscriptions[0].rid }); } else { const room = yield RocketChat.createDirectMessage(username); - yield goRoom({ rid: room.rid, name: username }); + yield goRoom({ rid: room.rid }); } yield delay(500); yield put(replyInit(message, false)); diff --git a/app/views/CreateChannelView.js b/app/views/CreateChannelView.js index 41f6f76cf..be205630a 100644 --- a/app/views/CreateChannelView.js +++ b/app/views/CreateChannelView.js @@ -125,20 +125,13 @@ export default class CreateChannelView extends LoggedView { const msg = error.reason || I18n.t('There_was_an_error_while_action', { action: I18n.t('creating_channel') }); showErrorAlert(msg); } else { - const { rid, name } = result; + const { rid } = result; await Navigation.dismissModal(componentId); Navigation.push('RoomsListView', { component: { name: 'RoomView', passProps: { rid - }, - options: { - topBar: { - title: { - text: name - } - } } } }); diff --git a/app/views/RoomMembersView/index.js b/app/views/RoomMembersView/index.js index b33d6da0d..abfba5553 100644 --- a/app/views/RoomMembersView/index.js +++ b/app/views/RoomMembersView/index.js @@ -115,10 +115,10 @@ export default class RoomMembersView extends LoggedView { try { const subscriptions = database.objects('subscriptions').filtered('name = $0', item.username); if (subscriptions.length) { - this.goRoom({ rid: subscriptions[0].rid, name: subscriptions[0].name }); + this.goRoom({ rid: subscriptions[0].rid }); } else { const room = await RocketChat.createDirectMessage(item.username); - this.goRoom({ rid: room.rid, name: item.username }); + this.goRoom({ rid: room.rid }); } } catch (e) { log('onPressUser', e); @@ -152,7 +152,7 @@ export default class RoomMembersView extends LoggedView { await this.setState({ room }); } - goRoom = async({ rid, name }) => { + goRoom = async({ rid }) => { const { componentId } = this.props; await Navigation.popToRoot(componentId); Navigation.push('RoomsListView', { @@ -160,13 +160,6 @@ export default class RoomMembersView extends LoggedView { name: 'RoomView', passProps: { rid - }, - options: { - topBar: { - title: { - text: name - } - } } } }); diff --git a/app/views/RoomView/Header/index.js b/app/views/RoomView/Header/index.js new file mode 100644 index 000000000..e7888bd9b --- /dev/null +++ b/app/views/RoomView/Header/index.js @@ -0,0 +1,162 @@ +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; +import { + View, Text, StyleSheet, Image, Platform, LayoutAnimation +} from 'react-native'; +import { connect } from 'react-redux'; +import { responsive } from 'react-native-responsive-ui'; +import equal from 'deep-equal'; + +import I18n from '../../../i18n'; +import { STATUS_COLORS } from '../../../constants/colors'; + +const isIOS = () => Platform.OS === 'ios'; +const TITLE_SIZE = 18; +const ICON_SIZE = 16; +const styles = StyleSheet.create({ + container: { + justifyContent: 'center', + backgroundColor: isIOS() ? 'transparent' : '#2F343D', + height: 44 + }, + titleContainer: { + flexDirection: 'row', + alignItems: 'center' + }, + title: { + color: isIOS() ? '#0C0D0F' : '#fff', + fontSize: TITLE_SIZE, + fontWeight: '500' + }, + type: { + width: ICON_SIZE, + height: ICON_SIZE, + marginRight: 5, + tintColor: isIOS() ? '#9EA2A8' : '#fff' + }, + typing: { + color: isIOS() ? '#9EA2A8' : '#fff', + fontSize: 12 + }, + typingUsers: { + fontWeight: '600' + }, + alignItemsFlexStart: { + alignItems: 'flex-start' + }, + alignItemsCenter: { + alignItems: 'center' + } +}); + +@responsive +@connect((state) => { + let status = ''; + let title = ''; + if (state.room.t === 'd') { + const { id: loggedUserId } = state.login.user; + const userId = state.room.rid.replace(loggedUserId, '').trim(); + if (userId === loggedUserId) { + status = state.login.user.status; // eslint-disable-line + } else { + const user = state.activeUsers[userId]; + status = (user && user.status) || 'offline'; + } + title = state.settings.UI_Use_Real_Name ? state.room.fname : state.room.name; + } else { + title = state.room.name; + } + + const { username } = state.login.user; + const { usersTyping } = state.room; + const otherUsersTyping = usersTyping.filter(_username => _username !== username); + + return { + usersTyping: otherUsersTyping, + type: state.room.t, + title, + status + }; +}) +export default class RoomHeaderView extends PureComponent { + static propTypes = { + title: PropTypes.string, + type: PropTypes.string, + window: PropTypes.object, + usersTyping: PropTypes.array, + status: PropTypes.string + }; + + componentDidUpdate(prevProps) { + const { usersTyping } = this.props; + if (!equal(prevProps.usersTyping, usersTyping)) { + LayoutAnimation.easeInEaseOut(); + } + } + + get typing() { + const { usersTyping } = this.props; + let usersText; + if (!usersTyping.length) { + return null; + } else if (usersTyping.length === 2) { + usersText = usersTyping.join(` ${ I18n.t('and') } `); + } else { + usersText = usersTyping.join(', '); + } + return ( + + {usersText} + { usersTyping.length > 1 ? I18n.t('are_typing') : I18n.t('is_typing') } + + ); + } + + render() { + const { + window, title, type, status, usersTyping + } = this.props; + const icon = { + d: 'mention', + c: 'hashtag' + }[type] || 'lock'; + const portrait = window.height > window.width; + let height = 44; + let scale = 1; + + if (!portrait) { + if (isIOS()) { + height = 32; + } + if (usersTyping.length > 0) { + scale = 0.8; + } + } + + return ( + + + + {title} + + {this.typing} + + ); + } +} diff --git a/app/views/RoomView/ListView.js b/app/views/RoomView/ListView.js index 553584f31..a30fc01a6 100644 --- a/app/views/RoomView/ListView.js +++ b/app/views/RoomView/ListView.js @@ -7,7 +7,6 @@ import PropTypes from 'prop-types'; import Separator from './Separator'; import styles from './styles'; -import Typing from '../../containers/Typing'; import database from '../../lib/realm'; import scrollPersistTaps from '../../utils/scrollPersistTaps'; import throttle from '../../utils/throttle'; @@ -79,7 +78,6 @@ export class List extends React.Component { keyExtractor={item => item._id} onEndReachedThreshold={100} renderFooter={renderFooter} - renderHeader={() => } onEndReached={() => onEndReached(this.data[this.data.length - 1])} dataSource={this.dataSource} renderRow={(item, previousItem) => renderRow(item, previousItem)} diff --git a/app/views/RoomView/index.js b/app/views/RoomView/index.js index 3ef12f9ad..ac66983de 100644 --- a/app/views/RoomView/index.js +++ b/app/views/RoomView/index.js @@ -51,6 +51,13 @@ export default class RoomView extends LoggedView { static options() { return { topBar: { + animate: true, + title: { + component: { + name: 'RoomHeaderView', + alignment: 'fill' + } + }, rightButtons: [{ id: 'more', testID: 'room-view-header-actions', @@ -224,22 +231,14 @@ export default class RoomView extends LoggedView { } updateRoom = () => { - const { componentId, openRoom, setLastOpen } = this.props; + const { openRoom, setLastOpen } = this.props; if (this.rooms.length > 0) { const { room: prevRoom } = this.state; const room = JSON.parse(JSON.stringify(this.rooms[0] || {})); - LayoutAnimation.easeInEaseOut(); this.internalSetState({ room }); if (!prevRoom.rid) { - Navigation.mergeOptions(componentId, { - topBar: { - title: { - text: room.name - } - } - }); openRoom({ ...room }); diff --git a/app/views/RoomsListView/index.js b/app/views/RoomsListView/index.js index b1838a8fb..244b72c1e 100644 --- a/app/views/RoomsListView/index.js +++ b/app/views/RoomsListView/index.js @@ -378,19 +378,12 @@ export default class RoomsListView extends LoggedView { }); } - goRoom = (rid, name) => { + goRoom = (rid) => { Navigation.push('RoomsListView', { component: { name: 'RoomView', passProps: { rid - }, - options: { - topBar: { - title: { - text: name - } - } } } }); @@ -399,8 +392,8 @@ export default class RoomsListView extends LoggedView { _onPressItem = async(item = {}) => { if (!item.search) { - const { rid, name } = item; - return this.goRoom(rid, name); + const { rid } = item; + return this.goRoom(rid); } if (item.t === 'd') { // if user is using the search we need first to join/create room @@ -408,13 +401,13 @@ export default class RoomsListView extends LoggedView { const { username } = item; const sub = await RocketChat.createDirectMessage(username); const { rid } = sub; - return this.goRoom(rid, username); + return this.goRoom(rid); } catch (e) { log('RoomsListView._onPressItem', e); } } else { - const { rid, name } = item; - return this.goRoom(rid, name); + const { rid } = item; + return this.goRoom(rid); } } diff --git a/app/views/index.js b/app/views/index.js index 8fe13234f..e84fc69ff 100644 --- a/app/views/index.js +++ b/app/views/index.js @@ -7,6 +7,7 @@ import ProfileView from './ProfileView'; import RoomsListHeaderView from './RoomsListView/Header'; import RoomsListView from './RoomsListView'; import RoomView from './RoomView'; +import RoomHeaderView from './RoomView/Header'; import SettingsView from './SettingsView'; import Sidebar from '../containers/Sidebar'; @@ -16,6 +17,7 @@ export const registerScreens = (store) => { Navigation.registerComponentWithRedux('RoomsListHeaderView', () => RoomsListHeaderView, Provider, store); Navigation.registerComponentWithRedux('RoomsListView', () => gestureHandlerRootHOC(RoomsListView), Provider, store); Navigation.registerComponentWithRedux('RoomView', () => gestureHandlerRootHOC(RoomView), Provider, store); + Navigation.registerComponentWithRedux('RoomHeaderView', () => RoomHeaderView, Provider, store); Navigation.registerComponentWithRedux('SettingsView', () => SettingsView, Provider, store); Navigation.registerComponentWithRedux('Sidebar', () => Sidebar, Provider, store); }; diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Contents.json b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/Contents.json similarity index 63% rename from ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Contents.json rename to ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/Contents.json index 148a6e731..6eb8ad0b1 100644 --- a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Contents.json +++ b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "Cell Subscription Lock.png", + "filename" : "hashtag.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "Cell Subscription Lock@2x.png", + "filename" : "hashtag@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "Cell Subscription Lock@3x.png", + "filename" : "hashtag@3x.png", "scale" : "3x" } ], diff --git a/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag.png b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag.png new file mode 100644 index 000000000..890f02c73 Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@2x.png new file mode 100644 index 000000000..70a5b3f63 Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@2x.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@3x.png new file mode 100644 index 000000000..8017c8263 Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@3x.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Contents.json b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/Contents.json similarity index 62% rename from ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Contents.json rename to ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/Contents.json index eac29d3ff..b888030d1 100644 --- a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Contents.json +++ b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "Cell Subscription Hashtag.png", + "filename" : "lock.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "Cell Subscription Hashtag@2x.png", + "filename" : "lock@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "Cell Subscription Hashtag@3x.png", + "filename" : "lock@3x.png", "scale" : "3x" } ], diff --git a/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock.png b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock.png new file mode 100644 index 000000000..f0d911fdb Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock@2x.png new file mode 100644 index 000000000..7522c4515 Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock@2x.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock@3x.png new file mode 100644 index 000000000..72797f881 Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock@3x.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/Contents.json b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/Contents.json new file mode 100644 index 000000000..059ff5a46 --- /dev/null +++ b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "mention.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "mention@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "mention@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention.png b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention.png new file mode 100644 index 000000000..4455b43e8 Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@2x.png new file mode 100644 index 000000000..1f51d42fe Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@2x.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@3x.png new file mode 100644 index 000000000..29defc2cd Binary files /dev/null and b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@3x.png differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag.png deleted file mode 100644 index 749534051..000000000 Binary files a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag.png and /dev/null differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@2x.png deleted file mode 100644 index 56e7b8cbf..000000000 Binary files a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@2x.png and /dev/null differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@3x.png deleted file mode 100644 index 59983e226..000000000 Binary files a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@3x.png and /dev/null differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock.png deleted file mode 100644 index 95368bae6..000000000 Binary files a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock.png and /dev/null differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@2x.png deleted file mode 100644 index 7a0dd92ce..000000000 Binary files a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@2x.png and /dev/null differ diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@3x.png deleted file mode 100644 index 060a2b03a..000000000 Binary files a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@3x.png and /dev/null differ