93 lines
1.7 KiB
TypeScript
93 lines
1.7 KiB
TypeScript
|
|
interface ProductInfo {
|
|
id: number
|
|
title: string
|
|
description: string
|
|
model3d?: string
|
|
image1?: string
|
|
image2?: string
|
|
image3?: string
|
|
}
|
|
|
|
interface scene3D {
|
|
id: number
|
|
name: string
|
|
min_distance: number
|
|
max_distance: number
|
|
elements: element3DType[]
|
|
description?: string
|
|
env: {
|
|
hdr_gainmap?: string
|
|
hdr_json?: string
|
|
hdr_webp?: string
|
|
clear_color?: string
|
|
}
|
|
loading?: boolean
|
|
}
|
|
interface element3DType {
|
|
id: number
|
|
model_file: string
|
|
name: string
|
|
description?: string
|
|
parent?: number,
|
|
min_distance?: number,
|
|
max_distance?: number,
|
|
is_enabled: boolean
|
|
can_not_disable: boolean
|
|
x_pos: number
|
|
y_pos: number
|
|
z_pos: number
|
|
}
|
|
interface model3DType {
|
|
id?: number
|
|
modelUrl?: string,
|
|
modelFile?: any,
|
|
name: string
|
|
}
|
|
interface clickableAreaType {
|
|
description: string;
|
|
id: number;
|
|
name: string;
|
|
object_name: string;
|
|
image?: string;
|
|
source: number;
|
|
target: number;
|
|
}
|
|
interface PromoSidebarData {
|
|
title?: string
|
|
description?: string
|
|
target?: string
|
|
}
|
|
interface PromoSidebar extends PromoSidebarData {
|
|
id_clickable?: number
|
|
loading: boolean
|
|
is_open: boolean
|
|
accordions: string[]
|
|
}
|
|
interface PromoScene {
|
|
id: number
|
|
name: string
|
|
is_enabled?: boolean
|
|
}
|
|
interface EnvVars {
|
|
focus: number,
|
|
hdr_gainmap?: string,
|
|
hdr_json?: string,
|
|
hdr_webp?: string,
|
|
clear_color?: string,
|
|
}
|
|
|
|
interface PageItem {
|
|
id: number;
|
|
images: Image[];
|
|
name: string;
|
|
slug: string;
|
|
is_front: boolean;
|
|
scene_3d: number;
|
|
}
|
|
interface Image {
|
|
id: number;
|
|
file: string;
|
|
alt: string;
|
|
title: string;
|
|
} |