From fdac03bfe327269835aa25b0e7841f21c5ed00b4 Mon Sep 17 00:00:00 2001 From: Daan Wijns Date: Thu, 4 Jun 2020 19:09:45 +0200 Subject: [PATCH] tag mobile layout fix + creating new/deleting tags --- .../TorrentDetailModal/CreateNewTagDialog.vue | 68 ++++++++++++ .../TorrentDetailModal/DeleteTagDialog.vue | 59 ++++++++++ src/components/TorrentDetailModal/Tags.vue | 102 +++++++++++------- src/services/qbit.js | 16 +++ 4 files changed, 208 insertions(+), 37 deletions(-) create mode 100644 src/components/TorrentDetailModal/CreateNewTagDialog.vue create mode 100644 src/components/TorrentDetailModal/DeleteTagDialog.vue diff --git a/src/components/TorrentDetailModal/CreateNewTagDialog.vue b/src/components/TorrentDetailModal/CreateNewTagDialog.vue new file mode 100644 index 00000000..7913bd63 --- /dev/null +++ b/src/components/TorrentDetailModal/CreateNewTagDialog.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/components/TorrentDetailModal/DeleteTagDialog.vue b/src/components/TorrentDetailModal/DeleteTagDialog.vue new file mode 100644 index 00000000..fd8a0e84 --- /dev/null +++ b/src/components/TorrentDetailModal/DeleteTagDialog.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/components/TorrentDetailModal/Tags.vue b/src/components/TorrentDetailModal/Tags.vue index b74d813e..59111532 100644 --- a/src/components/TorrentDetailModal/Tags.vue +++ b/src/components/TorrentDetailModal/Tags.vue @@ -4,44 +4,65 @@ class="mx-auto mt-5" style="font-size: 1.1em; max-height: 500px; min-height: 300px;" > - - - -

Available Tags:

-
- - - {{ tag }} - - -
-
- - - -

Current Tags:

-
- - {{ tag }} - -
-
+ + +

Available Tags:

+
+ + + {{ tag }} + + +
+ + +

Current Tags:

+
+ + {{ tag }} + +
+ + Delete + Create new + + + @@ -49,11 +70,18 @@ import { difference } from 'lodash' import { mapGetters } from 'vuex' import qbit from '@/services/qbit' +import CreateNewTagDialog from './CreateNewTagDialog' +import DeleteTagDialog from './DeleteTagDialog' export default { name: 'Tags', + components: { CreateNewTagDialog, DeleteTagDialog }, props: { hash: String }, + data: () => ({ + CreateNewDialog: false, + DeleteDialog: false + }), computed: { ...mapGetters(['getTorrent', 'getAvailableTags']), torrent() { diff --git a/src/services/qbit.js b/src/services/qbit.js index 52634d07..1fe2d342 100644 --- a/src/services/qbit.js +++ b/src/services/qbit.js @@ -237,6 +237,22 @@ class Qbit { return this.axios.post('/torrents/addTags ', data) } + createTag(tag) { + const params = { + tags: tag + } + const data = new URLSearchParams(params) + return this.axios.post('/torrents/createTags ', data) + } + + deleteTag(tag) { + const params = { + tags: tag + } + const data = new URLSearchParams(params) + return this.axios.post('/torrents/deleteTags ', data) + } + actionTorrents(action, hashes, extra) { const params = { hashes: hashes.join('|'),