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

151 lines
3.7 KiB
TypeScript

interface LogoImageDataInterface {
data: { attributes: { url: string; alternativeText: string; width?: number; height?: number } };
}
export interface BrandLogoDataInterface {
name?: string;
mobile?: boolean;
logo: LogoImageDataInterface;
}
export interface CompanyDetailDataInterface {
tag: string;
title: string;
description: string;
btnText?: string;
image: {
data: { attributes: { url: string; alternativeText: string; width?: number; height?: number } }[];
};
}
export interface ExploreOurWorkDataInterface {
title?: string;
workingOn: {
industry?: string;
logo: LogoImageDataInterface;
tabBar: LogoImageDataInterface;
animation?: boolean;
link: string;
}[];
}
export interface TestimonialDataInterface {
title: string;
description: string;
review: { name: string; designation: string; message: string; profileImage: LogoImageDataInterface }[];
}
export interface AboutCompanyDataInterface {
location: string;
title: string;
description: string;
service: string;
serviceTag: string;
typeWriterText: string[];
serviceDescription: string;
companyName: string;
whyChooseTitle: string;
whyChooseDescription: string;
image: LogoImageDataInterface;
servicesCard: ServicesCardInterface[];
devServices: DevServicesInterface[];
}
export interface FlexibleWorkDataInterface {
title: string;
description: string;
image: LogoImageDataInterface;
}
export interface HireDataInterface {
title: string;
description: string;
tagLine: string;
frameworks: {
title: string;
icon: LogoImageDataInterface;
}[];
}
export interface ServicesCardInterface {
work: string;
workValue: string;
icon: LogoImageDataInterface;
}
export interface DevServicesInterface {
name: string;
logo: LogoImageDataInterface;
link?: string;
details?: string;
}
export interface DigitalAllyInterface {
title: string;
details: string;
content: {
title: string;
description: string;
image: LogoImageDataInterface;
icon: LogoImageDataInterface;
}[];
}
export interface ServiceProviderInterface {
techName: string;
techLogo: LogoImageDataInterface;
}
export interface TreasureTroveInterface {
description: string;
image: LogoImageDataInterface;
logo: LogoImageDataInterface;
icon: LogoImageDataInterface;
logoWidth: number;
logoHeight: number;
iconWidth: number;
iconHeight: number;
link: string;
}
interface GrowInterface {
title: string;
subTitle: string;
heroCard: {
work: string;
workValue: string;
icon: LogoImageDataInterface;
}[];
}
export interface HomePageApiDataInterface {
serviceProvider: ServiceProviderInterface[];
grow: GrowInterface;
brandLogo: BrandLogoDataInterface[];
testimonial: TestimonialDataInterface;
about: AboutCompanyDataInterface;
flexibleWork: FlexibleWorkDataInterface[];
companyDetail: CompanyDetailDataInterface;
hire: HireDataInterface;
exploreOurWork: ExploreOurWorkDataInterface[];
digitalAlly: DigitalAllyInterface;
treasureTrove: TreasureTroveInterface[];
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;
}[];
};
};
};
}