- 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>
- Removed manual theme switching logic and ThemeProvider
- Installed and configured tailwind-scrollbar plugin
- Updated FileConverter and ConversionOptions to use shadcn Input
- Refactored FontSelector to use shadcn Tabs
- Simplified global styles and adjusted glassmorphic effects
- Updated the heading in the Pastel page from 'Color Playground' to 'Pastel'.
- Adjusted the logo size in the Hero component for better visual balance.
- Removed duplicate/unused Footer components from pastel layout and ui directories.
- Add shortcut hints below tool descriptions in Figlet and Units pages
- Revert experimental button-based shortcut layout in Units
- Remove redundant shortcut hints from Units footer
- Ensure consistent kbd tag styling across the application
- Move sub-routes from /pastel/palettes/* and /pastel/accessibility/* to direct children of /pastel
- Update AppSidebar navigation links
- Update Pastel Navbar and Footer links
- Update Tailwind source directives in pastel/globals.css
- Remove intermediate page files
- Harmonize category colors with standard Tailwind CSS 500 shades
- Use Rose, Violet, Emerald, Amber, Blue, and Indigo for grouping related units
- Synchronize hex values in units.ts with OKLCH variables in globals.css
- Increase --border opacity in both light and dark modes
- Harmonize Input and Select components with consistent rounded-lg corners
- Replace native selects in MainConverter with styled Select component
- Downgrade ESLint to v9 to avoid circular structure errors in v10 config validation
- Downgrade eslint-config-next to v15 for stability
- Configure eslint.config.mjs with FlatCompat and appropriate ignores (.next, out)
- Escape entities in ColorBlindPage and SearchUnits to fix react/no-unescaped-entities
- Use useMemo for debounced function in FigletConverter to fix react-hooks/exhaustive-deps
- Migrate all toast notifications to sonner and remove custom ToastProvider
- Align Card and TextInput styling across Figlet and Pastel (rounded-lg, border-based)
- Fix build error by removing non-existent export in lib/units/index.ts
- Clean up unused Figlet components and constants
- Consolidate common utilities (cn, format, time) into lib/utils
- Remove redundant utility files from pastel and units directories
- Clean up unused components (Separator, KeyboardShortcutsHelp)
- Relocate CommandPalette to components/units/ui/
- Force dark mode on landing page and improve theme persistence logic
- Add FOUC prevention script to RootLayout
- Fix sidebar height constraint in AppShell
- Add Figlet text converter with font selection and history
- Add Pastel color palette generator and manipulation suite
- Add comprehensive Units converter with category-based logic
- Introduce AppShell with Sidebar and Header for navigation
- Modernize theme system with CSS variables and new animations
- Update project configuration and dependencies
- Rename tool from "Vert" to "Convert" across all files
- Update URL: vert.kit.pivoine.art → convert.kit.pivoine.art
- Improve description to highlight WebAssembly technology
- Update metadata keywords from 'vert' to 'convert'
- Better reflect actual features: videos, images, and audio conversion
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Logo Updates:
- Using authentic Lucide brush and wrench icons
- Wrench vertical, brush horizontal (90° rotation)
- Aligned bottom edges for visual balance
- Scaled up to 5x for better visibility
- Removed center dot for cleaner look
Pastel Icon:
- Changed from paintbrush to proper palette icon
- Palette with thumb hole and color dots
- Better represents color manipulation tool
Visual improvements:
- Clean, professional crossed tools design
- Proper alignment and spacing
- Large, visible icons at all sizes
- Consistent with Lucide icon library
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Logo Update:
- Using official Lucide SVG paths for brush and wrench icons
- Crossed in X formation (45° and -45° rotation)
- Professional, recognizable design from established icon library
Icon Details:
- Wrench (Lucide): Purple gradient (#667eea → #a855f7)
- Brush (Lucide): Orange-to-pink gradient (#f59e0b → #ec4899)
- Brush bristles: Green-cyan fill with transparency
- Center circle: Purple-to-cyan gradient accent
Animations:
- Wrench draws in with path animation
- Brush draws in with delay
- Center circle pops in with spring effect
- Smooth, professional entrance
Favicon:
- Matching crossed Lucide icons for 64x64
- Scaled appropriately for small sizes
- Dark background with gradient icons
Benefits:
- Authentic, recognizable icons from Lucide library
- Professional design language
- Consistent with modern UI/UX standards
- Clear symbolism: utility (wrench) + creativity (brush)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Logo Redesign:
- Clean, minimal circular badge design
- Beautiful gradient background (indigo → purple → cyan)
- White outlined icons in Lucide/Heroicons style
- Wrench and paintbrush side-by-side
- Professional and modern aesthetic
Icon Design:
- Wrench: Simple outline with open-end head
- Paintbrush: Clean brush with bristles and handle
- Both icons use consistent 6px stroke width
- Smooth entrance animations (slide in from sides)
Favicon Update:
- Matching circular badge design for 64x64
- Clear visibility at small sizes
- Consistent white icons on gradient background
- Professional brand identity
Colors:
- Background gradient: #667eea → #8b5cf6 → #06b6d4
- Icons: Pure white (#ffffff) for maximum contrast
- Clean, modern, accessible design
Animations:
- Background circle scales in
- Wrench slides in from left
- Paintbrush slides in from right
- Smooth, subtle entrance effects
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Logo Redesign:
- Simple, beautiful crossed design (wrench × brush in X formation)
- Wrench: Bottom-left to top-right with purple gradient
- Brush: Top-left to bottom-right with orange-red gradient
- Center circle at intersection with purple-to-cyan gradient
- Clean, minimal aesthetic with smooth animations
Favicon Update:
- Matching crossed design scaled for 64x64
- Clear visibility at small sizes
- Professional and memorable icon
Visual Elements:
- Wrench: Indigo (#667eea) to Purple (#a855f7) gradient
- Brush handle: Amber (#f59e0b) to Red (#ef4444) gradient
- Brush ferrule: Gray metal finish
- Brush bristles: Green (#10b981) to Cyan (#06b6d4) gradient
- Center: Purple to Cyan radial gradient
Animations:
- Initial rotation animation on logo
- Progressive drawing of wrench and brush
- Bristles expand effect
- Center circle pops in with spring animation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>