oayment plan visuals in the instances page

This commit is contained in:
2025-06-24 13:54:43 +02:00
parent d7f5809771
commit 912f97490c
5 changed files with 90 additions and 3 deletions

View File

@@ -130,6 +130,18 @@
<div class="company-value" id="company-description">Loading...</div>
</div>
</div>
<div class="mb-3">
<div class="d-flex">
<div class="text-muted me-2" style="min-width: 120px;">Version:</div>
<div class="company-value" id="instance-version-value">Loading...</div>
</div>
</div>
<div class="mb-3">
<div class="d-flex">
<div class="text-muted me-2" style="min-width: 120px;">Payment Plan:</div>
<div class="company-value" id="instance-payment-plan-value">Loading...</div>
</div>
</div>
</div>
<div class="col-md-6">
<h5 class="mb-3">Contact Information</h5>
@@ -1569,5 +1581,46 @@ document.addEventListener('DOMContentLoaded', function() {
});
}
});
// Function to fetch version and payment plan info
async function fetchInstanceVersionAndPlan() {
const versionEl = document.getElementById('instance-version-value');
const planEl = document.getElementById('instance-payment-plan-value');
versionEl.textContent = 'Loading...';
planEl.textContent = 'Loading...';
try {
// Get JWT token
const tokenResponse = await fetch(`{{ instance.main_url }}/api/admin/management-token`, {
method: 'POST',
headers: {
'X-API-Key': '{{ instance.connection_token }}',
'Accept': 'application/json'
}
});
if (!tokenResponse.ok) throw new Error('Failed to get management token');
const tokenData = await tokenResponse.json();
if (!tokenData.token) throw new Error('No token received');
// Fetch version info
const response = await fetch(`{{ instance.main_url }}/api/admin/version-info`, {
headers: {
'Accept': 'application/json',
'Authorization': `Bearer ${tokenData.token}`
}
});
if (!response.ok) throw new Error('Failed to fetch version info');
const data = await response.json();
versionEl.textContent = data.app_version || 'Unknown';
planEl.textContent = data.pricing_tier_name || 'Unknown';
} catch (error) {
versionEl.textContent = 'Error';
planEl.textContent = 'Error';
console.error('Error fetching version/plan info:', error);
}
}
document.addEventListener('DOMContentLoaded', function() {
// ... existing code ...
fetchInstanceVersionAndPlan();
});
</script>
{% endblock %}