+
+import { switchMap } from 'rxjs/operators'
import { Component, OnDestroy, OnInit } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { AuthService, LocalStorageService, Notifier, ScopedTokensService, ScreenService, ServerService, UserService } from '@app/core'
import { VideoService } from '@app/shared/shared-main'
import { UserSubscriptionService } from '@app/shared/shared-user-subscription'
import { AbstractVideoList, OwnerDisplayType } from '@app/shared/shared-video-miniature'
-import { VideoSortField, FeedFormat } from '@shared/models'
-import { copyToClipboard } from '../../../root-helpers/utils'
+import { FeedFormat, VideoSortField } from '@shared/models'
import { environment } from '../../../environments/environment'
-import { forkJoin } from 'rxjs'
+import { copyToClipboard } from '../../../root-helpers/utils'
@Component({
selector: 'my-videos-user-subscriptions',
const user = this.authService.getUser()
let feedUrl = environment.originServerUrl
- this.scopedTokensService.getScopedTokens().subscribe(
- tokens => {
- const feeds = this.videoService.getVideoSubscriptionFeedUrls(user.account.id, tokens.feedToken)
- feedUrl = feedUrl + feeds.find((f: any) => f.format === FeedFormat.RSS).url
- },
+ this.authService.userInformationLoaded
+ .pipe(switchMap(() => this.scopedTokensService.getScopedTokens()))
+ .subscribe(
+ tokens => {
+ const feeds = this.videoService.getVideoSubscriptionFeedUrls(user.account.id, tokens.feedToken)
+ feedUrl = feedUrl + feeds.find(f => f.format === FeedFormat.RSS).url
- err => {
- this.notifier.error(err.message)
- }
- )
+ this.actions.unshift({
+ label: $localize`Copy feed URL`,
+ iconName: 'syndication',
+ justIcon: true,
+ href: feedUrl,
+ click: e => {
+ e.preventDefault()
+ copyToClipboard(feedUrl)
+ this.activateCopiedMessage()
+ }
+ })
+ },
- this.actions.unshift({
- label: $localize`Feed`,
- iconName: 'syndication',
- justIcon: true,
- click: () => {
- copyToClipboard(feedUrl)
- this.activateCopiedMessage()
- }
- })
+ err => {
+ this.notifier.error(err.message)
+ }
+ )
}
ngOnDestroy () {