Add Language setting to Profile front-end

This commit is contained in:
Bubka 2020-02-26 22:26:26 +01:00
parent 48edaa6907
commit 83aa5667e2
7 changed files with 68 additions and 4 deletions

View File

@ -0,0 +1,54 @@
<template>
<div class="field">
<label class="label" v-html="label"></label>
<div class="control">
<div class="select">
<select v-model="form[fieldName]">
<option v-for="option in options" :value="option.value">{{ option.text }}</option>
</select>
</div>
</div>
<field-error :form="form" :field="fieldName" />
<p class="help" v-html="help" v-if="help"></p>
</div>
</template>
<script>
export default {
name: 'FormSelect',
data() {
return {
}
},
props: {
label: {
type: String,
default: ''
},
fieldName: {
type: String,
default: '',
required: true
},
options: {
type: Array,
required: true
},
form: {
type: Object,
required: true
},
help: {
type: String,
default: ''
},
}
}
</script>

View File

@ -3,6 +3,7 @@ import Button from './Button'
import FieldError from './FieldError'
import FormWrapper from './FormWrapper'
import FormField from './FormField'
import FormSelect from './FormSelect'
import FormButtons from './FormButtons'
import VueFooter from './Footer'
@ -12,6 +13,7 @@ import VueFooter from './Footer'
FieldError,
FormWrapper,
FormField,
FormSelect,
FormButtons,
VueFooter,
].forEach(Component => {

View File

@ -69,6 +69,7 @@ export default {
"settings": "Settings",
"account": "Account",
"password": "Password",
"language": "Language",
"confirm": [],
"forms": {
"edit_settings": "Edit settings"
@ -311,6 +312,7 @@ export default {
"settings": "Réglages",
"account": "Compte",
"password": "Mot de passe",
"language": "Langue",
"confirm": [],
"forms": {
"edit_settings": "Modifier les réglages"

View File

@ -1,7 +1,7 @@
<template>
<form-wrapper :fail="fail" :success="success">
<form @submit.prevent="handleSubmit" @keydown="form.onKeydown($event)">
<form-field :form="form" fieldName="FirstSetting" :label="$t('auth.forms.FirstSetting')" />
<form-select :options="options" :form="form" fieldName="lang" :label="$t('settings.language')" />
<form-buttons :isBusy="form.isBusy" :caption="$t('commons.save')" />
</form>
</form-wrapper>
@ -17,8 +17,12 @@
success: '',
fail: '',
form: new Form({
FirstSetting: ''
})
lang: 'fr'
}),
options: [
{ text: 'en', value: 'en' },
{ text: 'fr', value: 'fr' },
]
}
},

View File

@ -16,6 +16,7 @@
'settings' => 'Settings',
'account' => 'Account',
'password' => 'Password',
'language' => 'Language',
'confirm' => [
],

View File

@ -16,6 +16,7 @@
'settings' => 'Réglages',
'account' => 'Compte',
'password' => 'Mot de passe',
'language' => 'Langue',
'confirm' => [
],

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html class="has-background-black-ter" lang="en">
<html class="has-background-black-ter" lang="{{ option('lang', 'en') }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">