offers deploy and redisign

This commit is contained in:
2026-03-23 09:23:44 +01:00
parent 9bf1377dd7
commit 6141442f1c
12 changed files with 181 additions and 121 deletions

View File

@@ -50,7 +50,7 @@ define('DEBUG_MODE', true); // Enable debug temporarily to see errors
// N8N Webhooks
define('WEBHOOK_TEST', 'https://n8n.profice.de/webhook-test/d94ef798-3f43-46dd-8207-1e335e64518f');
define('WEBHOOK_PROD', 'https://n8n.profice.de/webhook/d94ef798-3f43-46dd-8207-1e335e64518f');
define('WEBHOOK_PROD', 'https://n8n.support-space.de/webhook/bb086ec3-42a5-4f5a-bbab-eddba0db55cc');
define('WEBHOOK_URL', USE_PRODUCTION ? WEBHOOK_PROD : WEBHOOK_TEST);
// KI Chat Webhook

View File

@@ -11,11 +11,13 @@
return (n >= 0 ? '+' : '') + n.toLocaleString('de-DE', { maximumFractionDigits: 0 }) + ' %';
}
var WASTE = 0.20; // Anteil Budget-Fresser — fixed at 20%
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 w = WASTE;
var P_alt = U * m - B;
var roas_core = U / (B * (1 - w));
@@ -71,7 +73,6 @@
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();
}

View File

@@ -97,7 +97,7 @@ document.addEventListener("DOMContentLoaded", function() {
initSoundVisualization();
// Use absolute path from site root
const API_ENDPOINT = '/scripts/add/send.php';
const API_ENDPOINT = window.WEBHOOK_URL || '/scripts/add/send.php';
const isLocalFile = window.location.protocol === 'file:';
// ==========================================
@@ -180,7 +180,7 @@ document.addEventListener("DOMContentLoaded", function() {
e.preventDefault();
// Show desktop fallback message
const phoneNumber = '+493021927825';
const phoneNumber = '+49000000000';
const message = `Bald verfügbar`;
// Create a custom modal instead of alert
@@ -311,10 +311,8 @@ document.addEventListener("DOMContentLoaded", function() {
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(formData)
});
const result = await response.json();
if (!result.success) {
alert('Fehler beim Senden: ' + (result.message || 'Unbekannter Fehler'));
if (!response.ok) {
alert('Fehler beim Senden. Bitte versuchen Sie es erneut.');
return;
}
} catch (error) {