From 800813759d1bb7e1260f594d38db2ef0dcf1dac7 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Fri, 12 Apr 2024 09:51:54 +0200 Subject: [PATCH] fix: improve app icon renderer and app html renderer --- .../apps/components/buttons/AppButton.svelte | 12 +++-- .../components/display/AppDownload.svelte | 32 +++++++++--- .../apps/components/display/AppHtml.svelte | 29 +++-------- .../apps/components/display/AppMenu.svelte | 37 ++++++++++---- .../components/display/AppStatCard.svelte | 16 ++++-- .../lib/components/apps/components/icon.ts | 1 - .../components/inputs/AppTextInput.svelte | 50 +++++++++++++++---- 7 files changed, 116 insertions(+), 61 deletions(-) diff --git a/frontend/src/lib/components/apps/components/buttons/AppButton.svelte b/frontend/src/lib/components/apps/components/buttons/AppButton.svelte index 55f3debec1..9e741e7b35 100644 --- a/frontend/src/lib/components/apps/components/buttons/AppButton.svelte +++ b/frontend/src/lib/components/apps/components/buttons/AppButton.svelte @@ -67,14 +67,14 @@ let runnableComponent: RunnableComponent + let confirmedCallback: (() => void) | undefined = undefined + let beforeIconComponent: any let afterIconComponent: any $: resolvedConfig.beforeIcon && beforeIconComponent && handleBeforeIcon() $: resolvedConfig.afterIcon && afterIconComponent && handleAfterIcon() - let confirmedCallback: (() => void) | undefined = undefined - async function handleBeforeIcon() { if (resolvedConfig.beforeIcon) { beforeIconComponent = await loadIcon( @@ -225,13 +225,17 @@ {loading} > {#if resolvedConfig.beforeIcon} -
+ {#key resolvedConfig.beforeIcon} +
+ {/key} {/if} {#if resolvedConfig.label?.toString() && resolvedConfig.label?.toString()?.length > 0}
{resolvedConfig.label.toString()}
{/if} {#if resolvedConfig.afterIcon} -
+ {#key resolvedConfig.afterIcon} +
+ {/key} {/if} {/key} diff --git a/frontend/src/lib/components/apps/components/display/AppDownload.svelte b/frontend/src/lib/components/apps/components/display/AppDownload.svelte index 133f3fdfa9..8b06d11130 100644 --- a/frontend/src/lib/components/apps/components/display/AppDownload.svelte +++ b/frontend/src/lib/components/apps/components/display/AppDownload.svelte @@ -34,18 +34,30 @@ let beforeIconComponent: any let afterIconComponent: any - $: resolvedConfig.beforeIcon && handleBeforeIcon() - $: resolvedConfig.afterIcon && handleAfterIcon() + $: resolvedConfig.beforeIcon && beforeIconComponent && handleBeforeIcon() + $: resolvedConfig.afterIcon && afterIconComponent && handleAfterIcon() async function handleBeforeIcon() { if (resolvedConfig.beforeIcon) { - beforeIconComponent = await loadIcon(resolvedConfig.beforeIcon) + beforeIconComponent = await loadIcon( + resolvedConfig.beforeIcon, + beforeIconComponent, + 14, + undefined, + undefined + ) } } async function handleAfterIcon() { if (resolvedConfig.afterIcon) { - afterIconComponent = await loadIcon(resolvedConfig.afterIcon) + afterIconComponent = await loadIcon( + resolvedConfig.afterIcon, + afterIconComponent, + 14, + undefined, + undefined + ) } } @@ -101,14 +113,18 @@ nonCaptureEvent > - {#if resolvedConfig.beforeIcon && beforeIconComponent} - + {#if resolvedConfig.beforeIcon} + {#key resolvedConfig.beforeIcon} +
+ {/key} {/if} {#if resolvedConfig.label && resolvedConfig.label?.length > 0}
{resolvedConfig.label}
{/if} - {#if resolvedConfig.afterIcon && afterIconComponent} - + {#if resolvedConfig.afterIcon} + {#key resolvedConfig.afterIcon} +
+ {/key} {/if} diff --git a/frontend/src/lib/components/apps/components/display/AppHtml.svelte b/frontend/src/lib/components/apps/components/display/AppHtml.svelte index 701d95243e..7d0b4e873c 100644 --- a/frontend/src/lib/components/apps/components/display/AppHtml.svelte +++ b/frontend/src/lib/components/apps/components/display/AppHtml.svelte @@ -5,7 +5,6 @@ import type { AppViewerContext, ComponentCustomCSS } from '../../types' import { initCss } from '../../utils' import RunnableWrapper from '../helpers/RunnableWrapper.svelte' - import { twMerge } from 'tailwind-merge' import ResolveStyle from '../helpers/ResolveStyle.svelte' export let id: string @@ -14,7 +13,7 @@ export let customCss: ComponentCustomCSS<'htmlcomponent'> | undefined = undefined export let render: boolean - const { app, worldStore, mode } = getContext('AppViewerContext') + const { app, worldStore } = getContext('AppViewerContext') const outputs = initOutput($worldStore, id, { result: undefined, @@ -22,8 +21,6 @@ }) let result: string | undefined = undefined - let h: number | undefined = undefined - let w: number | undefined = undefined let css = initCss($app.css?.htmlcomponent, customCss) @@ -43,8 +40,6 @@ e?.preventDefault() }} class="h-full w-full" - bind:clientHeight={h} - bind:clientWidth={w} > - {#key result} -