feat: initialize frontend application with landing page components and event listings

This commit is contained in:
Kevin Satria D
2026-05-20 11:16:45 +07:00
parent a1719a1871
commit a8dfc3d294
7 changed files with 472 additions and 84 deletions

73
src/components/Footer.tsx Normal file
View File

@@ -0,0 +1,73 @@
import { Facebook, Instagram, Mail, MessageCircle } from 'lucide-react';
export default function Footer() {
return (
<footer className="bg-[#0f111a] border-t border-white/5 pt-16 pb-8 px-4 sm:px-6 lg:px-8">
<div className="max-w-7xl mx-auto">
<div className="grid grid-cols-1 md:grid-cols-4 gap-12 mb-16">
{/* Brand Col */}
<div className="col-span-1 md:col-span-2">
<div className="flex items-center gap-2 mb-6">
<div className="w-8 h-8 rounded-lg bg-gradient-to-br from-indigo-500 to-purple-600 flex items-center justify-center">
<span className="text-white font-bold text-lg font-display">ST</span>
</div>
<span className="font-display font-bold text-2xl text-white tracking-tight">
Smart<span className="text-purple-400">Ticketing</span>
</span>
</div>
<p className="text-slate-400 text-sm leading-relaxed max-w-sm mb-8">
Platform tiket konser dan event terpercaya di Indonesia. Pembayaran online lebih gampang.
</p>
<div className="flex items-center gap-4">
<a href="#" className="w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center text-slate-400 hover:bg-purple-600 hover:text-white transition-all">
<Facebook className="w-5 h-5" />
</a>
<a href="#" className="w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center text-slate-400 hover:bg-purple-600 hover:text-white transition-all">
<Instagram className="w-5 h-5" />
</a>
<a href="#" className="w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center text-slate-400 hover:bg-purple-600 hover:text-white transition-all">
<Mail className="w-5 h-5" />
</a>
<a href="#" className="w-10 h-10 rounded-full bg-slate-800 flex items-center justify-center text-slate-400 hover:bg-purple-600 hover:text-white transition-all">
<MessageCircle className="w-5 h-5" />
</a>
</div>
</div>
{/* Links Col 1 */}
<div>
<h4 className="font-display font-bold text-white mb-6 uppercase tracking-wider text-sm">Platform</h4>
<ul className="space-y-4">
<li><a href="#" className="text-slate-400 hover:text-purple-400 transition-colors text-sm">Beranda</a></li>
<li><a href="#" className="text-slate-400 hover:text-purple-400 transition-colors text-sm">Event Terbaru</a></li>
<li><a href="#" className="text-slate-400 hover:text-purple-400 transition-colors text-sm">Semua Event</a></li>
<li><a href="#" className="text-slate-400 hover:text-purple-400 transition-colors text-sm">Kategori</a></li>
</ul>
</div>
{/* Links Col 2 */}
<div>
<h4 className="font-display font-bold text-white mb-6 uppercase tracking-wider text-sm">Bantuan</h4>
<ul className="space-y-4">
<li><a href="#" className="text-slate-400 hover:text-purple-400 transition-colors text-sm">Hubungi Kami</a></li>
<li><a href="#" className="text-slate-400 hover:text-purple-400 transition-colors text-sm">Syarat & Ketentuan</a></li>
<li><a href="#" className="text-slate-400 hover:text-purple-400 transition-colors text-sm">Kebijakan Privasi</a></li>
<li><a href="#" className="text-slate-400 hover:text-purple-400 transition-colors text-sm">FAQ</a></li>
</ul>
</div>
</div>
<div className="pt-8 border-t border-slate-800 flex flex-col md:flex-row items-center justify-between gap-4">
<p className="text-slate-500 text-xs">
&copy; {new Date().getFullYear()} Smart Ticketing. All rights reserved.
</p>
<p className="text-slate-500 text-xs">
Made with love in Indonesia
</p>
</div>
</div>
</footer>
);
}