tibi-docs/types/content.d.ts
2024-03-11 17:26:10 +00:00

50 lines
1.1 KiB
TypeScript

interface Content {
path: string
active: boolean
type: "page"
pageTitle: string
rows: Row[]
id: string
meta: {
title: string
description: string
keywords: string
}
}
enum ContentWidth {
Full = 0,
Normal = 1,
Narrow = 2,
}
interface Row {
title: string
backgroundImage: string
contentWidth: ContentWidth
columns: Column[]
}
type Column =
| { contentType: "images"; images: string[] }
| { contentType: "moduleImport"; moduleImport: string }
| { contentType: "form"; moduleImport: string }
| { contentType: "text"; text: string }
| { contentType: "googleMaps" }
| {
contentType: "productSlider"
productSlider: {
productSource: "manual" | "category" | "bestseller" | "newProducts" | "offers"
productSKUs: string[]
category: string
}
}
interface SizeChart {
rows: Row[]
}
type Module =
| { type: "form"; form: DBFormObj; id: string }
| { type: "completeYourLook"; completeYourLook: CompleteYourLook }
| { type: "sizeChart"; sizeChart: SizeChart }