feat: implement initial home page with dynamic content, API, and dedicated components.

This commit is contained in:
Wini_Fy
2026-02-05 15:56:06 +07:00
parent 857d250435
commit 11f435378f
8 changed files with 189 additions and 102 deletions

View File

@@ -1,11 +1,19 @@
import { getCmsImageUrl } from '@/utils/image';
interface PartnersProps {
data: {
heading: string;
items: {
name: string;
logo: string;
year: string;
}[];
visaConsultancy: {
items: {
name: string;
icon: string;
year: string;
}[];
};
brands: {
items: {
logo: string;
}[];
};
};
}
@@ -16,11 +24,11 @@ const Partners = ({ data }: PartnersProps) => {
<section className="visa-consultency-section section-padding fix">
<div className="container">
<div className="row g-4">
{data.items.slice(0, 4).map((partner, index) => (
{(data.visaConsultancy?.items || []).map((partner, index) => (
<div key={index} className="col-xl-3 col-lg-4 col-md-6">
<div className="visa-consultency-item">
<div className="image">
<img src={partner.logo} alt="img" />
<img src={getCmsImageUrl(partner.icon)} alt={partner.name} />
</div>
<h3>{partner.name}</h3>
<h6>{partner.year}</h6>
@@ -38,10 +46,10 @@ const Partners = ({ data }: PartnersProps) => {
<div className="brand-item">
<div className="swiper brand-slider">
<div className="swiper-wrapper">
{data.items.slice(4).map((partner, index) => (
{(data.brands?.items || []).map((brand, index) => (
<div key={index} className="swiper-slide">
<div className="brand-image text-center">
<img src={partner.logo} alt={partner.name} />
<img src={getCmsImageUrl(brand.logo)} alt="brand-logo" />
</div>
</div>
))}