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,11 +1,17 @@
|
||||
import type { Metadata } from 'next';
|
||||
import { ASCIIConverter } from '@/components/ascii/ASCIIConverter';
|
||||
import { AppPage } from '@/components/layout/AppPage';
|
||||
import { getToolByHref } from '@/lib/tools';
|
||||
|
||||
const tool = getToolByHref('/ascii')!;
|
||||
|
||||
export const metadata: Metadata = { title: tool.title };
|
||||
|
||||
export default function ASCIIPage() {
|
||||
return (
|
||||
<AppPage
|
||||
title="ASCII Art Generator"
|
||||
description="ASCII Art Text Generator with 373 Fonts"
|
||||
title={tool.title}
|
||||
description={tool.description}
|
||||
>
|
||||
<ASCIIConverter />
|
||||
</AppPage>
|
||||
|
||||
Reference in New Issue
Block a user