215 lines
4.2 KiB
TypeScript
215 lines
4.2 KiB
TypeScript
import type { DefineComponent } from "vue";
|
|
|
|
export interface ListResponse {
|
|
page: number;
|
|
perPage: number;
|
|
totalItems: number;
|
|
totalPages: number;
|
|
}
|
|
|
|
export interface PBMenuItem {
|
|
page: number;
|
|
page_name: string;
|
|
perPage: number;
|
|
totalItems: number;
|
|
totalPages: number;
|
|
is_root: boolean;
|
|
is_default: boolean;
|
|
id_page: string;
|
|
id: string;
|
|
id_parent: string;
|
|
url: string;
|
|
name: string;
|
|
link_rewrite: string;
|
|
active: boolean;
|
|
collectionId: string;
|
|
collectionName: string;
|
|
created: string;
|
|
link_title: string;
|
|
meta_description: string;
|
|
meta_title: string;
|
|
position_id: number;
|
|
updated: string;
|
|
}
|
|
|
|
export interface PBFooterItem {
|
|
id: string;
|
|
id_lang: string;
|
|
address: string;
|
|
phone: string;
|
|
email: string;
|
|
contact_info: Array<{
|
|
field: keyof PBFooterItem;
|
|
title: string;
|
|
}>;
|
|
data: Array<{
|
|
title: string;
|
|
items: Array<string>;
|
|
}>;
|
|
company_info: Array<{
|
|
data: string;
|
|
title: string;
|
|
}>;
|
|
}
|
|
|
|
// export interface PBPageItem {
|
|
// collectionId: string;
|
|
// collectionName: string;
|
|
// component_name: string;
|
|
// id: string;
|
|
// image_collection: string;
|
|
// page_created: string;
|
|
// page_id: string;
|
|
// page_name: string;
|
|
// page_section_id_position: number;
|
|
// page_updated: string;
|
|
// section_id: string;
|
|
// section_img: string[];
|
|
// section_lang_created: string;
|
|
// section_lang_data: SectionLangData;
|
|
// section_lang_id_lang: string;
|
|
// section_name: string;
|
|
// }
|
|
|
|
// export interface SectionLangData {
|
|
// title: string;
|
|
// description: string;
|
|
// button: string;
|
|
// button_call: string;
|
|
// }
|
|
|
|
export interface UIMenuItem extends PBMenuItem {
|
|
children?: UIMenuItem[];
|
|
}
|
|
|
|
export interface MenuListResponse extends ListResponse {
|
|
items: PBMenuItem[];
|
|
}
|
|
|
|
export interface FooterListResponse extends ListResponse {
|
|
items: PBFooterItem[];
|
|
}
|
|
|
|
export type componentsListType = {
|
|
name: string;
|
|
component: FrontSection;
|
|
componentInstance: DefineComponent;
|
|
// data: unknown;
|
|
};
|
|
|
|
// menuStore
|
|
// export type CountryList = {
|
|
// call_prefix: string;
|
|
// currency_iso_code: string;
|
|
// iso_code: string;
|
|
// name: string;
|
|
// }
|
|
|
|
export type Countries = {
|
|
call_prefix: string;
|
|
currency_iso_code: string;
|
|
iso_code: string;
|
|
name: string;
|
|
};
|
|
|
|
export type PartnersList = {
|
|
country_iso: string;
|
|
country_name: string;
|
|
total: number;
|
|
};
|
|
|
|
export type Currencies = {
|
|
iso_code: string;
|
|
name: string;
|
|
UpdatedAt: string;
|
|
iso_code_num: number;
|
|
precision: number;
|
|
sign: string;
|
|
active: boolean;
|
|
suffix: boolean;
|
|
};
|
|
|
|
export type FeatureValue = {
|
|
parent: number;
|
|
products_with_value: number;
|
|
value: string;
|
|
value_id: number;
|
|
};
|
|
|
|
export type Feature = {
|
|
feature: string;
|
|
feature_id: number;
|
|
feature_values: FeatureValue[];
|
|
products_with_feature: number;
|
|
};
|
|
|
|
export type ProductType = {
|
|
applied_tax_rate: number;
|
|
cover_picture_uuid: string;
|
|
description: string;
|
|
formatted_price: string;
|
|
id: number;
|
|
in_stock: number;
|
|
is_sale_active: boolean;
|
|
link_rewrite: string;
|
|
name: string;
|
|
price: number;
|
|
tax_name: string;
|
|
cart_item_id?: number;
|
|
product_id?: number;
|
|
};
|
|
|
|
export interface Country {
|
|
iso_code: string;
|
|
currency_iso_code: string;
|
|
call_prefix: string;
|
|
need_postcode: boolean;
|
|
postcode_format: string;
|
|
is_default: boolean;
|
|
active: boolean;
|
|
name: string;
|
|
}
|
|
|
|
export interface Currency {
|
|
iso_code: string;
|
|
name: string;
|
|
UpdatedAt: string;
|
|
iso_code_num: number;
|
|
precision: number;
|
|
sign: string;
|
|
active: boolean;
|
|
suffix: boolean;
|
|
}
|
|
|
|
export interface UserCart {
|
|
id: number;
|
|
checkout_in_progress: boolean;
|
|
total_value: number;
|
|
currency_iso: string;
|
|
}
|
|
|
|
export interface GenericResponse<Data> {
|
|
data: Data;
|
|
message?: string;
|
|
status: number;
|
|
}
|
|
|
|
export interface GenericResponseItems<Data> {
|
|
data: { items: Data; items_count: number };
|
|
message?: string;
|
|
status: number;
|
|
}
|
|
|
|
export interface GenericResponseChildren<Data> {
|
|
data: { children: Data; items_count: number };
|
|
message?: string;
|
|
status: number;
|
|
}
|
|
|
|
export type {
|
|
InvestmentPiece,
|
|
PlanPrediction,
|
|
PeriodToFirstPiece,
|
|
} from "./planPrediction";
|
|
export type { Product } from "./product";
|
|
export type { FrontMenu, FrontMenuLang, UIFrontMenu } from "./frontMenu"; |