diff --git a/public/Warenkorb/warenkorb.html b/public/Warenkorb/warenkorb.html index 500a887..9b36e08 100644 --- a/public/Warenkorb/warenkorb.html +++ b/public/Warenkorb/warenkorb.html @@ -3,7 +3,6 @@ Warenkorb - diff --git a/public/bestellformular/bestellformular.html b/public/bestellformular/bestellformular.html index 640911a..f45469d 100644 --- a/public/bestellformular/bestellformular.html +++ b/public/bestellformular/bestellformular.html @@ -4,7 +4,6 @@ Bestellformular - @@ -37,53 +36,14 @@ - -
- - - -
-
+ - Bestellung absenden + + @@ -182,101 +142,8 @@ } }); - // Artikelnummer prüfen bei Eingabe - formular.addEventListener('input', async function (event) { - if (event.target.classList.contains('ArtikelNrText')) { - if (event.target.value.trim() !== '') { - await pruefeVerfuegbarkeit(event.target); - fuegeNeuesArtikelFeldHinzu(); - } - } - }); }); - // Funktion: Verfügbarkeit prüfen - async function pruefeVerfuegbarkeit(inputFeld) { - const artikelnummer = inputFeld.value.trim(); - const verfuegbarkeitDiv = inputFeld.parentElement.querySelector('.verfuegbarkeit'); - const sendButton = document.getElementById('sendOrder'); - - if (artikelnummer.length === 0) { - verfuegbarkeitDiv.textContent = ""; - return; - } - - try { - const response = await fetch(`/api/pruefe-artikel?nummer=${encodeURIComponent(artikelnummer)}`); - const data = await response.json(); - - const artikelDivs = document.querySelectorAll('.Artikel'); - let artikelVerfuegbarkeiten = []; - - artikelDivs.forEach(div => { - const artikelNrInput = div.querySelector('.ArtikelNrText'); - const verfDiv = div.querySelector('.verfuegbarkeit'); - - if (artikelNrInput.value.trim() !== '') { - if (artikelNrInput === inputFeld) { - if (data.verfuegbar) { - verfDiv.textContent = "Artikel verfügbar."; - verfDiv.style.color = "green"; - artikelVerfuegbarkeiten.push(true); - } else { - verfDiv.textContent = "Artikel nicht verfügbar!"; - verfDiv.style.color = "red"; - artikelVerfuegbarkeiten.push(false); - } - } else { - // Für andere Felder bisherige Anzeige berücksichtigen - if (verfDiv.textContent.includes("nicht verfügbar")) { - artikelVerfuegbarkeiten.push(false); - } else { - artikelVerfuegbarkeiten.push(true); - } - } - } - }); - - // Button sperren/freigeben - if (artikelVerfuegbarkeiten.every(status => status === true)) { - sendButton.disabled = false; - } else { - sendButton.disabled = true; - } - - } catch (error) { - console.error('Fehler bei der Artikelsuche:', error); - verfuegbarkeitDiv.textContent = "Fehler bei der Prüfung."; - verfuegbarkeitDiv.style.color = "orange"; - sendButton.disabled = true; - } - } - - // Funktion: Neues Artikelfeld hinzufügen - function fuegeNeuesArtikelFeldHinzu() { - const formular = document.getElementById('bestellform'); - const artikelnummerFelder = formular.querySelectorAll('.ArtikelNrText'); - const letztesFeld = artikelnummerFelder[artikelnummerFelder.length - 1]; - - if (letztesFeld && letztesFeld.value.trim() !== '') { - const neueArtikelDiv = document.createElement('div'); - neueArtikelDiv.className = 'Artikel'; - neueArtikelDiv.innerHTML = ` - - -
- `; - - const sendButton = document.getElementById('sendOrder'); - formular.insertBefore(neueArtikelDiv, sendButton); - } - } - - // Funktion: Artikel löschen - function loescheArtikel(button) { - const artikelDiv = button.parentElement; - artikelDiv.remove(); - } function ladeWarenkorb() { // RICHTIG lesen: aus localStorage (nicht sessionStorage!) @@ -294,18 +161,19 @@ const artikelDiv = document.createElement('div'); artikelDiv.className = 'Artikel'; artikelDiv.innerHTML = ` - - -
+ + +
`; + formular.insertBefore(artikelDiv, sendButton); }); } - window.warenkorbLeeren = function (){ + window.warenkorbLeeren = function () { localStorage.removeItem('warenkorb'); // Oder: localStorage.setItem('warenkorb', '[]'); ladeWarenkorb(); // Aktualisiert die Ansicht - if (window.zeigeWarenkorbAnzahl) zeigeWarenkorbAnzahl(); // Optional: Warenkorb-Zähler im Header aktualisieren + if (window.zeigeWarenkorbAnzahl) zeigeWarenkorbAnzahl(); // Warenkorb-Zähler im Header aktualisieren } diff --git a/public/bestellung/bestellung.html b/public/bestellung/bestellung.html index 379e6ec..12a5b23 100644 --- a/public/bestellung/bestellung.html +++ b/public/bestellung/bestellung.html @@ -4,7 +4,6 @@ Ihre Bestellung - diff --git a/static/Styles/bestellformular/bestellformular.css b/static/Styles/bestellformular/bestellformular.css deleted file mode 100644 index e69de29..0000000 diff --git a/static/Styles/registrieren/registrieren.css b/static/Styles/registrieren/registrieren.css index de4ccbb..e38bcfb 100644 --- a/static/Styles/registrieren/registrieren.css +++ b/static/Styles/registrieren/registrieren.css @@ -53,7 +53,7 @@ .register-link { text-align: center; font-size: 14px; - margin-top: 15px; + margin-top: 5px; } .register-link a { diff --git a/static/Styles/styles-main.css b/static/Styles/styles-main.css index 05abb1f..5ac7c35 100644 --- a/static/Styles/styles-main.css +++ b/static/Styles/styles-main.css @@ -421,12 +421,43 @@ main > h2 { /* ========== Bestellformular Styling ========== */ .form-container { - background: #ffffff; - border-radius: 12px; - box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); - padding: 30px; - max-width: 600px; + background: #fff; + max-width: 700px; margin: 40px auto; + padding: 30px; + border-radius: 20px; + box-shadow: 0 8px 16px rgba(0,0,0,0.1); +} + +#bestellform { + display: flex; + flex-direction: column; + gap: 15px; +} + +#bestellform h2 { + text-align: center; + margin-bottom: 10px; + font-size: 26px; + color: #ff6600; +} + +#bestellform label { + font-weight: 500; + font-weight: bold; +} + +#bestellform input[type="text"] { + padding: 12px; + border-radius: 10px; + border: 1px solid #ccc; + font-size: 16px; + transition: border-color 0.3s; +} + +#bestellform input[type="text"]:focus { + border-color: #ff6600; + outline: none; } h2 { @@ -461,19 +492,27 @@ input[type="text"]:focus, input[type="number"]:focus { .Artikel { display: flex; - flex-wrap: wrap; - gap: 10px; + gap: 5px; align-items: center; - margin-bottom: 20px; + flex-wrap: wrap; +} + +.Artikel input { + flex: 1 1 120px; + margin-bottom: 5px; +} + +.Artikel .verfuegbarkeit { + font-size: 14px; + flex-basis: 100%; + margin-top: 5px; } .ArtikelNrText, .StueckzahlText { width: calc(50% - 5px); - padding: 10px; font-size: 16px; border-radius: 8px; border: 1px solid #ddd; - margin-right: 10px; background-color: #f5f5f5; } @@ -497,6 +536,24 @@ input[type="text"]:focus, input[type="number"]:focus { background-color: #c0392b; } +.button-submit { + margin-top: 20px; + padding: 14px; + background: #ff6600; + color: white; + font-weight: bold; + border-radius: 25px; + text-align: center; + display: inline-block; + cursor: pointer; + transition: background 0.3s ease; + text-decoration: none; +} + +.button-submit:hover { + background: #e95b00; +} + .verfuegbarkeit { font-size: 14px; color: #888; @@ -536,6 +593,35 @@ input[type="text"]:focus, input[type="number"]:focus { } } +.link-text-formular { + text-align: center; + font-size: 17px; + color: #555; +} + +.link-text-formular a { + color: #ff6600; + text-decoration: none; + font-weight: 500; +} + +.link-text-formular a:hover { + text-decoration: underline; +} + +input[readonly] { + background-color: #f0f0f0; + color: #666; + border: 1px dashed #999; + cursor: not-allowed; +} + +input:not([readonly]) { + background-color: #ffffff; + color: #000; + border: 1px solid #333; +} + /* ========== Formulare und Buttons allgemein ========== */ .input-box { position: relative;