Statische Websiten QR Code - Name bearbeiten #2

Closed
opened 2026-08-18 09:51:25 +00:00 by florian.wilde · 4 comments
Owner

Bei einer statischen Website QR Code kann man beim Anlegen keinen Namen zum wiederfinden hinterlegen erst beim nachträglichen bearbeiten.

Angelegt aus QR Code Generator in Nebula.

Bei einer statischen Website QR Code kann man beim Anlegen keinen Namen zum wiederfinden hinterlegen erst beim nachträglichen bearbeiten. _Angelegt aus [QR Code Generator](https://nebula.wilde-ste.de/projects/cmss12yq702p6mm01ctlfe6nz) in Nebula._
florian.wilde added the blockiert label 2026-08-20 16:36:38 +00:00
Author
Owner

🤖 Rückfrage vor der Umsetzung — noch nicht begonnen.

Der heutige Stand:

  • Das Feld Name (optional) erscheint nur, wenn Dynamisch gewählt ist.
  • Statische Codes werden gar nicht gespeichert — sie tauchen deshalb nie in „Meine Codes" auf, und es gibt für sie auch kein nachträgliches Bearbeiten.
  • Der Dateiname beim Download wird heute aus dem Inhalt abgeleitet, bei einer Website also aus der Adresse (qr-example-com-plakat.png).

Damit passt der Satz „erst beim nachträglichen Bearbeiten" nicht auf statische Codes — das gibt es dort nicht. Ich lese zwei mögliche Wünsche heraus und will nicht raten:

A — Nur der Dateiname (klein)
Das Namensfeld erscheint auch bei Statisch und bestimmt den Dateinamen des Downloads. Nichts wird gespeichert, „Meine Codes" bleibt unverändert. Der Name dient dem Wiederfinden der Datei auf der Platte.

B — Statische Codes auch speichern (groß)
Statische Codes landen mit Namen in „Meine Codes", damit man sie dort wiederfindet. Das ändert eine Grundentscheidung: Bisher ist „statisch = nichts wird gespeichert, funktioniert ohne diesen Server". Zu klären wäre dann, was ein gespeicherter statischer Code kann — Ziel ändern geht nicht (die Adresse steckt im Code selbst), Scans zählen auch nicht.

C — Etwas anderes, das ich aus dem Text nicht herauslese.

Welche Lesart trifft es? Danach geht es sofort weiter.

🤖 **Rückfrage vor der Umsetzung — noch nicht begonnen.** Der heutige Stand: - Das Feld **Name (optional)** erscheint nur, wenn *Dynamisch* gewählt ist. - **Statische Codes werden gar nicht gespeichert** — sie tauchen deshalb nie in „Meine Codes" auf, und es gibt für sie auch kein nachträgliches Bearbeiten. - Der **Dateiname beim Download** wird heute aus dem Inhalt abgeleitet, bei einer Website also aus der Adresse (`qr-example-com-plakat.png`). Damit passt der Satz „erst beim nachträglichen Bearbeiten" nicht auf statische Codes — das gibt es dort nicht. Ich lese zwei mögliche Wünsche heraus und will nicht raten: **A — Nur der Dateiname** *(klein)* Das Namensfeld erscheint auch bei *Statisch* und bestimmt den Dateinamen des Downloads. Nichts wird gespeichert, „Meine Codes" bleibt unverändert. Der Name dient dem Wiederfinden der **Datei** auf der Platte. **B — Statische Codes auch speichern** *(groß)* Statische Codes landen mit Namen in „Meine Codes", damit man sie dort wiederfindet. Das ändert eine Grundentscheidung: Bisher ist „statisch = nichts wird gespeichert, funktioniert ohne diesen Server". Zu klären wäre dann, was ein gespeicherter statischer Code kann — Ziel ändern geht nicht (die Adresse steckt im Code selbst), Scans zählen auch nicht. **C — Etwas anderes**, das ich aus dem Text nicht herauslese. Welche Lesart trifft es? Danach geht es sofort weiter.
florian.wilde added in-arbeit and removed blockiert labels 2026-08-20 16:46:10 +00:00
florian.wilde started working 2026-08-20 16:46:34 +00:00
Author
Owner

🤖 Claude Code hat mit der Umsetzung begonnen.

  • Branch: feat/2-statische-codes-benennen
  • Verstanden als: Auch bei Statisch gibt es ein Namensfeld; der Name bestimmt den Dateinamen des Downloads und lässt sich auf Wunsch in „Meine Codes" ablegen, damit man den Code wiederfindet und erneut herunterladen kann. (Antwort auf die Rückfrage: Beides.)
  • Geplantes Vorgehen:
    • Namensfeld aus dem Dynamisch-Block herausziehen, damit es in beiden Betriebsarten steht
    • Dateiname beim Download aus dem Namen bilden, sonst wie bisher aus dem Inhalt
    • Statische Codes speicherbar machen: mode am Datensatz, Kurz-Link entfällt dort
    • In „Meine Codes" ohne Kurz-URL und ohne Scan-Zähler anzeigen; bearbeitbar ist nur der Name — der Inhalt steckt im gedruckten Code und darf sich nicht ändern
    • Prüfungen für beides, dazu die bestehende Regression

Zeiterfassung läuft.

🤖 **Claude Code hat mit der Umsetzung begonnen.** - Branch: `feat/2-statische-codes-benennen` - Verstanden als: Auch bei *Statisch* gibt es ein Namensfeld; der Name bestimmt den Dateinamen des Downloads und lässt sich auf Wunsch in „Meine Codes" ablegen, damit man den Code wiederfindet und erneut herunterladen kann. (Antwort auf die Rückfrage: **Beides**.) - Geplantes Vorgehen: - Namensfeld aus dem Dynamisch-Block herausziehen, damit es in beiden Betriebsarten steht - Dateiname beim Download aus dem Namen bilden, sonst wie bisher aus dem Inhalt - Statische Codes speicherbar machen: `mode` am Datensatz, Kurz-Link entfällt dort - In „Meine Codes" ohne Kurz-URL und ohne Scan-Zähler anzeigen; bearbeitbar ist nur der **Name** — der Inhalt steckt im gedruckten Code und darf sich nicht ändern - Prüfungen für beides, dazu die bestehende Regression Zeiterfassung läuft.
florian.wilde worked for 47 minutes 2026-08-20 17:33:59 +00:00
florian.wilde added zu-testen and removed in-arbeit labels 2026-08-20 17:34:56 +00:00
Author
Owner

✅ Umsetzung abgeschlossen — bereit zum Testen.

Was geändert wurde

  • Das Feld „Name (optional)" gilt jetzt in beiden Betriebsarten, nicht mehr nur bei Dynamisch
  • Der Name bestimmt den Dateinamen beim Herunterladen (qr-plakat-eingang.png statt qr-example-com-plakat.png); Umlaute und Sonderzeichen werden umgeschrieben
  • Ein statischer Code lässt sich mit „In „Meine Codes" ablegen" speichern — als Schnappschuss ohne Kurz-Link und ohne Scan-Zähler
  • In der Liste steht bei statischen Codes „statisch" statt einer Kurz-URL und ein Strich statt der Scans
  • Im Bearbeiten-Dialog ist bei statischen Codes nur der Name änderbar; Inhalt und Kurz-Link sind gesperrt, mit Begründung
  • Ein Wechsel der Betriebsart verwirft den zuvor gespeicherten Code — sonst zeigte die Oberfläche den falschen Zustand

Geänderte Dateien

  • prisma/schema.prisma, prisma/migrations/20260820170000_statische_codes_ablegen/migration.sql
  • src/lib/dto.ts, src/lib/codes.ts, src/lib/qr/request.ts
  • src/app/api/codes/route.ts, src/app/api/codes/[id]/route.ts, src/app/api/codes/[id]/qr/route.ts, src/app/api/qr/download/route.ts
  • src/components/qr-generator.tsx, src/components/codes-list.tsx
  • src/app/s/[...slug]/page.tsx
  • README.md, docs/funktionen.md, docs/roadmap.md

So testest du es

  1. git switch feat/2-statische-codes-benennen und docker compose up -d --build
  2. Erstellen → Website, eine Adresse eingeben, bei Statisch bleiben
  3. Erwartet: Ein Feld Name (optional) ist da, ein Kurz-Link-Feld nicht
  4. Namen „Plakat Eingang" eintragen, PNG herunterladen
  5. Erwartet: Die Datei heißt qr-plakat-eingang.png
  6. In „Meine Codes" ablegen klicken, dann auf Meine Codes gehen
  7. Erwartet: Der Eintrag steht da, in der Spalte Kurz-URL steht „statisch", bei Scans ein Strich
  8. Auf Bearbeiten klicken
  9. Erwartet: Nur das Namensfeld, dazu die Erklärung, dass der Inhalt im gedruckten Code steckt
  10. Zum Gegenprüfen: auf Dynamisch wechseln — Kurz-Link-Feld und Scan-Zähler verhalten sich wie bisher

Aufgewendete Zeit: 00:47
Pull Request: #3

Nach Freigabe: /issue-freigabe 2

✅ **Umsetzung abgeschlossen — bereit zum Testen.** <!-- claude-status branch: feat/2-statische-codes-benennen pr: 3 zeit_sekunden: 2845 --> **Was geändert wurde** - Das Feld „Name (optional)" gilt jetzt in beiden Betriebsarten, nicht mehr nur bei *Dynamisch* - Der Name bestimmt den Dateinamen beim Herunterladen (`qr-plakat-eingang.png` statt `qr-example-com-plakat.png`); Umlaute und Sonderzeichen werden umgeschrieben - Ein statischer Code lässt sich mit „In „Meine Codes" ablegen" speichern — als Schnappschuss ohne Kurz-Link und ohne Scan-Zähler - In der Liste steht bei statischen Codes „statisch" statt einer Kurz-URL und ein Strich statt der Scans - Im Bearbeiten-Dialog ist bei statischen Codes nur der Name änderbar; Inhalt und Kurz-Link sind gesperrt, mit Begründung - Ein Wechsel der Betriebsart verwirft den zuvor gespeicherten Code — sonst zeigte die Oberfläche den falschen Zustand **Geänderte Dateien** - `prisma/schema.prisma`, `prisma/migrations/20260820170000_statische_codes_ablegen/migration.sql` - `src/lib/dto.ts`, `src/lib/codes.ts`, `src/lib/qr/request.ts` - `src/app/api/codes/route.ts`, `src/app/api/codes/[id]/route.ts`, `src/app/api/codes/[id]/qr/route.ts`, `src/app/api/qr/download/route.ts` - `src/components/qr-generator.tsx`, `src/components/codes-list.tsx` - `src/app/s/[...slug]/page.tsx` - `README.md`, `docs/funktionen.md`, `docs/roadmap.md` **So testest du es** 1. `git switch feat/2-statische-codes-benennen` und `docker compose up -d --build` 2. *Erstellen → Website*, eine Adresse eingeben, bei **Statisch** bleiben 3. Erwartet: Ein Feld **Name (optional)** ist da, ein Kurz-Link-Feld nicht 4. Namen „Plakat Eingang" eintragen, **PNG** herunterladen 5. Erwartet: Die Datei heißt `qr-plakat-eingang.png` 6. **In „Meine Codes" ablegen** klicken, dann auf *Meine Codes* gehen 7. Erwartet: Der Eintrag steht da, in der Spalte Kurz-URL steht „statisch", bei Scans ein Strich 8. Auf **Bearbeiten** klicken 9. Erwartet: Nur das Namensfeld, dazu die Erklärung, dass der Inhalt im gedruckten Code steckt 10. Zum Gegenprüfen: auf **Dynamisch** wechseln — Kurz-Link-Feld und Scan-Zähler verhalten sich wie bisher **Aufgewendete Zeit:** 00:47 **Pull Request:** #3 Nach Freigabe: `/issue-freigabe 2`
Author
Owner

🚀 Freigegeben und nach main übernommen.

  • Merge-Commit: 7f67a35
  • Pull Request: #3 (gemergt)
  • Gesamtaufwand: 00:47

Vor dem Merge geprüft: Typprüfung und Linter sauber, dazu die Suiten statisch (38), e2e (79), kurzlinks (57) und codes-view (33) — alle grün.

Issue wird geschlossen.

🚀 **Freigegeben und nach `main` übernommen.** <!-- claude-status merge: 7f67a35218cfc2fab85d054fe71194322766caae pr: 3 zeit_sekunden: 2845 --> - Merge-Commit: `7f67a35` - Pull Request: #3 (gemergt) - Gesamtaufwand: 00:47 Vor dem Merge geprüft: Typprüfung und Linter sauber, dazu die Suiten `statisch` (38), `e2e` (79), `kurzlinks` (57) und `codes-view` (33) — alle grün. Issue wird geschlossen.
florian.wilde removed the zu-testen label 2026-08-20 23:27:24 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Total Time Spent: 47 minutes
florian.wilde
47 minutes
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: florian.wilde/qrcode-generator#2