/** * Per-language translation content for an item. */ export interface ItemTranslation { name?: string; simpleDescription?: string; description?: ItemDescriptionField[]; } export interface Item { id: string; name: string; visible: boolean; priority: number; quantity: number; price: number; discount: number; currency: string; imgs: string[]; tags: string[]; badges?: string[]; simpleDescription: string; description: ItemDescriptionField[]; subcategoryId: string; comments?: Comment[]; /** Optional translations keyed by language code: { ru: { name: '...', simpleDescription: '...', description: [...] } } */ translations?: { [lang: string]: ItemTranslation }; } export interface ItemDescriptionField { key: string; value: string; } export interface Comment { id: string; text: string; createdAt: Date; author?: string; stars?: number; } export interface ItemsListResponse { items: Item[]; total: number; page: number; limit: number; hasMore: boolean; }