diff --git a/packages/web/src/stores.ts b/packages/web/src/stores.ts index a89e76540..6ab382f5e 100644 --- a/packages/web/src/stores.ts +++ b/packages/web/src/stores.ts @@ -183,6 +183,7 @@ export const focusedConnectionOrDatabase = writable<{ conid: string; database?: export const focusedTreeDbKey = writable<{ key: string; root: string; type: string; text: string }>(null); export const cloudSigninTokenHolder = writableSettingsValue(null, 'cloudSigninTokenHolder'); +export const seenPremiumPromoWidget = writableWithStorage(null, 'seenPremiumPromoWidget'); export const cloudConnectionsStore = writable({}); diff --git a/packages/web/src/widgets/WidgetIconPanel.svelte b/packages/web/src/widgets/WidgetIconPanel.svelte index 17e0922fe..e50217f70 100644 --- a/packages/web/src/widgets/WidgetIconPanel.svelte +++ b/packages/web/src/widgets/WidgetIconPanel.svelte @@ -10,6 +10,7 @@ lockedDatabaseMode, getCurrentConfig, cloudSigninTokenHolder, + seenPremiumPromoWidget, } from '../stores'; import mainMenuDefinition from '../../../../app/src/mainMenuDefinition'; import hasPermission from '../utility/hasPermission'; @@ -101,6 +102,10 @@ } else { $selectedWidget = name; $visibleWidgetSideBar = true; + + if (name == 'premium') { + $seenPremiumPromoWidget = $promoWidget?.identifier || ''; + } } } //const handleChangeWidget= e => (selectedWidget.set(item.name)) @@ -184,6 +189,9 @@ {#if item.isPremiumPromo}
Premium
+ {#if $promoWidget?.identifier != $seenPremiumPromoWidget} +
+ {/if} {/if} {/each} @@ -265,4 +273,12 @@ border-radius: 3px; bottom: 0; } + + .premium-promo-not-seen { + position: absolute; + font-size: 16pt; + color: var(--theme-icon-yellow); + top: -5px; + right: 5px; + }