X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2F%2Bvideo-watch%2Fvideo-watch.component.scss;h=fe6a891d54c01d11fba6e8a50d1a071047ef5d54;hb=9f0327aeb39c307ce7da28dda57cc526c928ca62;hp=e1cb249efcf77c5c0b4bb041722adcd80ca75cab;hpb=e2f01c47e08d26a30ad47068d195b3d21d0df8a1;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/videos/+video-watch/video-watch.component.scss b/client/src/app/videos/+video-watch/video-watch.component.scss index e1cb249ef..fe6a891d5 100644 --- a/client/src/app/videos/+video-watch/video-watch.component.scss +++ b/client/src/app/videos/+video-watch/video-watch.component.scss @@ -3,10 +3,46 @@ @import '_bootstrap-variables'; @import '_miniature'; -$other-videos-width: 260px; +$player-factor: 1.7; // 16/9 +$video-info-margin-left: 44px; -.root-row { - flex-direction: column; +@function getPlayerHeight($width){ + @return calc(#{$width} / #{$player-factor}) +} + +@function getPlayerWidth($height){ + @return calc(#{$height} * #{$player-factor}) +} + +@mixin playlist-below-player { + width: 100% !important; + height: auto !important; + max-height: 300px !important; + max-width: initial; + border-bottom: 1px solid $separator-border-color !important; +} + +.root { + &.theater-enabled #video-wrapper { + flex-direction: column; + justify-content: center; + + #videojs-wrapper { + width: 100%; + } + + ::ng-deep .video-js { + $height: calc(100vh - #{$header-height} - #{$theater-bottom-space}); + + height: $height; + width: 100%; + max-width: initial; + } + + my-video-watch-playlist ::ng-deep .playlist { + @include playlist-below-player; + } + } } .blacklisted-label { @@ -17,7 +53,13 @@ $other-videos-width: 260px; background-color: #000; display: flex; justify-content: center; - flex-grow: 1; + margin: 0 -15px; + + #videojs-wrapper { + display: flex; + justify-content: center; + flex-grow: 1; + } .remote-server-down { color: #fff; @@ -40,66 +82,11 @@ $other-videos-width: 260px; } } - .playlist { - width: 400px; - height: 66vh; - background-color: #e4e4e4; - overflow-y: auto; - - .playlist-info { - padding: 5px 30px; - - .playlist-display-name { - font-size: 18px; - font-weight: $font-semibold; - margin-bottom: 5px; - } - - .playlist-by-index { - color: $grey-foreground-color; - display: flex; - - .playlist-by { - margin-right: 5px; - } - - .playlist-index span:first-child::after { - content: '/'; - margin: 0 3px; - } - } - } - - my-video-playlist-element-miniature { - /deep/ { - .video { - .position { - margin-right: 0; - } - - .video-info { - .video-info-name { - font-size: 15px; - } - } - } - - my-video-thumbnail { - @include thumbnail-size-component(90px, 50px); - } - } - } - } - - /deep/ .video-js { - width: calc(66vh * 1.77); + ::ng-deep .video-js { + width: 100%; + max-width: getPlayerWidth(66vh); height: 66vh; - &.vjs-theater-enabled { - height: calc(100vh - #{$header-height} - #{$theater-bottom-space}); - width: 100%; - } - // VideoJS create an inner video player video { outline: 0; @@ -109,15 +96,20 @@ $other-videos-width: 260px; @media screen and (max-width: 600px) { .remote-server-down, - /deep/ .video-js { + ::ng-deep .video-js { width: 100vw; - height: calc(100vw / 1.7); // 16/9 + height: getPlayerHeight(100vw) } } } .alert { text-align: center; + border-radius: 0; +} + +.flex-direction-column { + flex-direction: column; } #video-not-found { @@ -130,6 +122,7 @@ $other-videos-width: 260px; } .video-bottom { + display: flex; margin-top: 40px; .video-info { @@ -153,11 +146,19 @@ $other-videos-width: 260px; flex-grow: 1; } + .video-info-first-row-bottom { + display: grid; + grid-template-columns: 1fr auto; + align-items: center; + width: 100%; + } + .video-info-date-views { flex-grow: 1; + align-self: start; margin-bottom: 10px; margin-right: 10px; - font-size: 16px; + font-size: 1em; } .video-info-channel { @@ -176,41 +177,28 @@ $other-videos-width: 260px; img { @include avatar(18px); - margin: -2px 2px 0 5px; + margin: -2px 5px 0 0; } } - my-subscribe-button { - margin-left: 5px; - } - } + .video-info-channel-left { + flex-grow: 1; - .video-info-by { + .video-info-channel-left-links { + display: flex; + flex-direction: column; + position: relative; + line-height: 1.3; - a { - @include disable-default-a-behaviour; - - display: inline; - align-items: center; - font-size: 13px; - color: var(--mainForegroundColor); - - span:hover { - opacity: 0.8; - } - - img { - @include avatar(18px); - - margin-top: -2px; - margin-left: 7px; + a:nth-of-type(2) { + font-weight: 500; + font-size: 90%; + } } } - my-help { - position: relative; - top: 1px; - margin-left: 2px; + my-subscribe-button { + margin-left: 5px; } } @@ -220,15 +208,19 @@ $other-videos-width: 260px; } .video-actions-rates { - margin: 20px 0 10px 0; + margin: 0 0 10px 0; align-items: start; + align-self: end; + width: max-content; .video-actions { height: 40px; // Align with the title display: flex; align-items: center; - .action-button:not(:first-child), .action-dropdown { + .action-button:not(:first-child), + .action-dropdown, + my-video-actions-dropdown { margin-left: 10px; } @@ -248,9 +240,20 @@ $other-videos-width: 260px; display: none; } + .action-button-like, + .action-button-dislike { + .count { + margin-right: 5px; + } + } + &.action-button-like.activated { background-color: $green; + .count { + color: #fff; + } + my-global-icon { @include apply-svg-color(#fff); } @@ -259,11 +262,28 @@ $other-videos-width: 260px; &.action-button-dislike.activated { background-color: $red; + .count { + color: #fff; + } + my-global-icon { @include apply-svg-color(#fff); } } + &.action-button-support { + color: var(--supportButtonColor); + background-color: var(--supportButtonBackgroundColor); + + &:hover { + opacity: 0.9; + } + + my-global-icon { + @include apply-svg-color(var(--supportButtonColor)); + } + } + &.action-button-save { my-global-icon { top: 0 !important; @@ -275,14 +295,15 @@ $other-videos-width: 260px; margin-left: 3px; } } + } - .action-dropdown { - display: inline-block; + .video-info-likes-dislikes-bar-outerContainer { + position: relative; + } - .dropdown-menu .dropdown-item { - @include dropdown-with-icon-item; - } - } + .video-info-likes-dislikes-bar-innerContainer { + position: absolute; + height: 30px; } .video-info-likes-dislikes-bar { @@ -304,10 +325,15 @@ $other-videos-width: 260px; .video-info-description { margin: 20px 0; + margin-left: $video-info-margin-left; font-size: 15px; .video-info-description-html { @include peertube-word-wrap; + + /deep/ a { + text-decoration: none; + } } .glyphicon, .description-loading { @@ -331,6 +357,10 @@ $other-videos-width: 260px; } } + .video-attributes { + margin-left: $video-info-margin-left; + } + .video-attributes .video-attribute { font-size: 13px; display: block; @@ -363,26 +393,24 @@ $other-videos-width: 260px; } } - /deep/ .other-videos { + ::ng-deep .other-videos { padding-left: 15px; - width: $other-videos-width; .title-page { - margin-top: 0 !important; + margin: 0 !important; } .video-miniature { display: flex; + width: max-content; height: 100%; margin-bottom: 20px; flex-wrap: wrap; + } - .video-miniature-information { - flex-grow: 1; - } - - .video-thumbnail { - margin-right: 10px + .video-bottom { + @media screen and (max-width: 1800px - (3* $video-miniature-width)) { + margin-left: 1rem; } } } @@ -401,14 +429,14 @@ my-video-comments { @media screen and (max-width: $small-view) { .privacy-concerns { - margin-left: $menu-width; + margin-left: $menu-width - 15px; // Menu is absolute } } :host-context(.expanded) { .privacy-concerns { width: 100%; - margin-left: 0; + margin-left: -15px; } } @@ -419,6 +447,7 @@ my-video-comments { padding: 5px 15px; display: flex; + flex-wrap: nowrap; align-items: center; justify-content: flex-start; background-color: rgba(0, 0, 0, 0.9); @@ -454,12 +483,6 @@ my-video-comments { } } -@media screen and (min-width: map-get($grid-breakpoints, xl)) { - .video-bottom .video-info { - max-width: calc(100% - #{$other-videos-width}); - } -} - @media screen and (max-width: 1600px) { .video-bottom .video-info .video-attributes .video-attribute { margin-bottom: 5px; @@ -477,9 +500,33 @@ my-video-comments { } } +@media screen and (max-width: 1100px) { + #video-wrapper { + flex-direction: column; + justify-content: center; + + my-video-watch-playlist ::ng-deep .playlist { + @include playlist-below-player; + } + } + + .video-bottom { + flex-direction: column; + + ::ng-deep .other-videos { + padding-left: 0 !important; + + ::ng-deep .video-miniature { + flex-direction: row; + width: auto; + } + } + } +} + @media screen and (max-width: 600px) { .video-bottom { - margin: 20px 0 0 0; + margin: 20px 0 0 0 !important; .video-info { padding: 0; @@ -494,12 +541,8 @@ my-video-comments { } } - /deep/ .other-videos { - padding-left: 0 !important; - - /deep/ .video-miniature { - flex-direction: column; - } + ::ng-deep .other-videos .video-miniature { + flex-direction: column; } .privacy-concerns {