You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
2.6 KiB
174 lines
2.6 KiB
export interface NavItem {
|
|
label: string;
|
|
href: string;
|
|
children?: NavItem[];
|
|
}
|
|
|
|
|
|
export type ProductTag = "new" | "hot" | "sale" | "none";
|
|
|
|
export interface Product {
|
|
id: string;
|
|
name: string;
|
|
description?: string;
|
|
price?: number;
|
|
image: string;
|
|
href?: string;
|
|
tag?: ProductTag;
|
|
eyebrow?: string;
|
|
summary?: string;
|
|
bullets?: string[];
|
|
badges?: string[];
|
|
}
|
|
|
|
export interface Floor {
|
|
id: string;
|
|
title: string;
|
|
hero?: {
|
|
image?: string;
|
|
href?: string;
|
|
title?: string;
|
|
subtitle?: string;
|
|
eyebrow?: string;
|
|
description?: string;
|
|
};
|
|
products: Product[];
|
|
}
|
|
|
|
export interface HeroData {
|
|
title: string;
|
|
subtitle: string;
|
|
cta1: string;
|
|
cta2: string;
|
|
cta2Href: string;
|
|
}
|
|
|
|
export interface AboutCard {
|
|
title: string;
|
|
content: string;
|
|
}
|
|
|
|
export interface AboutData {
|
|
hero?: {
|
|
title: string;
|
|
subtitle: string;
|
|
};
|
|
title: string;
|
|
content: string;
|
|
cards: AboutCard[];
|
|
}
|
|
|
|
export interface TechItem {
|
|
title: string;
|
|
content: string;
|
|
}
|
|
|
|
export interface TechData {
|
|
hero?: {
|
|
title: string;
|
|
subtitle: string;
|
|
};
|
|
title: string;
|
|
items: TechItem[];
|
|
}
|
|
|
|
export interface SolutionItem {
|
|
id: string;
|
|
tag?: string;
|
|
title: string;
|
|
summary: string;
|
|
bullets: string[];
|
|
badges?: string[];
|
|
image: string;
|
|
}
|
|
|
|
export interface SolutionsData {
|
|
hero?: {
|
|
eyebrow?: string;
|
|
title: string;
|
|
subtitle?: string;
|
|
description?: string;
|
|
};
|
|
title: string;
|
|
items: SolutionItem[];
|
|
}
|
|
|
|
export interface CaseItem {
|
|
title: string;
|
|
content: string;
|
|
}
|
|
|
|
export interface CasesData {
|
|
hero?: {
|
|
title: string;
|
|
subtitle: string;
|
|
};
|
|
title: string;
|
|
items: CaseItem[];
|
|
}
|
|
|
|
export interface PartnersData {
|
|
title: string;
|
|
partners: string[];
|
|
}
|
|
|
|
export interface NewsItem {
|
|
title: string;
|
|
content: string;
|
|
meta: string;
|
|
}
|
|
|
|
export interface NewsData {
|
|
hero?: {
|
|
title: string;
|
|
subtitle: string;
|
|
};
|
|
title: string;
|
|
items: NewsItem[];
|
|
}
|
|
|
|
export interface CareersData {
|
|
hero?: {
|
|
title: string;
|
|
subtitle: string;
|
|
};
|
|
title: string;
|
|
content: string;
|
|
}
|
|
|
|
export type ContactFieldType =
|
|
| "text"
|
|
| "email"
|
|
| "tel"
|
|
| "url"
|
|
| "textarea"
|
|
| "select";
|
|
|
|
export interface ContactField {
|
|
id: string;
|
|
label?: string;
|
|
placeholder: string;
|
|
type?: ContactFieldType;
|
|
maxLength?: number;
|
|
span?: "full";
|
|
options?: string[];
|
|
}
|
|
|
|
export interface ContactFormContent {
|
|
title: string;
|
|
description?: string;
|
|
note?: string;
|
|
submit: string;
|
|
fields: ContactField[];
|
|
}
|
|
|
|
export interface ContactData {
|
|
hero?: {
|
|
title: string;
|
|
subtitle?: string;
|
|
image?: string;
|
|
};
|
|
form: ContactFormContent;
|
|
}
|
|
|
|
|
|
|