opacity: 1;
animation: fade 150ms linear;
+ .video-player {
+ margin-top: 8px;
+ }
+
&.status-direct {
background: lighten($ui-base-color, 8%);
height: 22px;
}
}
+
+ .video-player {
+ margin-top: 8px;
+ }
}
.detailed-status__meta {
.drawer {
flex: 1 1 100%;
overflow: hidden;
- @supports(display: grid) { // hack to fix Chrome <57
- contain: strict;
- }
}
@media screen and (min-width: 360px) {
overflow-x: hidden;
flex: 1 1 auto;
-webkit-overflow-scrolling: touch;
- @supports(display: grid) { // hack to fix Chrome <57
- contain: strict;
- }
+ will-change: transform; // improves perf in mobile Chrome
&.optionally-scrollable {
overflow-y: auto;
&:hover {
text-decoration: underline;
}
+
+ &:last-child {
+ padding: 0 15px 0 0;
+ }
}
.column-back-button__icon {
}
.media-spoiler {
- align-items: center;
background: $base-overlay-background;
- color: $primary-text-color;
- cursor: pointer;
- display: flex;
- flex-direction: column;
+ color: $ui-primary-color;
border: 0;
width: 100%;
height: 100%;
- justify-content: center;
- position: relative;
- text-align: center;
- z-index: 100;
+
+ &:hover,
+ &:active,
+ &:focus {
+ color: lighten($ui-primary-color, 8%);
+ }
}
.media-spoiler__warning {
z-index: 5;
}
+.video-player {
+ overflow: hidden;
+ position: relative;
+ background: $base-shadow-color;
+ max-width: 100%;
+
+ video {
+ height: 100%;
+ width: 100%;
+ z-index: 1;
+ }
+
+ &.fullscreen {
+ width: 100% !important;
+ height: 100% !important;
+ margin: 0;
+
+ video {
+ max-width: 100% !important;
+ max-height: 100% !important;
+ }
+ }
+
+ &.inline {
+ video {
+ object-fit: cover;
+ position: relative;
+ top: 50%;
+ transform: translateY(-50%);
+ }
+ }
+
+ &__controls {
+ position: absolute;
+ z-index: 2;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ box-sizing: border-box;
+ background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 60%, transparent);
+ padding: 0 10px;
+ opacity: 0;
+ transition: opacity .1s ease;
+
+ &.active {
+ opacity: 1;
+ }
+ }
+
+ &.inactive {
+ video,
+ .video-player__controls {
+ visibility: hidden;
+ }
+ }
+
+ &__spoiler {
+ display: none;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 4;
+ border: 0;
+ background: $base-shadow-color;
+ color: $ui-primary-color;
+ transition: none;
+ pointer-events: none;
+
+ &.active {
+ display: block;
+ pointer-events: auto;
+
+ &:hover,
+ &:active,
+ &:focus {
+ color: lighten($ui-primary-color, 8%);
+ }
+ }
+
+ &__title {
+ display: block;
+ font-size: 14px;
+ }
+
+ &__subtitle {
+ display: block;
+ font-size: 11px;
+ font-weight: 500;
+ }
+ }
+
+ &__buttons {
+ padding-bottom: 10px;
+ font-size: 16px;
+
+ &.left {
+ float: left;
+
+ button {
+ padding-right: 10px;
+ }
+ }
+
+ &.right {
+ float: right;
+
+ button {
+ padding-left: 10px;
+ }
+ }
+
+ button {
+ background: transparent;
+ padding: 0;
+ border: 0;
+ color: $white;
+
+ &:active,
+ &:hover,
+ &:focus {
+ color: $ui-highlight-color;
+ }
+ }
+ }
+
+ &__seek {
+ cursor: pointer;
+ height: 24px;
+ position: relative;
+
+ &::before {
+ content: "";
+ width: 100%;
+ background: rgba($white, 0.35);
+ display: block;
+ position: absolute;
+ height: 4px;
+ top: 10px;
+ }
+
+ &__progress {
+ display: block;
+ position: absolute;
+ height: 4px;
+ top: 10px;
+ background: $ui-highlight-color;
+ }
+
+ &__handle {
+ position: absolute;
+ z-index: 3;
+ opacity: 0;
+ border-radius: 50%;
+ width: 12px;
+ height: 12px;
+ top: 6px;
+ margin-left: -6px;
+ transition: opacity .1s ease;
+ background: $ui-highlight-color;
+ pointer-events: none;
+
+ &.active {
+ opacity: 1;
+ }
+ }
+
+ &:hover {
+ .video-player__seek__handle {
+ opacity: 1;
+ }
+ }
+ }
+}
+
.media-spoiler-video {
background-size: cover;
background-repeat: no-repeat;
cursor: pointer;
margin-top: 8px;
position: relative;
+ border: 0;
+ display: block;
}
.media-spoiler-video-play-icon {
margin: 30px auto;
color: $ui-secondary-color;
max-width: 400px;
+
+ a {
+ color: $ui-highlight-color;
+ text-decoration: underline;
+
+ &:hover {
+ text-decoration: none;
+ }
+ }
}
}
}
}
-.embed-modal__html {
- color: $ui-secondary-color;
- outline: 0;
- box-sizing: border-box;
- display: block;
- width: 100%;
- border: none;
- padding: 10px;
- font-family: 'mastodon-font-monospace', monospace;
- background: $ui-base-color;
- color: $ui-primary-color;
- font-size: 14px;
- margin: 0;
- margin-bottom: 15px;
-
- &::-moz-focus-inner {
- border: 0;
- }
-
- &::-moz-focus-inner,
- &:focus,
- &:active {
- outline: 0 !important;
- }
-
- &:focus {
- background: lighten($ui-base-color, 4%);
- }
-
- @media screen and (max-width: 600px) {
- font-size: 16px;
- }
-}
-
.embed-modal {
+ max-width: 80vw;
+ max-height: 80vh;
+
h4 {
padding: 30px;
font-weight: 500;
text-align: center;
}
- .hint {
- margin-bottom: 15px;
- }
-}
+ .embed-modal__container {
+ padding: 10px;
-.embed-modal__container {
- padding: 10px;
-}
+ .hint {
+ margin-bottom: 15px;
+ }
-.embed-modal__iframe {
- width: 100%;
- min-width: 400px;
- overflow: hidden;
- border: 0;
+ .embed-modal__html {
+ color: $ui-secondary-color;
+ outline: 0;
+ box-sizing: border-box;
+ display: block;
+ width: 100%;
+ border: none;
+ padding: 10px;
+ font-family: 'mastodon-font-monospace', monospace;
+ background: $ui-base-color;
+ color: $ui-primary-color;
+ font-size: 14px;
+ margin: 0;
+ margin-bottom: 15px;
+
+ &::-moz-focus-inner {
+ border: 0;
+ }
+
+ &::-moz-focus-inner,
+ &:focus,
+ &:active {
+ outline: 0 !important;
+ }
+
+ &:focus {
+ background: lighten($ui-base-color, 4%);
+ }
+
+ @media screen and (max-width: 600px) {
+ font-size: 16px;
+ }
+ }
+
+ .embed-modal__iframe {
+ width: 400px;
+ max-width: 100%;
+ overflow: hidden;
+ border: 0;
+ }
+ }
}