From 1fa4216b18e010765ae22750ad76eb7ec007eee2 Mon Sep 17 00:00:00 2001 From: "SPRINX0\\prochazka" Date: Fri, 17 Oct 2025 14:04:08 +0200 Subject: [PATCH] dynamic promo widget --- .../src/jsonui/JsonUiContentRenderer.svelte | 22 ++++ packages/web/src/jsonui/JsonUiHeading.svelte | 13 +++ .../web/src/jsonui/JsonUiLinkButton.svelte | 21 ++++ .../web/src/jsonui/JsonUiTextBlock.svelte | 11 ++ packages/web/src/jsonui/JsonUiTickList.svelte | 22 ++++ packages/web/src/jsonui/jsonuitypes.ts | 5 + .../widgets/AdminPremiumPromoWidget.svelte | 100 +++++++++--------- 7 files changed, 146 insertions(+), 48 deletions(-) create mode 100644 packages/web/src/jsonui/JsonUiContentRenderer.svelte create mode 100644 packages/web/src/jsonui/JsonUiHeading.svelte create mode 100644 packages/web/src/jsonui/JsonUiLinkButton.svelte create mode 100644 packages/web/src/jsonui/JsonUiTextBlock.svelte create mode 100644 packages/web/src/jsonui/JsonUiTickList.svelte create mode 100644 packages/web/src/jsonui/jsonuitypes.ts diff --git a/packages/web/src/jsonui/JsonUiContentRenderer.svelte b/packages/web/src/jsonui/JsonUiContentRenderer.svelte new file mode 100644 index 000000000..b1562d16d --- /dev/null +++ b/packages/web/src/jsonui/JsonUiContentRenderer.svelte @@ -0,0 +1,22 @@ + + +{#each blocks as block, i} + {#if block.type in componentMap} + + {/if} +{/each} diff --git a/packages/web/src/jsonui/JsonUiHeading.svelte b/packages/web/src/jsonui/JsonUiHeading.svelte new file mode 100644 index 000000000..4217c7555 --- /dev/null +++ b/packages/web/src/jsonui/JsonUiHeading.svelte @@ -0,0 +1,13 @@ + + +{text} + + \ No newline at end of file diff --git a/packages/web/src/jsonui/JsonUiLinkButton.svelte b/packages/web/src/jsonui/JsonUiLinkButton.svelte new file mode 100644 index 000000000..fe3ac24f5 --- /dev/null +++ b/packages/web/src/jsonui/JsonUiLinkButton.svelte @@ -0,0 +1,21 @@ + + +
+ openWebLink(link)} value={text} skipWidth /> +
+ + diff --git a/packages/web/src/jsonui/JsonUiTextBlock.svelte b/packages/web/src/jsonui/JsonUiTextBlock.svelte new file mode 100644 index 000000000..222cbca2a --- /dev/null +++ b/packages/web/src/jsonui/JsonUiTextBlock.svelte @@ -0,0 +1,11 @@ + + +

{text}

+ + \ No newline at end of file diff --git a/packages/web/src/jsonui/JsonUiTickList.svelte b/packages/web/src/jsonui/JsonUiTickList.svelte new file mode 100644 index 000000000..4cff70e97 --- /dev/null +++ b/packages/web/src/jsonui/JsonUiTickList.svelte @@ -0,0 +1,22 @@ + + + + + diff --git a/packages/web/src/jsonui/jsonuitypes.ts b/packages/web/src/jsonui/jsonuitypes.ts new file mode 100644 index 000000000..37848b9a2 --- /dev/null +++ b/packages/web/src/jsonui/jsonuitypes.ts @@ -0,0 +1,5 @@ +export type JsonUiBlock = + | { type: 'text'; text: string } + | { type: 'heading'; text: string; level?: 1|2|3|4|5|6 } + | { type: 'ticklist'; items: string[] } + | { type: 'button'; text: string; link: string; newTab?: boolean }; diff --git a/packages/web/src/widgets/AdminPremiumPromoWidget.svelte b/packages/web/src/widgets/AdminPremiumPromoWidget.svelte index ea274d411..b6717c27c 100644 --- a/packages/web/src/widgets/AdminPremiumPromoWidget.svelte +++ b/packages/web/src/widgets/AdminPremiumPromoWidget.svelte @@ -1,55 +1,59 @@ - -

Try DbGate Premium

- -

Upgrade to get exclusive features:

- -
    -
  • Query designer
  • -
  • AI powered database chat
  • -
  • Unlimited DbGate Cloud storage
  • -
  • Shared cloud folders
  • -
  • Charts from query result
  • -
  • Compare database models
  • -
  • Synchronize database structure
  • -
  • Backup & restore database
  • -
  • Advanced ER diagram settings
  • -
  • Export database model
  • -
  • Firestore, libSQL, Turso, CosmosDB, Redshift support
  • -
  • Amazon and Azure identity providers
  • -
  • E-mail support
  • -
- -

Download DbGate Premium

-
    -
  • Free 30 day trial
  • -
  • DbGate Premium will reuse your connections and files from DbGate Community
  • -
- -
- openWebLink('https://www.dbgate.io/download')} value="Download" /> -
- -

Purchase DbGate Premium

-
    -
  • Use monthly or yearly subscription
  • -
- -
- openWebLink('https://www.dbgate.io/purchase/premium')} value="Purchase" /> -
- -

Get PREMIUM license for free

-

Your feedback is very valuable for us. We have time-limited offers available for users who provide feedback.

- -
- openWebLink('https://www.dbgate.io/review?utm_campaign=communityWidget')} value="View current offer" skipWidth /> -
+