]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Redirect to search page for origin instance
authorChocobozzz <me@florianbigard.com>
Thu, 29 Jul 2021 13:35:41 +0000 (15:35 +0200)
committerChocobozzz <me@florianbigard.com>
Thu, 29 Jul 2021 13:35:41 +0000 (15:35 +0200)
client/src/app/+videos/+video-watch/shared/metadata/video-attributes.component.html
client/src/app/+videos/+video-watch/shared/metadata/video-attributes.component.scss
client/src/app/+videos/+video-watch/shared/metadata/video-attributes.component.ts

index 598bc485d2cf4b82b409f30d51094d1e9779d466..362a2190514c2fe34c688693d98565d695f1471b 100644 (file)
@@ -1,54 +1,62 @@
-<div class="video-attribute">
-  <span i18n class="video-attribute-label">Privacy</span>
-  <span class="video-attribute-value">{{ video.privacy.label }}</span>
+<div class="attribute">
+  <span i18n class="attribute-label">Privacy</span>
+  <span class="attribute-value">{{ video.privacy.label }}</span>
 </div>
 
-<div *ngIf="video.isLocal === false" class="video-attribute">
-  <span i18n class="video-attribute-label">Origin</span>
-  <a class="video-attribute-value" target="_blank" rel="noopener noreferrer" [href]="getVideoUrl()">{{ video.originInstanceHost }}</a>
+<div *ngIf="video.isLocal === false" class="attribute">
+  <span i18n class="attribute-label">Origin</span>
+  <a
+    class="attribute-value" target="_blank" rel="noopener noreferrer"
+    routerLink="/search" [queryParams]="{ host: getVideoHost() }"
+  >{{ video.originInstanceHost }}</a>
+
+  <a
+    i18n-title title="Open the video on the origin instance" class="glyphicon glyphicon-new-window"
+    target="_blank" rel="noopener noreferrer" [href]="getVideoUrl()"
+  ></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>
+<div *ngIf="!!video.originallyPublishedAt" class="attribute">
+  <span i18n class="attribute-label">Originally published</span>
+  <span class="attribute-value">{{ video.originallyPublishedAt | date: 'dd MMMM yyyy' }}</span>
 </div>
 
-<div class="video-attribute">
-  <span i18n class="video-attribute-label">Category</span>
-  <span *ngIf="!video.category.id" class="video-attribute-value">{{ video.category.label }}</span>
+<div class="attribute">
+  <span i18n class="attribute-label">Category</span>
+  <span *ngIf="!video.category.id" class="attribute-value">{{ video.category.label }}</span>
   <a
-    *ngIf="video.category.id" class="video-attribute-value"
+    *ngIf="video.category.id" class="attribute-value"
     [routerLink]="[ '/search' ]" [queryParams]="{ categoryOneOf: [ video.category.id ] }"
   >{{ video.category.label }}</a>
 </div>
 
-<div class="video-attribute">
-  <span i18n class="video-attribute-label">Licence</span>
-  <span *ngIf="!video.licence.id" class="video-attribute-value">{{ video.licence.label }}</span>
+<div class="attribute">
+  <span i18n class="attribute-label">Licence</span>
+  <span *ngIf="!video.licence.id" class="attribute-value">{{ video.licence.label }}</span>
   <a
-    *ngIf="video.licence.id" class="video-attribute-value"
+    *ngIf="video.licence.id" class="attribute-value"
     [routerLink]="[ '/search' ]" [queryParams]="{ licenceOneOf: [ video.licence.id ] }"
   >{{ video.licence.label }}</a>
 </div>
 
-<div class="video-attribute">
-  <span i18n class="video-attribute-label">Language</span>
-  <span *ngIf="!video.language.id" class="video-attribute-value">{{ video.language.label }}</span>
+<div class="attribute">
+  <span i18n class="attribute-label">Language</span>
+  <span *ngIf="!video.language.id" class="attribute-value">{{ video.language.label }}</span>
   <a
-    *ngIf="video.language.id" class="video-attribute-value"
+    *ngIf="video.language.id" class="attribute-value"
     [routerLink]="[ '/search' ]" [queryParams]="{ languageOneOf: [ video.language.id ] }"
   >{{ video.language.label }}</a>
 </div>
 
-<div class="video-attribute video-attribute-tags">
-  <span i18n class="video-attribute-label">Tags</span>
+<div class="attribute attribute-tags">
+  <span i18n class="attribute-label">Tags</span>
   <a
     *ngFor="let tag of getVideoTags()"
-    class="video-attribute-value" [routerLink]="[ '/search' ]" [queryParams]="{ tagsOneOf: [ tag ] }"
+    class="attribute-value" [routerLink]="[ '/search' ]" [queryParams]="{ tagsOneOf: [ tag ] }"
   >{{ tag }}</a>
 </div>
 
-<div class="video-attribute" *ngIf="!video.isLive">
-  <span i18n class="video-attribute-label">Duration</span>
-  <span class="video-attribute-value">{{ video.duration | myDurationFormatter }}</span>
+<div class="attribute" *ngIf="!video.isLive">
+  <span i18n class="attribute-label">Duration</span>
+  <span class="attribute-value">{{ video.duration | myDurationFormatter }}</span>
 </div>
index 45190a3e37d671730ca8ed026bd0909aae78f2ab..26bead12471c53953dac6249f079d5413dd06fcf 100644 (file)
@@ -1,13 +1,13 @@
 @use '_variables' as *;
 @use '_mixins' as *;
 
-.video-attribute {
+.attribute {
   font-size: 13px;
   display: block;
   margin-bottom: 12px;
 }
 
-.video-attribute-label {
+.attribute-label {
   @include padding-right(5px);
 
   min-width: 142px;
@@ -16,7 +16,7 @@
   font-weight: $font-bold;
 }
 
-a.video-attribute-value {
+a.attribute-value {
   @include disable-default-a-behaviour;
   color: pvar(--mainForegroundColor);
 
@@ -25,16 +25,22 @@ a.video-attribute-value {
   }
 }
 
-.video-attribute-tags {
-  .video-attribute-value:not(:nth-child(2)) {
+.attribute-tags {
+  .attribute-value:not(:nth-child(2)) {
     &::before {
       content: ', ';
     }
   }
 }
 
+.glyphicon-new-window {
+  color: pvar(--inputPlaceholderColor);
+  margin-left: 5px;
+  font-size: 12px;
+}
+
 @media screen and (max-width: 1600px) {
-  .video-attributes .video-attribute {
+  .attributes .attribute {
     margin-bottom: 5px;
   }
 }
index 5cb77f0c86ed4455248089167340906eee1a8ab6..9429581ac7ce6ebbe386ae56763f26a5baa092a8 100644 (file)
@@ -17,6 +17,10 @@ export class VideoAttributesComponent {
     return this.video.url
   }
 
+  getVideoHost () {
+    return this.video.channel.host
+  }
+
   getVideoTags () {
     if (!this.video || Array.isArray(this.video.tags) === false) return []