58 lines
2.4 KiB
TypeScript
58 lines
2.4 KiB
TypeScript
// Metro module 15967 (f15968).
|
|
import { View } from "react-native";
|
|
import { VideoToggleState } from "../../../../Constants";
|
|
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../../_bundle/Module712";
|
|
import { getErrorInfo } from "../../../errors/av_errors/AVError";
|
|
import { StreamFailed } from "../../../../design/components/Illustration/native/redesign/generated/StreamFailed";
|
|
import { Text } from "../../../../design/components/Text/native/Text";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import { Button } from "../../../../design/components/Button/native/Button.native";
|
|
import { clearVideoStreamTimeout } from "../../../errors/VideoStreamReadyActionCreators";
|
|
import { MediaEngineContextTypes } from "../../../../_bundle/Module4286";
|
|
import AudioActionCreators from "../../../../actions/AudioActionCreators";
|
|
const useStyles = createStyles({
|
|
container: {
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
backgroundColor: Module712.unsafe_rawColors.PRIMARY_700,
|
|
padding: 8
|
|
},
|
|
placeholderImage: {
|
|
marginBottom: 8,
|
|
width: "100%",
|
|
resizeMode: "contain"
|
|
},
|
|
button: {
|
|
marginTop: 16,
|
|
alignSelf: "center"
|
|
}
|
|
});
|
|
export default function UserVideoFailed(props) {
|
|
const { userId, style, avError, removeRetryButton, removeSplashImage, ...props2 } = props;
|
|
const styles = useStyles();
|
|
const errorCode = getErrorInfo(avError).errorCode;
|
|
return <View {...props2} style={[styles.container, style]}>
|
|
<>
|
|
{removeSplashImage ? !removeSplashImage : <StreamFailed style={styles.placeholderImage} />}
|
|
<Text variant="text-md/semibold" color="text-strong">
|
|
{intl.string(t["z+mxvo"])}
|
|
</Text>
|
|
</>
|
|
<Text variant="text-sm/semibold" color="text-muted" selectable>
|
|
{intl.formatToPlainString(t.ejOT95, {
|
|
errorCode
|
|
})}
|
|
</Text>
|
|
<View style={styles.button}>
|
|
{removeRetryButton ? !removeRetryButton : <Button variant="secondary" text={intl.string(t["hxmQ/e"])} onPress={function onPress() {
|
|
clearVideoStreamTimeout(MediaEngineContextTypes.DEFAULT, userId);
|
|
AudioActionCreators.setDisableLocalVideo(userId, VideoToggleState.DISABLED, MediaEngineContextTypes.DEFAULT, false);
|
|
setTimeout(() => {
|
|
AudioActionCreators.setDisableLocalVideo(userId, VideoToggleState.MANUAL_ENABLED, MediaEngineContextTypes.DEFAULT, false);
|
|
}, 1000);
|
|
}} />}
|
|
</View>
|
|
</View>;
|
|
};
|