|
@ -2,17 +2,25 @@ |
|
|
<transition name="slide-fade" appear> |
|
|
<transition name="slide-fade" appear> |
|
|
<div> |
|
|
<div> |
|
|
<h1 v-show="show" class="mb-3"> |
|
|
<h1 v-show="show" class="mb-3"> |
|
|
Settings |
|
|
{{ $t("Settings") }} |
|
|
</h1> |
|
|
</h1> |
|
|
|
|
|
|
|
|
<div class="shadow-box"> |
|
|
<div class="shadow-box"> |
|
|
<div class="row"> |
|
|
<div class="row"> |
|
|
<div class="col-md-6"> |
|
|
<div class="col-md-6"> |
|
|
<h2 class="mb-2">General</h2> |
|
|
<h2 class="mb-2">{{ $t("Appearance") }}</h2> |
|
|
|
|
|
|
|
|
<form class="mb-3" @submit.prevent="saveGeneral"> |
|
|
|
|
|
<div class="mb-3"> |
|
|
<div class="mb-3"> |
|
|
<label for="timezone" class="form-label">Theme</label> |
|
|
<label for="language" class="form-label">{{ $t("Language") }}</label> |
|
|
|
|
|
<select id="language" v-model="$i18n.locale" class="form-select"> |
|
|
|
|
|
<option v-for="(lang, i) in $i18n.availableLocales" :key="`Lang${i}`" :value="lang"> |
|
|
|
|
|
{{ $i18n.messages[lang].languageName }} |
|
|
|
|
|
</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="mb-3"> |
|
|
|
|
|
<label for="timezone" class="form-label">{{ $t("Theme") }}</label> |
|
|
|
|
|
|
|
|
<div> |
|
|
<div> |
|
|
<div class="btn-group" role="group" aria-label="Basic checkbox toggle button group"> |
|
|
<div class="btn-group" role="group" aria-label="Basic checkbox toggle button group"> |
|
@ -44,6 +52,8 @@ |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<h2 class="mt-5 mb-2">{{ $t("General") }}</h2> |
|
|
|
|
|
<form class="mb-3" @submit.prevent="saveGeneral"> |
|
|
<div class="mb-3"> |
|
|
<div class="mb-3"> |
|
|
<label for="timezone" class="form-label">Timezone</label> |
|
|
<label for="timezone" class="form-label">Timezone</label> |
|
|
<select id="timezone" v-model="$root.userTimezone" class="form-select"> |
|
|
<select id="timezone" v-model="$root.userTimezone" class="form-select"> |
|
@ -195,6 +205,10 @@ export default { |
|
|
"password.repeatNewPassword"() { |
|
|
"password.repeatNewPassword"() { |
|
|
this.invalidPassword = false; |
|
|
this.invalidPassword = false; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
"$i18n.locale"() { |
|
|
|
|
|
localStorage.locale = this.$i18n.locale; |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
mounted() { |
|
|
mounted() { |
|
|