Commit Graph

70 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
a1dcfa34dc chore: remove BackToTop component and scroll progress bar
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 17:30:58 +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
075aa0b6c5 refine: landing page and 404 for clean consistent look
Hero: Kit. title with primary dot, arrow-down CTA, minimal line scroll
indicator. Stats: rounded-2xl + icon border matching cards. ToolsGrid:
proper h2 with gradient accent word. ToolCard: visible rest border,
radial glow, bigger icon+arrow. Footer: visible Source label, consistent
border. 404: fade gradient number, divider line, rounded-xl CTA.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 16:48:04 +01:00
20406c5dcf feat: stamp+glitch logo animation, move keyframes outside @theme
logoStamp and pathFlicker defined at global CSS scope (outside @theme)
so they are always emitted. Logo uses sharp stamp+bounce entrance with
flickering path reveals.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 16:38:28 +01:00
00c77ff3fe fix: remove heading and description 2026-03-01 10:01:28 +01:00
9126589de3 refactor: align landing page and 404 with Calculate blueprint
- Hero: remove framer-motion, CSS stagger animations, glass pill CTA button, refined typography and scroll indicator
- Stats: remove framer-motion, Lucide icons, tighter glass cards with mono labels
- ToolsGrid: remove framer-motion, editorial section heading, 4-col xl grid
- ToolCard: replace framer-motion motion.Link with plain Link + CSS hover, compact layout (icon→title→desc→badges+arrow), ElementType icon prop
- Footer: remove framer-motion, matches sidebar footer style
- BackToTop: remove framer-motion, JS scroll progress bar (1px primary line), compact glass button
- not-found: remove framer-motion and shadcn Button, glass pill CTA, 120px mono 404, CSS stagger
- page.tsx: remove unnecessary 'use client' directive

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 09:07:18 +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
36c02cea55 polish: unit labels in parentheses, export panel styling, remove unused gradient utilities
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:38:48 +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
4a0aa85859 fix: popover color 2026-02-28 13:46:36 +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
bd08951717 fix: popover color 2026-02-27 13:49:25 +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
283855d7a3 fix: icon.png size 2026-02-26 18:24:11 +01:00
f20cedffd5 feat: convert app to PWA with offline support and service worker 2026-02-26 18:01:33 +01:00
1f1b138089 feat: add Favicon Generator app with ImageMagick WASM support 2026-02-26 17:48:16 +01:00
0db8ea8773 refactor: remove favorite and copy features from units converter 2026-02-26 12:40:03 +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
317a80dbad refactor: remove category colors from units app 2026-02-25 18:24:15 +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
0732c9c5e2 feat: add custom 404 page and update nginx error handling 2026-02-25 11:46:37 +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
bf4729fa4d feat: integrate icon.png as favicon and remove legacy icon.svg 2026-02-24 15:27:16 +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
4e7fc24582 chore: update icon and units description 2026-02-23 17:41:03 +01:00
906b0e081b feat: create app/icon.png from app/icon.svg 2026-02-23 17:33:12 +01:00
95b270810b feat: use NEXT_PUBLIC_SITE_URL and remove redundant preconnect 2026-02-23 17:21:46 +01:00
b7d427023e feat: add Umami tracking support 2026-02-23 17:09:44 +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
facb7e5161 style: remove outer margins and scale elements in app/icon.svg 2026-02-23 13:21:59 +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