Files
handyman/src/app/components/Footer.tsx
T
Dan Dobos e8d0f5b087 feat: update UI components for dark mode support and color scheme changes
- Refactored About, Contact, Gallery, Home, Services pages to enhance dark mode compatibility.
- Changed color schemes from orange to sky for various elements.
- Updated background colors and text colors to improve readability in dark mode.
- Added dark mode configuration to Tailwind CSS.
2026-02-23 13:51:44 +01:00

134 lines
5.4 KiB
TypeScript

import { Link } from "react-router";
import { Phone, Mail, MapPin, Clock, Wrench, Facebook, Instagram, Twitter } from "lucide-react";
import { useTranslation } from "react-i18next";
export function Footer() {
const { t } = useTranslation();
return (
<footer className="bg-gray-900 text-gray-300 dark:bg-black dark:text-gray-400">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
{/* Company Info */}
<div>
<div className="flex items-center space-x-2 mb-4">
<Wrench className="h-8 w-8 text-sky-600" />
<span className="font-bold text-xl text-white dark:text-white">
{t("footer.brand")}
</span>
</div>
<p className="text-sm mb-4 text-gray-300 dark:text-gray-400">
{t("footer.description")}
</p>
<div className="flex space-x-4">
<a href="#" className="hover:text-sky-600 transition-colors">
<Facebook className="h-5 w-5" />
</a>
<a href="#" className="hover:text-sky-600 transition-colors">
<Instagram className="h-5 w-5" />
</a>
<a href="#" className="hover:text-sky-600 transition-colors">
<Twitter className="h-5 w-5" />
</a>
</div>
</div>
{/* Quick Links */}
<div>
<h3 className="text-white font-semibold mb-4 dark:text-gray-100">
{t("footer.quickLinks")}
</h3>
<ul className="space-y-2">
<li>
<Link to="/" className="hover:text-sky-600 transition-colors text-gray-300 dark:text-gray-400 dark:hover:text-sky-400">
{t("footer.links.home")}
</Link>
</li>
<li>
<Link to="/services" className="hover:text-sky-600 transition-colors text-gray-300 dark:text-gray-400 dark:hover:text-sky-400">
{t("footer.links.services")}
</Link>
</li>
<li>
<Link to="/about" className="hover:text-sky-600 transition-colors text-gray-300 dark:text-gray-400 dark:hover:text-sky-400">
{t("footer.links.about")}
</Link>
</li>
<li>
<Link to="/gallery" className="hover:text-sky-600 transition-colors text-gray-300 dark:text-gray-400 dark:hover:text-sky-400">
{t("footer.links.gallery")}
</Link>
</li>
<li>
<Link to="/contact" className="hover:text-sky-600 transition-colors text-gray-300 dark:text-gray-400 dark:hover:text-sky-400">
{t("footer.links.contact")}
</Link>
</li>
</ul>
</div>
{/* Services */}
<div>
<h3 className="text-white font-semibold mb-4 dark:text-gray-100">
{t("footer.ourServices")}
</h3>
<ul className="space-y-2 text-sm">
<li>{t("footer.services.plumbing")}</li>
<li>{t("footer.services.electrical")}</li>
<li>{t("footer.services.painting")}</li>
<li>{t("footer.services.carpentry")}</li>
<li>{t("footer.services.general")}</li>
<li>{t("footer.services.maintenance")}</li>
</ul>
</div>
{/* Contact Info */}
<div>
<h3 className="text-white font-semibold mb-4 dark:text-gray-100">
{t("footer.contactInfo")}
</h3>
<ul className="space-y-3">
<li className="flex items-start space-x-3">
<Phone className="h-5 w-5 text-sky-600 flex-shrink-0 mt-0.5" />
<div>
<p className="text-sm">{t("footer.callUs")}</p>
<p className="text-white dark:text-gray-200">(555) 123-4567</p>
</div>
</li>
<li className="flex items-start space-x-3">
<Mail className="h-5 w-5 text-sky-600 flex-shrink-0 mt-0.5" />
<div>
<p className="text-sm">{t("footer.emailUs")}</p>
<p className="text-white dark:text-gray-200">info@lucris.nl</p>
</div>
</li>
<li className="flex items-start space-x-3">
<MapPin className="h-5 w-5 text-sky-600 flex-shrink-0 mt-0.5" />
<div>
<p className="text-sm">{t("footer.location")}</p>
<p className="text-white dark:text-gray-200">
123 Main Street<br />New York, NY 10001
</p>
</div>
</li>
<li className="flex items-start space-x-3">
<Clock className="h-5 w-5 text-sky-600 flex-shrink-0 mt-0.5" />
<div>
<p className="text-sm">{t("footer.hours")}</p>
<p className="text-white dark:text-gray-200">{t("footer.hoursValue")}</p>
</div>
</li>
</ul>
</div>
</div>
<div className="border-t border-gray-800 mt-8 pt-8 text-center text-sm dark:border-gray-900">
<p className="text-gray-400 dark:text-gray-500">
{t("footer.copyright")}
</p>
</div>
</div>
</footer>
);
}