Initial commit: New industrial design with green theme
This commit is contained in:
83
src/types/index.ts
Normal file
83
src/types/index.ts
Normal file
@@ -0,0 +1,83 @@
|
||||
// Site Configuration Types
|
||||
export interface SiteConfig {
|
||||
name: string;
|
||||
nameTh: string;
|
||||
url: string;
|
||||
description: string;
|
||||
phone: string;
|
||||
email: string;
|
||||
lineId: string;
|
||||
facebookUrl: string;
|
||||
address: string;
|
||||
}
|
||||
|
||||
export interface WorkHours {
|
||||
day: string;
|
||||
hours: string;
|
||||
isClosed?: boolean;
|
||||
}
|
||||
|
||||
export interface ProductCategory {
|
||||
id: string;
|
||||
name: string;
|
||||
nameEn: string;
|
||||
slug: string;
|
||||
href: string;
|
||||
image: string;
|
||||
description: string;
|
||||
shortDescription?: string;
|
||||
keywords?: string[];
|
||||
seoContent?: string;
|
||||
}
|
||||
|
||||
export interface NavItem {
|
||||
label: string;
|
||||
labelEn: string;
|
||||
href: string;
|
||||
children?: NavItem[];
|
||||
}
|
||||
|
||||
// Blog Types
|
||||
export interface BlogPost {
|
||||
slug: string;
|
||||
title: string;
|
||||
excerpt: string;
|
||||
content: string;
|
||||
date: string;
|
||||
author: string;
|
||||
category: string;
|
||||
image?: string;
|
||||
}
|
||||
|
||||
export interface BlogCategory {
|
||||
name: string;
|
||||
slug: string;
|
||||
count: number;
|
||||
}
|
||||
|
||||
// Portfolio Types
|
||||
export interface PortfolioItem {
|
||||
id: string;
|
||||
title: string;
|
||||
category: string;
|
||||
image: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
// Contact Form Types
|
||||
export interface ContactFormData {
|
||||
name: string;
|
||||
email: string;
|
||||
phone: string;
|
||||
subject: string;
|
||||
message: string;
|
||||
}
|
||||
|
||||
// SEO Types
|
||||
export interface SEOData {
|
||||
title: string;
|
||||
description: string;
|
||||
keywords?: string[];
|
||||
ogImage?: string;
|
||||
canonical?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user