]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+videos/+video-watch/video-watch.component.scss
Increase global font size
[github/Chocobozzz/PeerTube.git] / client / src / app / +videos / +video-watch / video-watch.component.scss
index 4d68504f5fc491f884fa597031258244401b1f75..d438facd32870de80edff0b4e5ac869119e8c321 100644 (file)
@@ -4,15 +4,14 @@
 @use '_bootstrap-variables';
 @use '_miniature' as *;
 
-$player-factor: math.div(16, 9);
-$video-info-margin-left: 44px;
+$video-height: 66vh;
 
 @function getPlayerHeight ($width) {
-  @return calc(#{$width} / #{$player-factor});
+  @return calc(#{$width} / #{$video-watch-player-factor});
 }
 
 @function getPlayerWidth ($height) {
-  @return calc(#{$height} * #{$player-factor});
+  @return calc(#{$height} * #{$video-watch-player-factor});
 }
 
 @mixin playlist-below-player {
@@ -23,6 +22,20 @@ $video-info-margin-left: 44px;
   border-bottom: 1px solid $separator-border-color !important;
 }
 
+.blocked-label {
+  font-weight: $font-semibold;
+}
+
+.placeholder-image {
+  height: 100%;
+  max-width: 100%;
+  object-fit: contain;
+}
+
+.flex-direction-column {
+  flex-direction: column;
+}
+
 .root {
   &.theater-enabled #video-wrapper {
     $height: calc(100vh - #{$header-height} - #{$theater-bottom-space});
@@ -47,52 +60,14 @@ $video-info-margin-left: 44px;
   }
 }
 
-.blocked-label {
-  font-weight: $font-semibold;
-}
-
-.placeholder-image {
-  height: 100%;
-}
-
 #video-wrapper {
-  $video-height: 66vh;
-
   background-color: #000;
   display: flex;
   justify-content: center;
 
-  #videojs-wrapper {
-    display: flex;
-    justify-content: center;
-    flex-grow: 1;
-    height: $video-height;
-  }
-
-  .remote-server-down {
-    color: #fff;
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    text-align: center;
-    justify-content: center;
-    background-color: #141313;
-    width: 100%;
-    font-size: 24px;
-    height: 500px;
-
-    @media screen and (max-width: 1000px) {
-      font-size: 20px;
-    }
-
-    @media screen and (max-width: 600px) {
-      font-size: 16px;
-    }
-  }
-
   ::ng-deep .video-js {
     width: 100%;
-    max-width: getPlayerWidth(66vh);
+    max-width: getPlayerWidth($video-height);
     height: $video-height;
 
     // VideoJS create an inner video player
@@ -101,27 +76,34 @@ $video-info-margin-left: 44px;
       position: relative !important;
     }
   }
-
-  @media screen and (max-width: 600px) {
-    #videojs-wrapper {
-      height: getPlayerHeight(100vw) !important;
-    }
-
-    .remote-server-down,
-    ::ng-deep .video-js {
-      width: 100vw;
-      height: getPlayerHeight(100vw) !important;
-    }
-  }
 }
 
-.alert {
-  text-align: center;
-  border-radius: 0;
+#videojs-wrapper {
+  display: flex;
+  justify-content: center;
+  flex-grow: 1;
+  height: $video-height;
 }
 
-.flex-direction-column {
+.remote-server-down {
+  color: #fff;
+  display: flex;
   flex-direction: column;
+  align-items: center;
+  text-align: center;
+  justify-content: center;
+  background-color: #141313;
+  width: 100%;
+  font-size: 24px;
+  height: 500px;
+
+  @media screen and (max-width: 1000px) {
+    font-size: 20px;
+  }
+
+  @media screen and (max-width: 600px) {
+    font-size: 16px;
+  }
 }
 
 #video-not-found {
@@ -130,367 +112,123 @@ $video-info-margin-left: 44px;
   margin-top: 50px;
   text-align: center;
   font-weight: $font-semibold;
-  font-size: 15px;
 }
 
 .video-bottom {
   display: flex;
   margin-top: 1.5rem;
+}
 
-  .video-info {
-    flex-grow: 1;
-    // Set min width for flex item
-    min-width: 1px;
-    max-width: 100%;
-
-    .video-info-first-row {
-      display: flex;
-
-      > div:first-child {
-        flex-grow: 1;
-      }
-
-      .video-info-name {
-        @include peertube-word-wrap;
-
-        @include margin-right(30px);
-        min-height: 40px; // Align with the action buttons
-        font-size: 27px;
-        font-weight: $font-semibold;
-        flex-grow: 1;
-      }
-
-      .video-info-first-row-bottom {
-        display: flex;
-        flex-wrap: wrap;
-        align-items: center;
-        width: 100%;
-      }
-
-      .video-info-date-views {
-        @include margin-right(10px);
-
-        margin-bottom: 10px;
-        align-self: start;
-        font-size: 1em;
-      }
-
-      .video-info-channel {
-        font-weight: $font-semibold;
-        font-size: 15px;
-
-        a {
-          @include disable-default-a-behaviour;
-          @include peertube-word-wrap;
-
-          color: pvar(--mainForegroundColor);
-
-          &:hover {
-            opacity: 0.8;
-          }
-        }
-
-        .video-info-channel-left {
-          flex-grow: 1;
-
-          .video-info-channel-left-links {
-            display: flex;
-            flex-direction: column;
-            position: relative;
-            line-height: 1.37;
-
-            a:nth-of-type(2) {
-              font-weight: $font-regular;
-              font-size: 90%;
-            }
-
-            a.single-link {
-              margin-top: 7px;
-            }
-          }
-        }
-
-        my-subscribe-button {
-          @include margin-left(5px);
-        }
-      }
-
-      .video-actions-rates {
-        @include margin-left(auto);
-        @include margin-right(0);
-
-        margin-top: 0;
-        margin-bottom: 10px;
-
-        align-items: start;
-        width: max-content;
-
-        .video-actions {
-          height: 40px; // Align with the title
-          display: flex;
-          align-items: center;
-
-          .action-button:not(:first-child),
-          .action-dropdown,
-          my-video-actions-dropdown {
-            @include margin-left(5px);
-          }
-
-          ::ng-deep.action-button {
-            @include peertube-button;
-            @include button-with-icon(21px, 0, -1px);
-
-            font-size: 100%;
-            font-weight: $font-semibold;
-            display: inline-block;
-            padding: 0 10px;
-            white-space: nowrap;
-            background-color: transparent !important;
-            color: pvar(--actionButtonColor);
-            text-transform: uppercase;
-
-            &::after {
-              display: none;
-            }
-
-            &:hover {
-              opacity: 0.9;
-            }
-
-            &.action-button-support {
-              color: pvar(--supportButtonColor);
-
-              my-global-icon {
-                @include apply-svg-color(pvar(--supportButtonColor));
-              }
-            }
-
-            &.action-button-support {
-              my-global-icon {
-                ::ng-deep path:first-child {
-                  fill: pvar(--supportButtonHeartColor) !important;
-                }
-              }
-            }
-
-            &.action-button-save {
-              my-global-icon {
-                top: 0 !important;
-                right: -1px;
-              }
-            }
-
-            .icon-text {
-              @include margin-left(3px);
-            }
-          }
-        }
-
-        .video-info-likes-dislikes-bar-outer-container {
-          position: relative;
-        }
-
-        .video-info-likes-dislikes-bar-inner-container {
-          position: absolute;
-          height: 20px;
-        }
-
-        .video-info-likes-dislikes-bar {
-          $likes-bar-height: 2px;
-          height: $likes-bar-height;
-          margin-top: -$likes-bar-height;
-          width: 120px;
-          background-color: #ccc;
-          position: relative;
-          top: 10px;
-
-          .likes-bar {
-            height: 100%;
-            background-color: #909090;
-
-            &.liked {
-              background-color: pvar(--activatedActionButtonColor);
-            }
-          }
-        }
-      }
-    }
-
-    .video-info-description {
-      @include margin-left($video-info-margin-left);
-      @include margin-right(0);
-
-      margin-top: 20px;
-      margin-bottom: 20px;
-      font-size: 15px;
-
-      .video-info-description-html {
-        @include peertube-word-wrap;
-
-        ::ng-deep a {
-          text-decoration: none;
-        }
-      }
-
-      .glyphicon,
-      .description-loading {
-        @include margin-left(3px);
-      }
-
-      .description-loading {
-        display: inline-block;
-      }
-
-      .video-info-description-more {
-        cursor: pointer;
-        font-weight: $font-semibold;
-        color: pvar(--greyForegroundColor);
-        font-size: 14px;
-
-        .glyphicon {
-          position: relative;
-          top: 2px;
-        }
-      }
-    }
+.video-info {
+  flex-grow: 1;
+  // Set min width for flex item
+  min-width: 1px;
+  max-width: 100%;
+}
 
-    .video-attributes {
-      @include margin-left($video-info-margin-left);
-    }
+.video-info-first-row {
+  display: flex;
 
-    .video-attributes .video-attribute {
-      font-size: 13px;
-      display: block;
-      margin-bottom: 12px;
-
-      .video-attribute-label {
-        @include padding-right(5px);
-
-        min-width: 142px;
-        display: inline-block;
-        color: pvar(--greyForegroundColor);
-        font-weight: $font-bold;
-      }
-
-      a.video-attribute-value {
-        @include disable-default-a-behaviour;
-        color: pvar(--mainForegroundColor);
-
-        &:hover {
-          opacity: 0.9;
-        }
-      }
-
-      &.video-attribute-tags {
-        .video-attribute-value:not(:nth-child(2)) {
-          &::before {
-            content: ', ';
-          }
-        }
-      }
-    }
+  > div:first-child {
+    flex-grow: 1;
   }
 }
 
-my-recommended-videos {
-  @include padding-left(15px);
-
-  display: block;
-  min-width: 250px;
-}
+.video-info-name {
+  @include peertube-word-wrap;
 
-my-video-comments {
-  display: inline-block;
-  width: 100%;
-  margin-bottom: 20px;
-}
+  @include margin-right(30px);
 
-// If the view is not expanded, take into account the menu
-.privacy-concerns {
-  z-index: z(dropdown) + 1;
-  width: calc(100% - #{$menu-width});
+  min-height: 40px; // Align with the action buttons
+  font-size: 27px;
+  font-weight: $font-semibold;
+  flex-grow: 1;
 }
 
-@media screen and (max-width: $small-view) {
-  .privacy-concerns {
-    @include margin-left($menu-width - 15px); // Menu is absolute
-  }
+.video-info-first-row-bottom {
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  width: 100%;
 }
 
-:host-context(.expanded) {
-  .privacy-concerns {
-    @include margin-left(-15px);
+.video-info-date-views {
+  @include margin-right(10px);
 
-    width: 100%;
-  }
+  margin-bottom: 10px;
+  align-self: start;
+  font-size: 14px;
 }
 
-.privacy-concerns {
-  position: fixed;
-  bottom: 0;
-  z-index: z(privacymsg);
-
-  padding: 5px 15px;
-
-  display: flex;
-  flex-wrap: nowrap;
-  align-items: center;
-  justify-content: space-between;
-  background-color: rgba(0, 0, 0, 0.9);
-  color: #fff;
-
-  .privacy-concerns-text {
-    margin: 0 5px;
-  }
+.video-info-channel {
+  font-weight: $font-semibold;
 
   a {
     @include disable-default-a-behaviour;
+    @include peertube-word-wrap;
 
-    color: pvar(--mainColor);
-    transition: color 0.3s;
+    color: pvar(--mainForegroundColor);
 
     &:hover {
-      color: #fff;
+      opacity: 0.8;
     }
   }
+}
 
-  .privacy-concerns-button {
-    @include margin-left(auto);
+.video-info-channel-left {
+  flex-grow: 1;
 
-    padding: 5px 8px 5px 7px;
-    border-radius: 3px;
-    white-space: nowrap;
-    cursor: pointer;
-    transition: background-color 0.3s;
-    font-weight: $font-semibold;
+  .video-info-channel-left-links {
+    display: flex;
+    flex-direction: column;
+    position: relative;
+    line-height: 1.37;
 
-    &:hover {
-      background-color: #000;
+    a:nth-of-type(2) {
+      font-weight: $font-regular;
+      font-size: 90%;
+    }
+
+    a.single-link {
+      margin-top: 7px;
     }
   }
+}
 
-  .privacy-concerns-okay {
-    @include margin-left(10px);
+my-subscribe-button {
+  @include margin-left(5px);
+}
 
-    background-color: pvar(--mainColor);
-  }
+my-video-attributes {
+  @include margin-left($video-watch-info-margin-left);
+
+  display: block;
+  margin-bottom: 15px;
 }
 
-@media screen and (max-width: 1600px) {
-  .video-bottom .video-info .video-attributes .video-attribute {
-    margin-bottom: 5px;
-  }
+my-action-buttons {
+  @include margin-left(auto);
+  @include margin-right(0);
+
+  display: block;
+  margin-top: 0;
+  margin-bottom: 10px;
+
+  align-items: start;
+  width: max-content;
 }
 
-@media screen and (max-width: 1300px) {
-  .privacy-concerns {
-    font-size: 12px;
-    padding: 2px 5px;
+my-recommended-videos {
+  @include padding-left(15px);
 
-    .privacy-concerns-text {
-      margin: 0;
-    }
-  }
+  display: block;
+  min-width: 250px;
+}
+
+my-video-comments {
+  display: inline-block;
+  width: 100%;
+  margin-bottom: 20px;
 }
 
 // Use the same breakpoint than in the typescript component to display the other video miniatures as row
@@ -514,55 +252,45 @@ my-video-comments {
 }
 
 @media screen and (max-width: 600px) {
+  #videojs-wrapper {
+    height: getPlayerHeight(100vw) !important;
+
+    .remote-server-down,
+    ::ng-deep .video-js {
+      width: 100vw;
+      height: getPlayerHeight(100vw) !important;
+    }
+  }
+
   .video-bottom {
     margin-top: 20px !important;
     padding-bottom: 20px !important;
+  }
 
-    .video-info {
-      padding: 0;
-
-      .video-info-first-row {
-
-        .video-info-name {
-          font-size: 20px;
-          height: auto;
-        }
-      }
-    }
+  .video-info {
+    padding: 0;
   }
 
-  .privacy-concerns {
-    width: 100%;
+  .video-info-name {
+    font-size: 20px;
+    height: auto;
   }
 }
 
 @media screen and (max-width: 450px) {
-  .video-bottom {
-    .action-button .icon-text {
-      display: none !important;
-    }
-
-    .video-info .video-info-first-row {
-      .video-info-name {
-        font-size: 18px;
-      }
-
-      .video-info-date-views {
-        font-size: 14px;
-      }
+  .video-info-name {
+    font-size: 18px;
+  }
 
-      .video-actions-rates {
-        margin-top: 10px;
-      }
-    }
+  .video-info-date-views {
+    font-size: 14px;
+  }
 
-    .video-info-description {
-      font-size: 14px !important;
-    }
+  my-action-buttons {
+    margin-top: 10px;
   }
 }
 
-
 // Special case for iOS, that takes into account the width for fullscreens
 #video-wrapper ::ng-deep .video-js.vjs-fullscreen {
   max-width: unset;