Seed: event template (15 files)

This commit is contained in:
2026-07-23 22:10:58 +00:00
parent e1e034bc3a
commit b0d372a2fa
+45
View File
@@ -0,0 +1,45 @@
import { toast } from "sonner";
import { Link } from "react-router-dom";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Twitter, Linkedin, Github, Send } from "lucide-react";
export default function Footer() {
return (
<footer className="bg-slate-950 text-slate-300 py-24 border-t border-slate-800">
<div className="mx-auto max-w-7xl px-6">
<div className="grid md:grid-cols-3 gap-12">
<div>
<div className="text-xl font-bold text-white mb-2">DevForge 2026</div>
<div className="text-sm text-slate-400 mb-4">June 1820, 2026 &middot; The Apex Centre, San Francisco</div>
<div className="flex gap-4">
{[Twitter, Linkedin, Github].map((Icon, i) => (
<a key={i} href="#" className="text-slate-400 hover:text-indigo-400 transition-colors"><Icon className="h-5 w-5" /></a>
))}
</div>
</div>
<div>
<div className="text-sm font-semibold text-white uppercase tracking-wider mb-4">Quick Links</div>
<nav className="flex flex-col gap-2 text-sm">
{[{ label: "Schedule", to: "/schedule" }, { label: "Speakers", to: "/speakers" }, { label: "Venue", to: "/venue" }].map((l) => (
<Link key={l.to} to={l.to} className="text-slate-400 hover:text-indigo-400 transition-colors">{l.label}</Link>
))}
</nav>
</div>
<div>
<div className="text-sm font-semibold text-white uppercase tracking-wider mb-4">Newsletter</div>
<p className="text-sm text-slate-400 mb-3">Get the latest updates on speakers, sessions, and early-bird deals.</p>
<form onSubmit={(e) => { e.preventDefault(); toast.success("Subscribed!"); e.currentTarget.reset(); }} className="flex gap-2">
<Input type="email" required placeholder="you@email.com" className="bg-slate-900 border-slate-700 text-white placeholder:text-slate-500 flex-1" />
<Button type="submit" size="icon" className="bg-indigo-600 hover:bg-indigo-500 active:scale-[0.98] text-white shrink-0"><Send className="h-4 w-4" /></Button>
</form>
</div>
</div>
<div className="mt-12 pt-8 border-t border-slate-800 flex flex-col md:flex-row items-center justify-between gap-4">
<div className="text-sm text-slate-500">© 2026 DevForge. All rights reserved.</div>
<div className="text-sm text-slate-500">Organized by Apex Events Co.</div>
</div>
</div>
</footer>
);
}