From 2e435683aa0080bda6e8be0955e86b03004e70fb Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Sun, 31 Jul 2022 20:44:12 +0200 Subject: refactor: Move shared preloaded js and css into web-shared --- apps/frontpage/src/app.html | 147 +-------------------------------- apps/frontpage/static/preload.css | 1 + apps/frontpage/static/preload.js | 1 + apps/portal/src/_assets/preload.css | 1 + apps/portal/src/_assets/preload.js | 1 + apps/portal/src/index.html | 147 +-------------------------------- apps/projects/src/_assets/preload.css | 1 + apps/projects/src/_assets/preload.js | 1 + apps/projects/src/index.html | 147 +-------------------------------- apps/web-shared/src/assets/preload.css | 127 ++++++++++++++++++++++++++++ apps/web-shared/src/assets/preload.js | 13 +++ 11 files changed, 152 insertions(+), 435 deletions(-) create mode 120000 apps/frontpage/static/preload.css create mode 120000 apps/frontpage/static/preload.js create mode 120000 apps/portal/src/_assets/preload.css create mode 120000 apps/portal/src/_assets/preload.js create mode 120000 apps/projects/src/_assets/preload.css create mode 120000 apps/projects/src/_assets/preload.js create mode 100644 apps/web-shared/src/assets/preload.css create mode 100644 apps/web-shared/src/assets/preload.js diff --git a/apps/frontpage/src/app.html b/apps/frontpage/src/app.html index 1c46682..922aeec 100644 --- a/apps/frontpage/src/app.html +++ b/apps/frontpage/src/app.html @@ -4,151 +4,8 @@ - - + + %sveltekit.head% diff --git a/apps/frontpage/static/preload.css b/apps/frontpage/static/preload.css new file mode 120000 index 0000000..e248c5b --- /dev/null +++ b/apps/frontpage/static/preload.css @@ -0,0 +1 @@ +/Users/ivarlovlie/i2r/greatoffice/apps/web-shared/src/assets/preload.css \ No newline at end of file diff --git a/apps/frontpage/static/preload.js b/apps/frontpage/static/preload.js new file mode 120000 index 0000000..3fa1cc7 --- /dev/null +++ b/apps/frontpage/static/preload.js @@ -0,0 +1 @@ +/Users/ivarlovlie/i2r/greatoffice/apps/web-shared/src/assets/preload.js \ No newline at end of file diff --git a/apps/portal/src/_assets/preload.css b/apps/portal/src/_assets/preload.css new file mode 120000 index 0000000..e248c5b --- /dev/null +++ b/apps/portal/src/_assets/preload.css @@ -0,0 +1 @@ +/Users/ivarlovlie/i2r/greatoffice/apps/web-shared/src/assets/preload.css \ No newline at end of file diff --git a/apps/portal/src/_assets/preload.js b/apps/portal/src/_assets/preload.js new file mode 120000 index 0000000..3fa1cc7 --- /dev/null +++ b/apps/portal/src/_assets/preload.js @@ -0,0 +1 @@ +/Users/ivarlovlie/i2r/greatoffice/apps/web-shared/src/assets/preload.js \ No newline at end of file diff --git a/apps/portal/src/index.html b/apps/portal/src/index.html index c196872..2102205 100644 --- a/apps/portal/src/index.html +++ b/apps/portal/src/index.html @@ -25,151 +25,8 @@ content="#da532c"> - - + + Portal - Greatoffice diff --git a/apps/projects/src/_assets/preload.css b/apps/projects/src/_assets/preload.css new file mode 120000 index 0000000..e248c5b --- /dev/null +++ b/apps/projects/src/_assets/preload.css @@ -0,0 +1 @@ +/Users/ivarlovlie/i2r/greatoffice/apps/web-shared/src/assets/preload.css \ No newline at end of file diff --git a/apps/projects/src/_assets/preload.js b/apps/projects/src/_assets/preload.js new file mode 120000 index 0000000..3fa1cc7 --- /dev/null +++ b/apps/projects/src/_assets/preload.js @@ -0,0 +1 @@ +/Users/ivarlovlie/i2r/greatoffice/apps/web-shared/src/assets/preload.js \ No newline at end of file diff --git a/apps/projects/src/index.html b/apps/projects/src/index.html index f3d1e0b..80eab63 100644 --- a/apps/projects/src/index.html +++ b/apps/projects/src/index.html @@ -25,151 +25,8 @@ content="#da532c"> - - + + Projects - Greatoffice diff --git a/apps/web-shared/src/assets/preload.css b/apps/web-shared/src/assets/preload.css new file mode 100644 index 0000000..3ee8bda --- /dev/null +++ b/apps/web-shared/src/assets/preload.css @@ -0,0 +1,127 @@ +:root { + --loader-primary: hsl(210, 92%, 44%); + --loader-accent: hsl(350, 47%, 42%); + --loader-contrast: hsl(230, 2%, 48%); + --loader-easing: cubic-bezier(0.645, 0.045, 0.355, 1); +} + +[data-theme="dark"] :root { + --loader-primary: hsl(250, 100%, 69%); + --loader-accent: hsl(342, 92%, 47%); + --loader-contrast: hsl(250, 100%, 69%); + --loader-easing: cubic-bezier(0.645, 0.045, 0.355, 1); +} + +[data-theme="dark"] { + background-color: hsl(232, 11%, 15%); +} + +.fill-loader { + position: relative; + overflow: hidden; + display: inline-block; + margin: 3rem; +} + +.fill-loader__fill { + position: absolute; +} + +@supports (-webkit-animation-name: this) or (animation-name: this) { + .fill-loader__label { + position: absolute; + clip: rect(1px, 1px, 1px, 1px); + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + } +} + +@supports (-webkit-animation-name: this) or (animation-name: this) { + .fill-loader--v4 { + width: 90%; + max-width: 300px; + } + + .fill-loader--v4 .fill-loader__base { + height: 4px; + background-color: var(--loader-contrast); + } + + .fill-loader--v4 .fill-loader__fill { + top: 0; + left: 0; + right: 0; + height: 100%; + background-color: var(--loader-primary); + -webkit-animation: fill-loader-4 1.6s infinite var(--loader-easing); + animation: fill-loader-4 1.6s infinite var(--loader-easing); + will-change: left, right; + } +} + +@-webkit-keyframes fill-loader-4 { + 0% { + left: 0; + right: 100%; + background-color: var(--loader-primary); + } + + 10%, + 60% { + left: 0; + } + + 40%, + 90% { + right: 0; + } + + 50% { + left: 100%; + background-color: var(--loader-primary); + } + + 51% { + left: 0; + right: 100%; + background-color: var(--loader-accent); + } + + 100% { + left: 100%; + background-color: var(--loader-accent); + } +} +@keyframes fill-loader-4 { + 0% { + left: 0; + right: 100%; + background-color: var(--loader-primary); + } + + 10%, + 60% { + left: 0; + } + + 40%, + 90% { + right: 0; + } + + 50% { + left: 100%; + background-color: var(--loader-primary); + } + + 51% { + left: 0; + right: 100%; + background-color: var(--loader-accent); + } + + 100% { + left: 100%; + background-color: var(--loader-accent); + } +} \ No newline at end of file diff --git a/apps/web-shared/src/assets/preload.js b/apps/web-shared/src/assets/preload.js new file mode 100644 index 0000000..379902f --- /dev/null +++ b/apps/web-shared/src/assets/preload.js @@ -0,0 +1,13 @@ +const value = `; ${document.cookie}`; +const parts = value.split(`; go_theme=`); +let currentTheme = "system"; +if (parts.length === 2) { + currentTheme = parts.pop().split(";").shift(); +} +if (currentTheme === "light") { + document.querySelector("html").dataset.theme = "light"; +} else if (currentTheme === "dark") { + document.querySelector("html").dataset.theme = "dark"; +} else { + document.querySelector("html").dataset.theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; +} \ No newline at end of file -- cgit v1.3