Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
RocketChat
Rocket.Chat.ReactNative
Commits
70e7d0e6
Unverified
Commit
70e7d0e6
authored
Mar 25, 2022
by
Diego Mello
Committed by
GitHub
Mar 25, 2022
Browse files
Merge pull request #3965 from RocketChat/4.26.0-rc.2
Merge develop into beta for 4.26.0-rc.2
parents
062dace1
d5ac6631
Changes
8
Hide whitespace changes
Inline
Side-by-side
app/containers/HeaderButton/Common.tsx
View file @
70e7d0e6
...
...
@@ -6,20 +6,22 @@ import Container from './HeaderButtonContainer';
import
Item
from
'
./HeaderButtonItem
'
;
interface
IHeaderButtonCommon
{
navigation
:
any
;
onPress
?
():
void
;
navigation
?
:
any
;
// TODO: Evaluate proper type
onPress
?
:
()
=>
void
;
testID
?:
string
;
}
// Left
export
const
Drawer
=
React
.
memo
(({
navigation
,
testID
,
...
props
}:
Partial
<
IHeaderButtonCommon
>
)
=>
(
<
Container
left
>
<
Item
iconName
=
'hamburguer'
onPress
=
{
()
=>
navigation
.
toggleDrawer
()
}
testID
=
{
testID
}
{
...
props
}
/>
</
Container
>
));
export
const
Drawer
=
React
.
memo
(
({
navigation
,
testID
,
onPress
=
()
=>
navigation
?.
toggleDrawer
(),
...
props
}:
IHeaderButtonCommon
)
=>
(
<
Container
left
>
<
Item
iconName
=
'hamburguer'
onPress
=
{
onPress
}
testID
=
{
testID
}
{
...
props
}
/>
</
Container
>
)
);
export
const
CloseModal
=
React
.
memo
(
({
navigation
,
testID
,
onPress
=
()
=>
navigation
.
pop
(),
...
props
}:
IHeaderButtonCommon
)
=>
(
({
navigation
,
testID
,
onPress
=
()
=>
navigation
?
.
pop
(),
...
props
}:
IHeaderButtonCommon
)
=>
(
<
Container
left
>
<
Item
iconName
=
'close'
onPress
=
{
onPress
}
testID
=
{
testID
}
{
...
props
}
/>
</
Container
>
...
...
@@ -29,9 +31,9 @@ export const CloseModal = React.memo(
export
const
CancelModal
=
React
.
memo
(({
onPress
,
testID
}:
Partial
<
IHeaderButtonCommon
>
)
=>
(
<
Container
left
>
{
isIOS
?
(
<
Item
title
=
{
I18n
.
t
(
'
Cancel
'
)
}
onPress
=
{
onPress
!
}
testID
=
{
testID
}
/>
<
Item
title
=
{
I18n
.
t
(
'
Cancel
'
)
}
onPress
=
{
onPress
}
testID
=
{
testID
}
/>
)
:
(
<
Item
iconName
=
'close'
onPress
=
{
onPress
!
}
testID
=
{
testID
}
/>
<
Item
iconName
=
'close'
onPress
=
{
onPress
}
testID
=
{
testID
}
/>
)
}
</
Container
>
));
...
...
@@ -39,22 +41,24 @@ export const CancelModal = React.memo(({ onPress, testID }: Partial<IHeaderButto
// Right
export
const
More
=
React
.
memo
(({
onPress
,
testID
}:
Partial
<
IHeaderButtonCommon
>
)
=>
(
<
Container
>
<
Item
iconName
=
'kebab'
onPress
=
{
onPress
!
}
testID
=
{
testID
}
/>
<
Item
iconName
=
'kebab'
onPress
=
{
onPress
}
testID
=
{
testID
}
/>
</
Container
>
));
export
const
Download
=
React
.
memo
(({
onPress
,
testID
,
...
props
}:
Partial
<
IHeaderButtonCommon
>
)
=>
(
export
const
Download
=
React
.
memo
(({
onPress
,
testID
,
...
props
}:
IHeaderButtonCommon
)
=>
(
<
Container
>
<
Item
iconName
=
'download'
onPress
=
{
onPress
!
}
testID
=
{
testID
}
{
...
props
}
/>
<
Item
iconName
=
'download'
onPress
=
{
onPress
}
testID
=
{
testID
}
{
...
props
}
/>
</
Container
>
));
export
const
Preferences
=
React
.
memo
(({
onPress
,
testID
,
...
props
}:
Partial
<
IHeaderButtonCommon
>
)
=>
(
export
const
Preferences
=
React
.
memo
(({
onPress
,
testID
,
...
props
}:
IHeaderButtonCommon
)
=>
(
<
Container
>
<
Item
iconName
=
'settings'
onPress
=
{
onPress
!
}
testID
=
{
testID
}
{
...
props
}
/>
<
Item
iconName
=
'settings'
onPress
=
{
onPress
}
testID
=
{
testID
}
{
...
props
}
/>
</
Container
>
));
export
const
Legal
=
React
.
memo
(({
navigation
,
testID
}:
Partial
<
IHeaderButtonCommon
>
)
=>
(
<
More
onPress
=
{
()
=>
navigation
.
navigate
(
'
LegalView
'
)
}
testID
=
{
testID
}
/>
));
export
const
Legal
=
React
.
memo
(
({
navigation
,
testID
,
onPress
=
()
=>
navigation
?.
navigate
(
'
LegalView
'
)
}:
IHeaderButtonCommon
)
=>
(
<
More
onPress
=
{
onPress
}
testID
=
{
testID
}
/>
)
);
app/containers/HeaderButton/HeaderButtonContainer.tsx
View file @
70e7d0e6
...
...
@@ -2,7 +2,7 @@ import React from 'react';
import
{
StyleSheet
,
View
}
from
'
react-native
'
;
interface
IHeaderButtonContainer
{
children
:
React
.
React
Node
;
children
?
:
React
.
React
Element
|
(
React
.
ReactElement
|
null
)[]
|
null
;
left
?:
boolean
;
}
...
...
@@ -20,7 +20,7 @@ const styles = StyleSheet.create({
}
});
const
Container
=
({
children
,
left
=
false
}:
IHeaderButtonContainer
)
=>
(
const
Container
=
({
children
,
left
=
false
}:
IHeaderButtonContainer
)
:
React
.
ReactElement
=>
(
<
View
style
=
{
[
styles
.
container
,
left
?
styles
.
left
:
styles
.
right
]
}
>
{
children
}
</
View
>
);
...
...
app/containers/HeaderButton/HeaderButtonItem.tsx
View file @
70e7d0e6
...
...
@@ -3,16 +3,15 @@ import { Platform, StyleSheet, Text } from 'react-native';
import
Touchable
from
'
react-native-platform-touchable
'
;
import
{
CustomIcon
}
from
'
../../lib/Icons
'
;
import
{
with
Theme
}
from
'
../../theme
'
;
import
{
use
Theme
}
from
'
../../theme
'
;
import
{
themes
}
from
'
../../constants/colors
'
;
import
sharedStyles
from
'
../../views/Styles
'
;
interface
IHeaderButtonItem
{
title
?:
string
;
iconName
?:
string
;
onPress
:
<
T
>
(arg: T) => void;
onPress
?
:
<
T
>
(arg: T) => void;
testID?: string;
theme?: string;
badge?(): void;
}
...
...
@@ -40,19 +39,22 @@ const styles = StyleSheet.create({
}
}
);
const Item = (
{
title
,
iconName
,
onPress
,
testID
,
theme
,
badge
}
: IHeaderButtonItem) => (
<
Touchable
onPress
=
{
onPress
}
testID
=
{
testID
}
hitSlop
=
{
BUTTON_HIT_SLOP
}
style
=
{
styles
.
container
}
>
<>
{
iconName
?
(
<
CustomIcon
name
=
{
iconName
}
size
=
{
24
}
color
=
{
themes
[
theme
!
].
headerTintColor
}
/>
)
:
(
<
Text
style
=
{
[
styles
.
title
,
{
color
:
themes
[
theme
!
].
headerTintColor
}]
}
>
{
title
}
</
Text
>
)
}
{
badge
?
badge
()
:
null
}
</>
</
Touchable
>
);
const Item = (
{
title
,
iconName
,
onPress
,
testID
,
badge
}
: IHeaderButtonItem): React.ReactElement =>
{
const
{
theme
}
=
useTheme
();
return
(
<
Touchable
onPress
=
{
onPress
}
testID
=
{
testID
}
hitSlop
=
{
BUTTON_HIT_SLOP
}
style
=
{
styles
.
container
}
>
<>
{
iconName
?
(
<
CustomIcon
name
=
{
iconName
}
size
=
{
24
}
color
=
{
themes
[
theme
].
headerTintColor
}
/>
)
:
(
<
Text
style
=
{
[
styles
.
title
,
{
color
:
themes
[
theme
].
headerTintColor
}]
}
>
{
title
}
</
Text
>
)
}
{
badge
?
badge
()
:
null
}
</>
</
Touchable
>
);
}
;
Item.displayName = 'HeaderButton.Item';
export default
withTheme(
Item
)
;
export default Item;
app/containers/HeaderButton/HeaderButtonItemBadge.tsx
View file @
70e7d0e6
...
...
@@ -15,6 +15,6 @@ const styles = StyleSheet.create({
}
});
export
const
Badge
=
({
...
props
})
=>
<
UnreadBadge
{
...
props
}
style
=
{
styles
.
badgeContainer
}
small
/>;
export
const
Badge
=
({
...
props
})
:
React
.
ReactElement
=>
<
UnreadBadge
{
...
props
}
style
=
{
styles
.
badgeContainer
}
small
/>;
export
default
Badge
;
app/views/DirectoryView/index.tsx
View file @
70e7d0e6
...
...
@@ -166,16 +166,16 @@ class DirectoryView extends React.Component<IDirectoryViewProps, any> {
t
:
item
.
t
,
search
:
true
});
}
else
{
this
.
goRoom
({
rid
:
item
.
_id
,
name
:
item
.
name
,
t
:
item
.
t
,
search
:
true
,
teamMain
:
item
.
teamMain
,
teamId
:
item
.
teamId
});
}
}
else
{
this
.
goRoom
({
rid
:
item
.
_id
,
name
:
item
.
name
,
t
:
item
.
t
,
search
:
true
,
teamMain
:
item
.
teamMain
,
teamId
:
item
.
teamId
});
}
};
...
...
app/views/RoomInfoEditView/index.tsx
View file @
70e7d0e6
...
...
@@ -293,8 +293,7 @@ class RoomInfoEditView extends React.Component<IRoomInfoEditViewProps, IRoomInfo
params
.
roomAnnouncement
=
announcement
;
}
// Room Type
// This logic is strange to me, since in the code t is boolean, but room.t is string
if
(
!!
room
.
t
!==
t
)
{
if
((
room
.
t
===
SubscriptionType
.
GROUP
)
!==
t
)
{
params
.
roomType
=
t
?
'
p
'
:
'
c
'
;
}
// Read Only
...
...
package.json
View file @
70e7d0e6
...
...
@@ -165,7 +165,7 @@
"
axios
"
:
"
0.21.1
"
,
"
babel-jest
"
:
"
^27.0.6
"
,
"
babel-plugin-transform-remove-console
"
:
"
^6.9.4
"
,
"
codecov
"
:
"
3.8.
2
"
,
"
codecov
"
:
"
^
3.8.
3
"
,
"
detox
"
:
"
18.17.0
"
,
"
eslint
"
:
"
^7.31.0
"
,
"
eslint-config-prettier
"
:
"
^8.3.0
"
,
...
...
yarn.lock
View file @
70e7d0e6
...
...
@@ -6805,16 +6805,16 @@ code-point-at@^1.0.0:
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
codecov@3.8.
2
:
version "3.8.
2
"
resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.
2
.tgz#
ab24f18783998c39e809ea210af899f8dbcc790e
"
integrity sha512-
6w/kt/xvmPsWMfDFPE/T054txA9RTgcJEw36PNa6MYX+YV29jCHCRFXwbQ3QZBTOgnex1J2WP8bo2AT8TWWz9g
==
codecov@
^
3.8.
3
:
version "3.8.
3
"
resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.
3
.tgz#
9c3e364b8a700c597346ae98418d09880a3fdbe7
"
integrity sha512-
Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA
==
dependencies:
argv "0.0.2"
ignore-walk "3.0.
3
"
ignore-walk "3.0.
4
"
js-yaml "3.14.1"
teeny-request "7.
0
.1"
urlgrey "
0.4.4
"
teeny-request "7.
1
.1"
urlgrey "
1.0.0
"
collect-v8-coverage@^1.0.0:
version "1.0.1"
...
...
@@ -8803,6 +8803,13 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
fast-url-parser@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d"
integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=
dependencies:
punycode "^1.3.2"
fastq@^1.6.0:
version "1.12.0"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.12.0.tgz#ed7b6ab5d62393fb2cc591c853652a5c318bf794"
...
...
@@ -9917,10 +9924,10 @@ iferr@^0.1.5:
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
ignore-walk@3.0.
3
:
version "3.0.
3
"
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.
3
.tgz#
017e2447184bfeade7c238e4aefdd1e8f95b1e37
"
integrity sha512-
m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw
==
ignore-walk@3.0.
4
:
version "3.0.
4
"
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.
4
.tgz#
c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335
"
integrity sha512-
PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ
==
dependencies:
minimatch "^3.0.4"
...
...
@@ -14056,7 +14063,7 @@ punycode@1.3.2:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
punycode@^1.2.4, punycode@^1.4.1:
punycode@^1.2.4,
punycode@^1.3.2,
punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
...
...
@@ -16433,10 +16440,10 @@ tapable@^1.0.0, tapable@^1.1.3:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
teeny-request@7.
0
.1:
version "7.
0
.1"
resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.
0
.1.tgz#
bdd41fdffea5f8fbc0d29392cb47bec4f66b2b4c
"
integrity sha512-
sasJmQ37klOlplL4Ia/786M5YlOcoLGQyq2TE4WHSRupbAuDaQW0PfVxV4MtdBtRJ4ngzS+1qim8zP6Zp35qCw
==
teeny-request@7.
1
.1:
version "7.
1
.1"
resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.
1
.1.tgz#
2b0d156f4a8ad81de44303302ba8d7f1f05e20e6
"
integrity sha512-
iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg
==
dependencies:
http-proxy-agent "^4.0.0"
https-proxy-agent "^5.0.0"
...
...
@@ -17125,10 +17132,12 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
urlgrey@0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f"
integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=
urlgrey@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-1.0.0.tgz#72d2f904482d0b602e3c7fa599343d699bbe1017"
integrity sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==
dependencies:
fast-url-parser "^1.1.3"
use-callback-ref@^1.2.1:
version "1.2.5"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment