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

88 lines
2.0 KiB
TypeScript

import { ReactNode } from 'react';
interface LogoImageDataInterface {
data: { attributes: { url: string; alternativeText: string; width?: number; height?: number } };
}
export interface HeroInterface {
buttonText: ReactNode;
heroDetails: string;
heroTitle: string;
title: string;
description: string;
image: LogoImageDataInterface;
}
export interface WhyUsInterface {
extraClass: string;
title: string;
cardContent: {
title: string;
details: string;
icon: { data: { attributes: { url: string; alternativeText: string } } };
}[];
}
export interface BrandLogoInterface {
title: string;
icon: LogoImageDataInterface;
}
export interface MissionInterface {
title: string;
details: string;
image: { data: { attributes: { url: string } }[] };
}
export interface CoreInterface {
title: string;
icon: LogoImageDataInterface;
}
export interface ProcessInterface {
title: string;
details: string;
image: LogoImageDataInterface;
cardContent: {
title: string;
icon: LogoImageDataInterface;
}[];
}
export interface TestimonialInterface {
title: string;
description: string;
review: { name: string; designation: string; message: string; profileImage: LogoImageDataInterface }[];
}
export interface AboutPageApiInterface {
hero: HeroInterface;
whyUs: WhyUsInterface;
brandLogo: BrandLogoInterface[];
mission: MissionInterface;
vision: MissionInterface;
core: CoreInterface[];
process: ProcessInterface;
testimonial: TestimonialInterface;
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;
}[];
};
};
};
}