import { switchMap } from 'rxjs/operators'
-import { Component, OnDestroy, OnInit } from '@angular/core'
+import { Component, ComponentFactoryResolver, OnDestroy, OnInit } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { AuthService, LocalStorageService, Notifier, ScopedTokensService, ScreenService, ServerService, UserService } from '@app/core'
import { HooksService } from '@app/core/plugins/hooks.service'
import { immutableAssign } from '@app/helpers'
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 { AbstractVideoList } from '@app/shared/shared-video-miniature'
import { FeedFormat, VideoSortField } from '@shared/models'
import { environment } from '../../../environments/environment'
import { copyToClipboard } from '../../../root-helpers/utils'
export class VideoUserSubscriptionsComponent extends AbstractVideoList implements OnInit, OnDestroy {
titlePage: string
sort = '-publishedAt' as VideoSortField
- ownerDisplayType: OwnerDisplayType = 'auto'
groupByDate = true
constructor (
protected screenService: ScreenService,
protected storageService: LocalStorageService,
private userSubscription: UserSubscriptionService,
+ protected cfr: ComponentFactoryResolver,
private hooks: HooksService,
private videoService: VideoService,
private scopedTokensService: ScopedTokensService
tokens => {
const feeds = this.videoService.getVideoSubscriptionFeedUrls(user.account.id, tokens.feedToken)
feedUrl = feedUrl + feeds.find(f => f.format === FeedFormat.RSS).url
+
+ this.actions.unshift({
+ label: $localize`Copy feed URL`,
+ iconName: 'syndication',
+ justIcon: true,
+ href: feedUrl,
+ click: e => {
+ e.preventDefault()
+ copyToClipboard(feedUrl)
+ this.activateCopiedMessage()
+ }
+ })
},
err => {
this.notifier.error(err.message)
}
)
-
- this.actions.unshift({
- label: $localize`Feed`,
- iconName: 'syndication',
- justIcon: true,
- click: () => {
- copyToClipboard(feedUrl)
- this.activateCopiedMessage()
- }
- })
}
ngOnDestroy () {
}
generateSyndicationList () {
- // not implemented yet
+ /* method disabled: the view provides its own */
+ throw new Error('Method not implemented.')
}
activateCopiedMessage () {