feat: manage participation page via payload
This commit is contained in:
@@ -488,6 +488,431 @@ export interface Page {
|
||||
| null;
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Edit the participation page in the same order it appears on the frontend. The generic Hero and Content tabs are hidden for this SPA-managed route.
|
||||
*/
|
||||
participation?: {
|
||||
/**
|
||||
* Top image, eyebrow, headline, and intro copy.
|
||||
*/
|
||||
hero?: {
|
||||
/**
|
||||
* Current frontend image: /images/preisuebergabe.jpg
|
||||
*/
|
||||
backgroundImage?: (number | null) | Media;
|
||||
imageAlt?: string | null;
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
description?: string | null;
|
||||
};
|
||||
/**
|
||||
* Timeline section rendered directly after the hero.
|
||||
*/
|
||||
process?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
description?: string | null;
|
||||
scrollHint?: string | null;
|
||||
progressLabel?: string | null;
|
||||
steps?:
|
||||
| {
|
||||
step?: string | null;
|
||||
title?: string | null;
|
||||
desc?: string | null;
|
||||
date?: string | null;
|
||||
icon?:
|
||||
| (
|
||||
| 'alertCircle'
|
||||
| 'arrowRight'
|
||||
| 'building2'
|
||||
| 'check'
|
||||
| 'checkCircle2'
|
||||
| 'fileText'
|
||||
| 'mapPin'
|
||||
| 'search'
|
||||
| 'send'
|
||||
| 'star'
|
||||
| 'trendingUp'
|
||||
| 'trophy'
|
||||
| 'user'
|
||||
| 'userCheck'
|
||||
| 'userPlus'
|
||||
| 'users'
|
||||
)
|
||||
| null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
};
|
||||
/**
|
||||
* Cream eligibility section with criteria rows, notes, and CTAs.
|
||||
*/
|
||||
eligibility?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
description?: string | null;
|
||||
primaryCta?: {
|
||||
label?: string | null;
|
||||
url?: string | null;
|
||||
};
|
||||
secondaryCta?: {
|
||||
label?: string | null;
|
||||
url?: string | null;
|
||||
};
|
||||
criteria?:
|
||||
| {
|
||||
num?: string | null;
|
||||
title?: string | null;
|
||||
body?: string | null;
|
||||
icon?:
|
||||
| (
|
||||
| 'alertCircle'
|
||||
| 'arrowRight'
|
||||
| 'building2'
|
||||
| 'check'
|
||||
| 'checkCircle2'
|
||||
| 'fileText'
|
||||
| 'mapPin'
|
||||
| 'search'
|
||||
| 'send'
|
||||
| 'star'
|
||||
| 'trendingUp'
|
||||
| 'trophy'
|
||||
| 'user'
|
||||
| 'userCheck'
|
||||
| 'userPlus'
|
||||
| 'users'
|
||||
)
|
||||
| null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
notes?:
|
||||
| {
|
||||
title?: string | null;
|
||||
body?: string | null;
|
||||
icon?:
|
||||
| (
|
||||
| 'alertCircle'
|
||||
| 'arrowRight'
|
||||
| 'building2'
|
||||
| 'check'
|
||||
| 'checkCircle2'
|
||||
| 'fileText'
|
||||
| 'mapPin'
|
||||
| 'search'
|
||||
| 'send'
|
||||
| 'star'
|
||||
| 'trendingUp'
|
||||
| 'trophy'
|
||||
| 'user'
|
||||
| 'userCheck'
|
||||
| 'userPlus'
|
||||
| 'users'
|
||||
)
|
||||
| null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
nudgeText?: string | null;
|
||||
nudgeCta?: {
|
||||
label?: string | null;
|
||||
url?: string | null;
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Navy evaluation section with image, link, and criteria grid.
|
||||
*/
|
||||
evaluation?: {
|
||||
/**
|
||||
* Current frontend image: /images/buehne-gewinner.jpg
|
||||
*/
|
||||
image?: (number | null) | Media;
|
||||
imageAlt?: string | null;
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
body?: string | null;
|
||||
link?: {
|
||||
label?: string | null;
|
||||
url?: string | null;
|
||||
};
|
||||
criteria?:
|
||||
| {
|
||||
label?: string | null;
|
||||
desc?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
};
|
||||
/**
|
||||
* Cream section explaining proposal, self-application, and special award paths.
|
||||
*/
|
||||
applicationWays?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
description?: string | null;
|
||||
recommendedLabel?: string | null;
|
||||
institutions?:
|
||||
| {
|
||||
text?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
ways?:
|
||||
| {
|
||||
label?: string | null;
|
||||
title?: string | null;
|
||||
desc?: string | null;
|
||||
icon?:
|
||||
| (
|
||||
| 'alertCircle'
|
||||
| 'arrowRight'
|
||||
| 'building2'
|
||||
| 'check'
|
||||
| 'checkCircle2'
|
||||
| 'fileText'
|
||||
| 'mapPin'
|
||||
| 'search'
|
||||
| 'send'
|
||||
| 'star'
|
||||
| 'trendingUp'
|
||||
| 'trophy'
|
||||
| 'user'
|
||||
| 'userCheck'
|
||||
| 'userPlus'
|
||||
| 'users'
|
||||
)
|
||||
| null;
|
||||
featured?: boolean | null;
|
||||
listType?: ('institutions' | 'facts') | null;
|
||||
facts?:
|
||||
| {
|
||||
label?: string | null;
|
||||
desc?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
cta?: {
|
||||
label?: string | null;
|
||||
url?: string | null;
|
||||
};
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
};
|
||||
/**
|
||||
* Gold important-dates banner. Mobile and desktop labels differ slightly in the current design.
|
||||
*/
|
||||
datesBanner?: {
|
||||
heading?: string | null;
|
||||
description?: string | null;
|
||||
mobileItems?:
|
||||
| {
|
||||
date?: string | null;
|
||||
label?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
desktopItems?:
|
||||
| {
|
||||
date?: string | null;
|
||||
label?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
};
|
||||
/**
|
||||
* Navy/gold section containing the application form and PDF upload links.
|
||||
*/
|
||||
applicationForm?: {
|
||||
/**
|
||||
* Current frontend image: /images/preistraeger-jubel.jpg
|
||||
*/
|
||||
image?: (number | null) | Media;
|
||||
imageAlt?: string | null;
|
||||
imageCaption?: string | null;
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
description?: string | null;
|
||||
facts?:
|
||||
| {
|
||||
num?: string | null;
|
||||
label?: string | null;
|
||||
desc?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
formEyebrow?: string | null;
|
||||
uploadCta?: {
|
||||
label?: string | null;
|
||||
url?: string | null;
|
||||
};
|
||||
uploadPrompt?: string | null;
|
||||
uploadFooterCta?: {
|
||||
label?: string | null;
|
||||
url?: string | null;
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Text, options, and eligibility thresholds used inside the multi-step application form.
|
||||
*/
|
||||
form?: {
|
||||
stepCompleteLabel?: string | null;
|
||||
backLabel?: string | null;
|
||||
nextLabel?: string | null;
|
||||
submitLabel?: string | null;
|
||||
yesLabel?: string | null;
|
||||
noLabel?: string | null;
|
||||
requiredSuffix?: string | null;
|
||||
validation?: {
|
||||
choose?: string | null;
|
||||
required?: string | null;
|
||||
invalidEmail?: string | null;
|
||||
};
|
||||
typeStep?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
selfTitle?: string | null;
|
||||
selfDesc?: string | null;
|
||||
nominationTitle?: string | null;
|
||||
nominationDesc?: string | null;
|
||||
};
|
||||
selfSteps?:
|
||||
| {
|
||||
label?: string | null;
|
||||
icon?:
|
||||
| (
|
||||
| 'alertCircle'
|
||||
| 'arrowRight'
|
||||
| 'building2'
|
||||
| 'check'
|
||||
| 'checkCircle2'
|
||||
| 'fileText'
|
||||
| 'mapPin'
|
||||
| 'search'
|
||||
| 'send'
|
||||
| 'star'
|
||||
| 'trendingUp'
|
||||
| 'trophy'
|
||||
| 'user'
|
||||
| 'userCheck'
|
||||
| 'userPlus'
|
||||
| 'users'
|
||||
)
|
||||
| null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
nominationSteps?:
|
||||
| {
|
||||
label?: string | null;
|
||||
icon?:
|
||||
| (
|
||||
| 'alertCircle'
|
||||
| 'arrowRight'
|
||||
| 'building2'
|
||||
| 'check'
|
||||
| 'checkCircle2'
|
||||
| 'fileText'
|
||||
| 'mapPin'
|
||||
| 'search'
|
||||
| 'send'
|
||||
| 'star'
|
||||
| 'trendingUp'
|
||||
| 'trophy'
|
||||
| 'user'
|
||||
| 'userCheck'
|
||||
| 'userPlus'
|
||||
| 'users'
|
||||
)
|
||||
| null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
employeeOptions?:
|
||||
| {
|
||||
value?: string | null;
|
||||
label?: string | null;
|
||||
id?: string | null;
|
||||
}[]
|
||||
| null;
|
||||
eligibility?: {
|
||||
allowedEmployeeValues?: string | null;
|
||||
requiredBayernValue?: string | null;
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
employeesLabel?: string | null;
|
||||
bayernLabel?: string | null;
|
||||
ownerLabel?: string | null;
|
||||
ineligibleHeading?: string | null;
|
||||
ineligibleBody?: string | null;
|
||||
ineligibleContactPrefix?: string | null;
|
||||
ineligibleContactEmail?: string | null;
|
||||
};
|
||||
selfContact?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
companyLabel?: string | null;
|
||||
companyPlaceholder?: string | null;
|
||||
nameLabel?: string | null;
|
||||
namePlaceholder?: string | null;
|
||||
emailLabel?: string | null;
|
||||
emailPlaceholder?: string | null;
|
||||
phoneLabel?: string | null;
|
||||
phonePlaceholder?: string | null;
|
||||
footnote?: string | null;
|
||||
};
|
||||
selfSummary?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
companyLabel?: string | null;
|
||||
employeesLabel?: string | null;
|
||||
locationLabel?: string | null;
|
||||
locationPrefix?: string | null;
|
||||
contactLabel?: string | null;
|
||||
};
|
||||
nominationCompany?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
companyLabel?: string | null;
|
||||
companyPlaceholder?: string | null;
|
||||
industryLabel?: string | null;
|
||||
industryPlaceholder?: string | null;
|
||||
locationLabel?: string | null;
|
||||
locationPlaceholder?: string | null;
|
||||
};
|
||||
nominationContact?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
nameLabel?: string | null;
|
||||
namePlaceholder?: string | null;
|
||||
emailLabel?: string | null;
|
||||
emailPlaceholder?: string | null;
|
||||
relationshipLabel?: string | null;
|
||||
relationshipPlaceholder?: string | null;
|
||||
footnote?: string | null;
|
||||
};
|
||||
nominationSummary?: {
|
||||
eyebrow?: string | null;
|
||||
heading?: string | null;
|
||||
companyLabel?: string | null;
|
||||
industryLabel?: string | null;
|
||||
locationLabel?: string | null;
|
||||
nominatedByLabel?: string | null;
|
||||
emptyValue?: string | null;
|
||||
};
|
||||
success?: {
|
||||
selfHeading?: string | null;
|
||||
nominationHeading?: string | null;
|
||||
selfPrefix?: string | null;
|
||||
selfMiddle?: string | null;
|
||||
selfSuffix?: string | null;
|
||||
nominationPrefix?: string | null;
|
||||
nominationMiddle?: string | null;
|
||||
nominationSuffix?: string | null;
|
||||
};
|
||||
};
|
||||
};
|
||||
meta?: {
|
||||
title?: string | null;
|
||||
/**
|
||||
@@ -1764,6 +2189,331 @@ export interface PagesSelect<T extends boolean = true> {
|
||||
};
|
||||
};
|
||||
};
|
||||
participation?:
|
||||
| T
|
||||
| {
|
||||
hero?:
|
||||
| T
|
||||
| {
|
||||
backgroundImage?: T;
|
||||
imageAlt?: T;
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
description?: T;
|
||||
};
|
||||
process?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
description?: T;
|
||||
scrollHint?: T;
|
||||
progressLabel?: T;
|
||||
steps?:
|
||||
| T
|
||||
| {
|
||||
step?: T;
|
||||
title?: T;
|
||||
desc?: T;
|
||||
date?: T;
|
||||
icon?: T;
|
||||
id?: T;
|
||||
};
|
||||
};
|
||||
eligibility?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
description?: T;
|
||||
primaryCta?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
url?: T;
|
||||
};
|
||||
secondaryCta?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
url?: T;
|
||||
};
|
||||
criteria?:
|
||||
| T
|
||||
| {
|
||||
num?: T;
|
||||
title?: T;
|
||||
body?: T;
|
||||
icon?: T;
|
||||
id?: T;
|
||||
};
|
||||
notes?:
|
||||
| T
|
||||
| {
|
||||
title?: T;
|
||||
body?: T;
|
||||
icon?: T;
|
||||
id?: T;
|
||||
};
|
||||
nudgeText?: T;
|
||||
nudgeCta?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
url?: T;
|
||||
};
|
||||
};
|
||||
evaluation?:
|
||||
| T
|
||||
| {
|
||||
image?: T;
|
||||
imageAlt?: T;
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
body?: T;
|
||||
link?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
url?: T;
|
||||
};
|
||||
criteria?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
desc?: T;
|
||||
id?: T;
|
||||
};
|
||||
};
|
||||
applicationWays?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
description?: T;
|
||||
recommendedLabel?: T;
|
||||
institutions?:
|
||||
| T
|
||||
| {
|
||||
text?: T;
|
||||
id?: T;
|
||||
};
|
||||
ways?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
title?: T;
|
||||
desc?: T;
|
||||
icon?: T;
|
||||
featured?: T;
|
||||
listType?: T;
|
||||
facts?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
desc?: T;
|
||||
id?: T;
|
||||
};
|
||||
cta?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
url?: T;
|
||||
};
|
||||
id?: T;
|
||||
};
|
||||
};
|
||||
datesBanner?:
|
||||
| T
|
||||
| {
|
||||
heading?: T;
|
||||
description?: T;
|
||||
mobileItems?:
|
||||
| T
|
||||
| {
|
||||
date?: T;
|
||||
label?: T;
|
||||
id?: T;
|
||||
};
|
||||
desktopItems?:
|
||||
| T
|
||||
| {
|
||||
date?: T;
|
||||
label?: T;
|
||||
id?: T;
|
||||
};
|
||||
};
|
||||
applicationForm?:
|
||||
| T
|
||||
| {
|
||||
image?: T;
|
||||
imageAlt?: T;
|
||||
imageCaption?: T;
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
description?: T;
|
||||
facts?:
|
||||
| T
|
||||
| {
|
||||
num?: T;
|
||||
label?: T;
|
||||
desc?: T;
|
||||
id?: T;
|
||||
};
|
||||
formEyebrow?: T;
|
||||
uploadCta?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
url?: T;
|
||||
};
|
||||
uploadPrompt?: T;
|
||||
uploadFooterCta?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
url?: T;
|
||||
};
|
||||
};
|
||||
form?:
|
||||
| T
|
||||
| {
|
||||
stepCompleteLabel?: T;
|
||||
backLabel?: T;
|
||||
nextLabel?: T;
|
||||
submitLabel?: T;
|
||||
yesLabel?: T;
|
||||
noLabel?: T;
|
||||
requiredSuffix?: T;
|
||||
validation?:
|
||||
| T
|
||||
| {
|
||||
choose?: T;
|
||||
required?: T;
|
||||
invalidEmail?: T;
|
||||
};
|
||||
typeStep?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
selfTitle?: T;
|
||||
selfDesc?: T;
|
||||
nominationTitle?: T;
|
||||
nominationDesc?: T;
|
||||
};
|
||||
selfSteps?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
icon?: T;
|
||||
id?: T;
|
||||
};
|
||||
nominationSteps?:
|
||||
| T
|
||||
| {
|
||||
label?: T;
|
||||
icon?: T;
|
||||
id?: T;
|
||||
};
|
||||
employeeOptions?:
|
||||
| T
|
||||
| {
|
||||
value?: T;
|
||||
label?: T;
|
||||
id?: T;
|
||||
};
|
||||
eligibility?:
|
||||
| T
|
||||
| {
|
||||
allowedEmployeeValues?: T;
|
||||
requiredBayernValue?: T;
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
employeesLabel?: T;
|
||||
bayernLabel?: T;
|
||||
ownerLabel?: T;
|
||||
ineligibleHeading?: T;
|
||||
ineligibleBody?: T;
|
||||
ineligibleContactPrefix?: T;
|
||||
ineligibleContactEmail?: T;
|
||||
};
|
||||
selfContact?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
companyLabel?: T;
|
||||
companyPlaceholder?: T;
|
||||
nameLabel?: T;
|
||||
namePlaceholder?: T;
|
||||
emailLabel?: T;
|
||||
emailPlaceholder?: T;
|
||||
phoneLabel?: T;
|
||||
phonePlaceholder?: T;
|
||||
footnote?: T;
|
||||
};
|
||||
selfSummary?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
companyLabel?: T;
|
||||
employeesLabel?: T;
|
||||
locationLabel?: T;
|
||||
locationPrefix?: T;
|
||||
contactLabel?: T;
|
||||
};
|
||||
nominationCompany?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
companyLabel?: T;
|
||||
companyPlaceholder?: T;
|
||||
industryLabel?: T;
|
||||
industryPlaceholder?: T;
|
||||
locationLabel?: T;
|
||||
locationPlaceholder?: T;
|
||||
};
|
||||
nominationContact?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
nameLabel?: T;
|
||||
namePlaceholder?: T;
|
||||
emailLabel?: T;
|
||||
emailPlaceholder?: T;
|
||||
relationshipLabel?: T;
|
||||
relationshipPlaceholder?: T;
|
||||
footnote?: T;
|
||||
};
|
||||
nominationSummary?:
|
||||
| T
|
||||
| {
|
||||
eyebrow?: T;
|
||||
heading?: T;
|
||||
companyLabel?: T;
|
||||
industryLabel?: T;
|
||||
locationLabel?: T;
|
||||
nominatedByLabel?: T;
|
||||
emptyValue?: T;
|
||||
};
|
||||
success?:
|
||||
| T
|
||||
| {
|
||||
selfHeading?: T;
|
||||
nominationHeading?: T;
|
||||
selfPrefix?: T;
|
||||
selfMiddle?: T;
|
||||
selfSuffix?: T;
|
||||
nominationPrefix?: T;
|
||||
nominationMiddle?: T;
|
||||
nominationSuffix?: T;
|
||||
};
|
||||
};
|
||||
};
|
||||
meta?:
|
||||
| T
|
||||
| {
|
||||
|
||||
Reference in New Issue
Block a user