From b0058c64b5765fc5f6137ce82729f17b42f8ba50 Mon Sep 17 00:00:00 2001 From: valentine195 <38669521+valentine195@users.noreply.github.com> Date: Wed, 8 Dec 2021 15:55:24 -0500 Subject: [PATCH] fix: improved error handling around dice roller --- src/view/Statblock.svelte | 4 ++-- src/view/ui/DiceRoll.svelte | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/view/Statblock.svelte b/src/view/Statblock.svelte index 2a8cbdac..745336e1 100644 --- a/src/view/Statblock.svelte +++ b/src/view/Statblock.svelte @@ -27,8 +27,8 @@ export let canSave: boolean; let canExport = monster.export ?? plugin.settings.export; - let canDice = monster.dice ?? plugin.settings.useDice; - + let canDice = + plugin.canUseDiceRoller && (monster.dice ?? plugin.settings.useDice); let canRender = monster.render ?? plugin.settings.renderDice; setContext("plugin", plugin); diff --git a/src/view/ui/DiceRoll.svelte b/src/view/ui/DiceRoll.svelte index 3f65190d..3028028b 100644 --- a/src/view/ui/DiceRoll.svelte +++ b/src/view/ui/DiceRoll.svelte @@ -8,6 +8,8 @@ export let text: string; export let original: string | number = text; + const dice = getContext("dice"); + const plugin = getContext("plugin"); const render = getContext("render"); @@ -23,7 +25,7 @@ }); let roller: StackRoller = null; - if (!roller && plugin.canUseDiceRoller) { + if (!roller && dice) { roller = plugin.getRoller(`${text}`) as StackRoller; } @@ -56,12 +58,16 @@ }); const rollerEl = (node: HTMLElement) => { - node.appendChild(roller.containerEl); + if (!roller || !roller.containerEl) { + node.setText(`${original}`); + } else { + node.appendChild(roller.containerEl); + } }; {#key error} - {#if error} + {#if error || !dice} {text} {:else}