diff options
Diffstat (limited to 'src/site/components')
| -rw-r--r-- | src/site/components/album/AlbumDetails.vue | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/site/components/album/AlbumDetails.vue b/src/site/components/album/AlbumDetails.vue index ef07670..10925df 100644 --- a/src/site/components/album/AlbumDetails.vue +++ b/src/site/components/album/AlbumDetails.vue @@ -99,6 +99,13 @@ <div class="level-right"> <div class="level-item"> + <b-switch + v-model="isNsfw" + :false-value="0" + :true-value="1" + @input="toggleNsfw()" /> + </div> + <div class="level-item"> <button class="button is-danger" style="float: right" @@ -133,7 +140,15 @@ export default { isDeletingLinks: [] }; }, - computed: mapState(['config', 'auth']), + computed: { + ...mapState(['config', 'auth']), + isNsfw() { + return this.$store.state.albums.list.find(a => a.id === this.albumId).nsfw; + } + }, + mounted() { + console.log(this.isNsfw); + }, methods: { ...mapActions({ deleteAlbumAction: 'albums/deleteAlbum', @@ -141,6 +156,7 @@ export default { updateLinkOptionsAction: 'albums/updateLinkOptions', createLinkAction: 'albums/createLink', createCustomLinkAction: 'albums/createCustomLink', + toggleNsfw: 'albums/toggleNsfw', alert: 'alert/set' }), promptDeleteAlbum(id) { @@ -199,6 +215,17 @@ export default { this.alert({ text: e.message, error: true }); } }, + async toggleNsfw() { + try { + const response = await this.toggleNsfw({ + albumId: this.albumId, + nsfw: !this.isNsfw + }); + this.alert({ text: response.message, error: false }); + } catch (e) { + this.alert({ text: e.message, error: true }); + } + }, async createCustomLink(albumId) { this.$buefy.dialog.prompt({ message: 'Custom link identifier', |