diff --git a/hub/services/static/js/price-calculator.js b/hub/services/static/js/price-calculator.js index ef44778..a8dd8ff 100644 --- a/hub/services/static/js/price-calculator.js +++ b/hub/services/static/js/price-calculator.js @@ -54,6 +54,7 @@ class PriceCalculator { this.planDescription = document.getElementById('planDescription'); this.planCpus = document.getElementById('planCpus'); this.planMemory = document.getElementById('planMemory'); + this.planServiceLevel = document.getElementById('planServiceLevel'); this.managedServicePrice = document.getElementById('managedServicePrice'); this.storagePriceEl = document.getElementById('storagePrice'); this.storageAmount = document.getElementById('storageAmount'); @@ -350,12 +351,16 @@ class PriceCalculator { this.selectedPlanDetails.style.display = 'block'; if (this.noMatchFound) this.noMatchFound.style.display = 'none'; + // Get current service level + const serviceLevel = document.querySelector('input[name="serviceLevel"]:checked')?.value || 'Best Effort'; + // Update plan information if (this.planGroup) this.planGroup.textContent = plan.groupName; if (this.planName) this.planName.textContent = plan.compute_plan; if (this.planDescription) this.planDescription.textContent = plan.compute_plan_group_description || ''; if (this.planCpus) this.planCpus.textContent = plan.vcpus; if (this.planMemory) this.planMemory.textContent = plan.ram + ' GB'; + if (this.planServiceLevel) this.planServiceLevel.textContent = serviceLevel; // Calculate pricing const computePriceValue = parseFloat(plan.compute_plan_price); diff --git a/hub/services/templates/services/offering_detail.html b/hub/services/templates/services/offering_detail.html index 3dfdd09..ee34d36 100644 --- a/hub/services/templates/services/offering_detail.html +++ b/hub/services/templates/services/offering_detail.html @@ -256,14 +256,20 @@
-
+
vCPUs
-
+
Memory
+
+ Service Level +
+ +
+
@@ -281,6 +287,10 @@ Total Monthly Price CHF 0.00
+ + + Monthly pricing based on 30 days (720 hours). Billing is conducted per hour. +