@procraft/widget-order
Version:
Order widget for landing
105 lines (84 loc) • 2.07 kB
text/typescript
import {
CatalogFieldValue,
CourseItem,
// CourseTariffPriceDetailsSubscriptionItem,
CourseTariffPublicCustom,
Maybe,
OrderCatalogItemFragment,
// FlowPublicCustom,
OrderReviewsConnection,
SaleBenefitKind,
SaleBenefitUnit,
} from '../modules/gql/generated/types'
import { CourseFragment } from './CourseFragment'
export type Tariff = CourseTariffPublicCustom
export 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 type CatalogItemMaster = {
currency: string
}
export type CatalogItem = {
id: string
uid: number
name: string
sales?: CatalogItemSale[] | null
course?: CourseItem | null
master?: Maybe<CatalogItemMaster>
}
/**
* @deprecated
*/
export type WidgetOrderCourseItem = {
// id: string
// uid: number
name: string
oldPrice: number | null
price: number
childs?: WidgetOrderCourseItem[]
course: {
// flow: FlowPublicCustom
tariff: Tariff
}
catalogItem: CatalogItem
/**
* Если null, то набор неограниченный
*/
placesLeft: number | null
/**
* Количество отзывов
*/
reviewsCount: number | undefined
reviews: OrderReviewsConnection | undefined
// subscriptions: CourseTariffPriceDetailsSubscriptionItem[] | undefined
}
export interface WidgetOrderProps {
style?: Record<string, any>
className?: string
// object: WidgetOrderObject
// items: WidgetOrderCourseItem[]
catalogItem: OrderCatalogItemFragment
// Ссылка для оплаты
orderLink: string
orderLinkParams?: Record<string, string>
materialsLimit: number
// courses: CourseFragment[]
course: CourseFragment
ratesVisible?: boolean
}