Commit Graph

37 Commits

Author SHA1 Message Date
df4db515d8 feat: add Cron Editor tool
Visual cron expression editor with field-by-field builder, presets
select, human-readable description, and live schedule preview showing
next occurrences. Registered in tools registry with CronIcon.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 11:30:30 +01:00
63b4823315 feat: add Random Generator tool
Cryptographically secure generator for 5 types:
- Password: configurable charset + entropy strength meter
- UUID: crypto.randomUUID()
- API Key: hex/base62/base64url with optional prefix
- Hash: SHA-1/256/512 of custom input or random data
- Token: variable byte-length in hex or base64url

All using Web Crypto API — nothing leaves the browser.
Registered in lib/tools.tsx with RandomIcon (dice).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 12:08:48 +01:00
00c77ff3fe fix: remove heading and description 2026-03-01 10:01:28 +01:00
9efa783ca3 feat: add Calculator & Grapher tool
Adds a full-featured mathematical calculator and interactive function
grapher at /calculate. Powered by Math.js v15 with a HiDPI Canvas
renderer for the graph.

- Evaluates arbitrary math expressions (trig, log, complex, matrices,
  factorials, combinatorics, and more) with named variable scope
- Persists history (50 entries) and variables via localStorage
- 32 quick-insert buttons for constants and functions
- Interactive graph: pan (drag), zoom (scroll), crosshair tooltip
  showing cursor coords and f₁(x)…f₈(x) values simultaneously
- Up to 8 color-coded functions with inline color pickers and
  visibility toggles
- Discontinuity detection for functions like tan(x)
- Adaptive grid labels that rescale with zoom
- Responsive layout: 2/5–3/5 split on desktop, tabbed on mobile

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 20:44:53 +01:00
eeef3283c8 feat: add CSS Animation Editor tool
Comprehensive visual editor for CSS @keyframe animations:
- AnimationSettings: name, duration, delay, easing (incl. cubic-bezier), iteration, direction, fill-mode
- KeyframeTimeline: drag-to-reposition keyframe markers, click-track to add, delete selected
- KeyframeProperties: per-keyframe transform (translate/rotate/scale/skew), opacity, background-color, border-radius, blur, brightness via sliders
- AnimationPreview: live preview on box/circle/text element with play/pause/restart and speed control (0.25×–2×)
- PresetLibrary: 22 presets across Entrance/Exit/Attention/Special categories with animated thumbnails
- ExportPanel: plain CSS and Tailwind v4 @utility formats with copy and download

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 14:17:04 +01:00
c9c7d22766 seo: add meta description (tool.summary) to all tool pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 10:34:42 +01:00
28747a6c8f refactor: extract ColorManipulation component and pass icon/summary to AppPage
- Rename ColorPage → ColorManipulation (no AppPage wrapper inside)
- Move AppPage + title/description/icon to color/page.tsx, consistent with other tools
- AppPage now accepts icon prop directly; removes internal usePathname lookup and 'use client'
- All tool pages pass tool.summary as description and tool.icon as icon

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 09:57:06 +01:00
f917891a31 feat: add QR code generator tool
Add a sixth tool with live SVG preview, customizable foreground/background
colors, error correction level, margin control, and export as PNG (256–2048px)
or SVG. URL params enable shareable state. All processing runs client-side
via the qrcode package.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 00:58:57 +01:00
a400f694fe 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>
2026-02-27 17:46:54 +01:00
5a0d1863ec chore: cleanup 2026-02-27 16:34:27 +01:00
ee7e5ec06c refactor: streamline, refine and polish 2026-02-27 12:51:28 +01:00
782923f2e0 feat: refactor theme, add tailwind-scrollbar, and improve UI components
- 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
2026-02-26 22:22:32 +01:00
1f1b138089 feat: add Favicon Generator app with ImageMagick WASM support 2026-02-26 17:48:16 +01:00
e1406f427e refactor: rename figlet app to ascii and update all references 2026-02-26 12:31:10 +01:00
484423f299 refactor: rename pastel app to color and update all references 2026-02-26 12:19:22 +01:00
061ea1d806 feat: unify pastel application into single playground and remove standalone pages 2026-02-26 12:07:21 +01:00
f28a2d1eab refactor: replace html range input with shadcn slider in batch operations 2026-02-25 18:18:03 +01:00
7eeb8399b3 refactor: externalize AppPage component and streamline all tool pages 2026-02-25 18:04:32 +01:00
71c22e465e refactor: replace html textarea with shadcn Textarea component 2026-02-25 16:20:25 +01:00
880bce157b style: improve light theme border and input visibility 2026-02-25 16:09:29 +01:00
4ccf316184 refactor: use shadcn Card component in pastel app 2026-02-25 13:35:29 +01:00
fbc8cdeebe feat: add media converter app and fix compilation errors 2026-02-25 10:07:25 +01:00
5d6ace4e46 fix: old styling with new shadcn components 2026-02-24 16:58:17 +01:00
9c6b184f7e refactor: update UI component usage to match latest shadcn APIs 2026-02-24 16:20:35 +01:00
d61add82cd feat: implement sort by hue for named colors using pastel-wasm 2026-02-24 10:45:00 +01:00
d65a7c6c30 feat: remove statistics from Distinct Colors generator 2026-02-24 09:45:09 +01:00
3061260eec feat: remove colorspace option from pastel gradients (not supported by API) 2026-02-23 18:22:12 +01:00
ab930a3279 fix: oklab string format and debounced color history 2026-02-23 17:52:06 +01:00
43faed224f Feat: Refine UI and consolidate components
- 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.
2026-02-23 14:00:09 +01:00
90b045f349 style(figlet): update default text and remove search keyboard hint 2026-02-23 09:46:35 +01:00
8ce12c4c70 style(pastel): unify card title sizes with figlet 2026-02-23 09:25:51 +01:00
fd2ada4438 refactor(pastel): remove keyboard shortcuts and useKeyboard hook 2026-02-23 08:41:32 +01:00
2160b9aaa0 style: unify keyboard shortcut hints across tools using Pastel style
- 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
2026-02-23 08:27:26 +01:00
7806bcbede refactor: flatten Pastel routes by removing intermediate palettes and accessibility paths
- 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
2026-02-23 08:18:44 +01:00
d2dcd2ca9f fix: resolve linting errors and improve ESLint configuration
- 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
2026-02-23 02:31:49 +01:00
a9d0fd8443 refactor: streamline toast system and harmonize UI across tools
- 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
2026-02-23 02:04:46 +01:00
2000623c67 feat: implement Figlet, Pastel, and Unit tools with a unified layout
- 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
2026-02-22 21:35:53 +01:00