Skip to content

feat(web): share forms via link, QR code & embed snippet#55

Merged
Musiker15 merged 1 commit into
mainfrom
feat/slice-8e-share
Jun 20, 2026
Merged

feat(web): share forms via link, QR code & embed snippet#55
Musiker15 merged 1 commit into
mainfrom
feat/slice-8e-share

Conversation

@Musiker15

Copy link
Copy Markdown
Member

Phase 1 finish — Task 5/5: Form distribution

Per-form distribution in the Manage Forms tab (concept §4 / §9). Each live form gets a Share panel:

  • the public link (/f/<slug>) with a copy button,

  • a QR code rendered server-side (no client dependency; served as a data: image — img-src data: already allowed by the CSP),

  • an iframe embed snippet with a copy button.

  • adds qrcode (+ @types/qrcode); the QR is generated in the server component.

  • share-button.tsx (client) toggles the panel and handles clipboard copy.

  • only live forms show the panel.

  • i18n: share section (DE/EN).

Verification

  • pnpm typecheck ✅ · pnpm lint ✅ · pnpm test ✅ · pnpm build

This is the last of the 5 Phase-1-completion tasks (bot config, review embed, accept/reject + role grant, applicant self-service, distribution).

Per-form distribution in the Manage Forms tab (concept §4/§9). For each live
form, a Share panel offers:
- the public link (/f/<slug>) with a copy button,
- a QR code rendered server-side (no client dependency; served as a data: img),
- an iframe embed snippet with a copy button.

- adds qrcode (+ @types/qrcode); QR is generated in the server component, so
  nothing ships to the browser and CSP img-src data: already allows it.
- share-button.tsx (client) toggles the panel and handles clipboard copy.
- only live forms show the Share panel.
- i18n: share section (DE/EN).
@Musiker15 Musiker15 merged commit 6e7ce68 into main Jun 20, 2026
3 checks passed
@Musiker15 Musiker15 deleted the feat/slice-8e-share branch June 20, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant