@import '_mixins';
@import './_player-variables';
+body {
+ --embedForegroundColor: #{$primary-foreground-color};
+
+ --embedBigPlayBackgroundColor: #{$primary-background-color};
+}
+
@mixin big-play-button-triangle-size($triangle-size) {
width: $triangle-size;
height: $triangle-size;
}
.video-js.vjs-peertube-skin {
-
font-size: $font-size;
- color: $primary-foreground-color;
+ color: pvar(--embedForegroundColor);
.vjs-dock-text {
- padding-right: 10px;
+ padding: $dock-padding;
+ padding-right: 60px;
+ 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 {
- font-size: 11px;
+ text-shadow: 0 0 2px rgba(0, 0, 0, .5);
+ }
- &::before, &::after {
- display: inline-block;
- content: '\1F308';
- }
+ .vjs-dock-description {
+ font-size: 11px;
- &::before {
+ .text::before {
margin-right: 4px;
}
- &::after {
+ .text::after {
margin-left: 4px;
transform: scale(-1, 1);
}
}
- .vjs-button > .vjs-icon-placeholder::before {
- line-height: $control-bar-height;
- }
-
.vjs-volume-level::before {
content: ''; /* Remove Circle From Progress Bar */
}
$big-play-width: 1.2em;
$big-play-height: 1.2em;
- border: 6px solid #fff;
+ border: 2px solid #fff;
border-radius: 100%;
left: 50%;
background-image: url('#{$assets-path}/player/images/big-play-button.svg');
}
- &:hover {
- opacity: 0.8;
+ &.focus-visible, &:hover {
+ background-color: var(--mainColor, dimgray);
}
+
}
// Small effect when we click on the play button
}
}
+ // Show poster and controls when playing audio-only content
+ &.vjs-playing-audio-only-content {
+ .vjs-poster {
+ display: block;
+ visibility: visible;
+ }
+
+ .vjs-control-bar {
+ opacity: $primary-foreground-opacity-hover;
+ }
+ }
+
+ // Do not display poster when video is starting
+ &.vjs-has-autoplay:not(.vjs-has-started) {
+ .vjs-poster {
+ opacity: 0;
+ visibility: hidden;
+ }
+ }
+
// Hide the big play button on autoplay
&.vjs-has-autoplay {
.vjs-big-play-button {
.vjs-control-bar,
.vjs-big-play-button,
.vjs-settings-dialog {
- background-color: rgba($primary-background-color, 0.5);
+ background-color: pvar(--embedBigPlayBackgroundColor);
}
.vjs-poster {
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 {
+ margin-left: $first-control-bar-element-margin-left;
+ }
+
.vjs-progress-control,
.vjs-play-control,
.vjs-playback-rate,
.vjs-theater-control,
.vjs-settings
{
- color: $primary-foreground-color !important;
+ color: pvar(--embedForegroundColor) !important;
+
opacity: $primary-foreground-opacity;
transition: opacity .1s;
.vjs-current-time,
.vjs-duration,
.vjs-peertube {
- color: $primary-foreground-color;
+ color: pvar(--embedForegroundColor);
opacity: $primary-foreground-opacity;
}
transition: none;
.vjs-play-progress {
- background: $primary-foreground-color;
+ background: pvar(--embedForegroundColor);
// Not display the circle if the progress is not hovered
&::before {
@include disable-outline;
cursor: pointer;
- font-size: $font-size;
- margin-right: 5px;
+ 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 {
font-size: $font-size;
display: inline-block;
padding: 0;
+ margin-left: .5em;
.vjs-current-time-display {
- line-height: calc(#{$control-bar-height} + 1px);
+ line-height: calc(#{$control-bar-height} - 1px);
&::after {
content: "/";
font-size: $font-size;
display: inline-block;
padding: 0;
+
.vjs-duration-display {
- line-height: calc(#{$control-bar-height} + 1px);
+ line-height: calc(#{$control-bar-height} - 1px);
}
}
}
}
+ .vjs-live-control {
+ line-height: $control-bar-height;
+ min-width: 4em;
+ width: inherit;
+ }
+
.vjs-peertube {
width: 100%;
line-height: $control-bar-height;
text-align: right;
+ margin-right: 6px;
+ overflow: hidden;
.vjs-peertube-displayed {
display: block;
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: right;
+
+ .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: white;
+ mask-size: cover;
+ -webkit-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;
background-size: contain;
vertical-align: middle;
background-repeat: no-repeat;
- margin-right: 6px;
position: relative;
top: -1px;
-
- &.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-mute-control {
@include disable-outline;
- line-height: $control-bar-height;
padding: 0;
width: 30px;
width: 37px;
margin-right: 1px;
+ cursor: pointer;
.vjs-icon-placeholder {
transition: transform 0.2s ease;
@include disable-outline;
width: 37px;
- margin-right: 11px;
+ margin-right: $first-control-bar-element-margin-left;
.vjs-icon-placeholder {
display: inline-block;
.vjs-big-play-button {
font-size: 5em;
- border-width: 5px;
+ border-width: 3px;
.vjs-icon-placeholder::before {
@include big-play-button-triangle-size(32px);
.vjs-big-play-button {
font-size: 4.5em;
- border-width: 4.5px;
+ border-width: 2.5px;
.vjs-icon-placeholder::before {
@include big-play-button-triangle-size(27px);
}
}
- .vjs-playback-rate {
- display: none;
- }
-
.vjs-peertube {
padding: 0 !important;
display: none !important;
}
}
+
+ &.vjs-live {
+ .vjs-duration {
+ display: none !important;
+ }
+
+ .vjs-peertube {
+ display: none !important;
+ }
+ }
}
- @media screen and (max-width: 300px) {
+ @media screen and (max-width: 350px) {
.vjs-dock-text {
font-size: 13px;
}
.vjs-big-play-button {
font-size: 3em;
- border-width: 3px;
+ border-width: 2px;
.vjs-icon-placeholder::before {
@include big-play-button-triangle-size(20px);
}
}
- .vjs-volume-control {
+ .vjs-volume-control,
+ .vjs-next-video,
+ .vjs-previous-video {
display: none !important;
}
.vjs-settings {
width: 33px;
}
+
+ .vjs-control-bar {
+ > button:first-child {
+ margin-left: $first-control-bar-element-margin-left-small-width;
+ }
+ }
+
+ .vjs-fullscreen-control {
+ margin-right: $first-control-bar-element-margin-left-small-width;
+ }
+
+ &.vjs-live {
+ .vjs-current-time {
+ display: none !important;
+ }
+ }
}
// Theater mode is enabled
.vjs-error-display {
display: block;
}
-}
\ No newline at end of file
+}
+
+.vjs-no-next-in-playlist {
+ .vjs-next-video {
+ cursor: default;
+
+ .icon {
+ background-color: rgba(255, 255, 255, 0.5);
+ }
+ }
+}