diff --git a/UI/Base/SubtleButton.svelte b/UI/Base/SubtleButton.svelte index 2ec71933e4..e6666eb8e9 100644 --- a/UI/Base/SubtleButton.svelte +++ b/UI/Base/SubtleButton.svelte @@ -7,11 +7,18 @@ export let imageUrl: string | BaseUIElement export let message: string | BaseUIElement - export let options: { url?: string | Store; newTab?: boolean; imgSize?: string, extraClasses?: string } + export let options: { + url?: string | Store + newTab?: boolean + imgSize?: string + extraClasses?: string + } - let element: HTMLElement let href = typeof options?.url == "string" ? options.url : "" + let imgElem: HTMLElement + let msgElem: HTMLElement + onMount(() => { if (typeof options?.url != "string" && options?.url != undefined) { options.url.addCallbackAndRun((data) => { @@ -19,33 +26,53 @@ }) } - let img: BaseUIElement - const imgClasses = "block justify-center flex-none mr-4 " + (options?.imgSize ?? "h-11 w-11") - if ((imageUrl ?? "") === "") { - img = undefined - } else if (typeof imageUrl === "string") { - img = new Img(imageUrl)?.SetClass(imgClasses) - } else { - img = imageUrl?.SetClass(imgClasses) - } - if (img != undefined) element.appendChild(img.ConstructElement()) + // Image + if (imgElem != undefined) { + let img: BaseUIElement - let msg = Translations.W(message)?.SetClass("block text-ellipsis no-images flex-shrink") - element.appendChild(msg.ConstructElement()) + const imgClasses = "block justify-center flex-none mr-4 " + (options?.imgSize ?? "h-11 w-11") + if ((imageUrl ?? "") === "") { + img = undefined + } else if (typeof imageUrl === "string") { + img = new Img(imageUrl)?.SetClass(imgClasses) + } else { + img = imageUrl?.SetClass(imgClasses) + } + + if (img) imgElem.replaceWith(img.ConstructElement()) + } + + // Message + if (msgElem != undefined) { + let msg = Translations.W(message)?.SetClass("block text-ellipsis no-images flex-shrink") + msgElem.replaceWith(msg.ConstructElement()) + } }) -{#if options?.url == undefined} - -{:else} - -{/if} + + +