2020-04-01 20:43:50 +02:00
|
|
|
.file-page {
|
|
|
|
.grid-area--content + .card,
|
|
|
|
.file-render + .card,
|
|
|
|
.content__cover + .card,
|
|
|
|
.card + .file-render,
|
|
|
|
.card + .grid-area--content,
|
|
|
|
.card + .content__cover {
|
|
|
|
margin-top: var(--spacing-large);
|
|
|
|
}
|
|
|
|
|
|
|
|
.card + .file-render {
|
|
|
|
margin-top: var(--spacing-large);
|
|
|
|
}
|
|
|
|
|
|
|
|
.file-page__md {
|
|
|
|
.card {
|
|
|
|
border-bottom-left-radius: 0;
|
|
|
|
border-bottom-right-radius: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.card + .file-render {
|
|
|
|
margin-top: 0;
|
|
|
|
|
|
|
|
.card {
|
|
|
|
border-top-left-radius: 0;
|
|
|
|
border-top-right-radius: 0;
|
|
|
|
border-bottom-left-radius: var(--border-radius);
|
|
|
|
border-bottom-right-radius: var(--border-radius);
|
|
|
|
border-top: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-06-15 02:19:21 +02:00
|
|
|
.file-render {
|
2019-08-13 07:35:13 +02:00
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
2019-04-27 23:32:47 +02:00
|
|
|
z-index: 1;
|
2018-06-15 02:19:21 +02:00
|
|
|
overflow: hidden;
|
2019-11-14 18:23:42 +01:00
|
|
|
max-height: var(--inline-player-max-height);
|
2018-07-27 02:24:00 +02:00
|
|
|
}
|
|
|
|
|
2020-01-06 19:32:35 +01:00
|
|
|
.file-render--document {
|
|
|
|
max-height: none;
|
2020-04-01 20:43:50 +02:00
|
|
|
overflow: auto;
|
2020-01-06 21:57:49 +01:00
|
|
|
|
|
|
|
.content__loading {
|
|
|
|
background-color: transparent;
|
|
|
|
padding: 0;
|
|
|
|
margin: var(--spacing-xlarge) 0;
|
|
|
|
|
|
|
|
.content__loading-text {
|
|
|
|
color: var(--color-text);
|
|
|
|
}
|
|
|
|
}
|
2020-04-01 20:43:50 +02:00
|
|
|
|
|
|
|
.markdown-preview {
|
|
|
|
height: 100%;
|
|
|
|
overflow: auto;
|
|
|
|
width: 40em;
|
|
|
|
margin-left: auto;
|
|
|
|
margin-right: auto;
|
|
|
|
max-width: unset;
|
|
|
|
min-width: unset;
|
|
|
|
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
|
|
width: 100%;
|
|
|
|
padding: var(--spacing-small);
|
|
|
|
}
|
|
|
|
}
|
2020-01-06 19:32:35 +01:00
|
|
|
}
|
|
|
|
|
2020-04-01 21:36:59 +02:00
|
|
|
.file-render__header {
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
}
|
|
|
|
|
2018-07-27 02:24:00 +02:00
|
|
|
.file-render__viewer {
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
2018-10-17 19:14:24 +02:00
|
|
|
|
2018-07-27 02:24:00 +02:00
|
|
|
iframe,
|
2019-02-22 06:01:59 +01:00
|
|
|
webview,
|
2019-08-06 05:25:33 +02:00
|
|
|
img {
|
2018-06-15 02:19:21 +02:00
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
2019-08-06 05:25:33 +02:00
|
|
|
object-fit: contain;
|
2020-04-14 11:46:55 +02:00
|
|
|
max-height: var(--inline-player-max-height);
|
2019-02-28 23:51:33 +01:00
|
|
|
}
|
2019-11-22 22:13:00 +01:00
|
|
|
video {
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
2020-01-09 05:19:04 +01:00
|
|
|
.video-js.vjs-fullscreen.vjs-user-inactive.vjs-playing {
|
|
|
|
video {
|
|
|
|
cursor: none;
|
|
|
|
}
|
|
|
|
}
|
2018-07-27 02:24:00 +02:00
|
|
|
}
|
|
|
|
|
2020-04-26 03:55:23 +02:00
|
|
|
.file-render__viewer--comic {
|
|
|
|
position: relative;
|
|
|
|
overflow: hidden;
|
|
|
|
.comic-viewer {
|
|
|
|
width: 100%;
|
|
|
|
height: calc(100vh - var(--header-height) - var(--spacing-medium) * 2);
|
|
|
|
max-height: var(--inline-player-max-height);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-04-01 20:43:50 +02:00
|
|
|
.file-render__viewer--iframe {
|
|
|
|
display: flex; /*this eliminates extra height from whitespace, if someone edits this with a better technique, tell Jeremy*/
|
|
|
|
/*
|
|
|
|
ideally iframes would dynamiclly grow, see <IframeReact> for a start at this
|
|
|
|
for now, since we don't know size, let's make as large as we can without being larger than available area
|
|
|
|
*/
|
|
|
|
iframe {
|
|
|
|
height: calc(100vh - var(--header-height) - var(--spacing-medium) * 2);
|
2018-10-17 19:14:24 +02:00
|
|
|
}
|
2018-07-27 02:24:00 +02:00
|
|
|
}
|
|
|
|
|
2020-04-25 10:24:42 +02:00
|
|
|
.file-render__viewer--three {
|
|
|
|
position: relative;
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
|
|
.three-viewer {
|
|
|
|
height: calc(100vh - var(--header-height) - var(--spacing-medium) * 2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-08-13 07:35:13 +02:00
|
|
|
.file-render__content {
|
2018-07-28 03:42:35 +02:00
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
2018-10-17 19:14:24 +02:00
|
|
|
overflow: auto;
|
2020-02-28 04:44:24 +01:00
|
|
|
max-width: 100vw;
|
2018-07-28 03:42:35 +02:00
|
|
|
}
|
|
|
|
|
2019-08-13 07:35:13 +02:00
|
|
|
//
|
|
|
|
// Custom viewers live below here
|
2019-10-13 19:41:51 +02:00
|
|
|
// These either have custom class names that can't be changed or have styles that need to be overridden
|
2019-08-13 07:35:13 +02:00
|
|
|
//
|
|
|
|
|
2018-10-17 19:14:24 +02:00
|
|
|
// Code-viewer
|
2019-08-13 07:35:13 +02:00
|
|
|
.CodeMirror {
|
|
|
|
@extend .file-render__content;
|
2018-07-27 02:24:00 +02:00
|
|
|
|
2018-10-17 19:14:24 +02:00
|
|
|
.cm-invalidchar {
|
|
|
|
display: none;
|
2018-07-27 02:24:00 +02:00
|
|
|
}
|
|
|
|
|
2018-07-28 03:42:35 +02:00
|
|
|
.CodeMirror .CodeMirror-lines {
|
2018-10-17 19:14:24 +02:00
|
|
|
// is there really a .CodeMirror inside a .CodeMirror?
|
2019-06-11 20:10:58 +02:00
|
|
|
padding: var(--spacing-small) 0;
|
2018-07-28 03:42:35 +02:00
|
|
|
}
|
|
|
|
|
2018-10-17 19:14:24 +02:00
|
|
|
.CodeMirror-code {
|
2018-12-19 06:44:53 +01:00
|
|
|
@include font-mono;
|
|
|
|
letter-spacing: 0.1rem;
|
2018-07-27 02:24:00 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.CodeMirror-gutters {
|
2019-12-09 18:25:13 +01:00
|
|
|
background-color: var(--color-gray-1);
|
|
|
|
border-right: 1px solid var(--color-gray-4);
|
2019-06-11 20:10:58 +02:00
|
|
|
padding-right: var(--spacing-medium);
|
2018-07-27 02:24:00 +02:00
|
|
|
}
|
|
|
|
|
2018-10-17 19:14:24 +02:00
|
|
|
.CodeMirror-line {
|
2019-06-11 20:10:58 +02:00
|
|
|
padding-left: var(--spacing-medium);
|
2018-10-17 19:14:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.CodeMirror-linenumber {
|
2019-12-09 18:25:13 +01:00
|
|
|
color: var(--color-gray-5);
|
2018-07-27 02:24:00 +02:00
|
|
|
}
|
|
|
|
}
|
2019-08-06 05:25:33 +02:00
|
|
|
|
|
|
|
.video-js {
|
|
|
|
height: 100%;
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
// Removing the play button because we have autoplay turned on
|
|
|
|
// These are classes added by video.js
|
|
|
|
.vjs-big-play-button {
|
|
|
|
display: none;
|
|
|
|
}
|
2019-08-14 20:09:45 +02:00
|
|
|
|
|
|
|
.vjs-modal-dialog .vjs-modal-dialog-content {
|
|
|
|
position: relative;
|
|
|
|
padding-top: 5rem;
|
|
|
|
// Make sure no videojs message interferes with overlaying buttons
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
2020-04-23 06:21:07 +02:00
|
|
|
|
|
|
|
.vjs-control-bar {
|
|
|
|
.vjs-remaining-time {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.vjs-current-time,
|
|
|
|
.vjs-time-divider,
|
|
|
|
.vjs-duration {
|
|
|
|
display: flex;
|
|
|
|
}
|
|
|
|
}
|
2019-08-06 05:25:33 +02:00
|
|
|
}
|
2019-12-12 22:25:31 +01:00
|
|
|
|
|
|
|
.vjs-paused .vjs-big-play-button,
|
|
|
|
.vjs-paused.vjs-has-started .vjs-big-play-button {
|
2020-03-23 17:00:38 +01:00
|
|
|
@media (max-width: $breakpoint-small) {
|
|
|
|
display: block;
|
|
|
|
}
|
2019-12-12 22:25:31 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
.file-render {
|
2020-04-01 20:43:50 +02:00
|
|
|
border-radius: var(--card-radius);
|
|
|
|
|
2019-12-12 22:25:31 +01:00
|
|
|
.video-js {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
|
|
|
|
.vjs-big-play-button {
|
|
|
|
@extend .button--icon;
|
|
|
|
@extend .button--play;
|
|
|
|
border: none;
|
|
|
|
position: static;
|
|
|
|
z-index: 2;
|
|
|
|
|
|
|
|
.vjs-icon-placeholder {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-01-27 19:52:25 +01:00
|
|
|
|
2020-01-28 16:18:33 +01:00
|
|
|
.file-render__embed {
|
|
|
|
height: 100%;
|
|
|
|
width: 100%;
|
|
|
|
position: fixed;
|
|
|
|
|
|
|
|
.video-js {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
|
|
|
|
.vjs-big-play-button {
|
|
|
|
@extend .button--icon;
|
|
|
|
@extend .button--play;
|
2020-03-19 22:40:04 +01:00
|
|
|
background-color: rgba(0, 0, 0, 0.6);
|
2020-01-28 16:18:33 +01:00
|
|
|
border: none;
|
|
|
|
position: static;
|
|
|
|
z-index: 2;
|
|
|
|
|
|
|
|
.vjs-icon-placeholder {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
2020-03-27 14:57:11 +01:00
|
|
|
|
|
|
|
&.vjs-paused {
|
|
|
|
.vjs-big-play-button {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
}
|
2020-01-28 16:18:33 +01:00
|
|
|
}
|
2020-03-19 22:40:04 +01:00
|
|
|
|
2020-02-20 05:20:14 +01:00
|
|
|
.video-js:hover {
|
|
|
|
.vjs-big-play-button {
|
2020-02-20 21:39:15 +01:00
|
|
|
background-color: var(--color-primary);
|
2020-02-20 05:20:14 +01:00
|
|
|
}
|
|
|
|
}
|
2020-01-28 16:18:33 +01:00
|
|
|
}
|
|
|
|
|
2020-01-27 19:52:25 +01:00
|
|
|
.video-overlay__wrapper {
|
|
|
|
position: absolute;
|
|
|
|
left: auto;
|
|
|
|
right: auto;
|
|
|
|
height: 100%;
|
|
|
|
width: 100%;
|
|
|
|
background-color: rgba(0, 0, 0, 0.9);
|
|
|
|
z-index: 999;
|
|
|
|
color: var(--color-white);
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
2020-01-27 21:02:58 +01:00
|
|
|
padding: var(--spacing-large);
|
2020-01-27 19:52:25 +01:00
|
|
|
|
|
|
|
.button--uri-indicator {
|
|
|
|
color: var(--color-gray-3);
|
|
|
|
}
|
2020-01-27 21:02:58 +01:00
|
|
|
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
|
|
align-items: flex-start;
|
|
|
|
padding: var(--spacing-small);
|
|
|
|
|
|
|
|
.button,
|
|
|
|
.video-overlay__subtitle,
|
|
|
|
.video-overlay__actions {
|
|
|
|
font-size: var(--font-small);
|
|
|
|
}
|
|
|
|
}
|
2020-01-27 19:52:25 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
.video-overlay__title {
|
2020-01-27 21:02:58 +01:00
|
|
|
font-size: var(--font-title);
|
|
|
|
font-weight: var(--font-weight-light);
|
2020-01-27 19:52:25 +01:00
|
|
|
margin-top: var(--spacing-medium);
|
|
|
|
margin-bottom: var(--spacing-small);
|
2020-01-27 21:02:58 +01:00
|
|
|
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
|
|
margin: 0;
|
|
|
|
font-size: var(--font-medium);
|
|
|
|
}
|
2020-01-27 19:52:25 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
.video-overlay__subtitle {
|
|
|
|
color: var(--color-gray-3);
|
|
|
|
margin: var(--spacing-medium) 0;
|
2020-01-27 21:02:58 +01:00
|
|
|
line-height: 1;
|
|
|
|
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
|
|
margin: 0;
|
|
|
|
}
|
2020-01-27 19:52:25 +01:00
|
|
|
}
|
2020-01-27 21:02:58 +01:00
|
|
|
|
2020-01-27 19:52:25 +01:00
|
|
|
.video-overlay__actions {
|
|
|
|
margin-top: var(--spacing-large);
|
2020-01-27 21:02:58 +01:00
|
|
|
|
|
|
|
.button--link {
|
|
|
|
color: var(--color-white);
|
|
|
|
}
|
|
|
|
|
|
|
|
@media (max-width: $breakpoint-small) {
|
|
|
|
margin-top: var(--spacing-small);
|
|
|
|
}
|
2020-01-27 19:52:25 +01:00
|
|
|
}
|