diff --git a/package.json b/package.json index e035f69..7bb1f57 100644 --- a/package.json +++ b/package.json @@ -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" diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 9f61a12..3ddebcd 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -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 { diff --git a/styles/artifact.scss b/styles/artifact.scss index 19aa93b..05a1967 100644 --- a/styles/artifact.scss +++ b/styles/artifact.scss @@ -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; } diff --git a/views/partials/space.html b/views/partials/space.html index dbb8c65..3b245a6 100644 --- a/views/partials/space.html +++ b/views/partials/space.html @@ -156,8 +156,13 @@ -
-
{{a.description}}
+
+
+

+ {{a.description}}% +

+
+