]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/videos/+video-watch/video-watch.component.html
Add visitor settings, rework logged-in dropdown (#2514)
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / +video-watch / video-watch.component.html
index b3def01faa36afb2000ff2090289e79bcaac976c..585acd7a89cb627bd59fcce47ef4efa92cf38d15 100644 (file)
@@ -43,7 +43,7 @@
             <h1 class="video-info-name">{{ video.name }}</h1>
 
             <div i18n class="video-info-date-views">
-              Published <my-date-toggle [date]="video.publishedAt"></my-date-toggle> <span class="views"> - {{ video.views | myNumberFormatter }} views</span>
+              Published <my-date-toggle [date]="video.publishedAt"></my-date-toggle> <span class="views">  {{ video.views | myNumberFormatter }} views</span>
             </div>
           </div>
 
@@ -54,7 +54,7 @@
 
             <div class="video-info-first-row-bottom">
               <div i18n class="d-none d-md-block video-info-date-views">
-                Published <my-date-toggle [date]="video.publishedAt"></my-date-toggle> <span class="views"> - {{ video.views | myNumberFormatter }} views</span>
+                Published <my-date-toggle [date]="video.publishedAt"></my-date-toggle> <span class="views">  {{ video.views | myNumberFormatter }} views</span>
               </div>
 
               <div class="video-actions-rates">
                     <span *ngIf="video.dislikes" class="count">{{ video.dislikes }}</span>
                   </div>
 
-                  <div *ngIf="video.support" (click)="showSupportModal()" class="action-button"
+                  <div *ngIf="video.support" (click)="showSupportModal()" class="action-button action-button-support"
                     [ngbTooltip]="tooltipSupport"
                     placement="bottom auto"
                   >
                     <my-global-icon iconName="support"></my-global-icon>
-                    <span class="icon-text" i18n>Support</span>
+                    <span class="icon-text" i18n>SUPPORT</span>
                   </div>
 
                   <div (click)="showShareModal()" class="action-button" role="button">
                     <my-global-icon iconName="share"></my-global-icon>
-                    <span class="icon-text" i18n>Share</span>
+                    <span class="icon-text" i18n>SHARE</span>
                   </div>
 
                   <div
                   >
                     <div class="action-button action-button-save" ngbDropdownToggle role="button">
                       <my-global-icon iconName="playlist-add"></my-global-icon>
-                      <span class="icon-text" i18n>Save</span>
+                      <span class="icon-text" i18n>SAVE</span>
                     </div>
 
                     <div ngbDropdownMenu>
                   </div>
 
                   <my-video-actions-dropdown
-                    placement="top auto" buttonDirection="horizontal" [buttonStyled]="true" [video]="video"
+                    placement="bottom auto" buttonDirection="horizontal" [buttonStyled]="true" [video]="video" [videoCaptions]="videoCaptions"
                     (videoRemoved)="onVideoRemoved()" (modalOpened)="onModalOpened()"
                   ></my-video-actions-dropdown>
                 </div>
 
-                <div class="video-info-likes-dislikes-bar-outerContainer">
+                <div class="video-info-likes-dislikes-bar-outer-container">
                   <div
-                    class="video-info-likes-dislikes-bar-innerContainer"
+                    class="video-info-likes-dislikes-bar-inner-container"
                     *ngIf="video.likes !== 0 || video.dislikes !== 0"
                     [ngbTooltip]="likesBarTooltipText"
                     placement="bottom"
                     <div
                       class="video-info-likes-dislikes-bar"
                     >
-                      <div class="likes-bar" [ngStyle]="{ 'width.%': video.likesPercent }"></div>
+                      <div class="likes-bar" [ngClass]="{ 'liked': userRating !== 'none' }" [ngStyle]="{ 'width.%': video.likesPercent }"></div>
                     </div>
                   </div>
                 </div>
           <div class="pt-3 border-top video-info-channel d-flex">
             <div class="video-info-channel-left d-flex">
               <avatar-channel [video]="video"></avatar-channel>
+
               <div class="video-info-channel-left-links ml-1">
                 <a [routerLink]="[ '/video-channels', video.byVideoChannel ]" i18n-title title="Go the channel page">
                   {{ video.channel.displayName }}
               </div>
             </div>
 
-            <my-subscribe-button #subscribeButton [videoChannel]="video.channel" size="small"></my-subscribe-button>
+            <my-subscribe-button #subscribeButton [videoChannels]="[video.channel]" size="small"></my-subscribe-button>
           </div>
         </div>
 
       </div>
 
       <div class="video-info-description">
-        <div class="video-info-description-html" [innerHTML]="videoHTMLDescription"></div>
+        <div
+          class="video-info-description-html"
+          [innerHTML]="videoHTMLDescription"
+          (timestampClicked)="handleTimestampClicked($event)"
+          timestampRouteTransformer
+        ></div>
 
         <div class="video-info-description-more" *ngIf="completeDescriptionShown === false && video.description?.length >= 250" (click)="showMoreDescription()">
           <ng-container i18n>Show more</ng-container>
           <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>
             class="video-attribute-value" [routerLink]="[ '/search' ]" [queryParams]="{ tagsOneOf: [ tag ] }"
           >{{ tag }}</a>
         </div>
+
+        <div class="video-attribute">
+          <span i18n class="video-attribute-label">Duration</span>
+          <span class="video-attribute-value">{{ video.duration | myVideoDurationFormatter }}</span>
+        </div>
       </div>
 
-      <my-video-comments class="border-top" [video]="video" [user]="user"></my-video-comments>
+      <my-video-comments
+        class="border-top"
+        [video]="video"
+        [user]="user"
+        (timestampClicked)="handleTimestampClicked($event)"
+      ></my-video-comments>
     </div>
 
     <my-recommended-videos
 
   <div class="row privacy-concerns" *ngIf="hasAlreadyAcceptedPrivacyConcern === false">
     <div class="privacy-concerns-text">
-      <strong i18n>Friendly Reminder: </strong>
-      <ng-container i18n>
-        the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers.
-      </ng-container>
+      <span i18n class="mr-2">
+        <strong>Help your peers</strong>
+        and activate the sharing system to improve the experience for everyone.
+      </span>
       <a i18n i18n-title title="Get more information" target="_blank" rel="noopener noreferrer" href="/about/peertube">More information</a>
     </div>
 
-    <div i18n class="privacy-concerns-okay" (click)="acceptedPrivacyConcern()">
-      OK
+    <div i18n class="privacy-concerns-button" (click)="declinedPrivacyConcern()">
+      No thanks
+    </div>
+    <div i18n class="privacy-concerns-button privacy-concerns-okay" (click)="acceptedPrivacyConcern()">
+      Activate
     </div>
   </div>
 </div>