fix(typescript) Make TS parse tsx files (#11866)

This commit is contained in:
Robert Pintilii 2022-07-18 16:16:08 +03:00 committed by GitHub
parent b259757c79
commit d8b435ad16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 146 additions and 22 deletions

View File

@ -191,7 +191,7 @@
}, },
"license": "Apache-2.0", "license": "Apache-2.0",
"scripts": { "scripts": {
"lint": "eslint --ext .js,.ts,.tsx --max-warnings 0 .", "lint": "eslint --ext .js,.ts,.tsx --max-warnings 0 . && tsc --noEmit --skipLibCheck",
"lang-sort": "./resources/lang-sort.sh", "lang-sort": "./resources/lang-sort.sh",
"lint-fix": "eslint --ext .js,.ts,.tsx --max-warnings 0 --fix .", "lint-fix": "eslint --ext .js,.ts,.tsx --max-warnings 0 --fix .",
"postinstall": "patch-package --error-on-fail && jetify", "postinstall": "patch-package --error-on-fail && jetify",

View File

@ -2,9 +2,9 @@ import React, { Fragment } from 'react';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
const BottomSheetContainer: () => JSX.Element = () => { const BottomSheetContainer: () => JSX.Element|null = (): JSX.Element|null => {
const { sheet, sheetProps } = useSelector(state => state['features/base/dialog']); const { sheet, sheetProps } = useSelector((state: any) => state['features/base/dialog']);
const { reducedUI } = useSelector(state => state['features/base/responsive-ui']); const { reducedUI } = useSelector((state: any) => state['features/base/responsive-ui']);
if (!sheet || reducedUI) { if (!sheet || reducedUI) {
return null; return null;

View File

@ -1,3 +1,4 @@
/* eslint-disable lines-around-comment */
import React from 'react'; import React from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { import {
@ -6,10 +7,13 @@ import {
TouchableRipple TouchableRipple
} from 'react-native-paper'; } from 'react-native-paper';
// @ts-ignore
import BaseTheme from '../../../ui/components/BaseTheme.native'; import BaseTheme from '../../../ui/components/BaseTheme.native';
// @ts-ignore
import { BUTTON_MODES, BUTTON_TYPES } from '../../constants'; import { BUTTON_MODES, BUTTON_TYPES } from '../../constants';
import { ButtonProps } from '../../types'; import { ButtonProps } from '../../types';
// @ts-ignore
import styles from './styles'; import styles from './styles';
@ -62,6 +66,7 @@ const Button: React.FC<ButtonProps> = ({
<TouchableRipple <TouchableRipple
accessibilityLabel = { accessibilityLabel } accessibilityLabel = { accessibilityLabel }
disabled = { disabled } disabled = { disabled }
// @ts-ignore
onPress = { onPress } onPress = { onPress }
rippleColor = 'transparent' rippleColor = 'transparent'
style = { [ style = { [
@ -72,15 +77,16 @@ const Button: React.FC<ButtonProps> = ({
style = { [ style = { [
buttonLabelStyles, buttonLabelStyles,
labelStyle labelStyle
] }>{ t(label) }</Text> ] }>{ t(label ?? '') }</Text>
</TouchableRipple> </TouchableRipple>
); );
} }
return ( return (
// @ts-ignore
<NativePaperButton <NativePaperButton
accessibilityLabel = { t(accessibilityLabel) } accessibilityLabel = { t(accessibilityLabel ?? '') }
children = { t(label) } children = { t(label ?? '') }
color = { color } color = { color }
disabled = { disabled } disabled = { disabled }
icon = { icon } icon = { icon }

View File

@ -1,11 +1,16 @@
/* eslint-disable lines-around-comment */
import React from 'react'; import React from 'react';
import { TouchableRipple } from 'react-native-paper'; import { TouchableRipple } from 'react-native-paper';
// @ts-ignore
import { Icon } from '../../../icons'; import { Icon } from '../../../icons';
// @ts-ignore
import BaseTheme from '../../../ui/components/BaseTheme.native'; import BaseTheme from '../../../ui/components/BaseTheme.native';
// @ts-ignore
import { BUTTON_TYPES } from '../../constants'; import { BUTTON_TYPES } from '../../constants';
import { IconButtonProps } from '../../types'; import { IconButtonProps } from '../../types';
// @ts-ignore
import styles from './styles'; import styles from './styles';
@ -48,6 +53,7 @@ const IconButton: React.FC<IconButtonProps> = ({
<TouchableRipple <TouchableRipple
accessibilityLabel = { accessibilityLabel } accessibilityLabel = { accessibilityLabel }
disabled = { disabled } disabled = { disabled }
// @ts-ignore
onPress = { onPress } onPress = { onPress }
rippleColor = { rippleColor } rippleColor = { rippleColor }
style = { [ style = { [

View File

@ -1,6 +1,9 @@
/* eslint-disable lines-around-comment */
import React from 'react'; import React from 'react';
// @ts-ignore
import { Icon, IconVolumeEmpty } from '../../../../base/icons'; import { Icon, IconVolumeEmpty } from '../../../../base/icons';
// @ts-ignore
import BaseTheme from '../../../../base/ui/components/BaseTheme.native'; import BaseTheme from '../../../../base/ui/components/BaseTheme.native';
/** /**

View File

@ -1,19 +1,28 @@
/* eslint-disable lines-around-comment */
import React, { useEffect } from 'react'; import React, { useEffect } from 'react';
import { View } from 'react-native'; import { View } from 'react-native';
import { withSafeAreaInsets } from 'react-native-safe-area-context'; import { withSafeAreaInsets } from 'react-native-safe-area-context';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
// @ts-ignore
import JitsiScreen from '../../../../base/modal/components/JitsiScreen'; import JitsiScreen from '../../../../base/modal/components/JitsiScreen';
// @ts-ignore
import { LoadingIndicator, TintedView } from '../../../../base/react'; import { LoadingIndicator, TintedView } from '../../../../base/react';
// @ts-ignore
import { isLocalVideoTrackDesktop } from '../../../../base/tracks'; import { isLocalVideoTrackDesktop } from '../../../../base/tracks';
// @ts-ignore
import { setPictureInPictureEnabled } from '../../../../mobile/picture-in-picture/functions'; import { setPictureInPictureEnabled } from '../../../../mobile/picture-in-picture/functions';
// @ts-ignore
import { setIsCarmode } from '../../../../video-layout/actions'; import { setIsCarmode } from '../../../../video-layout/actions';
// @ts-ignore
import ConferenceTimer from '../../ConferenceTimer'; import ConferenceTimer from '../../ConferenceTimer';
// @ts-ignore
import { isConnecting } from '../../functions'; import { isConnecting } from '../../functions';
import CarModeFooter from './CarModeFooter'; import CarModeFooter from './CarModeFooter';
import MicrophoneButton from './MicrophoneButton'; import MicrophoneButton from './MicrophoneButton';
import TitleBar from './TitleBar'; import TitleBar from './TitleBar';
// @ts-ignore
import styles from './styles'; import styles from './styles';
/** /**
@ -56,6 +65,7 @@ const CarMode = (): JSX.Element => {
style = { styles.titleBarSafeViewColor }> style = { styles.titleBarSafeViewColor }>
<View <View
style = { styles.titleBar }> style = { styles.titleBar }>
{/* @ts-ignore */}
<TitleBar /> <TitleBar />
</View> </View>
<ConferenceTimer textStyle = { styles.roomTimer } /> <ConferenceTimer textStyle = { styles.roomTimer } />

View File

@ -1,9 +1,11 @@
/* eslint-disable lines-around-comment */
import React from 'react'; import React from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { Text, View } from 'react-native'; import { Text, View } from 'react-native';
import EndMeetingButton from './EndMeetingButton'; import EndMeetingButton from './EndMeetingButton';
import SoundDeviceButton from './SoundDeviceButton'; import SoundDeviceButton from './SoundDeviceButton';
// @ts-ignore
import styles from './styles'; import styles from './styles';
/** /**

View File

@ -1,12 +1,17 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react'; import React, { useCallback } from 'react';
import { useDispatch } from 'react-redux'; import { useDispatch } from 'react-redux';
// @ts-ignore
import { createToolbarEvent, sendAnalytics } from '../../../../analytics'; import { createToolbarEvent, sendAnalytics } from '../../../../analytics';
// @ts-ignore
import { appNavigate } from '../../../../app/actions'; import { appNavigate } from '../../../../app/actions';
import Button from '../../../../base/react/components/native/Button'; import Button from '../../../../base/react/components/native/Button';
// @ts-ignore
import { BUTTON_TYPES } from '../../../../base/react/constants'; import { BUTTON_TYPES } from '../../../../base/react/constants';
import EndMeetingIcon from './EndMeetingIcon'; import EndMeetingIcon from './EndMeetingIcon';
// @ts-ignore
import styles from './styles'; import styles from './styles';
/** /**
@ -26,6 +31,7 @@ const EndMeetingButton = () : JSX.Element => {
return ( return (
<Button <Button
accessibilityLabel = 'carmode.actions.leaveMeeting' accessibilityLabel = 'carmode.actions.leaveMeeting'
// @ts-ignore
icon = { EndMeetingIcon } icon = { EndMeetingIcon }
label = 'carmode.actions.leaveMeeting' label = 'carmode.actions.leaveMeeting'
onPress = { onSelect } onPress = { onSelect }

View File

@ -1,6 +1,9 @@
/* eslint-disable lines-around-comment */
import React from 'react'; import React from 'react';
// @ts-ignore
import { Icon, IconHangup } from '../../../../base/icons'; import { Icon, IconHangup } from '../../../../base/icons';
// @ts-ignore
import BaseTheme from '../../../../base/ui/components/BaseTheme.native'; import BaseTheme from '../../../../base/ui/components/BaseTheme.native';
/** /**

View File

@ -1,3 +1,4 @@
/* eslint-disable lines-around-comment */
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { View, TouchableOpacity } from 'react-native'; import { View, TouchableOpacity } from 'react-native';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
@ -7,14 +8,22 @@ import {
sendAnalytics, sendAnalytics,
ACTION_SHORTCUT_PRESSED as PRESSED, ACTION_SHORTCUT_PRESSED as PRESSED,
ACTION_SHORTCUT_RELEASED as RELEASED ACTION_SHORTCUT_RELEASED as RELEASED
// @ts-ignore
} from '../../../../analytics'; } from '../../../../analytics';
// @ts-ignore
import { getFeatureFlag, AUDIO_MUTE_BUTTON_ENABLED } from '../../../../base/flags'; import { getFeatureFlag, AUDIO_MUTE_BUTTON_ENABLED } from '../../../../base/flags';
// @ts-ignore
import { Icon, IconMicrophone, IconMicrophoneEmptySlash } from '../../../../base/icons'; import { Icon, IconMicrophone, IconMicrophoneEmptySlash } from '../../../../base/icons';
// @ts-ignore
import { MEDIA_TYPE } from '../../../../base/media'; import { MEDIA_TYPE } from '../../../../base/media';
// @ts-ignore
import { isLocalTrackMuted } from '../../../../base/tracks'; import { isLocalTrackMuted } from '../../../../base/tracks';
// @ts-ignore
import { isAudioMuteButtonDisabled } from '../../../../toolbox/functions.any'; import { isAudioMuteButtonDisabled } from '../../../../toolbox/functions.any';
// @ts-ignore
import { muteLocal } from '../../../../video-menu/actions'; import { muteLocal } from '../../../../video-menu/actions';
// @ts-ignore
import styles from './styles'; import styles from './styles';
const LONG_PRESS = 'long.press'; const LONG_PRESS = 'long.press';
@ -24,9 +33,9 @@ const LONG_PRESS = 'long.press';
* *
* @returns {JSX.Element} - The audio mute round button. * @returns {JSX.Element} - The audio mute round button.
*/ */
const MicrophoneButton = () : JSX.Element => { const MicrophoneButton = () : JSX.Element|null => {
const dispatch = useDispatch(); const dispatch = useDispatch();
const audioMuted = useSelector(state => isLocalTrackMuted(state['features/base/tracks'], MEDIA_TYPE.AUDIO)); const audioMuted = useSelector((state: any) => isLocalTrackMuted(state['features/base/tracks'], MEDIA_TYPE.AUDIO));
const disabled = useSelector(isAudioMuteButtonDisabled); const disabled = useSelector(isAudioMuteButtonDisabled);
const enabledFlag = useSelector(state => getFeatureFlag(state, AUDIO_MUTE_BUTTON_ENABLED, true)); const enabledFlag = useSelector(state => getFeatureFlag(state, AUDIO_MUTE_BUTTON_ENABLED, true));
const [ longPress, setLongPress ] = useState(false); const [ longPress, setLongPress ] = useState(false);

View File

@ -1,12 +1,17 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react'; import React, { useCallback } from 'react';
import { useDispatch } from 'react-redux'; import { useDispatch } from 'react-redux';
// @ts-ignore
import { openSheet } from '../../../../base/dialog/actions'; import { openSheet } from '../../../../base/dialog/actions';
import Button from '../../../../base/react/components/native/Button'; import Button from '../../../../base/react/components/native/Button';
// @ts-ignore
import { BUTTON_TYPES } from '../../../../base/react/constants'; import { BUTTON_TYPES } from '../../../../base/react/constants';
// @ts-ignore
import AudioRoutePickerDialog from '../../../../mobile/audio-mode/components/AudioRoutePickerDialog'; import AudioRoutePickerDialog from '../../../../mobile/audio-mode/components/AudioRoutePickerDialog';
import AudioIcon from './AudioIcon'; import AudioIcon from './AudioIcon';
// @ts-ignore
import styles from './styles'; import styles from './styles';
/** /**
@ -24,6 +29,7 @@ const SelectSoundDevice = () : JSX.Element => {
return ( return (
<Button <Button
accessibilityLabel = 'carmode.actions.selectSoundDevice' accessibilityLabel = 'carmode.actions.selectSoundDevice'
// @ts-ignore
icon = { AudioIcon } icon = { AudioIcon }
label = 'carmode.actions.selectSoundDevice' label = 'carmode.actions.selectSoundDevice'
onPress = { onSelect } onPress = { onSelect }

View File

@ -1,16 +1,25 @@
/* eslint-disable lines-around-comment */
import React from 'react'; import React from 'react';
import { StyleProp, Text, View, ViewStyle } from 'react-native'; import { StyleProp, Text, View, ViewStyle } from 'react-native';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
// @ts-ignore
import { getConferenceName } from '../../../../base/conference/functions'; import { getConferenceName } from '../../../../base/conference/functions';
// @ts-ignore
import { getFeatureFlag, MEETING_NAME_ENABLED } from '../../../../base/flags'; import { getFeatureFlag, MEETING_NAME_ENABLED } from '../../../../base/flags';
// @ts-ignore
import { JitsiRecordingConstants } from '../../../../base/lib-jitsi-meet'; import { JitsiRecordingConstants } from '../../../../base/lib-jitsi-meet';
// @ts-ignore
import { getLocalParticipant } from '../../../../base/participants'; import { getLocalParticipant } from '../../../../base/participants';
import { connect } from '../../../../base/redux'; import { connect } from '../../../../base/redux/functions';
// @ts-ignore
import ConnectionIndicator from '../../../../connection-indicator/components/native/ConnectionIndicator'; import ConnectionIndicator from '../../../../connection-indicator/components/native/ConnectionIndicator';
// @ts-ignore
import RecordingLabel from '../../../../recording/components/native/RecordingLabel'; import RecordingLabel from '../../../../recording/components/native/RecordingLabel';
// @ts-ignore
import { VideoQualityLabel } from '../../../../video-quality'; import { VideoQualityLabel } from '../../../../video-quality';
// @ts-ignore
import styles from './styles'; import styles from './styles';
@ -36,7 +45,7 @@ type Props = {
* @returns {JSX.Element} * @returns {JSX.Element}
*/ */
const TitleBar = (props: Props) : JSX.Element => { const TitleBar = (props: Props) : JSX.Element => {
const localParticipant = useSelector(getLocalParticipant); const localParticipant: any = useSelector(getLocalParticipant);
const localParticipantId = localParticipant?.id; const localParticipantId = localParticipant?.id;
return (<> return (<>
@ -78,7 +87,7 @@ const TitleBar = (props: Props) : JSX.Element => {
* @param {Object} state - The Redux state. * @param {Object} state - The Redux state.
* @returns {Props} * @returns {Props}
*/ */
function _mapStateToProps(state: Object) { function _mapStateToProps(state: any) {
const { hideConferenceSubject } = state['features/base/config']; const { hideConferenceSubject } = state['features/base/config'];
return { return {

View File

@ -4,9 +4,12 @@ import { Text, View } from 'react-native';
import { import {
getParticipantById, getParticipantById,
getParticipantDisplayName getParticipantDisplayName
// @ts-ignore
} from '../../../base/participants/functions'; } from '../../../base/participants/functions';
import { connect } from '../../../base/redux/functions'; import { connect } from '../../../base/redux/functions';
// @ts-ignore
import styles from './styles'; import styles from './styles';
type Props = { type Props = {
@ -65,7 +68,7 @@ class DisplayNameLabel extends React.Component<Props> {
* @param {Props} ownProps - The own props of the component. * @param {Props} ownProps - The own props of the component.
* @returns {Props} * @returns {Props}
*/ */
function _mapStateToProps(state: any, ownProps) { function _mapStateToProps(state: any, ownProps: any) {
const participant = getParticipantById(state, ownProps.participantId); const participant = getParticipantById(state, ownProps.participantId);
return { return {

View File

@ -2,6 +2,7 @@ import React from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { Image, Text, View } from 'react-native'; import { Image, Text, View } from 'react-native';
// @ts-ignore
import styles from './styles'; import styles from './styles';

View File

@ -1,27 +1,41 @@
/* eslint-disable lines-around-comment */
import { NavigationContainer } from '@react-navigation/native'; import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack'; import { createStackNavigator } from '@react-navigation/stack';
import React from 'react'; import React from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
// @ts-ignore
import { Chat, ChatAndPolls } from '../../../../../chat'; import { Chat, ChatAndPolls } from '../../../../../chat';
// @ts-ignore
import Conference from '../../../../../conference/components/native/Conference'; import Conference from '../../../../../conference/components/native/Conference';
import CarMode from '../../../../../conference/components/native/carmode/CarMode'; import CarMode from '../../../../../conference/components/native/carmode/CarMode';
// @ts-ignore
import { getDisablePolls } from '../../../../../conference/functions'; import { getDisablePolls } from '../../../../../conference/functions';
// @ts-ignore
import { SharedDocument } from '../../../../../etherpad'; import { SharedDocument } from '../../../../../etherpad';
// @ts-ignore
import { GifsMenu } from '../../../../../gifs/components'; import { GifsMenu } from '../../../../../gifs/components';
import AddPeopleDialog import AddPeopleDialog
// @ts-ignore
from '../../../../../invite/components/add-people-dialog/native/AddPeopleDialog'; from '../../../../../invite/components/add-people-dialog/native/AddPeopleDialog';
// @ts-ignore
import { ParticipantsPane } from '../../../../../participants-pane/components/native'; import { ParticipantsPane } from '../../../../../participants-pane/components/native';
// @ts-ignore
import { StartLiveStreamDialog } from '../../../../../recording'; import { StartLiveStreamDialog } from '../../../../../recording';
import { StartRecordingDialog } import { StartRecordingDialog }
// @ts-ignore
from '../../../../../recording/components/Recording/native'; from '../../../../../recording/components/Recording/native';
import SalesforceLinkDialog import SalesforceLinkDialog
// @ts-ignore
from '../../../../../salesforce/components/native/SalesforceLinkDialog'; from '../../../../../salesforce/components/native/SalesforceLinkDialog';
import SecurityDialog import SecurityDialog
// @ts-ignore
from '../../../../../security/components/security-dialog/native/SecurityDialog'; from '../../../../../security/components/security-dialog/native/SecurityDialog';
import SpeakerStats import SpeakerStats
// @ts-ignore
from '../../../../../speaker-stats/components/native/SpeakerStats'; from '../../../../../speaker-stats/components/native/SpeakerStats';
// @ts-ignore
import { screen } from '../../../routes'; import { screen } from '../../../routes';
import { import {
carmodeScreenOptions, carmodeScreenOptions,
@ -38,11 +52,14 @@ import {
securityScreenOptions, securityScreenOptions,
sharedDocumentScreenOptions, sharedDocumentScreenOptions,
speakerStatsScreenOptions speakerStatsScreenOptions
// @ts-ignore
} from '../../../screenOptions'; } from '../../../screenOptions';
import LobbyNavigationContainer import LobbyNavigationContainer
// @ts-ignore
from '../../lobby/components/LobbyNavigationContainer'; from '../../lobby/components/LobbyNavigationContainer';
import { import {
conferenceNavigationRef conferenceNavigationRef
// @ts-ignore
} from '../ConferenceNavigationContainerRef'; } from '../ConferenceNavigationContainerRef';
const ConferenceStack = createStackNavigator(); const ConferenceStack = createStackNavigator();

View File

@ -1,17 +1,25 @@
/* eslint-disable lines-around-comment */
import React, { useCallback } from 'react'; import React, { useCallback } from 'react';
import { View } from 'react-native'; import { View } from 'react-native';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
// @ts-ignore
import { openDialog, openSheet } from '../../../base/dialog'; import { openDialog, openSheet } from '../../../base/dialog';
// @ts-ignore
import { IconHorizontalPoints } from '../../../base/icons'; import { IconHorizontalPoints } from '../../../base/icons';
import Button from '../../../base/react/components/native/Button'; import Button from '../../../base/react/components/native/Button';
import IconButton from '../../../base/react/components/native/IconButton'; import IconButton from '../../../base/react/components/native/IconButton';
// @ts-ignore
import { BUTTON_TYPES } from '../../../base/react/constants'; import { BUTTON_TYPES } from '../../../base/react/constants';
import MuteEveryoneDialog import MuteEveryoneDialog
// @ts-ignore
from '../../../video-menu/components/native/MuteEveryoneDialog'; from '../../../video-menu/components/native/MuteEveryoneDialog';
// @ts-ignore
import { isMoreActionsVisible, isMuteAllVisible } from '../../functions'; import { isMoreActionsVisible, isMuteAllVisible } from '../../functions';
// @ts-ignore
import { ContextMenuMore } from './ContextMenuMore'; import { ContextMenuMore } from './ContextMenuMore';
// @ts-ignore
import styles from './styles'; import styles from './styles';

View File

@ -1,17 +1,21 @@
/* eslint-disable import/order */ /* eslint-disable lines-around-comment */
import React, { PureComponent } from 'react'; import React, { PureComponent } from 'react';
import { Text, View } from 'react-native'; import { Text, View } from 'react-native';
// @ts-ignore // @ts-ignore
import { Avatar } from '../../../base/avatar'; import { Avatar } from '../../../base/avatar';
// @ts-ignore // @ts-ignore
import { BottomSheet, hideSheet } from '../../../base/dialog'; import { BottomSheet, hideSheet } from '../../../base/dialog';
// @ts-ignore
import { bottomSheetStyles } from '../../../base/dialog/components/native/styles'; import { bottomSheetStyles } from '../../../base/dialog/components/native/styles';
// @ts-ignore
import { translate } from '../../../base/i18n'; import { translate } from '../../../base/i18n';
import { connect } from '../../../base/redux'; import { connect } from '../../../base/redux/functions';
// @ts-ignore
import { getBreakoutRooms } from '../../../breakout-rooms/functions'; import { getBreakoutRooms } from '../../../breakout-rooms/functions';
// @ts-ignore
import SendToBreakoutRoom from '../../../video-menu/components/native/SendToBreakoutRoom'; import SendToBreakoutRoom from '../../../video-menu/components/native/SendToBreakoutRoom';
// @ts-ignore
import styles from '../../../video-menu/components/native/styles'; import styles from '../../../video-menu/components/native/styles';
/** /**
@ -140,7 +144,7 @@ class RoomParticipantMenu extends PureComponent<Props> {
* @private * @private
* @returns {Props} * @returns {Props}
*/ */
function _mapStateToProps(state) { function _mapStateToProps(state: any) {
return { return {
_rooms: Object.values(getBreakoutRooms(state)) _rooms: Object.values(getBreakoutRooms(state))
}; };

View File

@ -1,3 +1,4 @@
/* eslint-disable lines-around-comment */
import React, { useCallback, useEffect, useLayoutEffect, useState } from 'react'; import React, { useCallback, useEffect, useLayoutEffect, useState } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { import {
@ -11,28 +12,47 @@ import {
} from 'react-native'; } from 'react-native';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
// @ts-ignore
import { appNavigate } from '../../app/actions.native'; import { appNavigate } from '../../app/actions.native';
// @ts-ignore
import { setAudioOnly } from '../../base/audio-only/actions'; import { setAudioOnly } from '../../base/audio-only/actions';
// @ts-ignore
import { connect } from '../../base/connection/actions.native'; import { connect } from '../../base/connection/actions.native';
// @ts-ignore
import { IconClose } from '../../base/icons'; import { IconClose } from '../../base/icons';
// @ts-ignore
import JitsiScreen from '../../base/modal/components/JitsiScreen'; import JitsiScreen from '../../base/modal/components/JitsiScreen';
// @ts-ignore
import { getLocalParticipant } from '../../base/participants'; import { getLocalParticipant } from '../../base/participants';
// @ts-ignore
import { getFieldValue } from '../../base/react'; import { getFieldValue } from '../../base/react';
import Button from '../../base/react/components/native/Button'; import Button from '../../base/react/components/native/Button';
// @ts-ignore
import { BUTTON_TYPES } from '../../base/react/constants'; import { BUTTON_TYPES } from '../../base/react/constants';
// @ts-ignore
import { ASPECT_RATIO_NARROW } from '../../base/responsive-ui'; import { ASPECT_RATIO_NARROW } from '../../base/responsive-ui';
// @ts-ignore
import { updateSettings } from '../../base/settings'; import { updateSettings } from '../../base/settings';
// @ts-ignore
import BaseTheme from '../../base/ui/components/BaseTheme.native'; import BaseTheme from '../../base/ui/components/BaseTheme.native';
import { BrandingImageBackground } from '../../dynamic-branding'; import { BrandingImageBackground } from '../../dynamic-branding';
// @ts-ignore
import { LargeVideo } from '../../large-video/components'; import { LargeVideo } from '../../large-video/components';
// @ts-ignore
import HeaderNavigationButton from '../../mobile/navigation/components/HeaderNavigationButton'; import HeaderNavigationButton from '../../mobile/navigation/components/HeaderNavigationButton';
// @ts-ignore
import { navigateRoot } from '../../mobile/navigation/rootNavigationContainerRef'; import { navigateRoot } from '../../mobile/navigation/rootNavigationContainerRef';
// @ts-ignore
import { screen } from '../../mobile/navigation/routes'; import { screen } from '../../mobile/navigation/routes';
// @ts-ignore
import AudioMuteButton from '../../toolbox/components/AudioMuteButton'; import AudioMuteButton from '../../toolbox/components/AudioMuteButton';
// @ts-ignore
import VideoMuteButton from '../../toolbox/components/VideoMuteButton'; import VideoMuteButton from '../../toolbox/components/VideoMuteButton';
// @ts-ignore
import { isDisplayNameRequired } from '../functions'; import { isDisplayNameRequired } from '../functions';
import { PrejoinProps } from '../types'; import { PrejoinProps } from '../types';
// @ts-ignore
import styles from './styles'; import styles from './styles';

View File

@ -1,10 +1,17 @@
/* eslint-disable lines-around-comment */
// @ts-ignore
import { CAR_MODE_ENABLED, getFeatureFlag } from '../../../base/flags'; import { CAR_MODE_ENABLED, getFeatureFlag } from '../../../base/flags';
// @ts-ignore
import { translate } from '../../../base/i18n'; import { translate } from '../../../base/i18n';
// @ts-ignore
import { IconCar } from '../../../base/icons'; import { IconCar } from '../../../base/icons';
import { connect } from '../../../base/redux'; import { connect } from '../../../base/redux/functions';
// @ts-ignore
import { AbstractButton, type AbstractButtonProps } from '../../../base/toolbox/components'; import { AbstractButton, type AbstractButtonProps } from '../../../base/toolbox/components';
import { navigate } import { navigate }
// @ts-ignore
from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef'; from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
// @ts-ignore
import { screen } from '../../../mobile/navigation/routes'; import { screen } from '../../../mobile/navigation/routes';
/** /**
@ -42,5 +49,5 @@ function _mapStateToProps(state: Object, ownProps: AbstractButtonProps): Object
visible visible
}; };
} }
// @ts-ignore
export default translate(connect(_mapStateToProps)(OpenCarmodeButton)); export default translate(connect(_mapStateToProps)(OpenCarmodeButton));

View File

@ -1,13 +1,17 @@
/* eslint-disable lines-around-comment */
import React from 'react'; import React from 'react';
import { Platform } from 'react-native'; import { Platform } from 'react-native';
import { connect } from '../../../base/redux'; import { connect } from '../../../base/redux/functions';
// @ts-ignore
import { isDesktopShareButtonDisabled } from '../../functions.native'; import { isDesktopShareButtonDisabled } from '../../functions.native';
// @ts-ignore
import ScreenSharingAndroidButton from './ScreenSharingAndroidButton.js'; import ScreenSharingAndroidButton from './ScreenSharingAndroidButton.js';
// @ts-ignore
import ScreenSharingIosButton from './ScreenSharingIosButton.js'; import ScreenSharingIosButton from './ScreenSharingIosButton.js';
const ScreenSharingButton = props => ( const ScreenSharingButton = (props: any) => (
<> <>
{Platform.OS === 'android' {Platform.OS === 'android'
&& <ScreenSharingAndroidButton { ...props } /> && <ScreenSharingAndroidButton { ...props } />

View File

@ -1,5 +1,5 @@
{ {
"include": ["react/features/**/*.ts"], "include": ["react/features/**/*.ts", "react/features/**/*.tsx"],
"compilerOptions": { "compilerOptions": {
"allowSyntheticDefaultImports": true, "allowSyntheticDefaultImports": true,
"module": "es6", "module": "es6",