2025-11-08 09:21:56 +01:00
|
|
|
{
|
|
|
|
|
"name": "units-ui",
|
|
|
|
|
"version": "1.0.0",
|
|
|
|
|
"private": true,
|
|
|
|
|
"scripts": {
|
|
|
|
|
"dev": "next dev --turbopack",
|
|
|
|
|
"build": "next build",
|
|
|
|
|
"start": "next start",
|
|
|
|
|
"lint": "next lint"
|
|
|
|
|
},
|
|
|
|
|
"dependencies": {
|
2025-11-08 09:34:57 +01:00
|
|
|
"clsx": "^2.1.1",
|
2025-11-08 09:26:11 +01:00
|
|
|
"convert-units": "^2.3.4",
|
feat: implement Phase 3 - Advanced UX features and interactivity
Add comprehensive UX enhancements with innovative features:
🔍 Fuzzy Search Component (SearchUnits.tsx):
- Powered by Fuse.js for intelligent fuzzy matching
- Searches across unit abbreviations, names, and categories
- Real-time dropdown with results
- Keyboard shortcut: Press "/" to focus search
- Press Escape to close
- Click outside to dismiss
- Shows measure category with color dot
- Top 10 results displayed
- Smart weighting: abbr (2x), singular/plural (1.5x), measure (1x)
💾 Conversion History (ConversionHistory.tsx):
- LocalStorage persistence (max 50 entries)
- Auto-saves conversions as user types
- Collapsible history panel
- Click to restore previous conversion
- Clear all with confirmation
- Shows relative time (just now, 5m ago, etc.)
- Live updates across tabs with storage events
- Custom event dispatch for same-window updates
🌓 Dark Mode Support:
- ThemeProvider with light/dark/system modes
- Persistent theme preference in localStorage
- Smooth theme transitions
- ThemeToggle component with animated sun/moon icons
- Gradient text adapts to theme
- System preference detection
⭐ Favorites & Copy Features:
- Star button to favorite units (localStorage)
- Copy to clipboard with visual feedback
- Hover to reveal action buttons
- Check icon confirmation for 2 seconds
- Yellow star fill for favorited units
⌨️ Keyboard Shortcuts:
- "/" - Focus search input
- "Escape" - Close search, blur inputs
- More shortcuts ready to add (Tab, Ctrl+K, etc.)
📦 LocalStorage Utilities (lib/storage.ts):
- saveToHistory() - Add conversion record
- getHistory() - Retrieve history
- clearHistory() - Clear all history
- getFavorites() / addToFavorites() / removeFromFavorites()
- toggleFavorite() - Toggle favorite status
- Type-safe ConversionRecord interface
- Automatic error handling
🎨 Enhanced MainConverter:
- Integrated search at top
- Conversion history at bottom
- Copy & favorite buttons on each result card
- Hover effects with opacity transitions
- Auto-save to history on conversion
- Click history item to restore conversion
- Visual feedback for all interactions
📱 Updated Layout & Page:
- ThemeProvider wraps entire app
- suppressHydrationWarning for SSR
- Top navigation bar with theme toggle
- Keyboard hint for search
- Dark mode gradient text variants
Dependencies Added:
- fuse.js 7.1.0 - Fuzzy search engine
- lucide-react 0.553.0 - Icon library (Search, Copy, Star, Check, etc.)
Features Now Working:
✅ Intelligent fuzzy search across 187 units
✅ Conversion history with persistence
✅ Dark mode with system detection
✅ Copy any result to clipboard
✅ Favorite units for quick access
✅ Keyboard shortcuts (/, Esc)
✅ Smooth animations and transitions
✅ Mobile-responsive design
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 10:14:03 +01:00
|
|
|
"fuse.js": "^7.1.0",
|
|
|
|
|
"lucide-react": "^0.553.0",
|
2025-11-08 09:21:56 +01:00
|
|
|
"next": "^16.0.0",
|
2025-11-08 09:26:11 +01:00
|
|
|
"react": "^19.0.0",
|
2025-11-08 09:34:57 +01:00
|
|
|
"react-dom": "^19.0.0",
|
|
|
|
|
"tailwind-merge": "^3.3.1"
|
2025-11-08 09:21:56 +01:00
|
|
|
},
|
|
|
|
|
"devDependencies": {
|
2025-11-08 09:26:11 +01:00
|
|
|
"@tailwindcss/postcss": "^4.1.17",
|
2025-11-08 09:21:56 +01:00
|
|
|
"@types/node": "^22",
|
|
|
|
|
"@types/react": "^19",
|
|
|
|
|
"@types/react-dom": "^19",
|
|
|
|
|
"eslint": "^9",
|
2025-11-08 09:26:11 +01:00
|
|
|
"eslint-config-next": "^16.0.0",
|
|
|
|
|
"tailwindcss": "^4.0.0",
|
|
|
|
|
"typescript": "^5"
|
2025-11-08 09:21:56 +01:00
|
|
|
}
|
|
|
|
|
}
|