Seed: real-estate template (18 files)

This commit is contained in:
2026-07-23 22:11:42 +00:00
parent ec815475af
commit 4de080c477
+73
View File
@@ -0,0 +1,73 @@
import { Link } from "react-router-dom";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { MapPin, Phone, Mail, Facebook, Instagram, Twitter, Linkedin, Send } from "lucide-react";
import { toast } from "sonner";
export default function Footer() {
// toast from sonner (imported above)
const handleNewsletter = (e: React.FormEvent) => {
e.preventDefault();
toast.success("Subscribed! You'll receive our latest listings.");
};
return (
<footer className="bg-stone-950 text-stone-300 pt-16 pb-8 border-t border-stone-800">
<div className="mx-auto max-w-7xl px-6">
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-12">
{/* Company Info */}
<div>
<div className="text-xl font-bold text-white mb-4">Prestige Realty</div>
<p className="text-sm text-stone-400 mb-4">Your trusted partner in finding the perfect property. Premium real estate services since 2005.</p>
<div className="space-y-2 text-sm">
<div className="flex items-start gap-3"><MapPin className="h-4 w-4 mt-0.5 text-emerald-500 shrink-0" /><span>500 Prestige Tower, 5th Avenue, New York, NY 10001</span></div>
<div className="flex items-center gap-3"><Phone className="h-4 w-4 text-emerald-500 shrink-0" /><span>+1 (212) 555-0199</span></div>
<div className="flex items-center gap-3"><Mail className="h-4 w-4 text-emerald-500 shrink-0" /><span>hello@prestigerealty.com</span></div>
</div>
</div>
{/* Properties Links */}
<div>
<h4 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">Properties</h4>
<ul className="space-y-2 text-sm">
{["Houses for Sale", "Apartments", "Condos", "Villas", "Commercial"].map((t) => (
<li key={t}><Link to="/properties" className="hover:text-emerald-400 transition-colors">{t}</Link></li>
))}
</ul>
</div>
{/* Company Links */}
<div>
<h4 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">Company</h4>
<ul className="space-y-2 text-sm">
{[{ l: "About Us", to: "/about" }, { l: "Our Agents", to: "/agents" }, { l: "Contact", to: "/contact" }, { l: "Careers", to: "/contact" }].map((t) => (
<li key={t.l}><Link to={t.to} className="hover:text-emerald-400 transition-colors">{t.l}</Link></li>
))}
</ul>
</div>
{/* Newsletter */}
<div>
<h4 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">Newsletter</h4>
<p className="text-sm text-stone-400 mb-4">Get the latest listings and market insights.</p>
<form onSubmit={handleNewsletter} className="flex gap-2">
<Input placeholder="Your email" className="bg-stone-900 border-stone-700 text-sm text-white placeholder:text-stone-500 rounded-full" />
<Button type="submit" size="icon" className="bg-emerald-600 hover:bg-emerald-700 rounded-full shrink-0"><Send className="h-4 w-4" /></Button>
</form>
<div className="flex gap-3 mt-6">
{[Facebook, Instagram, Twitter, Linkedin].map((Icon, i) => (
<a key={i} href="#" className="p-2 rounded-full bg-stone-800 text-stone-400 hover:bg-emerald-600 hover:text-white transition-all"><Icon className="h-4 w-4" /></a>
))}
</div>
</div>
</div>
<div className="mt-12 pt-8 border-t border-stone-800 flex flex-col md:flex-row items-center justify-between gap-4 text-sm text-stone-500">
<span>© 2026 Prestige Realty. All rights reserved.</span>
<span>Licensed Real Estate Brokerage &bull; DRE #01234567</span>
</div>
</div>
</footer>
);
}