diff --git a/packages/frontend/src/views/Frontend_re.vue b/packages/frontend/src/views/Frontend_re.vue index 5b52c8237..6f6f885b7 100644 --- a/packages/frontend/src/views/Frontend_re.vue +++ b/packages/frontend/src/views/Frontend_re.vue @@ -339,8 +339,7 @@ export default { $route(to) { this.bottomSheet = false // close the snackbar if it's a stream create event in this window - if (to.params.streamId === this.streamSnackbarInfo.id) - this.streamSnackbar = false + if (to.params.streamId === this.streamSnackbarInfo.id) this.streamSnackbar = false } }, methods: { diff --git a/packages/frontend/src/views/stream/Stream_re_re.vue b/packages/frontend/src/views/stream/Stream_re_re.vue index 4b057900f..334efd162 100644 --- a/packages/frontend/src/views/stream/Stream_re_re.vue +++ b/packages/frontend/src/views/stream/Stream_re_re.vue @@ -447,6 +447,27 @@ :stream-id="$route.params.streamId" :stream-name="stream.name" /> + + + + + + @@ -465,8 +486,8 @@ export default { return { streamNav: true, error: '', - commitSnackbar: false, - commitSnackbarInfo: {}, + snackbar: false, + snackbarInfo: {}, editStreamDialog: false, shareStream: false, branchMenuOpen: false, @@ -533,6 +554,26 @@ export default { } }, $subscribe: { + branchCreated: { + query: gql` + subscription($streamId: String!) { + branchCreated(streamId: $streamId) + } + `, + variables() { + return { + streamId: this.$route.params.streamId + } + }, + result(args) { + if (!args.data.branchCreated) return + this.snackbar = true + this.snackbarInfo = { ...args.data.branchCreated, type: 'branch' } + }, + skip() { + return !this.loggedIn + } + }, commitCreated: { query: gql` subscription($streamId: String!) { @@ -546,8 +587,9 @@ export default { }, result(commitInfo) { if (!commitInfo.data.commitCreated) return - this.commitSnackbar = true - this.commitSnackbarInfo = commitInfo.data.commitCreated + console.log(commitInfo) + this.snackbar = true + this.snackbarInfo = { ...commitInfo.data.commitCreated, type: 'commit' } }, skip() { return !this.loggedIn @@ -589,12 +631,13 @@ export default { } }, watch: { - $route(to, from) { + $route() { // Ensures branch menu is open when navigating to a branch url if (this.$route.name.toLowerCase().includes('branch') && !this.branchMenuOpen) this.branchMenuOpen = true - + // closes any share dialog this.shareStream = false + this.snackbar = false } }, mounted() { @@ -615,6 +658,17 @@ export default { } }, methods: { + goToItemAndCloseSnackbar() { + if (this.snackbarInfo.type === 'commit') { + this.$router.push(`/streams/${this.$route.params.streamId}/commits/${this.snackbarInfo.id}`) + } else if (this.snackbarInfo.type === 'branch') { + this.$router.push( + `/streams/${this.$route.params.streamId}/branches/${this.snackbarInfo.name}` + ) + this.refetchBranches() + } + this.snackbar = false + }, copyToClipboard(e) { e.target.select() document.execCommand('copy')