refactor: externalize tool definitions and polish app shell
- Create lib/tools.tsx as single source of truth for all tool metadata (title, shortTitle, navTitle, description, summary, icon, etc.) - Update AppSidebar to render nav from centralized tools list with descriptions, remove collapse footer button - Update AppHeader with sidebar collapse toggle, tool short title, and app logo; remove breadcrumbs - Update AppPage to auto-resolve tool icon from pathname - Update ToolsGrid/ToolCard to use shared tools data, remove per-card gradients for uniform styling - Add per-tool HTML title via metadata exports (title template in root layout) - Style landing page and 404 headings with primary theme color - Add Toolbox icon to hero CTA, GitFork icon link in footer - Remove footer from error page and "View on Dev" buttons - Extract ColorPage client component for RSC metadata compatibility Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
'use client';
|
||||
|
||||
import { motion } from 'framer-motion';
|
||||
import { GitFork } from 'lucide-react';
|
||||
|
||||
export default function Footer() {
|
||||
const currentYear = new Date().getFullYear();
|
||||
@@ -15,36 +16,20 @@ export default function Footer() {
|
||||
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-primary/50 bg-primary/5">
|
||||
<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-muted-foreground/30">•</span>
|
||||
<span className="text-base text-primary font-medium">Open Source</span>
|
||||
</div>
|
||||
{/* Copyright */}
|
||||
<p className="text-sm text-muted-foreground">
|
||||
© {currentYear} Kit. Built with Next.js 16 & Tailwind CSS 4
|
||||
</p>
|
||||
|
||||
{/* Copyright - centered */}
|
||||
<div className="text-center">
|
||||
<p className="text-sm text-muted-foreground">
|
||||
© {currentYear} Kit. Built with Next.js 16 & Tailwind CSS 4
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Dev Link */}
|
||||
{/* Source link */}
|
||||
<a
|
||||
href="https://dev.pivoine.art/valknar/kit-ui"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="group flex items-center gap-3 px-4 py-2 rounded-full border border-border hover:border-primary transition-all duration-300 bg-card/50"
|
||||
title="View source"
|
||||
className="text-muted-foreground hover:text-primary transition-colors duration-300"
|
||||
>
|
||||
<svg className="w-5 h-5 text-muted-foreground group-hover:text-primary transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24" strokeWidth={2}>
|
||||
<line x1="6" y1="3" x2="6" y2="15" strokeLinecap="round" />
|
||||
<circle cx="18" cy="6" r="3" />
|
||||
<circle cx="6" cy="18" r="3" />
|
||||
<path d="M18 9a9 9 0 01-9 9" strokeLinecap="round" />
|
||||
</svg>
|
||||
<span className="text-sm text-muted-foreground group-hover:text-primary transition-colors font-medium">
|
||||
View on Dev
|
||||
</span>
|
||||
<GitFork className="h-5 w-5" />
|
||||
</a>
|
||||
</motion.div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user