mirror of
https://github.com/gotson/komga.git
synced 2025-12-20 15:34:17 +01:00
fix(webui): disable some UI elements for non-admins
This commit is contained in:
parent
2449ec4697
commit
ada1438921
7 changed files with 24 additions and 18 deletions
|
|
@ -103,7 +103,7 @@
|
|||
v-else
|
||||
:items.sync="series"
|
||||
:selected.sync="selectedSeries"
|
||||
:edit-function="editSingleSeries"
|
||||
:edit-function="isAdmin ? editSingleSeries : undefined"
|
||||
:draggable="editElements && collection.ordered"
|
||||
:deletable="editElements"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -42,9 +42,9 @@
|
|||
|
||||
<item-browser
|
||||
:items="collections"
|
||||
selectable
|
||||
:selectable="isAdmin"
|
||||
:selected.sync="selectedCollections"
|
||||
:edit-function="editSingleCollection"
|
||||
:edit-function="isAdmin ? editSingleCollection : undefined"
|
||||
/>
|
||||
|
||||
<v-pagination
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
<item-browser
|
||||
:items="series"
|
||||
:selected.sync="selectedSeries"
|
||||
:edit-function="editSingleSeries"
|
||||
:edit-function="isAdmin ? editSingleSeries : undefined"
|
||||
/>
|
||||
|
||||
<v-pagination
|
||||
|
|
|
|||
|
|
@ -42,9 +42,9 @@
|
|||
|
||||
<item-browser
|
||||
:items="readLists"
|
||||
selectable
|
||||
:selectable="isAdmin"
|
||||
:selected.sync="selectedReadLists"
|
||||
:edit-function="editSingle"
|
||||
:edit-function="isAdmin ? editSingle : undefined"
|
||||
/>
|
||||
|
||||
<v-pagination
|
||||
|
|
|
|||
|
|
@ -356,7 +356,7 @@
|
|||
|
||||
<item-browser :items="books"
|
||||
:selected.sync="selectedBooks"
|
||||
:edit-function="editSingleBook"
|
||||
:edit-function="isAdmin ? editSingleBook : undefined"
|
||||
/>
|
||||
|
||||
<v-pagination
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="inProgressBooks"
|
||||
nowrap
|
||||
:edit-function="singleEditBook"
|
||||
:edit-function="isAdmin ? singleEditBook : undefined"
|
||||
:selected.sync="selectedBooks"
|
||||
:selectable="selectedSeries.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="onDeckBooks"
|
||||
nowrap
|
||||
:edit-function="singleEditBook"
|
||||
:edit-function="isAdmin ? singleEditBook : undefined"
|
||||
:selected.sync="selectedBooks"
|
||||
:selectable="selectedSeries.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="latestBooks"
|
||||
nowrap
|
||||
:edit-function="singleEditBook"
|
||||
:edit-function="isAdmin ? singleEditBook : undefined"
|
||||
:selected.sync="selectedBooks"
|
||||
:selectable="selectedSeries.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="newSeries"
|
||||
nowrap
|
||||
:edit-function="singleEditSeries"
|
||||
:edit-function="isAdmin ? singleEditSeries : undefined"
|
||||
:selected.sync="selectedSeries"
|
||||
:selectable="selectedBooks.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
|
|
@ -115,7 +115,7 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="updatedSeries"
|
||||
nowrap
|
||||
:edit-function="singleEditSeries"
|
||||
:edit-function="isAdmin ? singleEditSeries : undefined"
|
||||
:selected.sync="selectedSeries"
|
||||
:selectable="selectedBooks.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
|
|
@ -226,6 +226,9 @@ export default Vue.extend({
|
|||
},
|
||||
},
|
||||
computed: {
|
||||
isAdmin(): boolean {
|
||||
return this.$store.getters.meAdmin
|
||||
},
|
||||
fixedCardWidth(): number {
|
||||
return this.$vuetify.breakpoint.name === 'xs' ? 120 : 150
|
||||
},
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="series"
|
||||
nowrap
|
||||
:edit-function="singleEditSeries"
|
||||
:edit-function="isAdmin ? singleEditSeries : undefined"
|
||||
:selected.sync="selectedSeries"
|
||||
:selectable="selectedBooks.length === 0 && selectedCollections.length === 0 && selectedReadLists.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="books"
|
||||
nowrap
|
||||
:edit-function="singleEditBook"
|
||||
:edit-function="isAdmin ? singleEditBook : undefined"
|
||||
:selected.sync="selectedBooks"
|
||||
:selectable="selectedSeries.length === 0 && selectedCollections.length === 0 && selectedReadLists.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
|
|
@ -89,9 +89,9 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="collections"
|
||||
nowrap
|
||||
:edit-function="singleEditCollection"
|
||||
:edit-function="isAdmin ? singleEditCollection : undefined"
|
||||
:selected.sync="selectedCollections"
|
||||
:selectable="selectedSeries.length === 0 && selectedBooks.length === 0 && selectedReadLists.length === 0"
|
||||
:selectable="isAdmin && selectedSeries.length === 0 && selectedBooks.length === 0 && selectedReadLists.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
/>
|
||||
</template>
|
||||
|
|
@ -104,9 +104,9 @@
|
|||
<template v-slot:content>
|
||||
<item-browser :items="readLists"
|
||||
nowrap
|
||||
:edit-function="singleEditReadList"
|
||||
:edit-function="isAdmin ? singleEditReadList : undefined"
|
||||
:selected.sync="selectedReadLists"
|
||||
:selectable="selectedSeries.length === 0 && selectedBooks.length === 0 && selectedCollections.length === 0"
|
||||
:selectable="isAdmin && selectedSeries.length === 0 && selectedBooks.length === 0 && selectedCollections.length === 0"
|
||||
:fixed-item-width="fixedCardWidth"
|
||||
/>
|
||||
</template>
|
||||
|
|
@ -219,6 +219,9 @@ export default Vue.extend({
|
|||
},
|
||||
},
|
||||
computed: {
|
||||
isAdmin(): boolean {
|
||||
return this.$store.getters.meAdmin
|
||||
},
|
||||
fixedCardWidth (): number {
|
||||
return this.$vuetify.breakpoint.name === 'xs' ? 120 : 150
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue