Add global alternative display mode (grid or list) as an user option

This commit is contained in:
Bubka
2020-05-02 17:55:41 +02:00
parent 1acedf5e28
commit 9963bdea41
7 changed files with 99 additions and 70 deletions

View File

@ -101,7 +101,13 @@ export default {
"use_basic_qrcode_reader": {
"label": "Use basic qrcode reader",
"help": "If you experiences issues when capturing qrCodes enables this option to switch to a more basic but more reliable qrcode reader"
}
},
"desktop_display_mode": {
"label": "Desktop display mode",
"help": "Choose whether you want accounts to be displayed as a list or as a grid on desktop"
},
"grid": "Grid",
"list": "List"
}
},
"twofaccounts": {
@ -383,7 +389,13 @@ export default {
"use_basic_qrcode_reader": {
"label": "Utiliser le lecteur de qrcode basique",
"help": "Si vous rencontrez des problèmes lors de la lecture des qrCodes activez cette option pour utiliser un lecteur de qrcode moins évolué mais plus largement compatible"
}
},
"desktop_display_mode": {
"label": "Mode d'affichage Desktop",
"help": "Change la représentation des comptes, soit sous forme de liste, soit sous forme de grille"
},
"grid": "Grille",
"list": "Liste"
}
},
"twofaccounts": {

View File

@ -34,8 +34,8 @@
loadingLabel: 'refreshing'
}" > -->
<draggable v-model="filteredAccounts" @start="drag = true" @end="saveOrder" ghost-class="ghost" handle=".tfa-dots" animation="200" class="accounts">
<transition-group class="columns is-multiline is-centered" type="transition" :name="!drag ? 'flip-list' : null">
<div class="tfa column is-narrow has-text-white" v-for="account in filteredAccounts" :key="account.id">
<transition-group class="columns is-multiline" :class="{ 'is-centered': $root.appSettings.displayMode === 'grid' }" type="transition" :name="!drag ? 'flip-list' : null">
<div :class="[$root.appSettings.displayMode === 'grid' ? 'tfa-grid' : 'tfa-list']" class="column is-narrow has-text-white" v-for="account in filteredAccounts" :key="account.id">
<div class="tfa-container">
<transition name="slideCheckbox">
<div class="tfa-checkbox" v-if="editMode">

View File

@ -5,7 +5,8 @@
<span class="tag is-info">v{{ $root.appVersion }}</span>
</div>
<form @submit.prevent="handleSubmit" @change="handleSubmit" @keydown="form.onKeydown($event)">
<form-select :options="options" :form="form" fieldName="lang" :label="$t('settings.forms.language.label')" :help="$t('settings.forms.language.help')" />
<form-select :options="langs" :form="form" fieldName="lang" :label="$t('settings.forms.language.label')" :help="$t('settings.forms.language.help')" />
<form-select :options="layouts" :form="form" fieldName="displayMode" :label="$t('settings.forms.display_mode.label')" :help="$t('settings.forms.display_mode.help')" />
<form-switch :form="form" fieldName="showTokenAsDot" :label="$t('settings.forms.show_token_as_dot.label')" :help="$t('settings.forms.show_token_as_dot.help')" />
<form-switch :form="form" fieldName="closeTokenOnCopy" :label="$t('settings.forms.close_token_on_copy.label')" :help="$t('settings.forms.close_token_on_copy.help')" />
<form-switch :form="form" fieldName="useBasicQrcodeReader" :label="$t('settings.forms.use_basic_qrcode_reader.label')" :help="$t('settings.forms.use_basic_qrcode_reader.help')" />
@ -27,10 +28,15 @@
showTokenAsDot: this.$root.appSettings.showTokenAsDot,
closeTokenOnCopy: this.$root.appSettings.closeTokenOnCopy,
useBasicQrcodeReader: this.$root.appSettings.useBasicQrcodeReader,
displayMode: this.$root.appSettings.displayMode,
}),
options: [
langs: [
{ text: this.$t('languages.en'), value: 'en' },
{ text: this.$t('languages.fr'), value: 'fr' },
],
layouts: [
{ text: this.$t('settings.forms.grid'), value: 'grid' },
{ text: this.$t('settings.forms.list'), value: 'list' },
]
}
},