- this.route.data
- .pipe(map(data => data.videoData))
- .subscribe({
- next: ({ video, videoChannels, videoCaptions, liveVideo }) => {
- this.video = new VideoEdit(video)
- this.videoDetails = video
-
- this.userVideoChannels = videoChannels
- this.videoCaptions = videoCaptions
- this.liveVideo = liveVideo
-
- this.schedulePublicationPossible = this.video.privacy === VideoPrivacy.PRIVATE
-
- // FIXME: Angular does not detect the change inside this subscription, so use the patched setTimeout
- setTimeout(() => {
- hydrateFormFromVideo(this.form, this.video, true)
-
- if (this.liveVideo) {
- this.form.patchValue({
- saveReplay: this.liveVideo.saveReplay,
- permanentLive: this.liveVideo.permanentLive
- })
- }
- })
- },
+ const { videoData } = this.route.snapshot.data
+ const { video, videoChannels, videoCaptions, videoSource, liveVideo } = videoData