@procraft/widget-order
Version:
Order widget for landing
66 lines (65 loc) • 1.89 kB
TypeScript
import { CatalogFieldValue, CourseItem, CourseTariffPublicCustom, Maybe, OrderCatalogItemFragment, OrderReviewsConnection, SaleBenefitKind, SaleBenefitUnit } from '../modules/gql/generated/types';
import { CourseFragment } from './CourseFragment';
export declare type Tariff = CourseTariffPublicCustom;
export declare type CatalogItemSale = {
id: string;
uid: number;
name: string;
isActive: boolean;
benefitAmount?: number | null;
benefitKind: SaleBenefitKind;
benefitUnit?: SaleBenefitUnit | null;
benefitItems: {
id: string;
uid: number;
name: string;
title: string[];
unitPrice?: number | null;
unitPriceOriginal?: number | null;
/** Опции с ценами */
fieldValues?: Maybe<Array<CatalogFieldValue>>;
}[];
};
export declare type CatalogItemMaster = {
currency: string;
};
export declare type CatalogItem = {
id: string;
uid: number;
name: string;
sales?: CatalogItemSale[] | null;
course?: CourseItem | null;
master?: Maybe<CatalogItemMaster>;
};
/**
* @deprecated
*/
export declare type WidgetOrderCourseItem = {
name: string;
oldPrice: number | null;
price: number;
childs?: WidgetOrderCourseItem[];
course: {
tariff: Tariff;
};
catalogItem: CatalogItem;
/**
* Если null, то набор неограниченный
*/
placesLeft: number | null;
/**
* Количество отзывов
*/
reviewsCount: number | undefined;
reviews: OrderReviewsConnection | undefined;
};
export interface WidgetOrderProps {
style?: Record<string, any>;
className?: string;
catalogItem: OrderCatalogItemFragment;
orderLink: string;
orderLinkParams?: Record<string, string>;
materialsLimit: number;
course: CourseFragment;
ratesVisible?: boolean;
}