X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2F%2Bvideo-watch%2Fvideo-watch.component.scss;h=314f9849d2e633e95376247c141e3b1e71241173;hb=44efbebac43c2bac75744399dc1176dce7ba3277;hp=eb63cbde78c26a204d7a6355bc165ffd6153f449;hpb=0491173a61aed66205c017e0d7e0503ea316c144;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 eb63cbde7..314f9849d 100644 --- a/client/src/app/videos/+video-watch/video-watch.component.scss +++ b/client/src/app/videos/+video-watch/video-watch.component.scss @@ -1,19 +1,65 @@ @import '_variables'; @import '_mixins'; +@import '_bootstrap-variables'; +@import '_miniature'; -.root-row { - flex-direction: column; +$other-videos-width: 260px; +$player-factor: 1.7; // 16/9 + +@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 { font-weight: $font-semibold; } -#video-element-wrapper { +#video-wrapper { 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; @@ -36,14 +82,10 @@ } } - /deep/ .video-js { - width: 888px; - height: 500px; - - &.vjs-theater-enabled { - height: calc(100vh - #{$header-height} - #{$theater-bottom-space}); - width: 100%; - } + ::ng-deep .video-js { + width: 100%; + max-width: getPlayerWidth(66vh); + height: 66vh; // VideoJS create an inner video player video { @@ -54,15 +96,20 @@ @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 { @@ -75,6 +122,7 @@ } .video-bottom { + display: flex; margin-top: 40px; .video-info { @@ -98,6 +146,13 @@ 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; margin-bottom: 10px; @@ -121,7 +176,7 @@ img { @include avatar(18px); - margin: -2px 2px 0 5px; + margin: -2px 5px 0 0; } } @@ -144,11 +199,14 @@ opacity: 0.8; } + span { + margin-left: 2px; + } + img { @include avatar(18px); - margin-top: -2px; - margin-left: 7px; + margin: -2px 5px 0 0; } } @@ -159,27 +217,32 @@ } } - my-video-feed { + my-feed { margin-left: 5px; margin-top: 1px; } .video-actions-rates { - margin: 20px 0 10px 0; + margin: 0 0 10px 0; 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-more { + .action-button:not(:first-child), + .action-dropdown, + my-video-actions-dropdown { margin-left: 10px; } .action-button { @include peertube-button; @include grey-button; + @include button-with-icon(21px, 0, -1px); + @include apply-svg-color($grey-foreground-color); font-size: 15px; font-weight: $font-semibold; @@ -191,92 +254,59 @@ display: none; } - .icon { - @include icon(21px); + .action-button-like, + .action-button-dislike { + .count { + margin-right: 5px; + } + } - position: relative; - top: -2px; + &.action-button-like.activated { + background-color: $green; - &.icon-like { - background-image: url('../../../assets/images/video/like-grey.svg'); + .count { + color: #fff; } - &.icon-dislike { - background-image: url('../../../assets/images/video/dislike-grey.svg'); + my-global-icon { + @include apply-svg-color(#fff); } + } - &.icon-support { - background-image: url('../../../assets/images/video/heart.svg'); - } + &.action-button-dislike.activated { + background-color: $red; - &.icon-share { - background-image: url('../../../assets/images/video/share.svg'); + .count { + color: #fff; } - &.icon-more { - background-image: url('../../../assets/images/video/more.svg'); - top: -1px; + my-global-icon { + @include apply-svg-color(#fff); } } - .icon-text { - margin-left: 3px; - } + &.action-button-support { + color: var(--supportButtonColor); + background-color: var(--supportButtonBackgroundColor); - &.action-button-like.activated { - background-color: $green; + &:hover { + opacity: 0.9; + } - .icon-like { - background-image: url('../../../assets/images/video/like-white.svg'); + my-global-icon { + @include apply-svg-color(var(--supportButtonColor)); } } - &.action-button-dislike.activated { - background-color: $red; - - .icon-dislike { - background-image: url('../../../assets/images/video/dislike-white.svg'); + &.action-button-save { + my-global-icon { + top: 0 !important; + right: -1px; } } - } - - .action-more { - display: inline-block; - .dropdown-menu .dropdown-item { - padding: 6px 24px; - - .icon { - @include icon(24px); - - margin-right: 10px; - position: relative; - top: -1px; - - &.icon-download { - background-image: url('../../../assets/images/video/download-black.svg'); - } - - &.icon-edit { - background-image: url('../../../assets/images/global/edit-black.svg'); - } - - &.icon-alert { - background-image: url('../../../assets/images/video/alert.svg'); - } - - &.icon-blacklist { - background-image: url('../../../assets/images/video/blacklist.svg'); - } - - &.icon-unblacklist { - background-image: url('../../../assets/images/global/undo.svg'); - } - - &.icon-delete { - background-image: url('../../../assets/images/global/delete-black.svg'); - } - } + .icon-text { + margin-left: 3px; } } } @@ -317,7 +347,7 @@ .video-info-description-more { cursor: pointer; font-weight: $font-semibold; - color: #585858; + color: $grey-foreground-color; font-size: 14px; .glyphicon { @@ -333,10 +363,10 @@ margin-bottom: 12px; .video-attribute-label { - min-width: 91px; + min-width: 142px; padding-right: 5px; display: inline-block; - color: #585858; + color: $grey-foreground-color; font-weight: $font-bold; } @@ -359,9 +389,10 @@ } } - /deep/ .other-videos { + ::ng-deep .other-videos { padding-left: 15px; - width: 260px; + flex-basis: $other-videos-width; + min-width: $other-videos-width; .title-page { margin-top: 0 !important; @@ -369,14 +400,11 @@ .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 } @@ -397,14 +425,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; } } @@ -415,6 +443,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); @@ -450,7 +479,6 @@ my-video-comments { } } - @media screen and (max-width: 1600px) { .video-bottom .video-info .video-attributes .video-attribute { margin-bottom: 5px; @@ -468,9 +496,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; @@ -485,12 +537,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 {