trial days left warning

This commit is contained in:
SPRINX0\prochazka
2024-10-08 12:43:01 +02:00
parent 2d214cfdb3
commit 620acecdff
3 changed files with 22 additions and 2 deletions

View File

@@ -18,6 +18,7 @@
const values = writable({ amoid: null, databaseServer: null });
$: isExpired = $config?.isLicenseExpired;
$: trialDaysLeft = $config?.trialDaysLeft;
let errorMessage = '';
let expiredMessageSet = false;
@@ -48,6 +49,7 @@
<FormSubmit
value="Save license"
on:click={async e => {
sessionStorage.setItem('continueTrialConfirmed', '1');
const { licenseKey } = e.detail;
const resp = await apiCall('config/save-license-key', { licenseKey });
if (resp?.status == 'ok') {
@@ -59,7 +61,7 @@
/>
</div>
{#if !isExpired}
{#if !isExpired && trialDaysLeft == null}
<div class="submit">
<FormStyledButton
value="Start 30-day trial"
@@ -67,6 +69,7 @@
errorMessage = '';
const license = await apiCall('config/start-trial');
if (license?.status == 'ok') {
sessionStorage.setItem('continueTrialConfirmed', '1');
internalRedirectTo('/index.html');
} else {
errorMessage = license?.errorMessage || 'Error starting trial';
@@ -76,6 +79,18 @@
</div>
{/if}
{#if trialDaysLeft > 0}
<div class="submit">
<FormStyledButton
value={`Continue trial (${trialDaysLeft} days left)`}
on:click={async e => {
sessionStorage.setItem('continueTrialConfirmed', '1');
internalRedirectTo('/index.html');
}}
/>
</div>
{/if}
<div class="submit">
<FormStyledButton
value="Purchase DbGate Premium"

View File

@@ -131,6 +131,10 @@ export async function handleAuthOnStartup(config, isAdminPage = false) {
}
}
if (config.trialDaysLeft != null && config.trialDaysLeft <= 14 && !sessionStorage.getItem('continueTrialConfirmed')) {
internalRedirectTo(`/license.html`);
}
if (getAuthCategory(config) == 'admin') {
if (localStorage.getItem('adminAccessToken')) {
return;
@@ -165,7 +169,7 @@ export async function redirectToLogin(config = null, force = false) {
if (getAuthCategory(config) == 'token') {
if (!force) {
const page = window['dbgate_page']
const page = window['dbgate_page'];
if (page == 'login' || page == 'admin-login' || page == 'not-logged') {
return;
}