fix(typescript) Make TS parse tsx files (#11866)
This commit is contained in:
parent
b259757c79
commit
d8b435ad16
|
@ -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",
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 }
|
||||||
|
|
|
@ -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 = { [
|
||||||
|
|
|
@ -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';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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 } />
|
||||||
|
|
|
@ -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';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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 }
|
||||||
|
|
|
@ -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';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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 }
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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))
|
||||||
};
|
};
|
||||||
|
|
|
@ -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';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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 } />
|
||||||
|
|
|
@ -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",
|
||||||
|
|
Loading…
Reference in New Issue