Files
operify/app/components/shared/SpecificationsLayout.jsx
2025-09-04 02:33:03 +05:30

67 lines
2.3 KiB
JavaScript

// components/shared/SpecificationsLayout.jsx
import Link from 'next/link';
const SpecificationsLayout = ({
title = "Service Specifications",
specificationItems = [],
backgroundColor = "#e8f5f3",
iconBackgroundColor = "bg-orange-100"
}) => {
return (
<section className="py-8 lg:py-6">
<div className="container-fluid px-4 lg:px-6">
{/* Section Header */}
<div className="text-left mb-8">
<h2 className={"text-3xl font-bold text-teal-700 mb-4"}>
{title}
</h2>
</div>
{/* Specifications Grid */}
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 max-w-6xl mx-auto">
{specificationItems.map((spec, index) => (
<div
key={index}
className="relative"
>
{/* Background Card */}
<div
className="rounded-3xl p-8 h-full min-h-[280px] flex flex-col"
style={{ backgroundColor: backgroundColor }}
>
{/* Icon Circle - Updated to match AdvantagesSection */}
<div className="flex justify-center mb-6">
<div className={`w-16 h-16 ${iconBackgroundColor} rounded-full flex items-center justify-center`}>
<img
src={spec.icon}
className="w-10 h-10 object-contain"
alt={`${spec.title} Icon`}
/>
</div>
</div>
{/* Title */}
<h3 className="text-center text-teal-700 text-lg font-semibold mb-4">
{spec.title}
</h3>
{/* Content */}
<div className="text-gray-700 text-sm leading-relaxed text-center flex-grow flex items-start justify-center">
<div className="w-full">
{spec.renderContent ? spec.renderContent() : (
<div className="text-gray-600">
{spec.content}
</div>
)}
</div>
</div>
</div>
</div>
))}
</div>
</div>
</section>
);
};
export default SpecificationsLayout;