From a2cfa09558c5c9d9492faa9090f67926f72372db Mon Sep 17 00:00:00 2001 From: Reef Date: Thu, 20 Aug 2026 10:38:03 +0000 Subject: [PATCH] pricing: remove monthly/yearly billing toggle, default to yearly - Remove billing-toggle-wrap HTML (switch + labels) - Update all 4 pricing cards to show yearly prices by default with / year period and save percentage - Simplify openOrderWidget() to always use yearly pricing only - Remove billing toggle JS block (updatePrices, setBilling, event listeners) - Remove billing toggle CSS (billing-toggle-wrap, .toggle-*, .toggle-switch) - Update order widget default display to / year - Update CTA note to 'Save money, less administration' --- index.html | 41 +++++++++++------------- script.js | 94 ++++-------------------------------------------------- style.css | 47 --------------------------- 3 files changed, 24 insertions(+), 158 deletions(-) diff --git a/index.html b/index.html index a4f201c..fc48ba0 100644 --- a/index.html +++ b/index.html @@ -237,23 +237,18 @@

Rates & Suites

Your Plan, Your Timing: Upgrade Anytime

-
- Monthly 1 month free -
- Yearly up to -10% -

Side Hustle

- $ 19.40 - / month - + $ 214.00 + / year +
Save 8%

“ODOO Standard .. that is all my business needs”

- Buy Now + Buy Now
  • ODOO CE Hosting
  • Automatic Backups
  • @@ -267,12 +262,12 @@

    On the Rise

    - $ 36.25 - / month - + $ 395.00 + / year +
    Save 9%

    “I need some modules and professional reports”

    - Buy Now + Buy Now
    • ODOO CE Hosting
    • Automatic Backups
    • @@ -287,12 +282,12 @@

      Powerhouse

      - $ 49.60 - / month - + $ 535.00 + / year +
      Save 10%

      “ODOO Enterprise is a must have!”

      - Buy Now + Buy Now
      • ODOO CE Hosting
      • Automatic Backups
      • @@ -309,12 +304,12 @@

        Empire

        - >$ 80.00 - / month - + >$ 950.00 + / year +

        “My house! My Horse! My Server!”

        - Get Custom Quote + Get Custom Quote
        • Our service on your server
        • All modules & features
        • @@ -325,7 +320,7 @@
          Instant setup, satisfied or reimbursed.
      -

      🔒 Secure Stripe checkout · Cancel anytime · Satisfied or reimbursed

      +

      Save money, less administration

    @@ -336,7 +331,7 @@

    On the Rise

    - $ 36.25 / month + $ 395.00 / year + tax

    Use coupon FREE TRIAL at checkout for 1 month free

    diff --git a/script.js b/script.js index 2a861ea..7a79cc4 100644 --- a/script.js +++ b/script.js @@ -112,7 +112,6 @@ var si = 0, var orderPopupShown = false; function openOrderWidget( plan, - monthlyPrice, yearlyPrice, isEmpire, ) { @@ -120,28 +119,15 @@ var si = 0, "block"; var widget = document.getElementById("orderWidgetOverlay"); document.getElementById("orderPlanTitle").textContent = plan; - var yearly = yearlyMode; - var price = yearly ? yearlyPrice : monthlyPrice; + var price = yearlyPrice; var amountEl = document.getElementById("orderPlanPrice"); - var prefix = isEmpire ? ">$" : "$"; - amountEl.textContent = prefix + " " + price.toFixed(2); - document.getElementById("orderPlanPeriod").textContent = yearly - ? "/ year" - : "/ month"; + var prefix = isEmpire ? ">" : ""; + amountEl.textContent = prefix + "$ " + price.toFixed(2); + document.getElementById("orderPlanPeriod").textContent = "/ year"; var couponMsg = document.getElementById("orderCouponMsg"); var yearlySave = document.getElementById("orderYearlySave"); - if (!yearly) { - couponMsg.style.display = "block"; - yearlySave.style.display = "none"; - } else { - couponMsg.style.display = "none"; - yearlySave.style.display = "block"; - var saved = Math.round( - (1 - yearlyPrice / (monthlyPrice * 12)) * 100, - ); - document.getElementById("orderSavePercent").textContent = - saved; - } + couponMsg.style.display = "none"; + yearlySave.style.display = "block"; var buyBtn = document.getElementById("orderBuyBtn"); var loc = document.getElementById("orderServerLocation").value; buyBtn.href = @@ -203,74 +189,6 @@ var si = 0, } status.style.display = "block"; } - /* ---- Billing Toggle ---- */ - var yearlyMode = false; - var biSwitch = document.getElementById("billingSwitch"); - var labels = document.querySelectorAll(".toggle-label"); - var monthlyLabel = document.querySelector(".toggle-label-monthly"); - var yearlyLabel = document.querySelector(".toggle-label-yearly"); - - function updatePrices(yearly) { - var amounts = document.querySelectorAll(".price-amount"); - for (var k = 0; k < amounts.length; k++) { - var el = amounts[k]; - var val = yearly - ? el.getAttribute("data-yearly") - : el.getAttribute("data-monthly"); - var prefix = - el.textContent.trim().charAt(0) === ">" ? ">" : ""; - el.textContent = prefix + "$ " + parseFloat(val).toFixed(2); - } - var periods = document.querySelectorAll(".price-period"); - for (var k = 0; k < periods.length; k++) { - periods[k].textContent = yearly ? "/ year" : "/ month"; - } - var saves = document.querySelectorAll(".price-save"); - for (var k = 0; k < saves.length; k++) { - var s = saves[k]; - if (yearly) { - s.style.display = "block"; - s.textContent = s.getAttribute("data-yearly-text"); - } else { - s.style.display = "block"; - s.textContent = s.getAttribute("data-monthly-text"); - } - } - var ctaNote = document.getElementById("pricingCtaNote"); - if (ctaNote) { - ctaNote.innerHTML = yearly - ? "Save money, less administration" - : "Perfect for trial, termination any time"; - } - } - - function setBilling(yearly) { - yearlyMode = yearly; - if (yearly) { - biSwitch.classList.add("yearly"); - monthlyLabel.classList.remove("active"); - yearlyLabel.classList.add("active"); - } else { - biSwitch.classList.remove("yearly"); - monthlyLabel.classList.add("active"); - yearlyLabel.classList.remove("active"); - } - updatePrices(yearly); - } - - biSwitch.addEventListener("click", function () { - setBilling(!yearlyMode); - }); - monthlyLabel.addEventListener("click", function () { - setBilling(false); - }); - yearlyLabel.addEventListener("click", function () { - setBilling(true); - }); - - /* init billing display to monthly */ - updatePrices(false); - /* ---- Blog Module ---- */ var blogState = { allPosts: [], diff --git a/style.css b/style.css index 5e413c9..d09782f 100644 --- a/style.css +++ b/style.css @@ -626,53 +626,6 @@ img { max-width: 100%; height: auto; vertical-align: middle; } color: var(--success); margin-top: 0.15rem; } -/* Billing Toggle */ -.billing-toggle-wrap { - display: flex; - align-items: center; - justify-content: center; - gap: 0.75rem; - margin-bottom: 1.5rem; -} -.toggle-label { - font-size: 0.82rem; - font-weight: 500; - color: rgba(255,255,255,0.5); - cursor: pointer; - transition: color 0.2s; - user-select: none; -} -.toggle-label.active { color: #fff; font-weight: 600; } -.toggle-label small { - display: block; - font-size: 0.72rem; - font-weight: 500; - color: var(--success); - margin-top: 0.1rem; -} -.toggle-switch { - width: 48px; - height: 26px; - background: rgba(255,255,255,0.15); - border-radius: 13px; - cursor: pointer; - position: relative; - transition: background 0.25s; - flex-shrink: 0; -} -.toggle-switch.yearly { background: var(--brass); } -.toggle-switch .thumb { - position: absolute; - top: 3px; - left: 3px; - width: 20px; - height: 20px; - background: #fff; - border-radius: 50%; - transition: left 0.25s; - box-shadow: 0 1px 3px rgba(0,0,0,0.15); -} -.toggle-switch.yearly .thumb { left: 25px; } .price-period { color: var(--ink-soft); font-size: 0.68rem; } .pricing-cta-note { text-align: center;