devranx's picture
Final Single Page
abc2a72
raw
history blame
5.99 kB
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">&copy; made by Devansh Singh</p>
</footer>
</div>
);
};
export default Hero;