From bd796e46dcc98102ec10a6cdbef400bedfce9026 Mon Sep 17 00:00:00 2001 From: Alexander Schmidt Date: Tue, 24 Mar 2026 16:38:44 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20complete=20v1=20=E2=80=94=20QR=20invoic?= =?UTF-8?q?e=20generator=20with=20i18n,=20short=20URLs,=20offline=20suppor?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - XMR address validation (standard, subaddress, integrated) - Amount in XMR/EUR/USD/CHF with CoinGecko conversion - QR code generation with monero: URI - Shareable short URLs (/s/abc123) via self-hosted PHP backend - i18n (DE/EN) with browser language detection - Service worker for offline capability - Dark mode, responsive design --- README.md | 40 +++-- api/shorten.php | 61 +++++++ app.js | 344 ++++++++++++++++++++++++++++++++++++++ i18n.js | 159 ++++++++++++++++++ index.html | 98 +++++++++++ lib/qrcode.min.js | 1 + s.php | 28 ++++ style.css | 418 ++++++++++++++++++++++++++++++++++++++++++++++ sw.js | 58 +++++++ 9 files changed, 1190 insertions(+), 17 deletions(-) create mode 100644 api/shorten.php create mode 100644 app.js create mode 100644 i18n.js create mode 100644 index.html create mode 100644 lib/qrcode.min.js create mode 100644 s.php create mode 100644 style.css create mode 100644 sw.js diff --git a/README.md b/README.md index c8c54c3..d9712f3 100644 --- a/README.md +++ b/README.md @@ -52,16 +52,20 @@ Die App ist eine einzige HTML-Datei, die von überall gehostet werden kann. ## Feature-Roadmap -### v1 — Der Kern (Static QR Generator) +### v1 — Der Kern (Static QR Generator) ✅ -- [ ] XMR-Adresse eingeben (mit Validierung) -- [ ] Betrag in XMR eingeben (optional: EUR/CHF/USD-Umrechnung via CoinGecko API) -- [ ] Beschreibung / Verwendungszweck -- [ ] Optionaler Countdown-Timer (Zahlungsfrist) -- [ ] `monero:`-URI generieren (Standard: [SLIP-0021](https://github.com/satoshilabs/slips/blob/master/slip-0021.md)) -- [ ] QR-Code anzeigen und als PNG downloaden -- [ ] Link kopieren (für Messenger, E-Mail etc.) -- [ ] Responsive Design, Dark Mode +- [x] XMR-Adresse eingeben (Validierung: Standard, Subaddress, Integrated) +- [x] Betrag in XMR eingeben (optional: EUR/CHF/USD-Umrechnung via CoinGecko API) +- [x] Beschreibung / Verwendungszweck +- [x] Optionaler Countdown-Timer (Zahlungsfrist) +- [x] `monero:`-URI generieren +- [x] QR-Code anzeigen und als PNG downloaden +- [x] Link kopieren (für Messenger, E-Mail etc.) +- [x] Teilbare Kurz-URLs (`/s/abc123`) — selbst gehostetes URL-Shortening +- [x] Mehrsprachigkeit (DE, EN) mit automatischer Browsererkennung +- [x] Responsive Design, Dark Mode +- [x] Offline-fähig via Service Worker +- [x] CoinGecko-Fallback mit Auto-Retry ### v2 — View-Key Zahlungsbestätigung (Browser-basiert) @@ -75,7 +79,7 @@ Die App ist eine einzige HTML-Datei, die von überall gehostet werden kann. - [ ] PDF-Rechnung generieren (Logo, Betrag in Fiat, XMR-Betrag, QR, Fälligkeitsdatum) - [ ] Einbettbarer `