x
This commit is contained in:
1 parent
d325cd8763
commit
c6bf2f70ac
45 files changed
+5195
-338
No files matched your search
@@ -160,3 +160,104 @@ export interface CartItem {
|
||||
variantSize?: string | null
|
||||
productImage?: string | null
|
||||
}
|
||||
|
||||
export interface Page {
|
||||
id: number
|
||||
slug: string
|
||||
title: string
|
||||
isPublished: boolean
|
||||
sections?: PageSection[]
|
||||
createdAt?: string
|
||||
updatedAt?: string
|
||||
}
|
||||
|
||||
export interface PageSection {
|
||||
id: number
|
||||
pageId: number
|
||||
type: string // e.g. 'HERO' | 'CATEGORIES' | 'PRODUCTS' | 'BANNER' | 'TEXT'
|
||||
order: number
|
||||
payload: any // Specific payload depending on type
|
||||
isActive: boolean
|
||||
createdAt?: string
|
||||
updatedAt?: string
|
||||
}
|
||||
|
||||
export interface HeroSectionPayload {
|
||||
tagline: string
|
||||
title: string
|
||||
description: string
|
||||
imageUrl: string
|
||||
buttonText: string
|
||||
buttonLink: string
|
||||
}
|
||||
|
||||
export interface CategoriesSectionPayload {
|
||||
title: string
|
||||
subtitle?: string
|
||||
categoryIds?: number[]
|
||||
}
|
||||
|
||||
export interface ProductsSectionPayload {
|
||||
title: string
|
||||
subtitle?: string
|
||||
type: 'featured' | 'scent' | 'custom'
|
||||
scentId?: number
|
||||
productIds?: number[]
|
||||
limit?: number
|
||||
layout?: 'grid' | 'carousel'
|
||||
enableQuickShop?: boolean
|
||||
}
|
||||
|
||||
export interface BannerSectionPayload {
|
||||
imageUrl: string
|
||||
linkUrl?: string
|
||||
title?: string
|
||||
description?: string
|
||||
buttonText?: string
|
||||
}
|
||||
|
||||
export interface TextSectionPayload {
|
||||
title?: string
|
||||
content: string
|
||||
textAlign?: 'left' | 'center' | 'right'
|
||||
}
|
||||
|
||||
export interface AnnouncementBarSectionPayload {
|
||||
slides: string[]
|
||||
backgroundColor?: string
|
||||
textColor?: string
|
||||
speed?: number
|
||||
}
|
||||
|
||||
export interface NewsletterSectionPayload {
|
||||
title: string
|
||||
description: string
|
||||
buttonText: string
|
||||
placeholderText?: string
|
||||
showPrivacyCheckbox: boolean
|
||||
privacyText?: string;
|
||||
}
|
||||
|
||||
export interface EditorialTileSectionPayload {
|
||||
title: string
|
||||
description: string
|
||||
imageUrl: string
|
||||
imagePosition: 'left' | 'right'
|
||||
buttonText?: string
|
||||
buttonLink?: string
|
||||
backgroundColor?: string
|
||||
textColor?: string
|
||||
}
|
||||
|
||||
export interface EditorialCarouselSectionPayload {
|
||||
title: string
|
||||
slides: {
|
||||
category: string
|
||||
title: string
|
||||
description: string
|
||||
imageUrl: string
|
||||
buttonText?: string
|
||||
buttonLink?: string
|
||||
}[]
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user