import React from 'react'; import { TextInput, TouchableHighlight, View } from 'react-native'; import { connect } from 'react-redux'; import { translate } from '../../base/i18n'; import { MEDIA_TYPE } from '../../base/media'; import { Link, Text } from '../../base/react'; import { ColorPalette } from '../../base/styles'; import { createDesiredLocalTracks } from '../../base/tracks'; import { AbstractWelcomePage, _mapStateToProps } from './AbstractWelcomePage'; import LocalVideoTrackUnderlay from './LocalVideoTrackUnderlay'; import styles from './styles'; /** * The URL at which the privacy policy is available to the user. */ const PRIVACY_URL = 'https://jitsi.org/meet/privacy'; /** * The URL at which the user may send feedback. */ const SEND_FEEDBACK_URL = 'mailto:support@jitsi.org'; /** * The URL at which the terms (of service/use) are available to the user. */ const TERMS_URL = 'https://jitsi.org/meet/terms'; /** * The native container rendering the welcome page. * * @extends AbstractWelcomePage */ class WelcomePage extends AbstractWelcomePage { /** * WelcomePage component's property types. * * @static */ static propTypes = AbstractWelcomePage.propTypes; /** * Creates a video track if not already available. * * @inheritdoc * @returns {void} */ componentWillMount() { this.props.dispatch(createDesiredLocalTracks(MEDIA_TYPE.VIDEO)); } /** * Renders a prompt for entering a room name. * * @returns {ReactElement} */ render() { const { t } = this.props; return ( { t('welcomepage.roomname') } { t('welcomepage.join') } { this._renderLegalese() } ); } /** * Renders legal-related content such as Terms of service/use, Privacy * policy, etc. * * @private * @returns {ReactElement} */ _renderLegalese() { const { t } = this.props; return ( { t('welcomepage.terms') } { t('welcomepage.privacy') } { t('welcomepage.sendFeedback') } ); } } export default translate(connect(_mapStateToProps)(WelcomePage));