diff --git a/Profice WebSite/scripts/feed-calculator.js b/Profice WebSite/scripts/feed-calculator.js new file mode 100644 index 0000000..84633a0 --- /dev/null +++ b/Profice WebSite/scripts/feed-calculator.js @@ -0,0 +1,84 @@ +/** + * Gewinn-Calculator — Feed Page + * Real-time profit calculator with synchronized sliders and number inputs. + */ +(function () { + function fmt(n) { + return n.toLocaleString('de-DE', { maximumFractionDigits: 0 }) + ' €'; + } + + function fmtPct(n) { + return (n >= 0 ? '+' : '') + n.toLocaleString('de-DE', { maximumFractionDigits: 0 }) + ' %'; + } + + function calc() { + var B = +document.getElementById('sl-budget').value; + var U = +document.getElementById('sl-umsatz').value; + var m = +document.getElementById('sl-marge').value / 100; + var w = +document.getElementById('sl-waste').value / 100; + + var P_alt = U * m - B; + var roas_core = U / (B * (1 - w)); + var U_neu = U + B * w * roas_core; + var P_neu = U_neu * m - B; + var wachstum = P_alt !== 0 ? ((P_neu - P_alt) / Math.abs(P_alt)) * 100 : 0; + var hebel = P_neu - P_alt; + + document.getElementById('out-profit-alt').textContent = fmt(Math.round(P_alt)); + document.getElementById('out-profit-neu').textContent = fmt(Math.round(P_neu)); + document.getElementById('out-hebel-eur').textContent = (hebel >= 0 ? '+' : '') + fmt(Math.round(hebel)).replace(' €', '') + ' €'; + document.getElementById('out-hebel-pct').textContent = fmtPct(Math.round(wachstum)); + } + + function syncFromSlider(slId, numId, lblId, unit) { + var sl = document.getElementById(slId); + var num = document.getElementById(numId); + var lbl = document.getElementById(lblId); + + function updateLbl(v) { + if (unit === '€') { + lbl.textContent = Number(v).toLocaleString('de-DE') + ' €'; + } else { + lbl.textContent = v + ' %'; + } + } + + sl.addEventListener('input', function () { + num.value = sl.value; + updateLbl(sl.value); + calc(); + }); + + num.addEventListener('input', function () { + var v = Math.min(+num.max, Math.max(+num.min, +num.value || +num.min)); + sl.value = v; + updateLbl(v); + calc(); + }); + + num.addEventListener('change', function () { + var v = Math.min(+num.max, Math.max(+num.min, +num.value || +num.min)); + num.value = v; + sl.value = v; + updateLbl(v); + calc(); + }); + } + + function init() { + if (!document.getElementById('sl-budget')) return; + + syncFromSlider('sl-budget', 'num-budget', 'lbl-budget', '€'); + syncFromSlider('sl-umsatz', 'num-umsatz', 'lbl-umsatz', '€'); + syncFromSlider('sl-marge', 'num-marge', 'lbl-marge', '%'); + syncFromSlider('sl-waste', 'num-waste', 'lbl-waste', '%'); + + calc(); + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', init); + } else { + init(); + } +})(); diff --git a/Profice WebSite/sites/feed.html b/Profice WebSite/sites/feed.html index ecde3ac..7f3e8b2 100644 --- a/Profice WebSite/sites/feed.html +++ b/Profice WebSite/sites/feed.html @@ -64,373 +64,8 @@ - @@ -699,28 +334,70 @@ - +
- Investition -

Kleine Investition. Großer Effekt.

+ Kalkulator +

Ihr persönlicher Gewinn-Rechner

+

Geben Sie Ihre Zahlen ein — und sehen Sie sofort, wie viel mehr Profit durch optimierte Feed-Steuerung möglich ist.

-
-
-
Investition
-
ab 1.000 €
-
Einrichtung & Optimierung
+
+ +
+

Ihre Kennzahlen

+ +
+ +
+ + +
+
+ +
+ +
+ + +
+
+ +
+ +
+ + +
+
+ +
+ +
+ + +
+
-
- - - - - -
-
-
Ergebnis
-
+527 %
-
Mehr Gewinn aus dem gleichen Werbebudget
+ + +
+
+
Bisheriger Profit
+
5.000 €
+
Vor der Feed-Optimierung
+
+
+
Neuer Profit
+
+
Mit optimiertem Feed
+
+
+
Ihr Hebel
+
+
+
+
+
Mehr Gewinn — gleiches Budget
+
@@ -734,9 +411,6 @@