render()

in react/features/welcome/components/settings/components/SettingsView.js [173:324]


    render() {
        const {
            disableCallIntegration,
            disableCrashReporting,
            disableP2P,
            displayName,
            email,
            serverURL,
            startWithAudioMuted,
            startWithVideoMuted
        } = this.state;
        const { palette } = this.props.theme;

        return (
            <JitsiScreen
                style = { styles.settingsViewContainer }>
                <ScrollView>
                    <FormSectionAccordion
                        accordion = { false }
                        expandable = { false }
                        label = 'settingsView.profileSection'>
                        <TextInput
                            autoCorrect = { false }
                            label = { this.props.t('settingsView.displayName') }
                            mode = 'outlined'
                            onChangeText = { this._onChangeDisplayName }
                            placeholder = 'John Doe'
                            spellCheck = { false }
                            style = { styles.textInputContainer }
                            textContentType = { 'name' } // iOS only
                            theme = {{
                                colors: {
                                    primary: palette.screen01Header,
                                    underlineColor: 'transparent'
                                }
                            }}
                            value = { displayName } />
                        <Divider style = { styles.fieldSeparator } />
                        <TextInput
                            autoCapitalize = 'none'
                            autoCorrect = { false }
                            keyboardType = { 'email-address' }
                            label = { this.props.t('settingsView.email') }
                            mode = 'outlined'
                            onChangeText = { this._onChangeEmail }
                            placeholder = 'email@example.com'
                            spellCheck = { false }
                            style = { styles.textInputContainer }
                            textContentType = { 'emailAddress' } // iOS only
                            theme = {{
                                colors: {
                                    primary: palette.screen01Header,
                                    underlineColor: 'transparent'
                                }
                            }}
                            value = { email } />
                    </FormSectionAccordion>
                    <FormSectionAccordion
                        accordion = { false }
                        expandable = { false }
                        label = 'settingsView.conferenceSection'>
                        <TextInput
                            autoCapitalize = 'none'
                            autoCorrect = { false }
                            editable = { this.props._serverURLChangeEnabled }
                            keyboardType = { 'url' }
                            label = { this.props.t('settingsView.serverURL') }
                            mode = 'outlined'
                            onBlur = { this._onBlurServerURL }
                            onChangeText = { this._onChangeServerURL }
                            placeholder = { this.props._serverURL }
                            spellCheck = { false }
                            style = { styles.textInputContainer }
                            textContentType = { 'URL' } // iOS only
                            theme = {{
                                colors: {
                                    primary: palette.screen01Header,
                                    underlineColor: 'transparent'
                                }
                            }}
                            value = { serverURL } />
                        <Divider style = { styles.fieldSeparator } />
                        <FormRow
                            label = 'settingsView.startWithAudioMuted'>
                            <Switch
                                onValueChange = { this._onStartAudioMutedChange }
                                thumbColor = { THUMB_COLOR }
                                trackColor = {{ true: palette.screen01Header }}
                                value = { startWithAudioMuted } />
                        </FormRow>
                        <Divider style = { styles.fieldSeparator } />
                        <FormRow label = 'settingsView.startWithVideoMuted'>
                            <Switch
                                onValueChange = { this._onStartVideoMutedChange }
                                thumbColor = { THUMB_COLOR }
                                trackColor = {{ true: palette.screen01Header }}
                                value = { startWithVideoMuted } />
                        </FormRow>
                    </FormSectionAccordion>
                    <FormSectionAccordion
                        accordion = { false }
                        expandable = { false }
                        label = 'settingsView.buildInfoSection'>
                        <FormRow
                            label = 'settingsView.version'>
                            <Text>
                                {`${AppInfo.version} build ${AppInfo.buildNumber}`}
                            </Text>
                        </FormRow>
                    </FormSectionAccordion>
                    <FormSectionAccordion
                        accordion = { true }
                        expandable = { true }
                        label = 'settingsView.advanced'>
                        { Platform.OS === 'android' && (
                            <>
                                <FormRow
                                    label = 'settingsView.disableCallIntegration'>
                                    <Switch
                                        onValueChange = { this._onDisableCallIntegration }
                                        thumbColor = { THUMB_COLOR }
                                        trackColor = {{ true: palette.screen01Header }}
                                        value = { disableCallIntegration } />
                                </FormRow>
                                <Divider style = { styles.fieldSeparator } />
                            </>
                        )}
                        <FormRow
                            label = 'settingsView.disableP2P'>
                            <Switch
                                onValueChange = { this._onDisableP2P }
                                thumbColor = { THUMB_COLOR }
                                trackColor = {{ true: palette.screen01Header }}
                                value = { disableP2P } />
                        </FormRow>
                        <Divider style = { styles.fieldSeparator } />
                        {AppInfo.GOOGLE_SERVICES_ENABLED && (
                            <FormRow
                                fieldSeparator = { true }
                                label = 'settingsView.disableCrashReporting'>
                                <Switch
                                    onValueChange = { this._onDisableCrashReporting }
                                    thumbColor = { THUMB_COLOR }
                                    trackColor = {{ true: palette.screen01Header }}
                                    value = { disableCrashReporting } />
                            </FormRow>
                        )}
                    </FormSectionAccordion>
                </ScrollView>
            </JitsiScreen>
        );
    }