X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fsass%2Fplayer%2Fpeertube-skin.scss;h=c420e825e9ec5dbacc6912c6d0613cbdd5de3f52;hb=ab4b8974997777373a6032073f9c1aaf33ba9931;hp=1a84bd7f04cac9ac3728b2395f0e8f7cc541670a;hpb=fa12eacc014aae8094d108634371640f2695bf9f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/sass/player/peertube-skin.scss b/client/src/sass/player/peertube-skin.scss index 1a84bd7f0..c420e825e 100644 --- a/client/src/sass/player/peertube-skin.scss +++ b/client/src/sass/player/peertube-skin.scss @@ -1,7 +1,7 @@ @use 'sass:math'; -@use '_variables'; -@use '_mixins'; -@use './_player-variables'; +@use '_variables' as *; +@use '_mixins' as *; +@use './_player-variables' as *; body { --embedForegroundColor: #{$primary-foreground-color}; @@ -12,43 +12,14 @@ body { @mixin big-play-button-triangle-size($triangle-size) { width: $triangle-size; height: $triangle-size; - top: calc(50% - math.div($triangle-size / 2)); - left: calc(53% - math.div($triangle-size / 2)); + top: calc(50% - #{math.div($triangle-size, 2)}); + left: calc(53% - #{math.div($triangle-size, 2)}); } .video-js.vjs-peertube-skin { font-size: $font-size; color: pvar(--embedForegroundColor); - .vjs-dock-text { - @include padding-right(60px); - - padding: $dock-padding; - background: linear-gradient(to bottom, rgba(0, 0, 0, .6) 0, rgba(0, 0, 0, 0.2) 70%, rgba(0, 0, 0, 0) 100%); - } - - .vjs-dock-title, - .vjs-dock-description { - text-shadow: 0 0 2px rgba(0, 0, 0, .5); - } - - .vjs-dock-description { - font-size: 11px; - - .text::before { - @include margin-right(4px); - } - - .text::after { - @include margin-left(4px); - transform: scale(-1, 1); - } - } - - .vjs-volume-level::before { - content: ''; /* Remove Circle From Progress Bar */ - } - .vjs-audio-button { display: none; } @@ -57,7 +28,7 @@ body { $big-play-width: 1.2em; $big-play-height: 1.2em; - @include margin-left(-($big-play-width / 2)); + @include margin-left(-(math.div($big-play-width, 2))); outline: 0; font-size: 6em; @@ -70,8 +41,8 @@ body { width: $big-play-width; height: $big-play-height; line-height: $big-play-height; - margin-top: -(math.div($big-play-height / 2)); - transition: 0.4s opacity; + margin-top: -(math.div($big-play-height, 2)); + transition: 0.2s background-color; &::-moz-focus-inner { border: 0; @@ -89,30 +60,6 @@ body { &:hover { background-color: var(--mainColor, #696969); } - - } - - // Small effect when we click on the play button - &.vjs-has-big-play-button-clicked { - - .vjs-big-play-button, - .vjs-poster { - display: block; - visibility: hidden; - - &.vjs-big-play-button, - &.vjs-big-play-button::before { - opacity: 0; - transition: visibility 0.2s, opacity 0.2s; - } - - &.vjs-poster, - &.vjs-poster::before { - opacity: 0; - transition: visibility 0.3s, opacity 0.3s; - transition-delay: 0.05s; - } - } } // Show poster and controls when playing audio-only content @@ -149,433 +96,10 @@ body { } .vjs-poster { - outline: none; /* Remove Blue Outline on Click*/ outline: 0; } - .vjs-control-bar { - height: $control-bar-height; - background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6)); - box-shadow: 0 -15px 40px 10px rgba(0, 0, 0, 0.2); - text-shadow: 0 0 2px rgba(0, 0, 0, 0.5); - - > button:first-child { - @include margin-left($first-control-bar-element-margin-left); - } - - .vjs-progress-control, - .vjs-play-control, - .vjs-playback-rate, - .vjs-mute-control, - .vjs-volume-control, - .vjs-resolution-control, - .vjs-fullscreen-control, - .vjs-peertube-link, - .vjs-theater-control, - .vjs-settings { - color: pvar(--embedForegroundColor) !important; - - opacity: $primary-foreground-opacity; - transition: opacity .1s; - - &:hover { - opacity: $primary-foreground-opacity-hover; - } - } - - .vjs-current-time, - .vjs-duration, - .vjs-peertube { - color: pvar(--embedForegroundColor); - opacity: $primary-foreground-opacity; - } - - .vjs-progress-control { - @include margin-left($progress-margin); - - position: absolute; - z-index: 100; // On top of the progress bar - bottom: 29px; - width: calc(100% - (2 * #{$progress-margin})); - height: 14px; - - .vjs-slider { - margin: 0; - border-radius: 0; - background-color: rgba(255, 255, 255, .2); - height: 3px; - transition: none; - - .vjs-play-progress { - background: pvar(--embedForegroundColor); - - // Not display the circle if the progress is not hovered - &::before { - opacity: 0; - transition: opacity 0.1s ease; - font-size: 14px; - - top: -0.3em; - } - - .vjs-time-tooltip { - display: none; - } - } - - .vjs-load-progress { - &, - div { - background: rgba(255, 255, 255, .2); - } - } - } - } - - .vjs-progress-control:hover .vjs-slider, - .vjs-progress-control .vjs-slider.vjs-sliding { - height: 5px; - - .vjs-play-progress::before { - opacity: 1; - } - } - - - .vjs-play-control { - @include disable-outline; - - cursor: pointer; - width: 2em; - - .vjs-icon-placeholder { - line-height: $control-bar-height; - position: relative; - top: -1px; - - &::before { - font-size: 28px; - line-height: unset; - position: relative; - } - } - } - - .vjs-time-control { - line-height: inherit; - - &.vjs-current-time { - @include margin-left(.5em); - - font-size: $font-size; - display: inline-block; - padding: 0; - - .vjs-current-time-display { - line-height: calc(#{$control-bar-height} - 1px); - - &::after { - @include margin(0, 1px, 0, 2px); - - content: '/'; - } - } - } - - &.vjs-duration { - font-size: $font-size; - display: inline-block; - padding: 0; - - .vjs-duration-display { - line-height: calc(#{$control-bar-height} - 1px); - } - } - - &.vjs-remaining-time { - display: none; - } - } - - .vjs-live-control { - line-height: $control-bar-height; - min-width: 4em; - width: inherit; - } - - .vjs-peertube { - @include margin-right(6px); - - width: 100%; - line-height: $control-bar-height; - text-align: end; - overflow: hidden; - - .vjs-peertube-displayed { - display: block; - } - - .vjs-peertube-hidden { - display: none; - } - - .download-speed-number, - .upload-speed-number, - .peers-number, - .http-fallback { - font-weight: $font-semibold; - } - - .download-speed-text, - .upload-speed-text, - .peers-text, - .http-fallback { - @include margin-right(15px); - } - - .icon { - &.icon-download { - background-image: url('#{$assets-path}/player/images/arrow-down.svg'); - } - - &.icon-upload { - background-image: url('#{$assets-path}/player/images/arrow-up.svg'); - } - } - } - - .vjs-next-video, - .vjs-previous-video { - line-height: $control-bar-height; - text-align: end; - - .icon { - &.icon-next, - &.icon-previous { - mask-image: url('#{$assets-path}/player/images/next.svg'); - -webkit-mask-image: url('#{$assets-path}/player/images/next.svg'); - - background-color: #fff; - mask-size: cover; - width: 11px; - height: 11px; - margin-top: -2px; - display: inline-block; - } - - &.icon-previous { - transform: rotate(180deg); - } - } - } - - .vjs-peertube { - .icon { - display: inline-block; - width: 15px; - height: 15px; - background-size: contain; - vertical-align: middle; - background-repeat: no-repeat; - position: relative; - top: -1px; - } - } - - .vjs-playback-rate { - font-size: 10px; - width: 37px !important; - - .vjs-playback-rate-value { - font-size: 13px; - line-height: $control-bar-height; - } - - .vjs-menu .vjs-menu-content { - width: 37px !important; - } - } - - .vjs-mute-control { - @include disable-outline; - - padding: 0; - width: 30px; - - .vjs-icon-placeholder { - display: inline-block; - width: 22px; - height: 22px; - vertical-align: middle; - background: url('#{$assets-path}/player/images/volume.svg') no-repeat; - background-size: contain; - - &::before { - content: ''; - } - } - - &.vjs-vol-0 .vjs-icon-placeholder { - background: url('#{$assets-path}/player/images/volume-mute.svg') no-repeat; - background-size: contain; - } - } - - .vjs-volume-control { - @include margin(0, 5px, 0, 0); - - width: 30px; - } - - .vjs-volume-bar { - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAcCAQAAACw95UnAAAAMElEQVRIx2NgoBL4n4YKGUYNHkEG4zJg1OCRYDCpBowaPJwMppbLRg0eNXjUYBLEAXWNUA6QNm1lAAAAAElFTkSuQmCC') no-repeat; - background-size: 22px 14px; - height: 100%; - width: 100%; - max-width: 22px; - max-height: 14px; - margin: 7px 4px; - border-radius: 0; - top: 3px; - - .vjs-volume-level { - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAcAQAAAAAyhWABAAAAAnRSTlMAAHaTzTgAAAAZSURBVHgBYwAB/g9EUv+JokCqiaT+U4MCAPKPS7WUUOc1AAAAAElFTkSuQmCC') no-repeat; - background-size: 22px 14px; - max-width: 22px; - max-height: 14px; - height: 100%; - } - - &:focus { - text-shadow: none; - box-shadow: none; - } - } - - .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, - .vjs-volume-panel.vjs-volume-panel-horizontal:active, - .vjs-volume-panel.vjs-volume-panel-horizontal:focus, - .vjs-volume-panel.vjs-volume-panel-horizontal:hover { - width: 6em; - transition-property: none; - } - - .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal { - width: 3em; - height: auto; - } - - .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control { - transition-property: none; - } - - .vjs-volume-panel { - .vjs-mute-control { - width: 2em; - z-index: 1; - padding: 0; - } - - .vjs-volume-control { - display: inline-block; - position: relative; - left: 5px; - opacity: 1; - width: 3em; - height: auto; - } - } - - .vjs-peertube-link { - @include disable-outline; - @include disable-default-a-behaviour; - - text-decoration: none; - line-height: $control-bar-height; - font-weight: $font-semibold; - padding: 0 5px; - } - - .vjs-theater-control { - @include disable-outline; - @include margin-right(1px); - - width: 37px; - cursor: pointer; - - .vjs-icon-placeholder { - transition: transform 0.2s ease; - display: inline-block; - width: 22px; - height: 22px; - vertical-align: middle; - background: url('#{$assets-path}/player/images/theater.svg') no-repeat; - background-size: contain; - - &::before { - content: ''; - } - } - } - - .vjs-fullscreen-control { - @include disable-outline; - @include margin-left($first-control-bar-element-margin-left); - - width: 37px; - - .vjs-icon-placeholder { - display: inline-block; - width: 22px; - height: 22px; - vertical-align: middle; - background: url('#{$assets-path}/player/images/fullscreen.svg') no-repeat; - background-size: contain; - - &::before { - content: ''; - } - } - } - - .vjs-menu-button-popup { - font-weight: $font-semibold; - width: 50px; - - .vjs-resolution-button { - @include disable-outline; - } - - .vjs-menu { - top: 20px; - left: 0; - - .vjs-menu-content { - width: 50px; - bottom: 20px; - } - - li { - text-transform: none; - font-size: 13px; - } - } - } - } - - @media screen and (max-width: 750px) { - .vjs-theater-control { - display: none; - } - - .vjs-dock-text { - font-size: 16px; - } - - .vjs-dock-description { - font-size: 9px; - } - + @media screen and (max-width: $screen-width-750) { .vjs-big-play-button { font-size: 5em; border-width: 3px; @@ -586,11 +110,7 @@ body { } } - @media screen and (max-width: 570px) { - .vjs-dock-text { - font-size: 14px; - } - + @media screen and (max-width: $screen-width-570) { .vjs-big-play-button { font-size: 4.5em; border-width: 2.5px; @@ -599,31 +119,9 @@ body { @include big-play-button-triangle-size(27px); } } - - .vjs-peertube { - padding: 0 !important; - - .vjs-peertube-displayed { - display: none !important; - } - } - - &.vjs-live { - .vjs-duration { - display: none !important; - } - - .vjs-peertube { - display: none !important; - } - } } - @media screen and (max-width: 350px) { - .vjs-dock-text { - font-size: 13px; - } - + @media screen and (max-width: $screen-width-350) { .vjs-big-play-button { font-size: 3em; border-width: 2px; @@ -632,36 +130,6 @@ body { @include big-play-button-triangle-size(20px); } } - - .vjs-volume-control, - .vjs-next-video, - .vjs-previous-video { - display: none !important; - } - - .vjs-peertube-link { - padding: 0 !important; - } - - .vjs-settings { - width: 33px; - } - - .vjs-control-bar { - > button:first-child { - @include margin-left($first-control-bar-element-margin-left-small-width); - } - } - - .vjs-fullscreen-control { - @include margin-right($first-control-bar-element-margin-left-small-width); - } - - &.vjs-live { - .vjs-current-time { - display: none !important; - } - } } // Theater mode is enabled @@ -729,13 +197,3 @@ body { display: block; } } - -.vjs-no-next-in-playlist { - .vjs-next-video { - cursor: default; - - .icon { - background-color: rgba(255, 255, 255, 0.5); - } - } -}