UNPKG

stone-kit

Version:
389 lines (388 loc) 13.6 kB
interface LotPromo { /** Промо текст */ val: string; /** Идентификатор */ slug: string; /** Категория */ category: string; /** Ссылка на иконку */ icoImg: string | null; /** hex цвет */ color: string; } export interface ILot { /** id Лота */ id: number; /** Название проекта */ name?: string | null; /** Квартал сдачи */ buildingQuarter?: number | null; /** Какие-то там условия для вывода синей строчки в лоте про рассрочку */ hasBestPurchasingConditions?: boolean | null; /** Какие-то там условия для вывода синей строчки в лоте про рассрочку */ bestPurchasingConditions?: number | null; cornerKitchenLiving?: boolean | null; /** uuid Лота из 1с */ lotUuid: string; /** TODO: убрать */ projectUuid?: string | null; /** Скидка */ discount: string | null; /** Стоимость объекта недвижимости до скидки */ sellingPriceBeforeDiscount: string | null; /** Стоимость объекта недвижимости */ sellingPrice: string | null; /**id проекта */ projectId: number | null; /** Показывать цену или "цена по запросу" */ showPriceFlg?: boolean | null; /** Цена за квм */ sellingPricePerMeter?: string | null; /** цена за метра квадратный за год за аренду */ rentPricePerMeterPerYear: string | null; /** аренда за месяц */ rentPricePerMonth: string | null; /** стороны света */ cardinalDirections?: string[] | null; /** Размер скидки */ discountVolume: number | null; /** Цена со скидкой */ discountedPrice: number | null; /** дата освобождения лота */ availableFrom: string | null; /** дата, до которой должны быть выданы ключи */ handoverKeys: string | null; /** состояние лота: свободен, зарезервирован, продан, сдан в аренду, заблокирован, деактивирован */ status?: number | null; /** Статус аренды лота */ rentStatus: number | null; /** название лота в 1С */ number: string | null | undefined; /** полный адрес лота (с корпусом) */ address: string | null; /** коммерческие программы рассрочки */ termsOfPurchase: string[] | null; /** Тип помещения => Квартиры/Пентхаусы/Келлеры/Паркинг Офисы/Ритейл/Офисные Блоки/Паркинг */ type: number | null; /** Название помещения => Квартиры/Пентхаусы/Келлеры/Паркинг Офисы/Ритейл/Офисные Блоки/Паркинг */ typeName: string | null; /** направления, по которым продвигается этот лот */ direction: number | null; /** Размерность спален S/M/L */ typeSizeCode: string | null; /** номер подъезда/секции */ entrance: string | null; /** Номер квартиры / офиса */ doorNumber: string | null; /** Площадь квартиры */ area: string | null; /** площадь кухни */ kitchenArea: number | null; /** Жилая площадь */ livingArea: number | null; /** Кол-во этажей */ floorsNumber: number | null; /** Этаж */ floor: number | null; /** Высота потолков */ ceiling: string | null; /** Этаж, с которого начинаются продаваемые лоты */ saleFloorMin: number | null; /** Этаж, на котором заканчиваются продаваемые лоты */ saleFloorMax: number | null; /** Первый этаж большого лота/здания */ beginFloor: number | null; /** Последний этаж большого лота/здания */ endFloor: number | null; /** Ежемясячный платеж */ mortgageMonthlyPayment?: string; /** Количество комнат */ roomsCount: number | null; /** Количество спален */ bedroomsCount?: number | null; /** Корпус */ housing: string | null; /** Секция */ section: string | null; /** Очередь строительства */ buildStage: number | null; /** угловое? */ isCorner: boolean | null; /** Квартира с террасой */ terrace?: boolean | null; /** общепит? */ isCatering: boolean | null; /** pdf презентация*/ pdfPresentation: string | null | undefined; /** является ли лот отдельно стоящим зданием */ isDetachedBuilding: boolean | null; /** Наличие телефона */ isPhone: boolean | null; /** в ипотеку */ isMortgage: boolean | null; /** мусоропровод */ isGarbageTube: boolean | null; /** Является ли лот пентхаусом */ isPenthouse?: boolean | null; /** Является ли лот апартаментом */ isApart: boolean | null; /** Является ли лот двухуровневым */ isDoubleLevel?: boolean | null; /** Есть ли пандус */ isRamp: boolean | null; /** Близко ли вход к лифтовой группе */ isCloseToLift: boolean | null; /** Занят ли лот */ isOccupied: boolean | null; /** Является ли лот ГАБ */ isGab: boolean | null; /** Есть ли отделка */ isFacing: boolean | null; /** Особенности квартиры */ features: LotFeature[] | null; /** Количество пассажирских лифтов */ liftPassenger: number | null; /** Количество грузовых лифтов */ liftService?: number | null; /** Количество балконов */ balcony: number | null; /** Ванная с окном */ bathroomWithWindow: boolean | null; /** Гардеробная */ dressingRoom: boolean | null; /** Мастер спальня */ masterBedroom: boolean | null; /** Хз что это */ workroom: boolean | null; objectId: string; /** Хз что это */ reservations?: unknown[]; /** Хз что это */ businessType: string | null; /** Количество лоджий */ loggia?: number | null; /** Состояние помещения */ condition: string | null; /** Тип входа в помещений */ inputType?: string | null; /** Отделка */ decoration?: string | null; /** Тип планировки */ layout: string | null; /** Тип ремонта */ repairType: string | null; /** Слаг лота */ slug: string; /** количество стояков с водой */ waterPipesCount?: number[] | null; /** количество рабочих мест */ workPlacesCount: number | null; /** Количество совместных санузлов */ combinedWcsCount: number | null; /** Возможное назначение */ speciality: number | null; /** Куда выходят витрины */ showcaseWindows: string | null; /** Вид из окна */ windowView: string | null; /** Вид из окна для ритейла*/ windowViews: string[]; /** Promo метки */ promo: LotPromo[] | null; /** Promo текст */ promoText?: string | null; /** Ссылка на картинку */ interiorPlanImg?: string | null; /** Ссылка на картинку */ floorPlanImg: string | null; /** Ссылка на картинку */ sitPlanImg: string | null; /** Дата создания */ createdAt?: string; /** Дата обновления */ updatedAt?: string; /** Первоначальный взнос */ firstPaymentSum?: string | null; /** Массив с лотами в фоисных блоках */ childLots?: { id: number; floor: number; floorPlanImg: string; interiorPlanImg: string; }[]; /** Массив с лотами рекоммендованными */ recommended?: ILot[] | null; parking?: ILot[] | null; /** Проект со страпи */ project?: LotProject | null; /** Мокрая точка */ isWaterPipes?: boolean | null; /** Для компаса */ azimuthAngle?: number | null; /** Декор? хз */ isDecoration?: boolean | null; /** Название подтипа */ subTypeName?: string | null; /** Подтип */ subType: number | null; additionFeatures?: { val: string; slug: string; icoImg: string; category?: string; }[]; } export interface LotFeature { /** Текст */ val: string; /** Категория */ category: string | null; /** Ссылка на иконку */ icoImg: { id: number; attributes: IDefaultImg[] | null; } | null | string; /** Идентификатор */ slug: string; isSearchable?: boolean | null; } export interface LotCardFeature { /** Текст */ val: string; /** Категория */ category: string; /** Ссылка на иконку */ icoImg: { attributes: IDefaultImg; id: number; } | null; /** Идентификатор */ slug: string; } export interface LotProject { /** Массив направлений */ directions: number[]; discount: string; /** id */ id: number; /** Название проекта */ name: string; /** адрес */ address: string; /** особенности, набор строк */ features: LotFeature[] | null; frontFeatures: unknown; geo: { lat: string; long: string; }; logoImg: unknown; minimalLotPrice: { [key: number]: string; }; retailLotsCount: { [key: number]: number; }; salesOffice: unknown; shortDesc: string; showCatalog: boolean; showDetailPage: boolean; showPdfBtn: boolean; /** условия для больших лотов */ bigLotFeatures: LotCardFeature[]; /** условия для каталога */ catalogFeatures: LotCardFeature[]; /** квартал сдачи */ buildingQuarter?: number | null; /** Локация */ location?: string | null; /** год сдачи */ buildingYear?: number; /** широта */ lat?: string; /** долгота */ long?: string; /** сортровка */ sort: number | null; /** Показывать ежемесячный платеж */ isShowPayment: boolean | null; /** Дата создания */ createdAt: string; /** Дата обновления */ updatedAt: string; /** Расстояние до метро */ metro: Metro[]; /** Показывать цену лотов */ showPriceFlg?: boolean; /** uuid */ uuid?: string; /** Статус проекта */ status: string; /** Количество лотов проекта в продаже */ lotsCount?: number | null; /** SitPlan проекта */ sitPlanImg: string; strapiSlug?: string; sortOffice?: number; sortRetail?: number; showPriceSubType?: { value: string; filter: string; }[]; } export interface Metro { /** Цвет ветки */ color: string; /** Широта */ lat?: number; /** Долгота */ long?: number; /** Название станции */ name: string; station?: string | null; /** Время до станции в минутах */ timeTo: number; mode: null | string; /** Иконка */ icon?: { data?: IDefaultImg; } | null; } export interface ILotCard { lot: ILot; /** Скрывать финансовые параметры */ hidFinParam?: boolean; btnName?: string; btnDisabled?: boolean; handleBtnForm: (e?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void; handleFullScreenBtn?: () => void; addClassname?: string; addClassnameLotImage?: string; imgNode?: React.ReactNode; rowConditions?: boolean; isFavorite?: boolean; favoriteClickHandler?: (lot: ILot) => void; } export interface IDefaultImg extends IDefaultAttributes { id: number | null; alternativeText: string | null; caption: string | null; ext: string; formats: unknown; hash: string; height: number; mime: string; name: string; previewUrl: unknown; provider: string; provider_metadata?: unknown; size: number; url: string; width?: number; } export interface IDefaultAttributes { createdAt: string; updatedAt: string; publishedAt: string; } export {};