Commit Graph

4 Commits

Author SHA1 Message Date
valknarness
75bfecee4d feat: implement navigation and dark/light theme system
Add complete navigation and theming infrastructure:

**Theme System:**
- ThemeProvider component with React Context
  - Supports light, dark, and system themes
  - Persists preference to localStorage
  - Auto-detects system theme preference
  - Listens for system theme changes
  - Smooth theme transitions

- ThemeToggle component
  - Sun/Moon icon toggle button
  - Accessible with ARIA labels
  - Shows current theme state
  - Keyboard accessible

**Navigation:**
- Navbar component with sticky header
  - Gradient logo with Palette icon
  - Desktop horizontal navigation
  - Mobile responsive menu
  - Active route highlighting
  - Backdrop blur effect
  - Links to all main sections:
    - Home
    - Playground
    - Palettes
    - Accessibility
    - Named Colors
    - Batch Operations

**Layout Updates:**
- Integrated Navbar into root layout
- Added ThemeProvider to Providers wrapper
- Proper HTML suppressHydrationWarning for theme
- Container-based responsive layout

**Features:**
- Theme persists across page reloads
- System theme preference detection
- Active navigation state
- Smooth hover transitions
- Mobile-first responsive design
- Accessible navigation with proper semantics

**Styling:**
- Gradient text logo (pink → purple → blue)
- Sticky top navbar with backdrop blur
- Border bottom for visual separation
- Consistent spacing and padding
- Mobile menu slides in smoothly

Build successful! Navigation and theming complete.

Next: Palette generation pages and additional features.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 11:35:05 +01:00
valknarness
94ea87ca83 feat: implement color manipulation tools with interactive sliders
Add complete color manipulation interface to playground:

**New Components:**
- Slider component - Customizable range input with label and value display
  - Smooth animations on thumb hover
  - Keyboard accessible
  - Shows current value with optional suffix
  - Tailwind-styled for consistency

- ManipulationPanel component - Full color manipulation controls
  - Lighten/Darken sliders (0-100% range)
  - Saturate/Desaturate sliders (0-100% range)
  - Hue rotation slider (-180° to +180°)
  - Complementary color quick action
  - All operations integrated with Pastel API
  - Toast notifications for success/error
  - Loading states during API calls

**Playground Enhancements:**
- Replaced placeholder quick action buttons with ManipulationPanel
- Full integration with color manipulation mutations
- Real-time color updates after each operation
- User-friendly feedback with toast messages
- Amount controls for precise adjustments

**Features:**
- Live preview of manipulation results
- Configurable amounts before applying
- Success/error handling with helpful messages
- Disabled state during API operations
- Smooth user experience with immediate feedback

**API Integration:**
- useLighten, useDarken mutations
- useSaturate, useDesaturate mutations
- useRotate for hue rotation
- useComplement for complementary colors
- All mutations with proper error handling

Build successful! Color manipulation tools fully functional.

Next: Navigation, theme system, and additional UI components.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 11:28:35 +01:00
valknarness
173d81d9d4 feat: implement color playground with interactive picker and info display
Add complete color manipulation interface:

**Color Components:**
- ColorPicker - Interactive hex color picker with text input
  - Uses react-colorful for visual selection
  - Manual input support for any color format
  - Real-time updates

- ColorDisplay - Large color preview swatch
  - Configurable sizes (sm, md, lg, xl)
  - Optional border styling
  - Accessible with ARIA labels

- ColorInfo - Comprehensive color information display
  - Shows all formats: Hex, RGB, HSL, Lab, OkLab
  - Copy to clipboard functionality for each format
  - Displays brightness, luminance, light/dark type
  - Shows named color matches

**API Integration:**
- React Query hooks for all Pastel API endpoints
  - useColorInfo - Get color information
  - useConvertFormat - Format conversion
  - useLighten, useDarken, useSaturate, etc. - Manipulations
  - useGenerateRandom, useGenerateDistinct, useGenerateGradient
  - useNamedColors - Cached named colors list
  - Automatic error handling and loading states

**Playground Page (/playground):**
- Two-column layout: picker + info
- Live color preview with large swatch
- Real-time API integration with loading states
- Error handling with user-friendly messages
- Quick action buttons (ready for implementation)
- Responsive grid layout

**Features:**
- Toast notifications for clipboard copy
- Loading spinners during API calls
- Error display with helpful messages
- Accessible keyboard navigation
- Smooth transitions and animations

Build successful with playground page rendering! Ready for color manipulation actions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 11:05:23 +01:00
valknarness
bd05f109b4 feat: initial Next.js 15 implementation with TypeScript and Tailwind CSS 4
Add complete project structure and foundation:

**Core Setup:**
- Next.js 15.5.6 with App Router and React 19
- TypeScript 5.7 with strict mode
- Tailwind CSS 4.1 with custom theme configuration
- ESLint and Prettier configuration

**Dependencies Installed:**
- @tanstack/react-query - Server state management
- zustand - Client state management
- framer-motion - Animations
- lucide-react - Icon library
- react-colorful - Color picker component
- cmdk - Command palette
- sonner - Toast notifications
- clsx + tailwind-merge - Class name utilities

**Project Structure:**
- app/ - Next.js App Router pages
- components/ - React components (ui, color, tools, layout, providers)
- lib/ - Utilities, API client, hooks, stores, constants
- tests/ - Unit and E2E test directories

**API Integration:**
- Type-safe Pastel API client with all 21 endpoints
- Complete TypeScript type definitions for requests/responses
- Error handling and response types

**UI Components:**
- Button component with variants (default, outline, ghost, destructive)
- Input component with focus states
- Providers wrapper (React Query, Toast)
- Root layout with Inter font and metadata

**Pages:**
- Home page with gradient hero and feature cards
- Links to playground and palette generation (pages pending)

**Configuration:**
- Tailwind with HSL color variables for theming
- Dark/light mode CSS variables
- Custom animations (fade-in, slide-up, slide-down)
- @tailwindcss/forms and @tailwindcss/typography plugins

Build successful: 102 kB First Load JS, static generation working.

Ready for color components and playground implementation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 10:55:42 +01:00