Skip to content

Commit 76e01c0

Browse files
committed
fix: remove blur effect from filters and improve pointer event handling
1 parent 22d284c commit 76e01c0

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

src/pages/forge.astro

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -473,19 +473,19 @@
473473

474474
const effects = [
475475
`
476-
filter: saturate(2.5) brightness(1.2) hue-rotate(340deg) blur(1px);
476+
filter: saturate(2.5) brightness(1.2) hue-rotate(340deg);
477477
transform: skewX(-3deg);
478478
`,
479479
`
480-
filter: saturate(0.2) brightness(1.2) hue-rotate(190deg) blur(1px);
480+
filter: saturate(0.2) brightness(1.2) hue-rotate(190deg);
481481
transform: skewX(3deg);
482482
`,
483483
`
484484
filter: saturate(3) brightness(1.2) contrast(1.3);
485485
transform: scaleY(0.5) scaleX(1.5) skewX(3deg);
486486
`,
487487
`
488-
filter: saturate(3) hue-rotate(90deg) brightness(1.3) contrast(1.2) blur(1px);
488+
filter: saturate(3) hue-rotate(90deg) brightness(1.3) contrast(1.2);
489489
transform: skewX(-3deg);
490490
`,
491491
];
@@ -510,6 +510,7 @@
510510
x: 0,
511511
y: 0,
512512
moving: false,
513+
pointerId: -1,
513514
};
514515

515516
resetForge();
@@ -589,7 +590,6 @@
589590
let slot = 0;
590591
for (let i = 0; i < 4; i++) {
591592
slot = ~~(Math.random() * level.items.length);
592-
console.log(levelState.level, slot, level.items[slot]);
593593
while (level.items[slot]!.depth <= levelState.level) {
594594
slot = ~~(Math.random() * level.items.length);
595595
}
@@ -648,11 +648,14 @@
648648
element?.addEventListener("pointerdown", startMove);
649649
document.documentElement.addEventListener("pointermove", move);
650650
document.documentElement.addEventListener("pointerup", stopMove);
651+
document.documentElement.addEventListener("pointercancel", stopMove);
651652

652653
function startMove(event: PointerEvent) {
654+
if (moveState.moving) return;
653655
moveState.x = event.clientX;
654656
moveState.y = event.clientY;
655657
moveState.moving = true;
658+
moveState.pointerId = event.pointerId;
656659
styles.replaceSync(`
657660
::view-transition-group(element) {
658661
top: 0;
@@ -670,8 +673,9 @@
670673
}
671674

672675
function stopMove(event: PointerEvent) {
673-
if (event.target !== document.documentElement) return;
676+
if (!moveState.moving || event.pointerId !== moveState.pointerId) return;
674677
moveState.moving = false;
678+
moveState.pointerId = -1;
675679
const current = levelState.elements.length - 1;
676680
const node = levelState.elements[current]!;
677681
if (
@@ -755,7 +759,7 @@
755759
}
756760

757761
function move(event: PointerEvent) {
758-
if (!moveState.moving) return;
762+
if (!moveState.moving || event.pointerId !== moveState.pointerId) return;
759763

760764
const width = chambers[0]!.getBoundingClientRect().width;
761765
const quarter = width / 4;

0 commit comments

Comments
 (0)