mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2026-10-24 22:07:40 -05:00
Feat: Refresh Insight trial teaser preview
This commit is contained in:
1 parent
819139f7f9
commit
fbbf21f4ad
10 files changed
+32
-31
No files matched your search
@@ -2,55 +2,56 @@
|
||||
// Used by both the standalone Insight trial page and the
|
||||
// in-app Insight nag modal so the benefits only need to be
|
||||
// maintained in one place.
|
||||
//
|
||||
// Draft teaser copy and image mapping for in-place review.
|
||||
|
||||
export const PLACEHOLDER_TEASERS = [
|
||||
{
|
||||
id: "ai",
|
||||
title: "AI Reports",
|
||||
id: "executive_summary",
|
||||
title: "Executive Summary",
|
||||
description:
|
||||
"Diagnose problems quickly using AI-powered analyses of aggregated data.",
|
||||
image: "01_ai_report.png",
|
||||
"See network health, capacity, and the biggest problem areas at a glance so you know where to look next.",
|
||||
image: "01_executive_summary.png",
|
||||
order: 1,
|
||||
},
|
||||
{
|
||||
id: "mapper",
|
||||
title: "Insight Network Mapper",
|
||||
id: "site_overview",
|
||||
title: "Site Overview",
|
||||
description:
|
||||
"Configure and manage complex networks and multiple shaper boxes with ease.",
|
||||
image: "02_mapper.png",
|
||||
"Open a site and compare performance, utilization, and quality over time without jumping between tools.",
|
||||
image: "02_site_overview.png",
|
||||
order: 2,
|
||||
},
|
||||
{
|
||||
id: "long_term",
|
||||
title: "Long Term Data",
|
||||
id: "site_rankings",
|
||||
title: "Site Rankings",
|
||||
description:
|
||||
"Flexible time windows ranging from 15 minutes to 28 days, giving you comprehensive network performance insights.",
|
||||
image: "03_long_term.png",
|
||||
"Rank sites by quality over the selected period so the worst performers surface immediately.",
|
||||
image: "03_site_rankings.png",
|
||||
order: 3,
|
||||
},
|
||||
{
|
||||
id: "heatmap",
|
||||
title: "Heatmaps",
|
||||
id: "subscriber_view",
|
||||
title: "Subscriber View",
|
||||
description:
|
||||
"Don’t waste time going through charts – instantly spot performance trends on APs, OLTs, and sites.",
|
||||
image: "04_heatmap.png",
|
||||
"Inspect subscriber behavior, usage, and performance from one place when a specific customer needs attention.",
|
||||
image: "04_subscriber_view.png",
|
||||
order: 4,
|
||||
},
|
||||
{
|
||||
id: "alerts",
|
||||
title: "Alerts",
|
||||
id: "issue_triage",
|
||||
title: "Issue Triage",
|
||||
description:
|
||||
"Get notified before issues impact your customers with intelligent alert monitoring.",
|
||||
image: "05_alerts.png",
|
||||
"Turn symptoms into a focused troubleshooting summary with likely causes and recommended next steps.",
|
||||
image: "05_issue_triage.png",
|
||||
order: 5,
|
||||
},
|
||||
{
|
||||
id: "endpoints",
|
||||
title: "Endpoints by Circuit",
|
||||
id: "api_only",
|
||||
title: "API-Only Option",
|
||||
description:
|
||||
"Observe important endpoint information, even for individual circuits.",
|
||||
image: "06_endpoints.png",
|
||||
"Choose the lower-cost API-only option when you only need provisioning and automation integrations. Hosted dashboards and remote Insight history are not included.",
|
||||
image: "06_api_only.png",
|
||||
order: 6,
|
||||
},
|
||||
];
|
||||
|
||||
@@ -325,7 +325,7 @@ async function loadTeasers() {
|
||||
const response = await $.get(getLtsUrl('teasers'));
|
||||
if (response.teasers != null) {
|
||||
response.teasers.forEach(teaser => {
|
||||
teaser.image = getLtsUrl(teaser.image.replace("signup-api/", ""));
|
||||
teaser.image = getLtsUrl(teaser.image.replace(/^\/?signup-api\//, ""));
|
||||
});
|
||||
}
|
||||
currentTeasers = response.teasers || PLACEHOLDER_TEASERS;
|
||||
@@ -701,13 +701,13 @@ function attachEventHandlers() {
|
||||
showSection('successSection');
|
||||
$('#successMessage').html(`
|
||||
<strong>License Key:</strong> ${response.licenseKey}<br>
|
||||
<small>Your trial is almost active. Watch for an email from Insight to add billing details within 2 days. No charge occurs until the trial ends, and you can cancel any time.</small>
|
||||
<small>Your trial is almost active. Watch for an email from Insight with your account details. No charge occurs until the trial ends, and you can cancel any time.</small>
|
||||
`);
|
||||
$('#configStatus').text('Saving configuration...');
|
||||
|
||||
wsClient.send({ LtsSignUp: { license_key: response.licenseKey } });
|
||||
// Show success message now, then swap spinner to a check and enable dashboard after 5s
|
||||
$('#configStatus').html(`Your Insight trial has been created. Add billing details from the Insight email within 2 days to keep the trial active.`);
|
||||
$('#configStatus').html(`Your Insight trial has been created. Check your email for the next steps while configuration is being saved.`);
|
||||
setTimeout(() => {
|
||||
$('#configSpinner').hide();
|
||||
$('#configStatus').html(`<i class="fas fa-check-circle text-success"></i> Configuration saved.`);
|
||||
|
||||
@@ -75,7 +75,7 @@ async function loadModalTeasers() {
|
||||
const copy = { ...teaser };
|
||||
if (copy.image) {
|
||||
const img = typeof copy.image === "string" ? copy.image : "";
|
||||
const cleaned = img.replace(/^signup-api\//, "");
|
||||
const cleaned = img.replace(/^\/?signup-api\//, "");
|
||||
copy.image = getModalLtsUrl(cleaned);
|
||||
}
|
||||
return copy;
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 173 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 218 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 98 KiB |
@@ -124,7 +124,7 @@ body.dark-mode .card-header.bg-light {
|
||||
<h1 class="display-4 fw-bold"><i class="fas fa-chart-line"></i> LibreQoS Insight</h1>
|
||||
<p class="lead">Unlock the full potential of your network with advanced analytics, reporting, and monitoring.</p>
|
||||
<div class="alert alert-light text-primary-emphasis border-0 shadow-sm mt-4 mb-0" role="alert">
|
||||
Free 30-day trial. Billing details are required within 2 days to keep the trial active. You will not be charged until the trial ends. Cancel any time.
|
||||
Free 30-day trial. You will not be charged until the trial ends. Cancel any time.
|
||||
</div>
|
||||
<div id="circuitCount" class="mt-3 mb-4" style="display: none;">
|
||||
<h3>Your Network: <span id="circuitNumber">0</span> Active Circuits</h3>
|
||||
@@ -335,7 +335,7 @@ body.dark-mode .card-header.bg-light {
|
||||
<i class="fas fa-rocket"></i> Start Free Trial
|
||||
</button>
|
||||
<p class="small text-body-secondary mb-0 text-center">
|
||||
Free 30-day trial. Billing details are required within 2 days to keep the trial active. You will not be charged until the trial ends. Cancel any time.
|
||||
Free 30-day trial. You will not be charged until the trial ends. Cancel any time.
|
||||
</p>
|
||||
<button type="button" id="btnBackFromSignup" class="btn btn-secondary">
|
||||
<i class="fas fa-arrow-left"></i> Back
|
||||
|
||||
Reference in new issue
Block a user