From 156cf909197c5e6aa196b7dfb55eac33dd555905 Mon Sep 17 00:00:00 2001 From: itsMapleLeaf <19603573+itsMapleLeaf@users.noreply.github.com> Date: Wed, 27 Sep 2023 22:15:41 -0500 Subject: [PATCH] set component interaction in loop ...only when an interaction was handled --- .changeset/fifty-vans-fold.md | 5 +++++ .../reacord/library/internal/renderers/renderer.ts | 10 ++++------ 2 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 .changeset/fifty-vans-fold.md diff --git a/.changeset/fifty-vans-fold.md b/.changeset/fifty-vans-fold.md new file mode 100644 index 0000000..a20a5cd --- /dev/null +++ b/.changeset/fifty-vans-fold.md @@ -0,0 +1,5 @@ +--- +"reacord": patch +--- + +fix interaction handling diff --git a/packages/reacord/library/internal/renderers/renderer.ts b/packages/reacord/library/internal/renderers/renderer.ts index f10c0bc..7097074 100644 --- a/packages/reacord/library/internal/renderers/renderer.ts +++ b/packages/reacord/library/internal/renderers/renderer.ts @@ -47,14 +47,12 @@ export abstract class Renderer { } handleComponentInteraction(interaction: ComponentInteraction) { - this.componentInteraction = interaction - - setTimeout(() => { - this.updates.next({ action: "deferUpdate", interaction }) - }, 500) - for (const node of this.nodes) { if (node.handleComponentInteraction(interaction)) { + this.componentInteraction = interaction + setTimeout(() => { + this.updates.next({ action: "deferUpdate", interaction }) + }, 500) return true } }