This commit is contained in:
epoberezkin
2022-10-24 20:55:59 +00:00
parent 9c9101b864
commit 9f650e2ebd
216 changed files with 172 additions and 4 deletions

View File

@@ -238,16 +238,15 @@
}
.transition {
transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 150ms
}
.hover\:underline:hover {
-webkit-text-decoration-line: underline;
text-decoration-line: underline
text-decoration-line: underline
}
.hover\:shadow-md:hover {

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- <link rel="stylesheet" type="text/css" media="screen" href="./index.css"> -->
<script src="./index.js"></script>
</head>
<body>
<img id="hero-phone" />
<div id="hero-phone-preload" style="display: none;"></div>
</body>
</html>

69
hero-phone-dark/index.js Normal file
View File

@@ -0,0 +1,69 @@
(function () {
const fastImages = mkSequence("./fastImages/Darkphone1_", 0, 20, ".png")
const slowImages = mkSequence("./slowImages/Darkphone1_", 8, 38, ".png")
let complete = false
run()
window.onload = run
function mkSequence(prefix, from, to, ext) {
const seq = []
for (let n = from; n <= to; n++) {
let suffix = '' + n
suffix = '0'.repeat(4 - suffix.length) + suffix
seq.push(prefix + suffix + ext)
}
return seq
}
async function run() {
const imageEl = document.getElementById("hero-phone");
const preloadEl = document.getElementById("hero-phone-preload");
if (complete || !imageEl || !preloadEl) return
complete = true
await preload(fastImages.concat(slowImages))
await animate(fastImages, 100)
await animate(slowImages, 500)
async function preload(images) {
let imgEls = []
let resolved = false
return new Promise((resolve) => {
setTimeout(() => {
if (!resolved) {
resolved = true
resolve()
}
}, 2000)
for (const img of images) {
const el = document.createElement("img");
el.src = img
imgEls.push(el)
preloadEl.appendChild(el)
const loaded = () => {
imgEls = imgEls.filter((e) => e !== el)
if (imgEls.length === 0 && !resolved) {
resolved = true
resolve()
}
}
el.addEventListener('load', loaded)
el.addEventListener('error', loaded)
}
})
}
async function animate(images, ms) {
for (const img of images) {
imageEl.src = img
await delay(ms)
}
}
async function delay(ms) {
return new Promise((resolve) => setTimeout(resolve, ms))
}
}
})();

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

15
hero-phone/index.html Normal file
View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- <link rel="stylesheet" type="text/css" media="screen" href="./index.css"> -->
<script src="./index.js"></script>
</head>
<body>
<img id="hero-phone" />
<div id="hero-phone-preload" style="display: none;"></div>
</body>
</html>

70
hero-phone/index.js Normal file
View File

@@ -0,0 +1,70 @@
(function () {
const fastImages = mkSequence("./fastImages/Lightphone1_", 0, 30, ".png")
const slowImages = mkSequence("./slowImages1/Lightphone1_", 8, 39, ".png")
// const slowImages = mkSequence("./slowImages2/Lightphone1_", 8, 39, ".png")
let complete = false
run()
window.onload = run
function mkSequence(prefix, from, to, ext) {
const seq = []
for (let n = from; n <= to; n++) {
let suffix = '' + n
suffix = '0'.repeat(4 - suffix.length) + suffix
seq.push(prefix + suffix + ext)
}
return seq
}
async function run() {
const imageEl = document.getElementById("hero-phone");
const preloadEl = document.getElementById("hero-phone-preload");
if (complete || !imageEl || !preloadEl) return
complete = true
await preload(fastImages.concat(slowImages))
await animate(fastImages, 100)
await animate(slowImages, 500)
async function preload(images) {
let imgEls = []
let resolved = false
return new Promise((resolve) => {
setTimeout(() => {
if (!resolved) {
resolved = true
resolve()
}
}, 2000)
for (const img of images) {
const el = document.createElement("img");
el.src = img
imgEls.push(el)
preloadEl.appendChild(el)
const loaded = () => {
imgEls = imgEls.filter((e) => e !== el)
if (imgEls.length === 0 && !resolved) {
resolved = true
resolve()
}
}
el.addEventListener('load', loaded)
el.addEventListener('error', loaded)
}
})
}
async function animate(images, ms) {
for (const img of images) {
imageEl.src = img
await delay(ms)
}
}
async function delay(ms) {
return new Promise((resolve) => setTimeout(resolve, ms))
}
}
})();

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 471 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 KiB

Some files were not shown because too many files have changed in this diff Show More