generated from cms/tibi-docs
192 lines
3.4 KiB
TypeScript
192 lines
3.4 KiB
TypeScript
interface FileField {
|
|
path: string
|
|
src: string
|
|
type: string
|
|
}
|
|
|
|
interface Pages {
|
|
[key: string]: Page
|
|
}
|
|
|
|
interface Page {
|
|
path: string
|
|
active: boolean
|
|
type: "page" | "teamMembers" | "jobOffers"
|
|
pageTitle: string
|
|
personType: string
|
|
personPreview: PersonPreview
|
|
teaser: teaserHomepage
|
|
jobOffer: jobOffer
|
|
rows: Row[]
|
|
id: string
|
|
}
|
|
|
|
interface teaserHomepage {
|
|
showTeaser: boolean
|
|
subTitle: string
|
|
teaserTitle: string
|
|
teaserDescription: string
|
|
}
|
|
|
|
interface Row {
|
|
topTitle: string
|
|
topTitleUpperCase: boolean
|
|
title: string
|
|
subTitle: string
|
|
backgroundImage: string
|
|
noBottomMargin: boolean
|
|
noTopMargin: boolean
|
|
flexWrapNormal: boolean
|
|
twoToThree: boolean
|
|
columns: Column[]
|
|
}
|
|
|
|
type Column =
|
|
| { contentType: "image"; image: string; icons: { icon: string; link: string }[] }
|
|
| { contentType: "moduleImport"; moduleImport: string }
|
|
| { contentType: "text"; text: string }
|
|
| { contentType: "infoBoard"; infoBoard: InfoBoard }
|
|
| { contentType: "nestedCard"; nestedCard: NestedCard[] }
|
|
| { contentType: "topDown"; topDown: TopDown }
|
|
| { contentType: "textLink"; textLink: TextLink }
|
|
| { contentType: "iconBlocks"; iconBlocks: IconBlock[] }
|
|
| { contentType: "networkEvents"; networkEvents: NetworkEvent[] }
|
|
| { contentType: "publications"; publications: Publication[] }
|
|
|
|
interface MediaLibrary {
|
|
file: FileField
|
|
id: string
|
|
}
|
|
|
|
type BaseModule = { id: string }
|
|
|
|
type IconCycleModule = BaseModule & {
|
|
type: "iconCycleCircle" | "iconCycleSquare"
|
|
iconCycle?: IconCycleCircle | IconCycleSquare
|
|
}
|
|
|
|
type WorldCardModule = BaseModule & {
|
|
type: "worldCard"
|
|
worldCard?: WorldCard
|
|
}
|
|
|
|
type JobOfferModule = BaseModule & {
|
|
type: "jobOfferLink" | "jobOffer"
|
|
jobOfferPage?: string
|
|
}
|
|
|
|
type SimpleModule = BaseModule & {
|
|
type: "chefTeam" | "employeeTeam"
|
|
}
|
|
|
|
type Module = IconCycleModule | WorldCardModule | JobOfferModule | SimpleModule
|
|
|
|
interface Publication {
|
|
file: string
|
|
content: string
|
|
}
|
|
|
|
interface NetworkEvent {
|
|
beginDate: Date
|
|
endDate: Date
|
|
title: string
|
|
file: string
|
|
}
|
|
|
|
interface iconBlock {
|
|
icon: string
|
|
bigText: string
|
|
smallText: string
|
|
}
|
|
|
|
interface IconCycleSquare {
|
|
boxes: Box[]
|
|
}
|
|
|
|
interface IconCycleCircle {
|
|
boxes: Box[]
|
|
innerText: string
|
|
}
|
|
|
|
interface Box {
|
|
icon: string
|
|
text: string
|
|
circle: boolean
|
|
}
|
|
|
|
interface InfoBoard {
|
|
title: string
|
|
icon: string
|
|
text: string
|
|
}
|
|
|
|
interface WorldCard {
|
|
row: WorldCardRow[]
|
|
}
|
|
interface worldCardRow {
|
|
cards: Card[]
|
|
}
|
|
|
|
interface Card {
|
|
verticalAlignment: string
|
|
horizontalAlignment: string
|
|
image: string
|
|
title: string
|
|
properties: number[]
|
|
}
|
|
|
|
interface NestedCard {
|
|
title: string
|
|
description: string
|
|
}
|
|
|
|
interface TopDown {
|
|
rows: TopDownRow[]
|
|
}
|
|
|
|
interface TopDownRow {
|
|
inital: string
|
|
rest: string
|
|
description: string
|
|
}
|
|
|
|
interface PersonPreview {
|
|
initialImage: string
|
|
hoverImage: string
|
|
name: string
|
|
}
|
|
|
|
interface BoxList {
|
|
boxes: {
|
|
name: string
|
|
}[]
|
|
}
|
|
|
|
interface jobOffer {
|
|
title: string
|
|
text: string
|
|
emailButton: boolean
|
|
emailSubject: string
|
|
}
|
|
|
|
interface string {
|
|
path: string
|
|
src: string
|
|
type: string
|
|
}
|
|
|
|
interface TextLink {
|
|
text: string
|
|
link: string
|
|
}
|
|
|
|
interface Navigation {
|
|
tree: number
|
|
pages: NavElement[]
|
|
}
|
|
|
|
interface NavElement {
|
|
name: string
|
|
page: string
|
|
}
|