From 4f010e5e3704f6db113570610234276d2be307b9 Mon Sep 17 00:00:00 2001 From: Diego Mello Date: Thu, 28 May 2020 10:09:48 -0300 Subject: [PATCH] getParam --- app/stacks/InsideStack.js | 24 ++++++++++++++++++++++++ app/views/ForwardLivechatView.js | 7 +++++-- app/views/JitsiMeetView.js | 9 +++++---- app/views/LivechatEditView.js | 13 ++++++++----- app/views/RoomInfoView/index.js | 6 +++--- app/views/RoomView/Header/Icon.js | 2 +- app/views/VisitorNavigationView.js | 6 +++--- 7 files changed, 49 insertions(+), 18 deletions(-) diff --git a/app/stacks/InsideStack.js b/app/stacks/InsideStack.js index 769c5640b..188460799 100644 --- a/app/stacks/InsideStack.js +++ b/app/stacks/InsideStack.js @@ -27,6 +27,10 @@ import MessagesView from '../views/MessagesView'; import AutoTranslateView from '../views/AutoTranslateView'; import DirectoryView from '../views/DirectoryView'; import NotificationPrefView from '../views/NotificationPreferencesView'; +import VisitorNavigationView from '../views/VisitorNavigationView'; +import ForwardLivechatView from '../views/ForwardLivechatView'; +import LivechatEditView from '../views/LivechatEditView'; +import PickerView from '../views/PickerView'; import ThreadMessagesView from '../views/ThreadMessagesView'; import MarkdownTableView from '../views/MarkdownTableView'; import ReadReceiptsView from '../views/ReadReceiptView'; @@ -130,6 +134,26 @@ const ChatsStack = () => { component={NotificationPrefView} options={NotificationPrefView.navigationOptions} /> + + + + { +const ForwardLivechatView = ({ + forwardRoom, navigation, route, theme +}) => { const [departments, setDepartments] = useState([]); const [departmentId, setDepartment] = useState(); const [users, setUsers] = useState([]); const [userId, setUser] = useState(); const [room, setRoom] = useState(); - const rid = navigation.getParam('rid'); + const rid = route.params?.rid; const getDepartments = async() => { try { @@ -137,6 +139,7 @@ const ForwardLivechatView = ({ forwardRoom, navigation, theme }) => { ForwardLivechatView.propTypes = { forwardRoom: PropTypes.func, navigation: PropTypes.object, + route: PropTypes.object, theme: PropTypes.string }; ForwardLivechatView.navigationOptions = { diff --git a/app/views/JitsiMeetView.js b/app/views/JitsiMeetView.js index c4fd3eaae..6c0fce96a 100644 --- a/app/views/JitsiMeetView.js +++ b/app/views/JitsiMeetView.js @@ -16,6 +16,7 @@ const formatUrl = (url, baseUrl, uriSize, avatarAuthURLFragment) => ( class JitsiMeetView extends React.Component { static propTypes = { navigation: PropTypes.object, + route: PropTypes.object, baseUrl: PropTypes.string, user: PropTypes.shape({ id: PropTypes.string, @@ -27,14 +28,14 @@ class JitsiMeetView extends React.Component { constructor(props) { super(props); - this.rid = props.navigation.getParam('rid'); + this.rid = props.route.params?.rid; this.onConferenceTerminated = this.onConferenceTerminated.bind(this); this.onConferenceJoined = this.onConferenceJoined.bind(this); this.jitsiTimeout = null; } componentDidMount() { - const { navigation, user, baseUrl } = this.props; + const { route, user, baseUrl } = this.props; const { name: displayName, id: userId, token, username } = user; @@ -47,8 +48,8 @@ class JitsiMeetView extends React.Component { displayName, avatar }; - const url = navigation.getParam('url'); - const onlyAudio = navigation.getParam('onlyAudio', false); + const url = route.params?.url; + const onlyAudio = route.params?.onlyAudio ?? false; if (onlyAudio) { JitsiMeet.audioCall(url, userInfo); } else { diff --git a/app/views/LivechatEditView.js b/app/views/LivechatEditView.js index c78bcc979..363413946 100644 --- a/app/views/LivechatEditView.js +++ b/app/views/LivechatEditView.js @@ -36,15 +36,17 @@ Title.propTypes = { theme: PropTypes.string }; -const LivechatEditView = ({ user, navigation, theme }) => { +const LivechatEditView = ({ + user, navigation, route, theme +}) => { const [customFields, setCustomFields] = useState({}); const [availableUserTags, setAvailableUserTags] = useState([]); const params = {}; const inputs = {}; - const livechat = navigation.getParam('room', {}); - const visitor = navigation.getParam('roomUser', {}); + const livechat = route.params?.room ?? {}; + const visitor = route.params?.roomUser ?? {}; const getCustomFields = async() => { const result = await RocketChat.getCustomFields(); @@ -148,8 +150,8 @@ const LivechatEditView = ({ user, navigation, theme }) => { contentContainerStyle={sharedStyles.container} keyboardVerticalOffset={128} > - - + + { LivechatEditView.propTypes = { user: PropTypes.object, navigation: PropTypes.object, + route: PropTypes.object, theme: PropTypes.string }; LivechatEditView.navigationOptions = ({ diff --git a/app/views/RoomInfoView/index.js b/app/views/RoomInfoView/index.js index a6520e2d9..7576c81e2 100644 --- a/app/views/RoomInfoView/index.js +++ b/app/views/RoomInfoView/index.js @@ -83,7 +83,7 @@ class RoomInfoView extends React.Component { } const { navigation } = this.props; - this.willFocusListener = navigation.addListener('willFocus', () => { + this.willFocusListener = navigation.addListener('focus', () => { if (this.isLivechat) { this.loadVisitor(); } @@ -94,8 +94,8 @@ class RoomInfoView extends React.Component { if (this.subscription && this.subscription.unsubscribe) { this.subscription.unsubscribe(); } - if (this.willFocusListener && this.willFocusListener.remove) { - this.willFocusListener.remove(); + if (this.willFocusListener) { + this.willFocusListener(); } } diff --git a/app/views/RoomView/Header/Icon.js b/app/views/RoomView/Header/Icon.js index d47f75603..b437733f6 100644 --- a/app/views/RoomView/Header/Icon.js +++ b/app/views/RoomView/Header/Icon.js @@ -43,7 +43,7 @@ const Icon = React.memo(({ } else if (type === 'c') { icon = 'hashtag'; } else if (type === 'l') { - icon = 'livechat'; + icon = 'omnichannel'; } else if (type === 'd') { icon = 'team'; } else { diff --git a/app/views/VisitorNavigationView.js b/app/views/VisitorNavigationView.js index 4cf4f66e2..3da667699 100644 --- a/app/views/VisitorNavigationView.js +++ b/app/views/VisitorNavigationView.js @@ -37,13 +37,13 @@ Item.propTypes = { theme: PropTypes.string }; -const VisitorNavigationView = ({ navigation, theme }) => { +const VisitorNavigationView = ({ route, theme }) => { let offset; let total = 0; const [pages, setPages] = useState([]); const getPages = async() => { - const rid = navigation.getParam('rid'); + const rid = route.params?.rid; if (rid) { try { const result = await RocketChat.getPagesLivechat(rid, offset); @@ -89,7 +89,7 @@ const VisitorNavigationView = ({ navigation, theme }) => { }; VisitorNavigationView.propTypes = { theme: PropTypes.string, - navigation: PropTypes.object + route: PropTypes.object }; VisitorNavigationView.navigationOptions = { title: I18n.t('Navigation_history')