X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Fapp%2Fvideos%2F%2Bvideo-watch%2Fvideo-watch.component.scss;h=2874847cd31c2d6f26487197eae03bd00a69941a;hb=11dd0c2e4202e7ad68d8b7e6706de846401d29ff;hp=912016f8c74476fcb6cfd237c7600965c77354cd;hpb=9a2f7ea799fdd52b24245e94d01f12fabd6efc02;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 912016f8c..2874847cd 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,55 @@ @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%; + border-bottom: 1px solid $separator-border-color; +} + +.root { + &.theater-enabled #video-wrapper { + flex-direction: column; + justify-content: center; + + #videojs-wrapper { + width: 100%; + } + + /deep/ .video-js { + $height: calc(100vh - #{$header-height} - #{$theater-bottom-space}); + + height: $height; + width: 100%; + } + + .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; .remote-server-down { color: #fff; @@ -36,15 +72,62 @@ } } - /deep/ .video-js { - width: 888px; - height: 500px; + .playlist { + width: 400px; + height: 66vh; + background-color: var(--mainBackgroundColor); + overflow-y: auto; - &.vjs-theater-enabled { - height: calc(100vh - #{$header-height} - #{$theater-bottom-space}); - width: 100%; + .playlist-info { + padding: 5px 30px; + background-color: #e4e4e4; + + .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: getPlayerWidth(66vh); + height: 66vh; + // VideoJS create an inner video player video { outline: 0; @@ -56,7 +139,7 @@ .remote-server-down, /deep/ .video-js { width: 100vw; - height: calc(100vw / 1.7); // 16/9 + height: getPlayerHeight(100vw) } } } @@ -75,12 +158,14 @@ } .video-bottom { + display: flex; margin-top: 40px; .video-info { flex-grow: 1; // Set min width for flex item min-width: 1px; + max-width: 100%; .video-info-first-row { display: flex; @@ -98,9 +183,10 @@ } .video-info-date-views { - font-size: 16px; - margin-bottom: 10px; flex-grow: 1; + margin-bottom: 10px; + margin-right: 10px; + font-size: 16px; } .video-info-channel { @@ -110,7 +196,7 @@ a { @include disable-default-a-behaviour; - color: #000; + color: var(--mainForegroundColor); &:hover { opacity: 0.8; @@ -136,7 +222,7 @@ display: inline; align-items: center; font-size: 13px; - color: #000; + color: var(--mainForegroundColor); span:hover { opacity: 0.8; @@ -157,28 +243,29 @@ } } - my-video-feed { + my-feed { margin-left: 5px; margin-top: 1px; } .video-actions-rates { - display: flex; - flex-direction: column; - align-items: flex-end; + margin: 20px 0 10px 0; + align-items: start; .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 { 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; @@ -190,92 +277,39 @@ display: none; } - .icon { - @include icon(21px); - - position: relative; - top: -2px; - - &.icon-like { - background-image: url('../../../assets/images/video/like-grey.svg'); - } + &.action-button-like.activated { + background-color: $green; - &.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'); + my-global-icon { + @include apply-svg-color(#fff); } + } - &.icon-more { - background-image: url('../../../assets/images/video/more.svg'); - top: -1px; + &.action-button-save { + my-global-icon { + top: 0 !important; + right: -1px; } } .icon-text { margin-left: 3px; } - - &.action-button-like.activated { - background-color: $green; - - .icon-like { - background-image: url('../../../assets/images/video/like-white.svg'); - } - } - - &.action-button-dislike.activated { - background-color: $red; - - .icon-dislike { - background-image: url('../../../assets/images/video/dislike-white.svg'); - } - } } - .action-more { + .action-dropdown { 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'); - } - } + @include dropdown-with-icon-item; } } } @@ -285,13 +319,13 @@ height: $likes-bar-height; margin-top: -$likes-bar-height; width: 186px; - background-color: #E5E5E5; + background-color: $red; position: relative; top: 10px; .likes-bar { height: 100%; - background-color: #39CC0B; + background-color: $green; } } } @@ -316,7 +350,7 @@ .video-info-description-more { cursor: pointer; font-weight: $font-semibold; - color: #585858; + color: $grey-foreground-color; font-size: 14px; .glyphicon { @@ -332,16 +366,16 @@ 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; } a.video-attribute-value { @include disable-default-a-behaviour; - color: #000; + color: var(--mainForegroundColor); &:hover { opacity: 0.9; @@ -359,22 +393,20 @@ } /deep/ .other-videos { - padding-left: 1em; + padding-left: 15px; + flex-basis: $other-videos-width; .title-page { margin-top: 0 !important; } - /deep/ .video-miniature { + .video-miniature { display: flex; + width: $other-videos-width; height: 100%; margin-bottom: 20px; flex-wrap: wrap; - .video-miniature-information { - flex-grow: 1; - } - .video-thumbnail { margin-right: 10px } @@ -382,14 +414,27 @@ } } +my-video-comments { + display: inline-block; + width: 100%; + margin-bottom: 20px; +} + // If the view is not expanded, take into account the menu .privacy-concerns { width: calc(100% - #{$menu-width}); } +@media screen and (max-width: $small-view) { + .privacy-concerns { + margin-left: $menu-width; + } +} + :host-context(.expanded) { .privacy-concerns { width: 100%; + margin-left: 0; } } @@ -412,7 +457,7 @@ a { @include disable-default-a-behaviour; - color: $orange-color; + color: var(--mainColor); transition: color 0.3s; &:hover { @@ -421,7 +466,7 @@ } .privacy-concerns-okay { - background-color: $orange-color; + background-color: var(--mainColor); padding: 5px 8px 5px 7px; margin-left: auto; border-radius: 3px; @@ -435,61 +480,60 @@ } } - @media screen and (max-width: 1600px) { - .video-bottom { - .video-info { - .video-info-first-row { - flex-direction: column; - margin-bottom: 20px; - - .video-actions-rates { - margin-top: 20px; - margin-bottom: 10px; - align-items: start; - } - } - - .video-info-date-views { - flex-direction: column; - margin-bottom: 30px; + .video-bottom .video-info .video-attributes .video-attribute { + margin-bottom: 5px; + } +} - .video-info-likes-dislikes-bar { - margin-top: 0; - } - } +@media screen and (max-width: 1300px) { + .privacy-concerns { + font-size: 12px; + padding: 2px 5px; - .video-attributes .video-attribute { - margin-bottom: 5px; - } + .privacy-concerns-text { + margin: 0; } } } -@media screen and (max-width: 1300px) { +@media screen and (max-width: 1100px) { .video-bottom { flex-direction: column; - } - .other-videos { - padding-left: 0 !important; + /deep/ .other-videos { + padding-left: 0 !important; + + /deep/ .video-miniature { + flex-direction: row; + width: auto; + } + } } +} - .privacy-concerns { - font-size: 12px; - padding: 2px 5px; +@media screen and (max-width: 900px) { + #video-wrapper { + flex-direction: column; + justify-content: center; - .privacy-concerns-text { - margin: 0; + #videojs-wrapper { + display: flex; + justify-content: center; + } + + .playlist { + @include playlist-below-player; } } } @media screen and (max-width: 600px) { .video-bottom { - margin: 20px 0 0 0; + margin: 20px 0 0 0 !important; .video-info { + padding: 0; .video-info-first-row { @@ -501,10 +545,8 @@ } } - .other-videos { - /deep/ .video-miniature { - flex-direction: column; - } + /deep/ .other-videos .video-miniature { + flex-direction: column; } .privacy-concerns { @@ -517,7 +559,27 @@ } @media screen and (max-width: 450px) { - .video-bottom .action-button .icon-text { - display: none !important; + .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-actions-rates { + margin-top: 10px; + } + } + + .video-info-description { + font-size: 14px !important; + } } }