diff --git a/react/features/settings/components/native/FormRow.js b/react/features/settings/components/native/FormRow.js index 96957bd21..fb7a0c500 100644 --- a/react/features/settings/components/native/FormRow.js +++ b/react/features/settings/components/native/FormRow.js @@ -27,6 +27,11 @@ type Props = { */ label: string, + /** + * One of 'row' (default) or 'column'. + */ + layout: string, + /** * Invoked to obtain translated strings. */ @@ -60,7 +65,7 @@ class FormRow extends Component { * @returns {ReactElement} */ render() { - const { t } = this.props; + const { layout, t } = this.props; // Some field types need additional props to look good and standardized // on a form. @@ -76,7 +81,8 @@ class FormRow extends Component { { t(this.props.label) } @@ -108,7 +114,10 @@ class FormRow extends Component { case 'TextInput': return { placeholderTextColor: PLACEHOLDER_COLOR, - style: styles.textInputField, + style: [ + styles.textInputField, + this.props.layout === 'column' ? styles.textInputFieldColumn : undefined + ], underlineColorAndroid: ANDROID_UNDERLINE_COLOR }; } @@ -126,14 +135,21 @@ class FormRow extends Component { * @returns {Array} */ _getRowStyle() { + const { fieldSeparator, layout } = this.props; const rowStyle = [ styles.fieldContainer ]; - if (this.props.fieldSeparator) { + if (fieldSeparator) { rowStyle.push(styles.fieldSeparator); } + if (layout === 'column') { + rowStyle.push( + styles.fieldContainerColumn + ); + } + return rowStyle; } } diff --git a/react/features/settings/components/native/SettingsView.js b/react/features/settings/components/native/SettingsView.js index f6bf8ff5a..a841be7bb 100644 --- a/react/features/settings/components/native/SettingsView.js +++ b/react/features/settings/components/native/SettingsView.js @@ -361,14 +361,17 @@ class SettingsView extends AbstractSettingsView { label = 'settingsView.profileSection' /> + label = 'settingsView.displayName' + layout = 'column'> - + { label = 'settingsView.conferenceSection' /> + label = 'settingsView.serverURL' + layout = 'column'>