diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html
index f537b939f..2fb29303f 100644
--- a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html
+++ b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.html
@@ -61,7 +61,7 @@
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts
index 91eb66931..344b99ea2 100644
--- a/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts
+++ b/client/src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts
@@ -27,6 +27,8 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView
firstStepPermanentLive: boolean
isInUpdateForm = false
+ isUpdatingVideo = false
+ isOrHasGoingLive = false
liveVideo: LiveVideo
@@ -64,6 +66,9 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView
}
goLive () {
+ if (this.isOrHasGoingLive) return
+ this.isOrHasGoingLive = true
+
const name = 'Live'
const video: LiveVideoCreate = {
@@ -115,6 +120,8 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView
async updateSecondStep () {
if (!await this.isFormValid()) return
+ this.isUpdatingVideo = true
+
const video = new VideoEdit()
video.patch(this.form.value)
video.id = this.videoId
@@ -134,6 +141,8 @@ export class VideoGoLiveComponent extends VideoSend implements OnInit, AfterView
this.liveVideoService.updateLive(this.videoId, liveVideoUpdate)
]).subscribe({
next: () => {
+ this.isUpdatingVideo = false
+
this.notifier.success($localize`Live published.`)
this.router.navigateByUrl(Video.buildWatchUrl(video))