Merge remote-tracking branch 'refs/remotes/origin/main'
This commit is contained in:
@@ -146,6 +146,34 @@
|
||||
</section>
|
||||
|
||||
<section class="packages-grid" aria-label="Buchungspakete">
|
||||
<!-- TESTVERSION -->
|
||||
<article class="package-card">
|
||||
<div class="package-card__header">
|
||||
<div>
|
||||
<span class="package-card__tag" style="background: #e8f5e9; color: #2e7d32;">Kostenlos</span>
|
||||
<h2 class="package-card__name">Testversion</h2>
|
||||
</div>
|
||||
<div class="package-card__price">
|
||||
<span>0 €</span><small> -> 14 Tage</small>
|
||||
</div>
|
||||
</div>
|
||||
<p class="package-card__description">Testen Sie alle Module (Inventar, Bibliothek & Terminplaner) 14 Tage lang unverbindlich in Ihrer Schule.</p>
|
||||
<ul class="package-card__features">
|
||||
<li>Voller Zugriff auf alle Basis-Module</li>
|
||||
<li>Keine automatische Verlängerung</li>
|
||||
<li>Vollständige Datenübernahme bei Kauf</li>
|
||||
<li>Endet automatisch nach 14 Tagen</li>
|
||||
</ul>
|
||||
<div class="package-card__actions">
|
||||
{% if 'username' in session %}
|
||||
<button class="btn add-to-cart-btn" data-id="testversion" data-name="Testversion (14 Tage)" data-price="0" onclick="handleAddToCart(this)">
|
||||
Jetzt kostenlos starten
|
||||
</button>
|
||||
{% else %}
|
||||
<a class="btn secondary" href="{{ url_for('login') }}">Zum Testen einloggen</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</article>
|
||||
<!-- INVENTARSYSTEM -->
|
||||
<article class="package-card">
|
||||
<div class="package-card__header">
|
||||
@@ -232,35 +260,6 @@
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<!-- STARTPAKET (Kombi) -->
|
||||
<!--<article class="package-card highlight">
|
||||
<div class="package-card__header">
|
||||
<div>
|
||||
<span class="package-card__tag highlight-tag">Sparpaket</span>
|
||||
<h2 class="package-card__name">Startpaket</h2>
|
||||
</div>
|
||||
<div class="package-card__price">
|
||||
<span>490 €</span><small>/ Jahr</small>
|
||||
</div>
|
||||
</div>
|
||||
<p class="package-card__description">Enthält <strong>Inventarverwaltung</strong> und <strong>Bibliothekssystem</strong> als ideale Komplettlösung zum Vorzugspreis.</p>
|
||||
<ul class="package-card__features">
|
||||
<li>Beinhaltet alle Features des Inventarsystems</li>
|
||||
<li>Beinhaltet alle Features des Bibliothekssystems</li>
|
||||
<li>Perfekter Start für Ihre Digitalisierung</li>
|
||||
<li><strong>30 € Ersparnis</strong> gegenüber Einzelkauf</li>
|
||||
</ul>
|
||||
<div class="package-card__actions">
|
||||
{% if 'username' in session %}
|
||||
<button class="btn add-to-cart-btn" data-id="startpaket" data-name="Startpaket (Inventar + Bibliothek)" data-price="490" onclick="handleAddToCart(this)">
|
||||
In den Warenkorb
|
||||
</button>
|
||||
{% else %}
|
||||
<a class="btn secondary" href="{{ url_for('login') }}">Zum Buchen einloggen</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</article>-->
|
||||
|
||||
<!-- SCHULTRÄGER -->
|
||||
<article class="package-card">
|
||||
<div class="package-card__header">
|
||||
@@ -336,8 +335,8 @@
|
||||
|
||||
<div class="custom-modal-actions" id="cartActions">
|
||||
<button class="btn secondary" type="button" onclick="closeCartModal()">Weiter umsehen</button>
|
||||
<button class="btn outline" type="button" onclick="goToCheckout('consultation')">Beratungstermin anfragen</button>
|
||||
<button class="btn" type="button" onclick="goToCheckout('payment')">Jetzt Zahlungspflichtig buchen</button>
|
||||
<button class="btn outline" type="button" id="btnConsultation" onclick="goToCheckout('consultation')">Beratungstermin anfragen</button>
|
||||
<button class="btn" type="button" id="btnCheckout" onclick="goToCheckout('payment')">Jetzt Zahlungspflichtig buchen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -383,7 +382,10 @@
|
||||
if(item.price > 0) total += item.price;
|
||||
if(item.price === 0) hasIndividualPrice = true;
|
||||
|
||||
const priceText = item.price > 0 ? `${item.price} €` : "Auf Anfrage";
|
||||
let priceText = `${item.price} €`;
|
||||
if (item.price === 0) {
|
||||
priceText = item.id === 'testversion' ? 'Kostenlos' : 'Auf Anfrage';
|
||||
}
|
||||
|
||||
container.innerHTML += `
|
||||
<div class="cart-item">
|
||||
@@ -404,6 +406,28 @@
|
||||
} else {
|
||||
totalPriceEl.innerText = `${total} € / Jahr`;
|
||||
}
|
||||
|
||||
// Dynamic Checkout Button Text & Behavior
|
||||
|
||||
const btnCheckout = document.getElementById('btnCheckout');
|
||||
const btnConsultation = document.getElementById('btnConsultation');
|
||||
|
||||
const isTrial = cart.some(item => item.id === 'testversion');
|
||||
const isCustom = cart.some(item => item.id === 'schultraeger');
|
||||
|
||||
if (isTrial) {
|
||||
btnCheckout.innerText = "Kostenlos testen (14 Tage)";
|
||||
btnCheckout.setAttribute('onclick', "goToCheckout('trial')");
|
||||
btnConsultation.style.display = 'none'; // Hide consultation for trials
|
||||
} else if (isCustom) {
|
||||
btnCheckout.innerText = "Angebot anfordern";
|
||||
btnCheckout.setAttribute('onclick', "goToCheckout('consultation')"); // Force consultation
|
||||
btnConsultation.style.display = 'none';
|
||||
} else {
|
||||
btnCheckout.innerText = "Jetzt Zahlungspflichtig buchen";
|
||||
btnCheckout.setAttribute('onclick', "goToCheckout('payment')");
|
||||
btnConsultation.style.display = 'inline-block';
|
||||
}
|
||||
}
|
||||
|
||||
// Artikel zum Warenkorb hinzufügen
|
||||
@@ -414,6 +438,12 @@
|
||||
return;
|
||||
}
|
||||
|
||||
const hasTestversion = cart.find(i => i.id === 'testversion');
|
||||
if (hasTestversion || (id === 'testversion' && cart.length > 0)) {
|
||||
alert('Die Testversion beinhaltet bereits alle Module und kann nicht mit anderen Paketen kombiniert werden. Bitte leeren Sie Ihren Warenkorb zuerst.');
|
||||
return;
|
||||
}
|
||||
|
||||
// Konflikte mit Startpaket abfangen
|
||||
const hasStartpaket = cart.find(i => i.id === 'startpaket');
|
||||
if (hasStartpaket && (id === 'inventarsystem' || id === 'buecherei')) {
|
||||
|
||||
Reference in New Issue
Block a user