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}
+
+
+