wm-fontis-tibi-2023/types/global.d.ts

196 lines
3.1 KiB
TypeScript
Raw Normal View History

2023-07-14 21:32:33 +02:00
interface FileField {
path: string
src: string
type: string
}
2023-07-14 13:58:27 +02:00
interface Pages {
[key: string]: Page
}
interface Page {
path: string
2023-07-14 21:32:33 +02:00
teaser: teaserHomepage
2023-07-14 13:58:27 +02:00
sectionHomepage: Row
2023-07-15 18:15:17 +02:00
rows: outerRow[]
2023-07-14 13:58:27 +02:00
id: string
}
interface teaserHomepage {
showTeaser: boolean
2023-07-14 21:32:33 +02:00
subTitle: string
teaserTitle: string
teaserDescription: string
2023-07-14 13:58:27 +02:00
}
2023-07-15 18:15:17 +02:00
interface outerRow {
row: Row
}
2023-07-14 13:58:27 +02:00
interface Row {
topTitle: string
2023-07-16 13:50:53 +02:00
topTitleRed: boolean
2023-07-14 13:58:27 +02:00
subTitle: string
title: string
pageTitle: string
columns: Column[]
backgroundImage: FileField
}
interface Column {
contentType:
| "image"
| "iconCycleSquare"
| "iconCycleCircle"
| "text"
| "infoBoard"
| "worldCard"
| "nestedCard"
| "topDown"
| "personPreview"
2023-07-15 18:15:17 +02:00
| "boxlist"
| "extendableBoxes"
2023-07-14 13:58:27 +02:00
| "textLink"
2023-07-15 18:15:17 +02:00
| "iconBlocks"
2023-07-14 13:58:27 +02:00
| "pageLinkBlocks"
2023-07-15 18:15:17 +02:00
| "publications"
| "networkEvents"
2023-07-14 13:58:27 +02:00
image?: FileField
2023-07-17 09:24:08 +02:00
icons: {
icon: FileField
link: string
}[]
2023-07-14 13:58:27 +02:00
iconCycleSquare?: IconCycleSquare
iconCycleCircle?: IconCycleCircle
text: string
2023-07-14 21:32:33 +02:00
textLink: TextLink
2023-07-14 13:58:27 +02:00
infoBoard: InfoBoard
worldCard: WorldCard
2023-07-15 18:15:17 +02:00
nestedCard: NestedCard[]
2023-07-14 13:58:27 +02:00
topDown: TopDown
2023-07-15 18:15:17 +02:00
personPreview: PersonPreview[]
2023-07-14 13:58:27 +02:00
boxList: BoxList
2023-07-15 18:15:17 +02:00
extendableBoxes: ExtendableBox[]
2023-07-14 13:58:27 +02:00
iconBlocks: iconBlock[]
pageLinkBlocks: pageLinkBlock[]
networkEvents: NetworkEvent[]
2023-07-15 18:15:17 +02:00
publications: Publication[]
2023-07-14 13:58:27 +02:00
}
interface Publication {
file: FileField
content: string
}
interface NetworkEvent {
2023-07-15 18:15:17 +02:00
beginDate: Date
2023-07-14 13:58:27 +02:00
endDate: Date
title: string
file: FileField
}
interface iconBlock {
icon: FileField
2023-07-16 13:50:53 +02:00
iconFocused: FileField
2023-07-14 13:58:27 +02:00
bigText: string
smallText: string
}
interface pageLinkBlock {
name: string
rowNr: number
page: string
2023-07-17 09:24:08 +02:00
extendableRowNr: number
2023-07-14 13:58:27 +02:00
}
interface IconCycleSquare {
boxes: Box[]
}
interface IconCycleCircle {
boxes: Box[]
innerText: string
}
interface Box {
icon: FileField
text: string
circle: boolean
}
interface InfoBoard {
title: string
icon: FileField
text: string
}
interface WorldCard {
2023-07-16 23:31:08 +02:00
rows: WorldCardRow[]
}
interface worldCardRow {
2023-07-14 13:58:27 +02:00
cards: Card[]
}
interface Card {
2023-07-16 23:31:08 +02:00
verticalAlignment: string
horizontalAlignment: string
2023-07-14 13:58:27 +02:00
image: FileField
title: string
properties: number[]
}
interface NestedCard {
title: string
description: string
}
interface TopDown {
rows: TopDownRow[]
}
interface TopDownRow {
2023-07-15 18:15:17 +02:00
inital: string
2023-07-14 13:58:27 +02:00
rest: string
description: string
}
interface PersonPreview {
2023-07-15 18:15:17 +02:00
initialImage: FileField
2023-07-14 13:58:27 +02:00
hoverImage: FileField
name: string
2023-07-15 18:15:17 +02:00
link: string
2023-07-14 13:58:27 +02:00
}
interface BoxList {
2023-07-15 18:15:17 +02:00
boxes: {
2023-07-14 13:58:27 +02:00
name: string
}[]
}
interface ExtendableBox {
title: string
text: string
2023-07-15 18:15:17 +02:00
emailButton: boolean
emailSubject: string
2023-07-14 13:58:27 +02:00
}
interface FileField {
path: string
src: string
type: string
}
interface TextLink {
text: string
link: string
}
interface Navigation {
tree: number
2023-07-15 18:15:17 +02:00
pages: NavElement[]
2023-07-14 13:58:27 +02:00
}
interface NavElement {
name: string
page: string
}