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 { I18n } from '@ngx-translate/i18n-polyfill'
-import { VideoSortField } from '@shared/models'
+import { VideoSortField, FeedFormat } from '@shared/models'
+import { copyToClipboard } from '../../../root-helpers/utils'
+import { environment } from '../../../environments/environment'
@Component({
selector: 'my-videos-user-subscriptions',
groupByDate = true
constructor (
- protected i18n: I18n,
protected router: Router,
protected serverService: ServerService,
protected route: ActivatedRoute,
protected screenService: ScreenService,
protected storageService: LocalStorageService,
private userSubscription: UserSubscriptionService,
- private videoService: VideoService,
- private hooks: HooksService
+ private hooks: HooksService,
+ private videoService: VideoService
) {
super()
- this.titlePage = i18n('Videos from your subscriptions')
+ this.titlePage = $localize`Videos from your subscriptions`
+
this.actions.push({
- routerLink: '/my-account/subscriptions',
- label: i18n('Subscriptions'),
+ routerLink: '/my-library/subscriptions',
+ label: $localize`Subscriptions`,
iconName: 'cog'
})
}
ngOnInit () {
super.ngOnInit()
+
+ const user = this.authService.getUser()
+ let feedUrl = environment.embedUrl
+ this.videoService.getVideoSubscriptionFeedUrls(user.account.id)
+ .then((feeds: any) => feedUrl = feedUrl + feeds.find((f: any) => f.format === FeedFormat.RSS).url)
+ this.actions.unshift({
+ label: $localize`Feed`,
+ iconName: 'syndication',
+ justIcon: true,
+ click: () => {
+ copyToClipboard(feedUrl)
+ this.activateCopiedMessage()
+ }
+ })
}
ngOnDestroy () {
generateSyndicationList () {
// not implemented yet
}
+
+ activateCopiedMessage () {
+ this.notifier.success($localize`Feed URL copied`)
+ }
}