feat(product): add reusable Product Experience 2.0

Unify product details modules behind config-driven contracts so teams can
extend UX without changing runtime architecture or bootstrap flow.

Keep backward compatibility with existing product payloads by treating new
media/specification/variant/related structures as optional extensions.

Improve conversion and content discoverability with reusable actions,
typed media rendering, grouped specifications, dynamic variants, and
multi-collection related products.
This commit is contained in:
sdarbinyan
2026-07-10 13:10:35 +04:00
parent 86de2cc45b
commit aed0a47388
37 changed files with 1257 additions and 77 deletions

View File

@@ -36,3 +36,14 @@ export interface RelatedProductsQuery {
categoryID?: number;
count?: number;
}
export interface RelatedProductCollection {
id: string;
title: string;
titles?: Record<string, string>;
productIDs: number[];
}
export interface ProductVariantSelection {
[groupKey: string]: string;
}