diff --git a/Makefile b/Makefile index a0a28c0..f311932 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,8 @@ MEDIA = \ $(wildcard media/flags/*) $(wildcard media/buttons/*) \ $(wildcard media/icons/*) $(wildcard media/bg/*) 8831.png 8831-quox.png \ $(wildcard rainbow-quox/front/*) $(wildcard rainbow-quox/back/*) \ - rainbow-quox/palette.svg + rainbow-quox/palette.svg rainbow-quox/bright-squares.png \ + rainbow-quox/back.svg SCRIPTS = $(patsubst %.ts,%.js,$(wildcard script/*.ts rainbow-quox/*.ts)) MISC = $(shell find .well-known -type f) ALL = $(CSS) $(PAGES) $(MEDIA) $(SCRIPTS) $(MISC) diff --git a/fonts/pragmatapro/pragmatapro.css b/fonts/pragmatapro/pragmatapro.css new file mode 100644 index 0000000..38ebfa8 --- /dev/null +++ b/fonts/pragmatapro/pragmatapro.css @@ -0,0 +1,25 @@ +@font-face { + font-family: PrgmataPro; + font-weight: 400; + src: url(r.woff2) format('woff2'); +} + +@font-face { + font-family: PrgmataPro; + font-weight: 500; + src: url(b.woff2) format('woff2'); +} + +@font-face { + font-family: PrgmataPro; + font-weight: 400; + font-style: italic; + src: url(i.woff2) format('woff2'); +} + +@font-face { + font-family: PrgmataPro; + font-weight: 500; + font-style: italic; + src: url(bi.woff2) format('woff2'); +} diff --git a/rainbow-quox/back.svg b/rainbow-quox/back.svg new file mode 100644 index 0000000..89231e3 --- /dev/null +++ b/rainbow-quox/back.svg @@ -0,0 +1,7 @@ + + + + diff --git a/rainbow-quox/bright-squares.png b/rainbow-quox/bright-squares.png new file mode 100644 index 0000000..bacde4f --- /dev/null +++ b/rainbow-quox/bright-squares.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6446c779f15729bb9c47103bf4f9a2c831439ce7246943bea3715dfbdfaebb27 +size 41392 diff --git a/rainbow-quox/canvas.ts b/rainbow-quox/canvas.ts index 5ffe952..d54799d 100644 --- a/rainbow-quox/canvas.ts +++ b/rainbow-quox/canvas.ts @@ -144,6 +144,7 @@ function message(msg: string, ctx: CanvasRenderingContext2D) { function startAnim(name: string) { document.documentElement.dataset.running = name; + document.getElementById('buttons')?.style.removeProperty('z-index'); } function isRunning(): boolean { @@ -152,6 +153,7 @@ function isRunning(): boolean { function finishAnim() { delete document.documentElement.dataset.running; + document.getElementById('buttons')?.style.setProperty('z-index', '1'); } type SideName = 'front' | 'back'; @@ -238,7 +240,7 @@ async function animateReroll(ctx1: CanvasRenderingContext2D, side: Side, done: () => void) { const duration = 200; const [oklch, rgb] = await side.recolorOn(ctx2, buf); - ctx2.canvas.style.animation = `${duration}ms ease fade-in`; + ctx2.canvas.style.animation = `${duration}ms ease forwards fade-in`; setBg(oklch.outer.h); setPalette(oklch, rgb); setTimeout(finish, duration); @@ -310,6 +312,8 @@ document.addEventListener('DOMContentLoaded', async function() { addListeners(); + document.documentElement.dataset.ready = '1'; + type Done = (finish: () => void) => void; function handleReroll(e: Event) { diff --git a/rainbow-quox/index.html b/rainbow-quox/index.html index 45885bf..2884542 100644 --- a/rainbow-quox/index.html +++ b/rainbow-quox/index.html @@ -30,5 +30,7 @@ diff --git a/rainbow-quox/palette.svg.raku b/rainbow-quox/palette.svg.raku index 416fb73..ac8e7c9 100644 --- a/rainbow-quox/palette.svg.raku +++ b/rainbow-quox/palette.svg.raku @@ -10,8 +10,12 @@ my $doc = q:to/EOP/;