diff --git a/README.md b/README.md
index e9426af..21b610b 100755
--- a/README.md
+++ b/README.md
@@ -41,7 +41,6 @@ Für Bestellungen per Mail zusätzlich:
Optional:
- `APP_API_KEY` – Schutz fuer `/wawi/api/bestand` und `/wawi/order`
- `COOKIE_SECURE` – `0` fuer http lokal, `1` fuer https
-- `PAYPAL_ACCOUNT` – PayPal-E-Mail für Bestellformular (z.B. `paypal@beispiel.de`)
## Benutzerverwaltung
Beim ersten Start wird **ein Admin** aus ENV erzeugt:
@@ -60,12 +59,10 @@ python import_from_html.py /pfad/zu/hellas_bestand.html --truncate
## Live‑Shop‑Ansicht (index.html)
`index.html` lädt den Bestand aus der WaWi‑App:
- API‑Proxy: `/wawi/proxy/bestand`
-- Konfiguration: `/wawi/config` (lädt PayPal-Konto aus ENV)
Wenn du diese Datei auf einem Webserver auslieferst, stelle sicher, dass die WaWi‑App unter `/wawi` erreichbar ist.
Wenn du Bestellungen direkt aus `index.html` abschickst, muss der `X-Order-Key` bzw. `?key=` dem `APP_API_KEY` entsprechen.
-Der Key wird in `index.html` im Script‑Block gesetzt: `const ORDER_KEY = ""`. Trage dort deinen Key ein (oder leer lassen, wenn kein API-Key erforderlich).
-Das PayPal-Konto wird automatisch aus der ENV-Variable `PAYPAL_ACCOUNT` geladen.
+Der Key wird in `index.html` im Script‑Block gesetzt: `const ORDER_KEY = ""` (neben der Formularlogik). Trage dort deinen Key ein.
## Umgebungsvariablen (ENV)
**Pflicht/Empfohlen für Produktion**
@@ -83,7 +80,6 @@ Das PayPal-Konto wird automatisch aus der ENV-Variable `PAYPAL_ACCOUNT` geladen.
**Optional**
- `APP_API_KEY` – gemeinsamer API‑Key für `/wawi/api/bestand` **und** `/wawi/order`
- `COOKIE_SECURE` – `1` (default) setzt Secure‑Cookie, `0` deaktiviert für http
-- `PAYPAL_ACCOUNT` – PayPal-E-Mail-Adresse für Bestellungen (wird im Bestellformular angezeigt)
## Deployment (systemd + Gunicorn)
1) App nach `/var/www/hellas/wawi` kopieren
@@ -116,7 +112,6 @@ Environment="SMTP_PASS=dein_pass"
Environment="SMTP_FROM=bestand@example.com"
Environment="ORDER_TO=admin@example.com, zweite@example.com"
Environment="APP_API_KEY=api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
-Environment="PAYPAL_ACCOUNT=dein-paypal@beispiel.de"
ExecStart=/var/www/hellas/wawi/.venv/bin/gunicorn -w 3 -b 127.0.0.1:8000 app:app
Restart=always
diff --git a/index.html b/index.html
index 9e69334..3432755 100755
--- a/index.html
+++ b/index.html
@@ -133,6 +133,50 @@
}
.card-price { color: var(--accent); font-weight: 800; font-size: 14px; }
.card-sub { color: var(--muted); font-size: 12px; }
+ .stock-badge {
+ display: inline-block;
+ padding: 4px 8px;
+ border-radius: 6px;
+ font-size: 11px;
+ font-weight: 600;
+ margin-top: 6px;
+ }
+ .stock-badge.available {
+ background: rgba(123, 213, 141, 0.15);
+ color: var(--ok);
+ border: 1px solid rgba(123, 213, 141, 0.3);
+ }
+ .stock-badge.low {
+ background: rgba(243, 213, 42, 0.15);
+ color: var(--accent);
+ border: 1px solid rgba(243, 213, 42, 0.3);
+ }
+ .stock-badge.unavailable {
+ background: rgba(255, 107, 125, 0.15);
+ color: var(--bad);
+ border: 1px solid rgba(255, 107, 125, 0.3);
+ }
+ .sale-badge {
+ position: absolute;
+ top: 8px;
+ left: 8px;
+ background: linear-gradient(135deg, #ff0000, #cc0000);
+ color: #fff;
+ padding: 6px 12px;
+ border-radius: 6px;
+ font-size: 13px;
+ font-weight: 800;
+ letter-spacing: 1px;
+ text-transform: uppercase;
+ box-shadow: 0 4px 12px rgba(255, 0, 0, 0.4);
+ z-index: 10;
+ animation: pulse 2s ease-in-out infinite;
+ }
+ @keyframes pulse {
+ 0%, 100% { transform: scale(1); }
+ 50% { transform: scale(1.05); }
+ }
+ .card-tile { position: relative; }
.card-actions { padding: 0 12px 12px; display: flex; justify-content: flex-end; }
.detail-btn { width: 100%; }
.size-list { display: grid; gap: 8px; padding: 10px 2px 2px; }
@@ -422,6 +466,9 @@
+
@@ -438,6 +485,10 @@
Bitte sende den Betrag über PayPal an: –
+
+ ⚠️ WICHTIG: Bitte unbedingt die Option "Familie & Freunde" wählen!
+ Bei normalen PayPal-Zahlungen fallen zusätzliche Gebühren an.
+
+