promo widget validity

This commit is contained in:
SPRINX0\prochazka
2025-10-20 12:54:24 +02:00
parent 59c3381962
commit 5bdf072cdf
3 changed files with 19 additions and 3 deletions

View File

@@ -286,7 +286,14 @@ module.exports = {
premiumPromoWidget_meta: true, premiumPromoWidget_meta: true,
async premiumPromoWidget() { async premiumPromoWidget() {
return getPromoWidgetData(); const data = getPromoWidgetData();
if (data?.state != 'data') {
return null;
}
if (data.validTo && new Date().getTime() > new Date(data.validTo).getTime()) {
return null;
}
return data;
}, },
// chatStream_meta: { // chatStream_meta: {

View File

@@ -271,7 +271,13 @@ async function updatePremiumPromoWidget() {
const tags = (await collectCloudFilesSearchTags()).join(','); const tags = (await collectCloudFilesSearchTags()).join(',');
const resp = await axios.default.get( const resp = await axios.default.get(
`${DBGATE_CLOUD_URL}/premium-promo-widget?identifier=${promoWidgetData?.identifier ?? 'nope'}&tags=${tags}` `${DBGATE_CLOUD_URL}/premium-promo-widget?identifier=${promoWidgetData?.identifier ?? 'empty'}&tags=${tags}`,
{
headers: {
...(await getCloudInstanceHeaders()),
'x-app-version': currentVersion.version,
},
}
); );
if (!resp.data || resp.data?.state == 'unchanged') { if (!resp.data || resp.data?.state == 'unchanged') {

View File

@@ -20,11 +20,14 @@
import { showModal } from '../modals/modalTools'; import { showModal } from '../modals/modalTools';
import NewObjectModal from '../modals/NewObjectModal.svelte'; import NewObjectModal from '../modals/NewObjectModal.svelte';
import openNewTab from '../utility/openNewTab'; import openNewTab from '../utility/openNewTab';
import { usePromoWidget } from '../utility/metadataLoaders';
let domSettings; let domSettings;
let domCloudAccount; let domCloudAccount;
let domMainMenu; let domMainMenu;
const promoWidget = usePromoWidget({});
const widgets = [ const widgets = [
getCurrentConfig().storageDatabase && { getCurrentConfig().storageDatabase && {
icon: 'icon admin', icon: 'icon admin',
@@ -169,7 +172,7 @@
{/if} {/if}
{#each widgets {#each widgets
.filter(x => x && hasPermission(`widgets/${x.name}`)) .filter(x => x && hasPermission(`widgets/${x.name}`))
.filter(x => !x.isPremiumPromo || !isProApp()) .filter(x => !x.isPremiumPromo || (!isProApp() && $promoWidget?.state == 'data'))
// .filter(x => !x.isPremiumOnly || isProApp()) // .filter(x => !x.isPremiumOnly || isProApp())
.filter(x => x.name != 'cloud-private' || $cloudSigninTokenHolder) as item} .filter(x => x.name != 'cloud-private' || $cloudSigninTokenHolder) as item}
<div <div