App
App
function App() {
return (
<div className="bg-gray-50 min-h-screen">
<Navbar />
<main>
<Hero />
<StatsSection />
<ServicesSection />
<PortfolioSection />
<PricingSection />
<ContactSection />
</main>
<Footer />
</div>
);
}
return (
<nav className="bg-white shadow-lg fixed w-full z-20 top-0 left-0">
<div className="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex justify-between h-16">
<div className="flex">
<div className="flex-shrink-0 flex items-center">
<h1 className="text-2xl font-bold text-blue-800">
PRESTIGE INDUSTRIES
</h1>
</div>
</div>
<div className="hidden sm:ml-6 sm:flex sm:space-x-8 sm:items-center">
{menuItems.map((item) => (
<a
key={item}
href={`#${item.toLowerCase()}`}
className="text-gray-700 hover:text-blue-600 px-3 py-2 text-sm
font-medium transition duration-300 ease-in-out transform hover:scale-105"
>
{item.toUpperCase()}
</a>
))}
</div>
<div className="-mr-2 flex items-center sm:hidden">
<button
onClick={() => setIsMenuOpen(!isMenuOpen)}
className="inline-flex items-center justify-center p-2 rounded-md
text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2
focus:ring-inset focus:ring-blue-500"
>
{isMenuOpen ? 'Close' : 'Menu'}
</button>
</div>
</div>
</div>
{isMenuOpen && (
<div className="sm:hidden">
<div className="pt-2 pb-3 space-y-1">
{menuItems.map((item) => (
<a
key={item}
href={`#${item.toLowerCase()}`}
className="text-gray-700 hover:bg-gray-50 hover:text-blue-600 block
px-3 py-2 text-base font-medium"
>
{item}
</a>
))}
</div>
</div>
)}
</nav>
);
};
return (
<div className="bg-white py-12">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="grid grid-cols-2 md:grid-cols-4 gap-8 text-center">
{stats.map((stat, index) => (
<div key={index} className="p-6 bg-blue-50 rounded-lg shadow-md
transition duration-300 hover:shadow-xl">
<div className="text-4xl font-bold text-blue-600">{stat.number}</div>
<div className="mt-2 text-sm text-gray-600">{stat.label}</div>
</div>
))}
</div>
</div>
</div>
);
};
return (
<div id="services" className="py-16 bg-gray-50">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 className="text-3xl font-extrabold text-center text-gray-900 mb-12">
Our Services
</h2>
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
{services.map((service, index) => (
<div
key={index}
className="bg-white p-6 rounded-xl shadow-md hover:shadow-xl
transition duration-300 transform hover:-translate-y-2"
>
<div className="text-4xl mb-4">{service.icon}</div>
<h3 className="text-xl font-semibold text-blue-800 mb-3">
{service.title}
</h3>
<p className="text-gray-600">
{service.description}
</p>
</div>
))}
</div>
</div>
</div>
);
};
return (
<div id="portfolio" className="py-16">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 className="text-3xl font-extrabold text-center text-gray-900 mb-12">
Our Portfolio
</h2>
<div className="grid grid-cols-2 md:grid-cols-3 gap-8">
{designs.map((design, index) => (
<div
key={index}
className="bg-blue-100 rounded-lg overflow-hidden shadow-md
hover:shadow-xl transition duration-300 transform hover:scale-105"
>
<div className="p-6 text-center">
<h3 className="text-xl font-semibold text-blue-800">
{design}
</h3>
</div>
</div>
))}
</div>
</div>
</div>
);
};
return (
<div id="pricing" className="bg-gray-50 py-16">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<h2 className="text-3xl font-extrabold text-center text-gray-900 mb-12">
Pricing Plans
</h2>
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
{pricingPlans.map((plan, index) => (
<div
key={index}
className="bg-white rounded-xl shadow-lg p-6 text-center
hover:shadow-xl transition duration-300 transform hover:-translate-y-4"
>
<h3 className="text-xl font-semibold text-blue-800 mb-4">
{plan.name}
</h3>
<div className="text-4xl font-bold text-blue-600 mb-6">
{plan.price}
</div>
<ul className="space-y-4 mb-8">
{plan.features.map((feature, idx) => (
<li key={idx} className="text-gray-600">
{feature}
</li>
))}
</ul>
<button className="w-full bg-blue-600 text-white py-3 rounded-lg
hover:bg-blue-700 transition duration-300">
Select Plan
</button>
</div>
))}
</div>
</div>
</div>
);
};