website-backend / Frontend /components /features-section.tsx
khagu's picture
add all files for deployment
9215c5e
'use client'
import { Code2, BookOpen, Lightbulb } from 'lucide-react'
const features = [
{
title: 'Open Source',
description: 'Building and contributing to open-source projects that impact the Nepali tech community',
icon: Code2,
color: 'from-green-400 to-green-600',
bgColor: 'bg-green-50 dark:bg-green-900/50',
hoverBg: 'hover:bg-green-100 dark:hover:bg-green-800/60',
borderColor: 'border-green-200 dark:border-green-700',
},
{
title: 'Open Research',
description: 'Advancing knowledge through collaborative research on local tech challenges',
icon: BookOpen,
color: 'from-purple-400 to-purple-600',
bgColor: 'bg-purple-50 dark:bg-purple-900/50',
hoverBg: 'hover:bg-purple-100 dark:hover:bg-purple-800/60',
borderColor: 'border-purple-200 dark:border-purple-700',
},
{
title: 'Nepal Needs',
description: 'Identifying and solving real problems faced by businesses and communities in Nepal',
icon: Lightbulb,
color: 'from-blue-400 to-blue-600',
bgColor: 'bg-blue-50 dark:bg-blue-900/50',
hoverBg: 'hover:bg-blue-100 dark:hover:bg-blue-800/60',
borderColor: 'border-blue-200 dark:border-blue-700',
},
]
export function FeaturesSection() {
return (
<section className="py-12 sm:py-16 md:py-20 px-4 md:px-6 bg-background" aria-labelledby="features-heading">
<div className="container mx-auto">
<div className="text-center mb-10 sm:mb-12 md:mb-16">
<h2 id="features-heading" className="text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-bold text-foreground mb-3 sm:mb-4">
What We Do
</h2>
<p className="text-sm sm:text-base md:text-lg text-muted-foreground max-w-2xl mx-auto px-2">
We focus on three core pillars to drive innovation in Nepal's tech ecosystem
</p>
</div>
<div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 md:gap-8 max-w-6xl mx-auto">
{features.map((feature, index) => {
const Icon = feature.icon
return (
<article
key={index}
className={`${feature.bgColor} ${feature.hoverBg} ${feature.borderColor} p-5 sm:p-6 md:p-8 rounded-xl sm:rounded-2xl transition-all duration-300 hover:shadow-xl sm:hover:scale-105 border group cursor-pointer`}
>
<div className={`w-12 h-12 sm:w-14 sm:h-14 md:w-16 md:h-16 rounded-lg sm:rounded-xl bg-gradient-to-br ${feature.color} flex items-center justify-center mb-4 sm:mb-5 md:mb-6 group-hover:scale-110 transition-transform shadow-lg`}>
<Icon className="w-6 h-6 sm:w-7 sm:h-7 md:w-8 md:h-8 text-white" aria-hidden="true" />
</div>
<h3 className="text-lg sm:text-xl md:text-2xl font-bold text-foreground mb-2 sm:mb-3">
{feature.title}
</h3>
<p className="text-sm sm:text-base text-muted-foreground leading-relaxed">
{feature.description}
</p>
</article>
)
})}
</div>
</div>
</section>
)
}