convexsol_stage/interfaces/eCommerce.interface.ts
2025-12-02 11:02:00 +05:30

102 lines
2.7 KiB
TypeScript

import { FaqInterface } from './microsoftPowerPage.interface';
import { ChooseUsInterface } from './mobileApp.interface';
import { CaseStudiesPageInterface } from './newCaseStudies.interface';
import { MethodologiesInterface } from './serviceDetails.interface';
interface LogoImageDataInterface {
data: { attributes: { url: string; alternativeText: string; width?: number; height?: number } };
}
export interface LeftRightInterface {
title: string;
card: {
title: string;
description: string;
image: LogoImageDataInterface;
icon: LogoImageDataInterface;
}[];
}
export interface DevelopmentServiceInterface {
title: string;
description?: string;
service: {
heading: string;
details: string;
logo: LogoImageDataInterface;
}[];
}
export interface ProcessInterface {
title: string;
details: string;
label: string;
}
export interface HeroInterface {
heroTitle: string;
heroDetails: string;
buttonText: string;
buttonIcon: LogoImageDataInterface;
bottomImages: { data: { attributes: { url: string; alternativeText: string } }[] };
slideText?: string[];
}
export interface BrandLogosInterface {
data: {
attributes: {
brands: {
name?: string;
mobile?: boolean;
logo: LogoImageDataInterface;
}[];
};
};
}
interface CaseStudiesInterface {
data: CaseStudiesPageInterface[];
}
interface IncluSiveInterface {
title: string;
details: string;
tabs: {
title: string;
details: string;
bigImage: LogoImageDataInterface;
icon: LogoImageDataInterface;
}[];
}
export interface ECommerceApiInterface {
hero: HeroInterface;
developmentService: DevelopmentServiceInterface;
processData: ProcessInterface[];
leftRightCom: LeftRightInterface;
upscale: DevelopmentServiceInterface;
basePoke: DevelopmentServiceInterface;
brandLogos: BrandLogosInterface;
vetted: MethodologiesInterface;
inclusive: IncluSiveInterface;
caseStudies: CaseStudiesInterface;
forwardThink: DevelopmentServiceInterface;
chooseUs: ChooseUsInterface;
faq: FaqInterface;
clients: ClientsInterface;
}
export interface HeadingDescription {
id: number;
heading: string;
description: string;
order: number;
}
export interface ClientsInterface extends HeadingDescription {
brandLogos: {
data: {
attributes: {
brands: {
name?: string;
mobile?: boolean;
logo: LogoImageDataInterface;
}[];
};
};
};
}