configurable card width

This commit is contained in:
Gauthier Roebroeck 2026-01-21 13:44:56 +08:00
parent 4f87a469c2
commit 89fa902590
2 changed files with 18 additions and 4 deletions

View file

@ -2,16 +2,27 @@
<v-app-bar>
<v-spacer />
<PageSizeSelector
v-model="appStore.browsingPageSize"
allow-unpaged
:sizes="[1, 10, 20]"
<v-slider
v-if="presentationMode === 'grid'"
v-model="appStore.gridCardWidth"
:min="130"
:max="200"
color="surface-darken"
hide-details
thumb-size="15"
max-width="80"
/>
<PresentationSelector
v-model="presentationMode"
:modes="['grid', 'list']"
/>
<PageSizeSelector
v-model="appStore.browsingPageSize"
allow-unpaged
:sizes="[1, 10, 20]"
/>
</v-app-bar>
<template v-if="series">
@ -39,6 +50,7 @@
:series="item.raw"
:selected="isSelected(item)"
:pre-select="preSelect"
:width="appStore.gridCardWidth"
@selection="toggleSelect(item)"
/>
</v-col>

View file

@ -17,6 +17,7 @@ export const useAppStore = defineStore('app', {
* Use the getter to ensure a default value is always set.
*/
presentationMode: {} as Record<string, PresentationMode>,
gridCardWidth: 150,
// transient
reorderLibraries: false,
}),
@ -40,6 +41,7 @@ export const useAppStore = defineStore('app', {
'importBooksPath',
'browsingPageSize',
'presentationMode',
'gridCardWidth',
],
},
})