style convertion progress

pull/162/head
dm 2021-02-06 01:04:41 +01:00
parent 8d73918d0d
commit ec797709fd
4 changed files with 185 additions and 93 deletions

View File

@ -4,7 +4,8 @@
"private": true,
"scripts": {
"start": "node spacedeck.js",
"dev": "nodemon spacedeck.js"
"dev": "nodemon spacedeck.js",
"styles": "gulp styles"
},
"engines": {
"node": ">=10.0.0"

View File

@ -2688,32 +2688,40 @@ th {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
src: local(""), url("/fonts/inter-v2-latin-ext_latin-regular.woff2") format("woff2"), url("/fonts/inter-v2-latin-ext_latin-regular.woff") format("woff");
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }
src: url("/fonts/inter-v2-latin-ext_latin-regular.eot");
/* IE9 Compat Modes */
src: local(""), url("/fonts/inter-v2-latin-ext_latin-regular.eot?#iefix") format("embedded-opentype"), url("/fonts/inter-v2-latin-ext_latin-regular.woff2") format("woff2"), url("/fonts/inter-v2-latin-ext_latin-regular.woff") format("woff"), url("/fonts/inter-v2-latin-ext_latin-regular.ttf") format("truetype"), url("/fonts/inter-v2-latin-ext_latin-regular.svg#Inter") format("svg");
/* Legacy iOS */ }
/* inter-500 - latin-ext_latin */
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
src: local(""), url("/fonts/inter-v2-latin-ext_latin-500.woff2") format("woff2"), url("/fonts/inter-v2-latin-ext_latin-500.woff") format("woff");
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }
src: url("/fonts/inter-v2-latin-ext_latin-500.eot");
/* IE9 Compat Modes */
src: local(""), url("/fonts/inter-v2-latin-ext_latin-500.eot?#iefix") format("embedded-opentype"), url("/fonts/inter-v2-latin-ext_latin-500.woff2") format("woff2"), url("/fonts/inter-v2-latin-ext_latin-500.woff") format("woff"), url("/fonts/inter-v2-latin-ext_latin-500.ttf") format("truetype"), url("/fonts/inter-v2-latin-ext_latin-500.svg#Inter") format("svg");
/* Legacy iOS */ }
/* inter-600 - latin-ext_latin */
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
src: local(""), url("/fonts/inter-v2-latin-ext_latin-600.woff2") format("woff2"), url("/fonts/inter-v2-latin-ext_latin-600.woff") format("woff");
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }
src: url("/fonts/inter-v2-latin-ext_latin-600.eot");
/* IE9 Compat Modes */
src: local(""), url("/fonts/inter-v2-latin-ext_latin-600.eot?#iefix") format("embedded-opentype"), url("/fonts/inter-v2-latin-ext_latin-600.woff2") format("woff2"), url("/fonts/inter-v2-latin-ext_latin-600.woff") format("woff"), url("/fonts/inter-v2-latin-ext_latin-600.ttf") format("truetype"), url("/fonts/inter-v2-latin-ext_latin-600.svg#Inter") format("svg");
/* Legacy iOS */ }
/* inter-900 - latin-ext_latin */
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 900;
src: local(""), url("/fonts/inter-v2-latin-ext_latin-900.woff2") format("woff2"), url("/fonts/inter-v2-latin-ext_latin-900.woff") format("woff");
/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }
src: url("/fonts/inter-v2-latin-ext_latin-900.eot");
/* IE9 Compat Modes */
src: local(""), url("/fonts/inter-v2-latin-ext_latin-900.eot?#iefix") format("embedded-opentype"), url("/fonts/inter-v2-latin-ext_latin-900.woff2") format("woff2"), url("/fonts/inter-v2-latin-ext_latin-900.woff") format("woff"), url("/fonts/inter-v2-latin-ext_latin-900.ttf") format("truetype"), url("/fonts/inter-v2-latin-ext_latin-900.svg#Inter") format("svg");
/* Legacy iOS */ }
body {
background-color: #f5f5f5;
@ -15002,7 +15010,7 @@ button.close {
top: 50%;
left: 50%;
margin: -22px; }
.artifact.artifact-text.text-blank [contentEditable=true]:not(.text-editing) p:first-child::after {
.artifact.artifact-text.text-blank [contentEditable="true"]:not(.text-editing) p:first-child::after {
content: "Double click to edit";
opacity: 0.25; }
.artifact.artifact-text.text-blank p:first-child br {
@ -15150,10 +15158,10 @@ button.close {
.artifact .text-table .text-cell .text-column > * {
display: block; }
.artifact .oembed,
.artifact div[class*='oembed-'] {
.artifact div[class*="oembed-"] {
height: 100%; }
.artifact .oembed .play,
.artifact div[class*='oembed-'] .play {
.artifact div[class*="oembed-"] .play {
position: absolute;
top: 50%;
left: 50%;
@ -15162,7 +15170,7 @@ button.close {
background-color: #f5f5f5 !important;
color: #292929 !important; }
.artifact .oembed .meta,
.artifact div[class*='oembed-'] .meta {
.artifact div[class*="oembed-"] .meta {
padding-top: 10px;
font-size: 10px;
display: block;
@ -15173,33 +15181,33 @@ button.close {
color: #888;
text-align: left; }
.artifact .oembed .meta .link,
.artifact div[class*='oembed-'] .meta .link {
.artifact div[class*="oembed-"] .meta .link {
position: absolute;
left: -12px;
bottom: -4px; }
.artifact .oembed .meta .description,
.artifact div[class*='oembed-'] .meta .description {
.artifact div[class*="oembed-"] .meta .description {
padding-left: 28px;
display: block; }
.artifact .oembed iframe,
.artifact div[class*='oembed-'] iframe {
.artifact div[class*="oembed-"] iframe {
width: 100% !important;
height: 100% !important; }
.artifact .oembed:not(.interactive) iframe,
.artifact div[class*='oembed-']:not(.interactive) iframe {
.artifact div[class*="oembed-"]:not(.interactive) iframe {
pointer-events: none; }
.artifact .oembed .title,
.artifact div[class*='oembed-'] .title {
.artifact div[class*="oembed-"] .title {
font-size: 20px; }
.artifact .oembed .image,
.artifact div[class*='oembed-'] .image {
.artifact div[class*="oembed-"] .image {
height: auto;
top: 0;
bottom: 0px;
position: absolute;
width: 100%; }
.artifact .oembed .interact,
.artifact div[class*='oembed-'] .interact {
.artifact div[class*="oembed-"] .interact {
position: absolute;
top: 50%;
left: 50%;
@ -15216,7 +15224,8 @@ button.close {
.artifact .video {
width: 100%;
height: 100%;
background-size: cover; }
background-size: cover;
background-color: black; }
.artifact .video.playing video {
z-index: 1; }
.artifact .video .title {
@ -15364,11 +15373,24 @@ body:not(.present-mode) #space .artifact.selected {
body:not(.present-mode) #space .artifact.selected:not(.artifact-vector):after {
border: 1px solid #288cd7; }
.mouse-scribble, .tool-scribble, .tool-line, .tool-arrow {
.mouse-scribble,
.tool-scribble,
.tool-line,
.tool-arrow {
cursor: crosshair !important; }
.mouse-scribble .artifact, .tool-scribble .artifact, .tool-line .artifact, .tool-arrow .artifact {
.mouse-scribble .artifact,
.tool-scribble .artifact,
.tool-line .artifact,
.tool-arrow .artifact {
pointer-events: none !important; }
.mouse-scribble .artifact:after, .mouse-scribble .artifact:before, .tool-scribble .artifact:after, .tool-scribble .artifact:before, .tool-line .artifact:after, .tool-line .artifact:before, .tool-arrow .artifact:after, .tool-arrow .artifact:before {
.mouse-scribble .artifact:after,
.mouse-scribble .artifact:before,
.tool-scribble .artifact:after,
.tool-scribble .artifact:before,
.tool-line .artifact:after,
.tool-line .artifact:before,
.tool-arrow .artifact:after,
.tool-arrow .artifact:before {
display: none !important; }
.tool-pan {
@ -15377,19 +15399,28 @@ body:not(.present-mode) #space .artifact.selected {
.tool-note {
cursor: crosshair !important; }
.artifact.state-idle .progress, .artifact.state-idle .progress-text {
.artifact.state-idle .progress,
.artifact.state-idle .progress-text {
display: none; }
.artifact.state-processing, .artifact.state-uploading {
.artifact.state-processing,
.artifact.state-uploading {
background-color: white; }
.artifact.state-processing .progress, .artifact.state-uploading .progress {
.artifact.state-processing .progress,
.artifact.state-uploading .progress {
height: 100%;
padding: 10px;
background-color: #3d9ee9;
padding: 4px;
opacity: 0.9;
text-align: center;
font-size: 14px; }
.artifact.state-processing .progress-text, .artifact.state-uploading .progress-text {
.artifact.state-processing .progress-container,
.artifact.state-uploading .progress-container {
background: #ffffff;
width: 100%;
height: 100%;
padding-left: 10px;
padding-top: 10px; }
.artifact.state-processing .progress-text,
.artifact.state-uploading .progress-text {
text-align: center;
padding: 8px;
width: 100%;
@ -15398,7 +15429,14 @@ body:not(.present-mode) #space .artifact.selected {
top: 0px;
color: #888;
font-size: 10px; }
.artifact.state-processing video, .artifact.state-processing audio, .artifact.state-processing .tl-controls, .artifact.state-processing .timeline, .artifact.state-uploading video, .artifact.state-uploading audio, .artifact.state-uploading .tl-controls, .artifact.state-uploading .timeline {
.artifact.state-processing video,
.artifact.state-processing audio,
.artifact.state-processing .tl-controls,
.artifact.state-processing .timeline,
.artifact.state-uploading video,
.artifact.state-uploading audio,
.artifact.state-uploading .tl-controls,
.artifact.state-uploading .timeline {
display: none; }
.state-processing .spinner {

View File

@ -11,10 +11,12 @@
max-height: 100%;
}
&.hide-text .text { opacity: 0 }
&.hide-text .text {
opacity: 0;
}
&.locked.selected {
box-shadow: 0px 0px 0px 3px rgba(0,0,0,0.5) !important;
box-shadow: 0px 0px 0px 3px rgba(0, 0, 0, 0.5) !important;
}
.placeholder {
@ -26,7 +28,9 @@
}
}
&.artifact-text.text-blank [contentEditable=true]:not(.text-editing) p:first-child::after {
&.artifact-text.text-blank
[contentEditable="true"]:not(.text-editing)
p:first-child::after {
content: "Double click to edit";
opacity: 0.25;
}
@ -79,7 +83,6 @@
// padding-right: 20px; margin-right: -20px;
//> * {pointer-events: auto; }
}
&:not(.artifact-text) {
@ -142,7 +145,9 @@
li {
margin-top: 0;
margin-bottom: 0.5em;
&:last-child {margin-bottom: 0em !important; }
&:last-child {
margin-bottom: 0em !important;
}
}
h1 {
@ -179,10 +184,14 @@
p {
margin-top: 0;
margin-bottom: 0.5em; // compatibility to old system
&:last-child {margin-bottom: 0em !important; }
&:last-child {
margin-bottom: 0em !important;
}
}
a {pointer-events: none; }
a {
pointer-events: none;
}
ol {
padding: 0;
@ -247,7 +256,7 @@
}
.oembed,
div[class*='oembed-'] {
div[class*="oembed-"] {
height: 100%;
.play {
position: absolute;
@ -290,7 +299,9 @@
}
}
.title {font-size: 20px; }
.title {
font-size: 20px;
}
.image {
height: auto;
top: 0;
@ -319,10 +330,11 @@
}
}
.video {
.video {
width: 100%;
height: 100%;
background-size: cover;
background-color: black;
&.playing {
video {
@ -359,10 +371,8 @@
.btn {
margin-top: 20px;
}
}
}
// FIXME: fix later
@ -381,8 +391,8 @@
height: 100%;
.timeline {
position: absolute;
left:0;
top:0;
left: 0;
top: 0;
width: 100%;
bottom: 54px;
background-size: 100% 100%;
@ -391,7 +401,7 @@
overflow: hidden;
.tl-current-time {
height:100%;
height: 100%;
background: white;
opacity: 0.5;
border-right: 1px solid #888;
@ -427,12 +437,11 @@
.btn {
margin-top: 20px;
}
}
.tl-title {
margin-left:10px;
margin-left: 10px;
max-width: 55%;
overflow: hidden;
display: inline-block;
@ -454,19 +463,41 @@
height: 100%;
}
&.bold { font-weight: bold;}
&.italic { font-style: italic;}
&.underline { text-decoration: underline;}
&.strike { text-decoration: line-through;}
&.bold {
font-weight: bold;
}
&.italic {
font-style: italic;
}
&.underline {
text-decoration: underline;
}
&.strike {
text-decoration: line-through;
}
&.align-top .text-cell {vertical-align: top;}
&.align-middle .text-cell {vertical-align: middle;}
&.align-bottom .text-cell {vertical-align: bottom;}
&.align-top .text-cell {
vertical-align: top;
}
&.align-middle .text-cell {
vertical-align: middle;
}
&.align-bottom .text-cell {
vertical-align: bottom;
}
&.align-left { text-align: left; }
&.align-center { text-align: center; }
&.align-right { text-align: right; }
&.align-justify { text-align: justify; }
&.align-left {
text-align: left;
}
&.align-center {
text-align: center;
}
&.align-right {
text-align: right;
}
&.align-justify {
text-align: justify;
}
audio {
width: 100%;
@ -481,10 +512,14 @@
font-size: 36px;
&.artifact-zone {
background-color: rgba(0,0,0,0.05);
background-color: rgba(0, 0, 0, 0.05);
border-radius: 10px;
&:after {display: none; }
.shape {display: none; }
&:after {
display: none;
}
.shape {
display: none;
}
.zone {
height: 100%;
}
@ -496,32 +531,31 @@ body.present-mode {
.artifact-zone {
display: none;
}
.artifact {
.artifact {
cursor: default !important;
.text a { pointer-events: auto !important; }
.text a {
pointer-events: auto !important;
}
}
}
}
body:not(.present-mode) {
#space {
.Medium {
cursor: text;
}
.artifact {
&.selected.text-editing,
&.text-editing {
cursor: text;
&:before {
border: 1px solid rgba(255,255,255,0.25);
border: 1px solid rgba(255, 255, 255, 0.25);
}
&:after {
border: 1px dotted rgba(40,140,215,0.5);
border: 1px dotted rgba(40, 140, 215, 0.5);
background-color: transparent !important;
}
}
@ -535,24 +569,27 @@ body:not(.present-mode) {
}
&:not(.artifact-vector):after {
border: 1px solid rgba(40,140,215,1);
border: 1px solid rgba(40, 140, 215, 1);
// overlay color removed for now (messes with colors)
//background-color: rgba(40,140,215,0.35);
}
}
}
}
}
.mouse-scribble, .tool-scribble, .tool-line, .tool-arrow {
.mouse-scribble,
.tool-scribble,
.tool-line,
.tool-arrow {
cursor: crosshair !important;
.artifact {
pointer-events: none !important;
}
.artifact:after, .artifact:before {
.artifact:after,
.artifact:before {
display: none !important;
}
}
@ -566,21 +603,27 @@ body:not(.present-mode) {
}
.artifact.state-idle {
.progress, .progress-text {
.progress,
.progress-text {
display: none;
}
}
.artifact.state-processing, .artifact.state-uploading {
.artifact.state-processing,
.artifact.state-uploading {
.progress {
height: 100%;
padding: 10px;
background-color: $blue;
padding: 4px;
opacity: 0.9;
text-align: center;
font-size: 14px;
}
.progress-container {
background: $white;
width: 100%;
height: 100%;
padding-left: 10px;
padding-top: 10px;
}
.progress-text {
text-align: center;
padding: 8px;
@ -593,43 +636,48 @@ body:not(.present-mode) {
color: #888;
font-size: 10px;
}
video, audio, .tl-controls, .timeline {
video,
audio,
.tl-controls,
.timeline {
display: none;
}
background-color: white;
}
.state-processing .spinner {
opacity: 1;
background-image: url('/images/hourglass.gif');
background-image: url("/images/hourglass.gif");
}
.state-uploading .spinner {
opacity: 0.8;
background-image: url('/images/hourglass.gif');
background-image: url("/images/hourglass.gif");
}
.state-idle .spinner {
display: none;
}
.artifact.image {
background-color: transparent;
&.state-loading { background-color: rgba(40,140,215,0.05);}
&.state-processing { background-color: rgba(107,195,111,0.05);}
&.state-loading {
background-color: rgba(40, 140, 215, 0.05);
}
&.state-processing {
background-color: rgba(107, 195, 111, 0.05);
}
}
.spinner {
height:44px;
width:44px;
position:absolute;
height: 44px;
width: 44px;
position: absolute;
top: 50%;
left: 50%;
margin: -22px;
border-radius:100%;
border-radius: 100%;
background-size: cover;
background-repeat: no-repeat;
}

View File

@ -156,8 +156,13 @@
<source v-for="rep in a.view.payload_alternatives" v-bind:src="rep.payload_uri" v-bind:type="rep.mime" />
<source v-if="a.view.payload_uri && a.view.mime" v-bind:src="a.view.payload_uri" v-bind:type="a.view.mime" />
</video>
<div class="spinner"></div>
<div class="progress" v-bind:style="{width: a.description+'%'}">{{a.description}}</div>
<div class="progress" v-bind:style="{width: a.description+'%'}">
<div class="progress-container">
<h3>
{{a.description}}%
</h3>
</div>
</div>
</div>
<!-- audio -->