diff --git a/packages/frontend/src/components/ListItemStream.vue b/packages/frontend/src/components/ListItemStream.vue index 3e932909c..4b8a1097d 100644 --- a/packages/frontend/src/components/ListItemStream.vue +++ b/packages/frontend/src/components/ListItemStream.vue @@ -6,7 +6,7 @@ :elevation="hover ? 5 : 0" style="transition: all 0.2s ease-in-out" > - + {{ stream.name }} diff --git a/packages/frontend/src/views/stream/Settings.vue b/packages/frontend/src/views/stream/Settings.vue index 3e4924651..b49dbf6cb 100644 --- a/packages/frontend/src/views/stream/Settings.vue +++ b/packages/frontend/src/views/stream/Settings.vue @@ -46,6 +46,53 @@ + + + + mdi-bomb + Danger Zone + + + + + + Delete Stream + + Once you delete a stream, there is no going back! + + + + delete + + + + + Deleting Stream '{{ stream.name }}' + + Type the name of the stream below to confirm you really want to delete it. + You cannot undo this action. + + + + + + delete + + Cancel + + + + +

@@ -59,7 +106,7 @@ import gql from 'graphql-tag' export default { - name: 'SettingsGeneral', + name: 'StreamSettings', components: { BreadcrumbTitle: () => import('@/components/BreadcrumbTitle') }, @@ -95,6 +142,8 @@ export default { loading: false, valid: false, name: null, + deleteDialog: false, + streamNameConfirm: '', description: null, isPublic: true, validation: { @@ -139,6 +188,25 @@ export default { this.$apollo.queries.stream.refetch() this.loading = false + }, + async deleteStream() { + this.$matomo && this.$matomo.trackPageView('stream/delete') + try { + await this.$apollo.mutate({ + mutation: gql` + mutation deleteStream($id: String!) { + streamDelete(id: $id) + } + `, + variables: { + id: this.stream.id + } + }) + } catch (e) { + console.log(e) + } + this.deleteDialog = false + this.$router.push({ path: '/streams' }) } } }