diff --git a/packages/web/src/jsonui/JsonUiContentRenderer.svelte b/packages/web/src/jsonui/JsonUiContentRenderer.svelte index 07fdcb667..517d4915b 100644 --- a/packages/web/src/jsonui/JsonUiContentRenderer.svelte +++ b/packages/web/src/jsonui/JsonUiContentRenderer.svelte @@ -3,6 +3,7 @@ import JsonUiHeading from './JsonUiHeading.svelte'; import JsonUiHighlight from './JsonUiHighlight.svelte'; import JsonUiLinkButton from './JsonUiLinkButton.svelte'; + import JsonUiLinkButtonBlock from './JsonUiLinkButtonBlock.svelte'; import JsonUiMarkdown from './JsonUiMarkdown.svelte'; import JsonUiTextBlock from './JsonUiTextBlock.svelte'; import JsonUiTickList from './JsonUiTickList.svelte'; @@ -19,6 +20,7 @@ markdown: JsonUiMarkdown, highlight: JsonUiHighlight, countdown: JsonUiCountdown, + buttonblock: JsonUiLinkButtonBlock, } as const; diff --git a/packages/web/src/jsonui/JsonUiCountdown.svelte b/packages/web/src/jsonui/JsonUiCountdown.svelte index c0e196f05..db11a62f1 100644 --- a/packages/web/src/jsonui/JsonUiCountdown.svelte +++ b/packages/web/src/jsonui/JsonUiCountdown.svelte @@ -1,8 +1,10 @@ {#if validTo} -
+
{ + if (link) { + openWebLink(link); + } + }} + > Offer ends in:
{#each parts as part} @@ -62,6 +72,10 @@ padding: 5px; } + .countdown.isLink { + cursor: pointer; + } + .big { font-size: large; font-weight: bold; diff --git a/packages/web/src/jsonui/JsonUiHighlight.svelte b/packages/web/src/jsonui/JsonUiHighlight.svelte index 8437d7a84..697a2cb04 100644 --- a/packages/web/src/jsonui/JsonUiHighlight.svelte +++ b/packages/web/src/jsonui/JsonUiHighlight.svelte @@ -1,19 +1,28 @@ -
- {text} -
+{#if link} + + {text} + +{:else} +
+ {text} +
+{/if} diff --git a/packages/web/src/jsonui/JsonUiLinkButton.svelte b/packages/web/src/jsonui/JsonUiLinkButton.svelte index e3d2ce311..e9a00925c 100644 --- a/packages/web/src/jsonui/JsonUiLinkButton.svelte +++ b/packages/web/src/jsonui/JsonUiLinkButton.svelte @@ -5,9 +5,6 @@ export let text: string; export let link: string; export let colorClass: string = ''; - - // very light url guard - const safe = /^(https?:)?\/\//i.test(link) || link.startsWith('/');
diff --git a/packages/web/src/jsonui/JsonUiLinkButtonBlock.svelte b/packages/web/src/jsonui/JsonUiLinkButtonBlock.svelte new file mode 100644 index 000000000..9800e831e --- /dev/null +++ b/packages/web/src/jsonui/JsonUiLinkButtonBlock.svelte @@ -0,0 +1,21 @@ + + +
+ {#each items as item} + openWebLink(item.link)} value={item.text} skipWidth {colorClass} /> + {/each} +
+ +