diff --git a/ts/components/WithDropdownMenu.svelte b/ts/components/WithDropdownMenu.svelte index c4b977fdc..df09e20c4 100644 --- a/ts/components/WithDropdownMenu.svelte +++ b/ts/components/WithDropdownMenu.svelte @@ -8,6 +8,8 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import { setContext } from "svelte"; import { dropdownKey } from "./contextKeys"; + export let disabled = false; + setContext(dropdownKey, { dropdown: true, "data-bs-toggle": "dropdown", @@ -17,8 +19,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html const menuId = Math.random().toString(36).substring(2); let dropdown: Dropdown; - function activateDropdown(_event: MouseEvent): void { - dropdown.toggle(); + function activateDropdown(): void { + if (!disabled) { + dropdown.toggle(); + } } /* Normally dropdown and trigger are associated with a diff --git a/ts/deckoptions/Badge.svelte b/ts/deckoptions/Badge.svelte index 2cc765bdd..5fbfa4d4b 100644 --- a/ts/deckoptions/Badge.svelte +++ b/ts/deckoptions/Badge.svelte @@ -3,7 +3,9 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> - + @@ -26,6 +36,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html color: inherit; } + .dropdown-toggle::after { + display: none; + } + span :global(svg) { vertical-align: -0.125rem; } diff --git a/ts/deckoptions/RevertButton.svelte b/ts/deckoptions/RevertButton.svelte index aabfe2518..919cef714 100644 --- a/ts/deckoptions/RevertButton.svelte +++ b/ts/deckoptions/RevertButton.svelte @@ -37,13 +37,29 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html } - - createDropdown(event.detail.span)}> + + createDropdown(event.detail.span)} + on:click={activateDropdown} + > {@html gearIcon} - + { + revert(); + // Otherwise the menu won't close when the item is clicked + // TODO: investigate why this is necessary + activateDropdown(); + }} + > {tr.deckConfigRevertButtonTooltip()}{@html revertIcon}