feat: enhance variant attribute handling across components for improved selection and display

This commit is contained in:
2026-08-10 12:25:58 -03:00
parent d6bab24e1d
commit 56f602d876
9 changed files with 191 additions and 35 deletions

View File

@@ -1,3 +1,5 @@
import { VariantAttributeValue } from '../catalog/catalog.interface';
export interface CartItemProduct {
nombre: string;
imagen: string | null;
@@ -8,7 +10,7 @@ export interface CartItemVariant {
id: number;
precio: string;
stock_tecnico: number | null;
values: Record<string, string | string[]>;
values: Record<string, VariantAttributeValue>;
}
export interface CartItem {

View File

@@ -47,6 +47,17 @@ export interface ProductAttribute {
export type InventoryPolicy = 'tracked' | 'unlimited';
export interface VariantAttributeOptionValue {
value: string;
label: string;
}
export type VariantAttributeValue =
| VariantAttributeOptionValue
| VariantAttributeOptionValue[]
| string
| string[];
export interface CatalogItemVariant {
id: number;
descripcion?: string | null;
@@ -59,7 +70,7 @@ export interface CatalogItemVariant {
maximum_use_date?: string | null;
effective_minimum_use_date?: string | null;
effective_maximum_use_date?: string | null;
values: Record<string, string | string[]>;
values: Record<string, VariantAttributeValue>;
}
export interface SelectedCatalogItemVariant extends CatalogItemVariant {
@@ -98,7 +109,7 @@ export interface CatalogFeaturedItemVariant {
descripcion?: string | null;
precio?: string;
stock_tecnico: number | null;
values: Record<string, string | string[]>;
values: Record<string, VariantAttributeValue>;
}
export interface CatalogFeaturedItem {