2026-01-11 22:09:41 +05:30
'use client' ;
2026-01-20 01:33:44 +05:30
import Image from 'next/image' ;
2026-02-22 21:52:54 +05:30
import type { FeaturesContent } from '@/types/cms' ;
2026-01-20 01:33:44 +05:30
2026-02-22 21:52:54 +05:30
const defaultContent : FeaturesContent = {
title : 'Find Trusted Real Estate Professionals On Demand' ,
subtitle : 'Quickly connect with the right agents exactly when you need them.' ,
features : [
{
iconPath : '/assets/icons/hourglass-icon.svg' ,
title : 'Hire Quickly' ,
description : 'Connect with experienced local real estate agents who match your needs and preferences. Our simple process helps you get started quickly and move forward without delays or unnecessary complexity.' ,
} ,
{
iconPath : '/assets/icons/verified-badge-icon.svg' ,
title : 'Verified Agents' ,
description : 'All agents are carefully identity-verified and background-checked to ensure trust and safety. You can confidently work with professionals who meet quality and reliability standards.' ,
} ,
{
iconPath : '/assets/icons/star-orange-icon.svg' ,
title : 'Top Rated' ,
description : 'Work with highly rated agents known for strong expertise and positive client feedback. Their consistent performance helps you make informed and confident property decisions.' ,
} ,
{
iconPath : '/assets/icons/trusted-people-icon.svg' ,
title : 'Trusted by Thousands' ,
description : 'Thousands of buyers, sellers, and renters trust our platform to find reliable agents. Our professionals help people navigate property journeys with confidence and ease.' ,
} ,
] ,
} ;
2026-01-11 22:09:41 +05:30
2026-01-20 01:33:44 +05:30
const agents = [
{
name : 'Anderson' ,
role : 'Rental & Investment Consultant' ,
rating : '4.9' ,
location : 'New York' ,
experience : '7+ years in the real estate industry.' ,
image : '/assets/images/agent-anderson.jpg' ,
position : 'top-left' ,
} ,
{
name : 'Deepak' ,
role : 'Rental & Investment Consultant' ,
rating : '4.9' ,
location : 'New York' ,
experience : '7+ years in the real estate industry.' ,
image : '/assets/images/agent-deepak.jpg' ,
position : 'top-right' ,
} ,
{
name : 'Daniel' ,
role : 'Rental & Investment Consultant' ,
rating : '4.9' ,
location : 'New York' ,
experience : '7+ years in the real estate industry.' ,
image : '/assets/images/agent-daniel.jpg' ,
position : 'bottom-center' ,
} ,
] ;
function AgentCard ( { agent , className = '' } : { agent : typeof agents [ 0 ] ; className? : string } ) {
2026-01-11 22:09:41 +05:30
return (
2026-01-20 01:33:44 +05:30
< div className = { ` bg-white border border-[#00293d]/10 rounded-[15px] w-[254px] overflow-hidden ${ className } ` } >
{ /* Agent Image */ }
< div className = "h-[161px] w-full overflow-hidden rounded-t-[15px]" >
< Image
src = { agent . image }
alt = { agent . name }
width = { 254 }
height = { 161 }
className = "w-full h-full object-cover"
/ >
< / div >
{ /* Agent Info */ }
< div className = "p-4" >
{ /* Name */ }
< h4 className = "font-fractul font-bold text-[16px] leading-[19px] text-[#00293d]" >
{ agent . name }
< / h4 >
{ /* Role */ }
< p className = "font-fractul font-normal text-[14px] leading-[17px] text-[#00293d] mt-1" >
{ agent . role }
< / p >
{ /* Verified & Rating */ }
< div className = "flex items-center gap-4 mt-2" >
< div className = "flex items-center gap-1" >
< Image
src = "/assets/icons/verified-icon.svg"
alt = "Verified"
width = { 14 }
height = { 14 }
/ >
< span className = "font-serif font-medium text-[14px] leading-[19px] text-[#00293d]" >
Verified Agent
< / span >
< / div >
< div className = "flex items-center gap-1" >
< Image
src = "/assets/icons/star-filled-icon.svg"
alt = "Rating"
width = { 14 }
height = { 14 }
/ >
< span className = "font-serif font-normal text-[14px] leading-[19px] text-[#00293d]" >
{ agent . rating } Rating
< / span >
< / div >
2026-01-11 22:09:41 +05:30
< / div >
2026-01-20 01:33:44 +05:30
{ /* Location */ }
< div className = "flex items-center gap-1 mt-2" >
< Image
src = "/assets/icons/location-filled-icon.svg"
alt = "Location"
width = { 15 }
height = { 15 }
/ >
< span className = "font-serif font-medium text-[14px] leading-[19px] text-[#00293d]" >
{ agent . location }
< / span >
< / div >
{ /* Experience */ }
< p className = "mt-2 text-[14px] leading-[19px] text-[#00293d]" >
< span className = "font-serif font-bold" > Experience : < / span >
< span className = "font-serif font-normal" > { agent . experience } < / span >
< / p >
< / div >
< / div >
) ;
}
2026-02-22 21:52:54 +05:30
export function FeaturesSection ( { content } : { content? : FeaturesContent } ) {
const data = content ? ? defaultContent ;
2026-01-20 01:33:44 +05:30
return (
< section className = "py-16 md:py-20 bg-white" >
< div className = "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8" >
< div className = "flex flex-col lg:flex-row gap-12 lg:gap-8" >
{ /* Left Side - Title & Features */ }
< div className = "lg:w-1/2" >
{ /* Section Header */ }
< div className = "mb-8" >
< h2 className = "font-fractul font-bold text-[32px] md:text-[40px] leading-[1.2] text-[#00293d] mb-4" >
2026-02-22 21:52:54 +05:30
{ data . title }
2026-01-20 01:33:44 +05:30
< / h2 >
< p className = "font-fractul font-medium text-[18px] md:text-[20px] leading-[1.4] text-[#00293d]" >
2026-02-22 21:52:54 +05:30
{ data . subtitle }
2026-01-11 22:09:41 +05:30
< / p >
< / div >
2026-01-20 01:33:44 +05:30
{ /* Features Grid - 2x2 */ }
< div className = "grid grid-cols-1 sm:grid-cols-2 gap-4" >
2026-02-22 21:52:54 +05:30
{ data . features . map ( ( feature , index ) = > (
2026-01-20 01:33:44 +05:30
< div
key = { index }
className = "border border-[#00293d]/10 rounded-[15px] p-5"
>
< div className = "mb-3" >
< Image
2026-02-22 21:52:54 +05:30
src = { feature . iconPath }
2026-01-20 01:33:44 +05:30
alt = { feature . title }
width = { 35 }
height = { 35 }
/ >
< / div >
< h3 className = "font-fractul font-semibold text-[20px] leading-[24px] text-[#00293d] mb-2" >
{ feature . title }
< / h3 >
< p className = "font-serif font-normal text-[14px] leading-[19px] text-[#00293d]" >
{ feature . description }
< / p >
< / div >
) ) }
< / div >
< / div >
{ /* Right Side - Agent Cards */ }
< div className = "lg:w-1/2 relative min-h-[650px] hidden lg:block" >
{ /* Anderson - Top Left */ }
< AgentCard
agent = { agents [ 0 ] }
className = "absolute top-0 left-0 shadow-lg z-10"
/ >
{ /* Deepak - Top Right, offset down */ }
< AgentCard
agent = { agents [ 1 ] }
className = "absolute top-[170px] right-0 shadow-lg z-20"
/ >
{ /* Daniel - Bottom Left, overlapping */ }
< AgentCard
agent = { agents [ 2 ] }
className = "absolute top-[320px] left-[60px] shadow-lg z-30"
/ >
< / div >
{ /* Mobile Agent Cards - Horizontal Scroll */ }
< div className = "lg:hidden overflow-x-auto pb-4" >
< div className = "flex gap-4 min-w-max" >
{ agents . map ( ( agent , index ) = > (
< AgentCard key = { index } agent = { agent } className = "shadow-lg flex-shrink-0" / >
) ) }
< / div >
< / div >
2026-01-11 22:09:41 +05:30
< / div >
< / div >
< / section >
) ;
}