feat: manage formular upload page via payload
This commit is contained in:
@@ -1331,6 +1331,84 @@ export interface Page {
|
||||
successMessage?: string | null;
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Edit the Formular hochladen page copy in frontend order. Upload interaction remains handled by the SPA component.
|
||||
*/
|
||||
formUpload?: {
|
||||
/**
|
||||
* Top eyebrow, heading, intro copy, and stat row.
|
||||
*/
|
||||
hero?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
description?: string | null;
|
||||
stats?:
|
||||
| {
|
||||
num?: string | null;
|
||||
label?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
};
|
||||
/**
|
||||
* Small route label below the hero.
|
||||
*/
|
||||
breadcrumb?: {
|
||||
label?: string | null;
|
||||
};
|
||||
/**
|
||||
* Requirement cards above the upload area.
|
||||
*/
|
||||
requirements?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
cards?:
|
||||
| {
|
||||
icon?: ('fileText' | 'clock' | 'shield') | null;
|
||||
title?: string | null;
|
||||
items?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
};
|
||||
/**
|
||||
* Dropzone labels, accepted format chips, note card, submit labels, and privacy note.
|
||||
*/
|
||||
upload?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
dropTitle?: string | null;
|
||||
dropDescription?: string | null;
|
||||
acceptedFormats?: string | null;
|
||||
fileRemoveLabel?: string | null;
|
||||
noteTitle?: string | null;
|
||||
note?: string | null;
|
||||
selectedSubmitPrefix?: string | null;
|
||||
selectedSubmitPluralSuffix?: string | null;
|
||||
selectedSubmitAction?: string | null;
|
||||
emptySubmitLabel?: string | null;
|
||||
privacyNote?: string | null;
|
||||
};
|
||||
/**
|
||||
* Confirmation copy shown after simulated upload completion.
|
||||
*/
|
||||
success?: {
|
||||
heading?: string | null;
|
||||
description?: string | null;
|
||||
linkLabel?: string | null;
|
||||
linkUrl?: string | null;
|
||||
};
|
||||
/**
|
||||
* Bottom question prompt and navigation links.
|
||||
*/
|
||||
cta?: {
|
||||
eyebrow?: string | null;
|
||||
contactLabel?: string | null;
|
||||
contactUrl?: string | null;
|
||||
buttonLabel?: string | null;
|
||||
buttonUrl?: string | null;
|
||||
};
|
||||
};
|
||||
meta?: {
|
||||
title?: string | null;
|
||||
/**
|
||||
@@ -3291,6 +3369,77 @@ export interface PagesSelect<T extends boolean = true> {
|
||||
successMessage?: T;
|
||||
};
|
||||
};
|
||||
formUpload?:
|
||||
| T
|
||||
| {
|
||||
hero?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
description?: T;
|
||||
stats?:
|
||||
| T
|
||||
| {
|
||||
num?: T;
|
||||
label?: T;
|
||||
id?: T;
|
||||
};
|
||||
};
|
||||
breadcrumb?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
};
|
||||
requirements?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
cards?:
|
||||
| T
|
||||
| {
|
||||
icon?: T;
|
||||
title?: T;
|
||||
items?: T;
|
||||
id?: T;
|
||||
};
|
||||
};
|
||||
upload?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
dropTitle?: T;
|
||||
dropDescription?: T;
|
||||
acceptedFormats?: T;
|
||||
fileRemoveLabel?: T;
|
||||
noteTitle?: T;
|
||||
note?: T;
|
||||
selectedSubmitPrefix?: T;
|
||||
selectedSubmitPluralSuffix?: T;
|
||||
selectedSubmitAction?: T;
|
||||
emptySubmitLabel?: T;
|
||||
privacyNote?: T;
|
||||
};
|
||||
success?:
|
||||
| T
|
||||
| {
|
||||
heading?: T;
|
||||
description?: T;
|
||||
linkLabel?: T;
|
||||
linkUrl?: T;
|
||||
};
|
||||
cta?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
contactLabel?: T;
|
||||
contactUrl?: T;
|
||||
buttonLabel?: T;
|
||||
buttonUrl?: T;
|
||||
};
|
||||
};
|
||||
meta?:
|
||||
| T
|
||||
| {
|
||||
|
||||
Reference in New Issue
Block a user