QR-Codes-UI zu Einladungen umgebaut mit PDF-Export und Druckanzeige + Customizer

This commit is contained in:
Codex Agent
2025-10-30 07:12:27 +01:00
parent d781448914
commit 06df61f706
20 changed files with 1724 additions and 537 deletions

View File

@@ -13,6 +13,7 @@ export type EventQrInviteLayout = {
background_gradient: { angle: number; stops: string[] } | null;
accent: string | null;
text: string | null;
qr_size_px?: number | null;
};
formats: string[];
download_urls: Record<string, string>;
@@ -257,6 +258,7 @@ export type EventQrInvite = {
token: string;
url: string;
label: string | null;
qr_code_data_url: string | null;
usage_limit: number | null;
usage_count: number;
expires_at: string | null;
@@ -678,6 +680,7 @@ function normalizeQrInvite(raw: JsonValue): EventQrInvite {
background_gradient: layout.preview?.background_gradient ?? null,
accent: layout.preview?.accent ?? null,
text: layout.preview?.text ?? null,
qr_size_px: layout.preview?.qr_size_px ?? layout.qr?.size_px ?? null,
},
formats,
download_urls: (layout.download_urls ?? {}) as Record<string, string>,
@@ -699,6 +702,10 @@ function normalizeQrInvite(raw: JsonValue): EventQrInvite {
metadata: (raw.metadata ?? {}) as Record<string, unknown>,
layouts,
layouts_url: typeof raw.layouts_url === 'string' ? raw.layouts_url : null,
qr_code_data_url:
typeof raw.qr_code_data_url === 'string' && raw.qr_code_data_url.length > 0
? String(raw.qr_code_data_url)
: null,
};
}