Add origin instance URL in watch page
authorChocobozzz <me@florianbigard.com>
Wed, 29 Jan 2020 12:59:40 +0000 (13:59 +0100)
committerChocobozzz <me@florianbigard.com>
Wed, 29 Jan 2020 12:59:40 +0000 (13:59 +0100)
client/src/app/shared/video/video.model.ts
client/src/app/videos/+video-watch/video-watch.component.html

index 9eeaf41b052de335d5ad070d6e49627472ac21c9..546518ccac77b7b8fef0cf6d4aacd7f1436a40a6 100644 (file)
@@ -42,6 +42,9 @@ export class Video implements VideoServerModel {
   dislikes: number
   nsfw: boolean
 
+  originInstanceUrl: string
+  originInstanceHost: string
+
   waitTranscoding?: boolean
   state?: VideoConstant<VideoState>
   scheduledUpdate?: VideoScheduleUpdate
@@ -86,22 +89,31 @@ export class Video implements VideoServerModel {
     this.waitTranscoding = hash.waitTranscoding
     this.state = hash.state
     this.description = hash.description
+
     this.duration = hash.duration
     this.durationLabel = durationToString(hash.duration)
+
     this.id = hash.id
     this.uuid = hash.uuid
+
     this.isLocal = hash.isLocal
     this.name = hash.name
+
     this.thumbnailPath = hash.thumbnailPath
     this.thumbnailUrl = absoluteAPIUrl + hash.thumbnailPath
+
     this.previewPath = hash.previewPath
     this.previewUrl = absoluteAPIUrl + hash.previewPath
+
     this.embedPath = hash.embedPath
     this.embedUrl = absoluteAPIUrl + hash.embedPath
+
     this.views = hash.views
     this.likes = hash.likes
     this.dislikes = hash.dislikes
+
     this.nsfw = hash.nsfw
+
     this.account = hash.account
     this.channel = hash.channel
 
@@ -124,6 +136,9 @@ export class Video implements VideoServerModel {
     this.blacklistedReason = hash.blacklistedReason
 
     this.userHistory = hash.userHistory
+
+    this.originInstanceHost = this.account.host
+    this.originInstanceUrl = 'https://' + this.originInstanceHost
   }
 
   isVideoNSFWForUser (user: User, serverConfig: ServerConfig) {
index bc3a3ffdd3e6c084a0acf88339ed3f1d6cd0b522..a382777f57de9ce836f37d93792e5615539392c8 100644 (file)
           <span class="video-attribute-value">{{ video.privacy.label }}</span>
         </div>
 
+        <div *ngIf="video.isLocal === false" class="video-attribute">
+          <span i18n class="video-attribute-label">Origin instance</span>
+          <a class="video-attribute-value" target="_blank" rel="noopener noreferrer" [href]="video.originInstanceUrl">{{ video.originInstanceHost }}</a>
+        </div>
+
         <div *ngIf="!!video.originallyPublishedAt" class="video-attribute">
           <span i18n class="video-attribute-label">Originally published</span>
           <span class="video-attribute-value">{{ video.originallyPublishedAt | date: 'dd MMMM yyyy' }}</span>