| import React from 'react'; | |
| import { useNavigate } from 'react-router-dom'; | |
| import { ImageIcon, StackIcon } from './Icons'; | |
| import BackgroundAnimation from './BackgroundAnimation'; | |
| const Hero: React.FC = () => { | |
| const navigate = useNavigate(); | |
| return ( | |
| <div className="min-h-screen flex flex-col items-center relative overflow-hidden px-4 pt-28 pb-12"> | |
| <BackgroundAnimation /> | |
| <div className="z-10 max-w-4xl w-full text-center space-y-12 flex-grow flex flex-col justify-center"> | |
| <div className="space-y-6"> | |
| <div className="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-white/5 border border-white/10 text-xs tracking-widest uppercase text-cyan-400 mb-4"> | |
| <span className="w-2 h-2 rounded-full bg-cyan-400 animate-ping" /> | |
| v2.0 Prototype | |
| </div> | |
| <h1 className="text-8xl font-black tracking-tighter !text-white mb-2 drop-shadow-2xl" style={{ color: '#ffffff', mixBlendMode: 'normal' }}> | |
| PRISM | |
| </h1> | |
| <h2 className="text-3xl font-light text-slate-300 tracking-wide"> | |
| Lock Screen Classifier | |
| </h2> | |
| <p className="text-lg text-cyan-400/80 uppercase tracking-widest font-medium"> | |
| Automated Compliance for Samsung Glance | |
| </p> | |
| </div> | |
| <div className="max-w-2xl mx-auto glass-panel p-8 rounded-2xl border-l-4 border-l-cyan-500"> | |
| <p className="text-slate-200 text-lg leading-relaxed font-light"> | |
| "Making classification of lock screens generated by Glance for Samsung | |
| <span className="font-semibold text-white"> automatic without human intervention</span>, | |
| saving <span className="font-semibold text-cyan-300">40 hr/week</span> bandwidth." | |
| </p> | |
| </div> | |
| <div className="grid md:grid-cols-2 gap-6 w-full max-w-3xl mx-auto mt-12"> | |
| <button | |
| onClick={() => navigate('/single')} | |
| className="group glass-panel glass-panel-hover rounded-2xl p-6 md:p-8 text-left transition-all duration-300 overflow-hidden h-auto min-h-[240px] flex flex-col" | |
| > | |
| <div className="w-14 h-14 rounded-xl bg-gradient-to-br from-purple-500 to-blue-600 flex items-center justify-center mb-6 group-hover:scale-110 transition-transform flex-shrink-0"> | |
| <ImageIcon /> | |
| </div> | |
| <h3 className="text-2xl font-semibold text-white mb-2 group-hover:text-cyan-300 transition-colors">Single Image Audit</h3> | |
| <p className="text-slate-400 text-sm break-words leading-relaxed">Deep analysis of individual creative assets with granular compliance checks.</p> | |
| </button> | |
| <button | |
| onClick={() => navigate('/batch')} | |
| className="group glass-panel glass-panel-hover rounded-2xl p-6 md:p-8 text-left transition-all duration-300 overflow-hidden h-auto min-h-[240px] flex flex-col" | |
| > | |
| <div className="w-14 h-14 rounded-xl bg-gradient-to-br from-cyan-500 to-blue-600 flex items-center justify-center mb-6 group-hover:scale-110 transition-transform flex-shrink-0"> | |
| <StackIcon /> | |
| </div> | |
| <h3 className="text-2xl font-semibold text-white mb-2 group-hover:text-cyan-300 transition-colors">Batch Audit</h3> | |
| <p className="text-slate-400 text-sm break-words leading-relaxed">High-volume processing for bulk validations. Generate comprehensive reports.</p> | |
| </button> | |
| </div> | |
| </div> | |
| {/* Proof of Work Section - Actual Images */} | |
| <div className="w-full max-w-3xl mx-auto mt-32 z-10 pb-20"> | |
| <div className="text-center mb-12"> | |
| <h3 className="text-xl font-light uppercase tracking-widest text-slate-400">Proof of Work</h3> | |
| <div className="h-1 w-20 bg-gradient-to-r from-purple-500 to-cyan-500 mx-auto mt-4 rounded-full"></div> | |
| </div> | |
| <div className="flex flex-col gap-12 items-center"> | |
| {/* Certificate 1: Participation (Top) */} | |
| <div className="relative group w-full transform transition-all hover:scale-[1.01]"> | |
| <div className="absolute -inset-1 bg-gradient-to-r from-[#EAB308] to-yellow-600 rounded-lg blur opacity-25 group-hover:opacity-50 transition duration-1000 group-hover:duration-200"></div> | |
| <div className="relative rounded-lg overflow-hidden border-4 border-[#EAB308]/50 shadow-2xl bg-white"> | |
| <img | |
| src="/static/certificates/participation.png" | |
| alt="Participation Certificate" | |
| className="w-full h-full object-cover" | |
| onError={(e) => { | |
| (e.target as HTMLImageElement).src = 'https://placehold.co/800x600/1e293b/FFF?text=Upload+Participation+Cert+to+static/certificates/'; | |
| }} | |
| /> | |
| </div> | |
| </div> | |
| {/* Certificate 2: Excellence (Bottom) */} | |
| <div className="relative group w-full transform transition-all hover:scale-[1.01]"> | |
| <div className="absolute -inset-1 bg-gradient-to-r from-cyan-500 to-blue-600 rounded-lg blur opacity-25 group-hover:opacity-50 transition duration-1000 group-hover:duration-200"></div> | |
| <div className="relative rounded-lg overflow-hidden border-4 border-cyan-500/50 shadow-2xl bg-white"> | |
| <img | |
| src="/static/certificates/excellence.png" | |
| alt="Certificate of Excellence" | |
| className="w-full h-auto block" | |
| onError={(e) => { | |
| (e.target as HTMLImageElement).src = 'https://placehold.co/800x600/1e293b/FFF?text=Upload+Excellence+Cert+to+static/certificates/'; | |
| }} | |
| /> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <footer className="mt-12 text-slate-500 text-sm text-center"> | |
| <p className="text-xs mt-2 opacity-50">© made by Devansh Singh</p> | |
| </footer> | |
| </div> | |
| ); | |
| }; | |
| export default Hero; | |