Files
kit-ui/components/Footer.tsx
Sebastian Krüger 593c76de5c design: improve UI consistency and footer layout
- Update text sizing to text-base throughout for consistency
- Improve arrow icon visibility (gray-400 → gray-200 on hover)
- Reorganize tool badges: Open Source first, specialty second, Free third
- Update badge labels: Vert (Converter), Stirling (PDF), Units/Figlet (Open Source)
- Redesign footer: single-row layout with brand pill, centered copyright, GitHub link
- Update footer border: lighter gray-600, constrained to content width

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 16:53:03 +01:00

51 lines
2.7 KiB
TypeScript

'use client';
import { motion } from 'framer-motion';
export default function Footer() {
const currentYear = new Date().getFullYear();
return (
<footer className="relative py-12 px-4">
<div className="max-w-6xl mx-auto border-t border-gray-600 pt-12">
<motion.div
className="flex flex-col md:flex-row items-center justify-between gap-6"
initial={{ opacity: 0 }}
whileInView={{ opacity: 1 }}
viewport={{ once: true }}
transition={{ duration: 0.6 }}
>
{/* Brand Section */}
<div className="inline-flex items-center gap-2 px-4 py-2 rounded-full border border-purple-400">
<span className="text-base font-bold bg-clip-text text-transparent bg-gradient-to-r from-purple-400 to-cyan-400">Kit</span>
<span className="text-base text-gray-600"></span>
<span className="text-base text-purple-400">Open Source</span>
</div>
{/* Copyright - centered */}
<div className="text-center">
<p className="text-base text-gray-500">
© {currentYear} Kit. Built with Next.js 16 & Tailwind CSS 4.
</p>
</div>
{/* GitHub Link */}
<a
href="https://github.com/valknarness/kit-ui"
target="_blank"
rel="noopener noreferrer"
className="group flex items-center gap-3 px-4 py-2 rounded-full border border-gray-700 hover:border-purple-400 transition-all duration-300"
>
<svg className="w-5 h-5 text-gray-400 group-hover:text-purple-400 transition-colors" fill="currentColor" viewBox="0 0 24 24">
<path fillRule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clipRule="evenodd" />
</svg>
<span className="text-base text-gray-300 group-hover:text-purple-400 transition-colors font-medium">
View on GitHub
</span>
</a>
</motion.div>
</div>
</footer>
);
}