diff --git a/static/Molot-webfont.woff b/assets/Molot-webfont.woff similarity index 100% rename from static/Molot-webfont.woff rename to assets/Molot-webfont.woff diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 0000000..edb46b5 --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/static/logo_cropped.svg b/assets/logo_cropped.svg similarity index 100% rename from static/logo_cropped.svg rename to assets/logo_cropped.svg diff --git a/assets/twemoji.woff2 b/assets/twemoji.woff2 new file mode 100644 index 0000000..6cc58b6 Binary files /dev/null and b/assets/twemoji.woff2 differ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 192cab4..20047fa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -143,7 +143,7 @@ importers: version: 0.0.18(svelte@4.2.19) eslint-config-standard-universal: specifier: github:thaunknown/eslint-config-standard-universal - version: https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/88b9755b42d0fc7b7280ed2c9061954ed06ee7fb(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(jiti@1.21.6) + version: https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/a9994824ad3b4528533007eec7f31ed773a89bc0(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(jiti@1.21.6) globals: specifier: ^15.11.0 version: 15.11.0 @@ -152,7 +152,7 @@ importers: version: 1.8.10(@gql.tada/svelte-support@1.0.1(svelte@4.2.19)(typescript@5.7.2))(graphql@16.10.0)(typescript@5.7.2) hayase-extensions: specifier: github:hayase-app/extensions - version: https://codeload.github.com/hayase-app/extensions/tar.gz/6cb67c6061b0fcd41b5f1f683e6c030129e79eae + version: https://codeload.github.com/hayase-app/extensions/tar.gz/d3bb37d74626580a06aff13d6f6f7a912c7ea4ff jassub: specifier: ^1.7.18 version: 1.7.18 @@ -1206,8 +1206,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-config-standard-universal@https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/88b9755b42d0fc7b7280ed2c9061954ed06ee7fb: - resolution: {tarball: https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/88b9755b42d0fc7b7280ed2c9061954ed06ee7fb} + eslint-config-standard-universal@https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/a9994824ad3b4528533007eec7f31ed773a89bc0: + resolution: {tarball: https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/a9994824ad3b4528533007eec7f31ed773a89bc0} version: 1.0.4 eslint-import-resolver-node@0.3.9: @@ -1504,9 +1504,9 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/6cb67c6061b0fcd41b5f1f683e6c030129e79eae: - resolution: {tarball: https://codeload.github.com/hayase-app/extensions/tar.gz/6cb67c6061b0fcd41b5f1f683e6c030129e79eae} - version: 1.0.5 + hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/d3bb37d74626580a06aff13d6f6f7a912c7ea4ff: + resolution: {tarball: https://codeload.github.com/hayase-app/extensions/tar.gz/d3bb37d74626580a06aff13d6f6f7a912c7ea4ff} + version: 1.0.6 idb-keyval@6.2.1: resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} @@ -2273,8 +2273,8 @@ packages: resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} engines: {node: '>=16'} - svelte@5.26.3: - resolution: {integrity: sha512-SgDfx70CmW8Rev9XRu5sN/3Paa/mSh3DGxDDEgtecdjbhLrmgK18McanP+gNE8HYGm8tXiXZN3Fn31NcqBML+Q==} + svelte@5.28.1: + resolution: {integrity: sha512-iOa9WmfNG95lSOSJdMhdjJ4Afok7IRAQYXpbnxhd5EINnXseG0GVa9j6WPght4eX78XfFez45Fi+uRglGKPV/Q==} engines: {node: '>=18'} tabbable@6.2.0: @@ -3644,7 +3644,7 @@ snapshots: eslint: 9.17.0(jiti@1.21.6) semver: 7.7.1 - eslint-config-standard-universal@https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/88b9755b42d0fc7b7280ed2c9061954ed06ee7fb(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(jiti@1.21.6): + eslint-config-standard-universal@https://codeload.github.com/thaunknown/eslint-config-standard-universal/tar.gz/a9994824ad3b4528533007eec7f31ed773a89bc0(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(jiti@1.21.6): dependencies: '@stylistic/eslint-plugin': 4.2.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2) eslint: 9.17.0(jiti@1.21.6) @@ -3652,9 +3652,9 @@ snapshots: eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.17.0(jiti@1.21.6)) eslint-plugin-n: 17.15.0(eslint@9.17.0(jiti@1.21.6)) eslint-plugin-promise: 7.2.1(eslint@9.17.0(jiti@1.21.6)) - eslint-plugin-svelte: 3.1.0(eslint@9.17.0(jiti@1.21.6))(svelte@5.26.3) + eslint-plugin-svelte: 3.1.0(eslint@9.17.0(jiti@1.21.6))(svelte@5.28.1) globals: 16.0.0 - svelte: 5.26.3 + svelte: 5.28.1 typescript: 5.7.2 typescript-eslint: 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2) transitivePeerDependencies: @@ -3736,7 +3736,7 @@ snapshots: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@1.21.6)) eslint: 9.17.0(jiti@1.21.6) - eslint-plugin-svelte@3.1.0(eslint@9.17.0(jiti@1.21.6))(svelte@5.26.3): + eslint-plugin-svelte@3.1.0(eslint@9.17.0(jiti@1.21.6))(svelte@5.28.1): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@1.21.6)) '@jridgewell/sourcemap-codec': 1.5.0 @@ -3748,9 +3748,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.4.49) postcss-safe-parser: 7.0.1(postcss@8.4.49) semver: 7.7.1 - svelte-eslint-parser: 1.0.1(svelte@5.26.3) + svelte-eslint-parser: 1.0.1(svelte@5.28.1) optionalDependencies: - svelte: 5.26.3 + svelte: 5.28.1 transitivePeerDependencies: - ts-node @@ -4007,7 +4007,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/6cb67c6061b0fcd41b5f1f683e6c030129e79eae: {} + hayase-extensions@https://codeload.github.com/hayase-app/extensions/tar.gz/d3bb37d74626580a06aff13d6f6f7a912c7ea4ff: {} idb-keyval@6.2.1: {} @@ -4735,7 +4735,7 @@ snapshots: transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.0.1(svelte@5.26.3): + svelte-eslint-parser@1.0.1(svelte@5.28.1): dependencies: eslint-scope: 8.2.0 eslint-visitor-keys: 4.2.0 @@ -4744,7 +4744,7 @@ snapshots: postcss-scss: 4.0.9(postcss@8.4.49) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.26.3 + svelte: 5.28.1 svelte-hmr@0.16.0(svelte@4.2.19): dependencies: @@ -4788,7 +4788,7 @@ snapshots: magic-string: 0.30.12 periscopic: 3.1.0 - svelte@5.26.3: + svelte@5.28.1: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 diff --git a/src/app.css b/src/app.css index fc5a9d5..c3c41f5 100644 --- a/src/app.css +++ b/src/app.css @@ -84,7 +84,12 @@ @font-face { font-family: 'molotregular'; - src: url('/Molot-webfont.woff') format('woff'); + src: url('/Molot-webfont-subset.woff') format('woff'); +} + +@font-face { + font-family: "Twemoji"; + src: url("/twemoji-subset.woff2") format("woff2"); } @@ -226,15 +231,6 @@ body { transform: perspective(100vw) translate3d(0, 0, 0vw) rotateY(0deg) rotateX(0deg); } -@keyframes spin3d { - from { - transform: rotateY(0deg) translate3d(0, 0, -5000px); - } - - to { - transform: rotateY(360deg) translate3d(0, 0, -5000px); - } -} @keyframes idle-fly { @@ -285,25 +281,10 @@ body { } } -@keyframes marquee-bg { - from { - /* this is the exact size of the backplate single div, this animation isn't very performant! */ - background-position: -2111.74px 0; - } - - to { - background-position: 0 0; - } -} - .animate-marquee { animation: marquee 80s infinite linear; } -.animate-marquee-bg { - animation: marquee-bg 80s infinite linear; -} - .bg-striped { background: repeating-linear-gradient(45deg, #202020, @@ -328,6 +309,10 @@ body { font-family: 'molotregular'; } +.font-twemoji { + font-family: 'Twemoji'; +} + .backface-visible { backface-visibility: visible; } diff --git a/src/app.d.ts b/src/app.d.ts index 3976a89..26df5b5 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -101,21 +101,25 @@ export interface Native { } declare global { + // eslint-disable-next-line no-unused-vars namespace App { // interface Error {} // interface Locals {} // interface PageData {} + // eslint-disable-next-line no-unused-vars interface PageState { search?: VariablesOf } // interface Platform {} } + // eslint-disable-next-line no-unused-vars interface HTMLMediaElement { videoTracks?: Track[] audioTracks?: Track[] } + // eslint-disable-next-line no-unused-vars interface ScreenOrientation { lock: (orientation: 'any' | 'natural' | 'landscape' | 'portrait' | 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary') => Promise } diff --git a/src/lib/components/Backplate.svelte b/src/lib/components/Backplate.svelte index bcb40d9..27a0f82 100644 --- a/src/lib/components/Backplate.svelte +++ b/src/lib/components/Backplate.svelte @@ -11,6 +11,7 @@ let isAnimating = false let isSpinning = false let isFlying = false + let showBackplate = false let timeout: number // WE LOVE RACE CONDITIONS WOOOO YEAAH MY SANITY @@ -21,6 +22,7 @@ isFlying = true await sleep(800) if (!isFlying) return + showBackplate = true isSpinning = true isFlying = false } @@ -32,15 +34,15 @@ isSpinning = isFlying = false await sleep(10) root.style.transform = plate.style.transform = '' - await sleep(790) - isAnimating = isSpinning = isFlying = false + await sleep(490) + isAnimating = showBackplate = isSpinning = isFlying = false } $: active = $lockedState === 'locked' || visibilityState === 'hidden' || ($idleState === 'active' && $activityState === 'active') || $isPlaying - function checkIdleState (active: boolean, idleAnimation: 'fancy' | 'fast' | 'off') { + function checkIdleState (active: boolean, idleAnimation: boolean) { clearTimeout(timeout) - if (idleAnimation === 'off' || active) return reset() + if (!idleAnimation || active) return reset() timeout = setTimeout(start, 120_000) } @@ -52,22 +54,26 @@