Commit Graph

154 Commits

Author SHA1 Message Date
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
0f5e67a007 fix: remove duplicate className attribute in AnimationSettings cubic-bezier labels
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:35:57 +01:00
d0e8ae322f style: move units into label text in KeyframeProperties SliderRow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:33:03 +01:00
0e95b7e543 fix: track animation ended state and wire preview controls correctly
- Replace boolean paused with AnimState ('playing'|'paused'|'ended')
- Use onAnimationEnd to detect when finite animations finish
- Play re-enables after end and restarts the animation (replay)
- Pause only active while playing; Restart always available
- Config changes auto-restart preview so edits are instantly visible

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:17:20 +01:00
27c7372a31 style: match ToggleGroup style to QR preview (outline variant, h-6 compact items)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:13:47 +01:00
1a517c4655 style: replace speed Select with ToggleGroup in AnimationPreview
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:12:04 +01:00
f4ee557e26 fix: preset thumbnails no longer conflict with main preview animation
- Inject only @keyframes (not .animated class rule) per preset thumbnail
  so the main preview's .animated rule cannot override them
- Drive thumbnail animation entirely via inline style properties
- Remove isActive/currentName — presets should never appear selected

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 17:08:22 +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
6a586b936a style: replace emoji heart with primary Heart icon and polish Valknar link
- Swap 💜 for a filled Lucide Heart icon in text-primary in both Footer and AppSidebar
- Style Valknar link with animated underline (decoration-primary on hover)
- Add sidebar footer with copyright, Heart, Valknar link, and GitFork source link
- Add author field to package.json

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 12:20:28 +01:00
0d731e56da fix: sidebar bg opacity 2026-02-28 12:01:37 +01:00
bc9e30c918 style: constrain description width in AppPage; add description to sidebar items
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 10:01:33 +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
82649f6674 fix: remove sidebar tool description 2026-02-28 09:09:16 +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
695ba434e2 feat: add comment wrapping to ASCII art tool
Add comment style selector (shadcn Select) to wrap generated ASCII art
with language-appropriate comment syntax (// # -- ; /* */ <!-- --> """).
Refactor preview controls to use shadcn ToggleGroup, Tooltip, and Badge.
Alignment is disabled when a comment style is active.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 19:11:25 +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
83586c8bbb fix: export menu buttons size 2026-02-27 13:53:08 +01:00
ee7e5ec06c refactor: streamline, refine and polish 2026-02-27 12:51:28 +01:00
efe3c81576 chore: cleanup 2026-02-27 08:47:44 +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
f20cedffd5 feat: convert app to PWA with offline support and service worker 2026-02-26 18:01:33 +01:00
1d72f34b65 style: streamline media app upload component with favicon app styling 2026-02-26 17:52:41 +01:00
1f1b138089 feat: add Favicon Generator app with ImageMagick WASM support 2026-02-26 17:48:16 +01:00
d99c88df0e fix(media): truncate long filename in download button 2026-02-26 17:12:27 +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
225a9ad7fb fix: upload card 2026-02-25 21:44:34 +01:00
311d80bd41 fix: figlet text input card 2026-02-25 21:32:05 +01:00
84bc70b442 fix: ffmpeg import 2026-02-25 20:51:45 +01:00
dd71130977 fix: conversion options styling 2026-02-25 20:20:04 +01:00
b560dcbc8e refactor: streamline media converter UI and layout
- consolidated file upload and metadata display in single card
- replaced complex FormatSelector with simple shadcn Select component
- inlined all conversion options without toggle display
- restructured layout to 2-column grid matching pastel app pattern:
  - left column: upload and conversion options
  - right column: conversion results
- removed unused components (FileInfo, FormatSelector, ConversionOptionsPanel)
- cleaned up imports and simplified component hierarchy

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 19:59:22 +01:00
56cdb1ae4a fix: remove media conversion presets 2026-02-25 19:20:22 +01:00
4668d771c1 style: remove emojis from media app format presets 2026-02-25 18:34:39 +01:00
4898ad942b style: remove emojis from media app quality presets 2026-02-25 18:30:23 +01:00
317a80dbad refactor: remove category colors from units app 2026-02-25 18:24:15 +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
40e0b0e375 refactor: streamline TextInput classes with shadcn input 2026-02-25 16:13:10 +01:00
880bce157b style: improve light theme border and input visibility 2026-02-25 16:09:29 +01:00
2fb2eaa54c refactor: use Card, CardTitle and CardContent in Figlet and Units apps 2026-02-25 16:00:10 +01:00
9bee255647 style: rename Pastel (Color) to Pastel in sidebar 2026-02-25 11:23:03 +01:00
5612176996 refactor: externalize app icons and update stats count 2026-02-25 11:14:24 +01:00
08e1cac3a0 feat: streamline WASM loading with local priority and cleanup UI 2026-02-25 10:44:49 +01:00
84cf6ecab0 feat: remove keyboard shortcuts from media app 2026-02-25 10:15:28 +01:00
fbc8cdeebe feat: add media converter app and fix compilation errors 2026-02-25 10:07:25 +01:00
1da6168f37 fix: sidebar logo 2026-02-24 19:19:34 +01:00
5f46ba8c74 fix: breadcrumb root 2026-02-24 19:14:58 +01:00