Sebastian Krüger 3a4fa63de7 polish: streamline colors and enhance UX with major improvements
Color System Improvements:
- Added accentColor prop to ToolCard for consistent color identity
- Each tool now has its signature color for hover effects
- Title and arrow icon now change to tool's accent color on hover
- Footer links match card colors for unified visual language

Hero Section Enhancement:
- Added prominent CTA buttons (Explore Tools + View on GitHub)
- Gradient animated button with hover effects
- GitHub button with icon and border hover effect
- Better visual hierarchy with button placement
- Updated scroll indicator text to "Scroll to explore"

User Experience:
- Improved hover interactions with color-coded feedback
- Better visual consistency across all components
- Enhanced call-to-action visibility
- Smooth transitions and micro-interactions

Color Palette:
- Vert: #10b981 (emerald green)
- Paint: #f97316 (vibrant orange)
- Pastel: #a855f7 (purple)
- Stirling: #667eea (indigo blue)
- Units: #2dd4bf (cyan)
- Draw: #ec4899 (pink)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 18:40:25 +01:00
2025-11-07 11:26:19 +01:00
2025-11-07 11:26:19 +01:00
2025-11-07 11:26:19 +01:00
2025-11-07 11:26:19 +01:00
2025-11-07 11:26:19 +01:00
2025-11-07 11:26:19 +01:00

Kit Landing Page

A stylish, animated landing page for kit.pivoine.art - your creative toolkit.

Features

  • Animated UI - Smooth animations with Framer Motion
  • 🎨 Modern Design - Glassmorphism effects, gradients, and animated backgrounds
  • 📱 Responsive - Mobile-first design that works on all devices
  • Fast - Static export with Next.js 16 and Turbopack for optimal performance
  • 🎯 SEO Optimized - Proper meta tags and semantic HTML
  • 🚀 Production Ready - Docker support with Nginx

Tech Stack

  • Next.js 16 - React framework with App Router and Turbopack
  • React 19 - Latest React with modern features
  • Tailwind CSS 4 - Utility-first CSS with CSS-first configuration
  • Framer Motion - Professional animation library
  • TypeScript 5 - Type-safe development
  • ESLint 9 - Latest linting with flat config
  • pnpm - Fast, efficient package manager

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm (via corepack)

Development

# Install dependencies
pnpm install

# Run development server
pnpm dev

# Build for production
pnpm build

# Preview production build locally
pnpm start

Visit http://localhost:3000 to see the site.

Docker Deployment

Using Pre-built Image from GHCR

The Docker image is automatically built and published to GitHub Container Registry on every push to main:

# Pull and run the latest image
docker pull ghcr.io/valknarness/kit-ui:latest
docker run -p 80:80 ghcr.io/valknarness/kit-ui:latest

Build Locally

Or build and run locally:

# Build the image
docker build -t kit-landing .

# Run the container
docker run -p 80:80 kit-landing

Docker Compose

For production deployment, see /home/valknar/Projects/docker-compose/kit/compose.yaml.

Available Tags

  • latest - Latest build from main branch
  • main - Main branch builds
  • v* - Semantic version tags (e.g., v1.0.0)
  • <branch>-<sha> - Branch-specific builds with commit SHA

Project Structure

.
├── app/
│   ├── layout.tsx      # Root layout with metadata
│   ├── page.tsx        # Home page
│   └── globals.css     # Global styles and utilities
├── components/
│   ├── AnimatedBackground.tsx  # Animated gradient background
│   ├── Hero.tsx               # Hero section with logo
│   ├── Logo.tsx               # Animated SVG logo
│   ├── ToolCard.tsx           # Tool card component
│   ├── ToolsGrid.tsx          # Grid of available tools
│   └── Footer.tsx             # Footer component
├── public/             # Static assets
├── Dockerfile          # Multi-stage Docker build
├── nginx.conf          # Nginx configuration
└── next.config.ts      # Next.js configuration

Customization

Adding New Tools

Edit components/ToolsGrid.tsx and add a new tool object to the tools array:

{
  title: 'Tool Name',
  description: 'Tool description',
  url: 'https://tool.kit.pivoine.art',
  gradient: 'gradient-purple-blue', // or 'gradient-cyan-purple'
  icon: (
    // Your SVG icon here
  ),
}

Styling

Tailwind CSS 4 uses a new CSS-first configuration approach:

  • Theme customization: Edit the @theme block in app/globals.css
  • Custom utilities: Add @utility blocks in app/globals.css
  • Animations: Define keyframes directly in the @theme block
  • Colors & fonts: Configure via CSS custom properties in @theme

Available Tools

  • Vert - Privacy-focused file converter (images, audio, documents)
  • Paint - Browser-based image editor
  • Pastel - Modern color manipulation toolkit with palette generation and accessibility testing
  • Stirling - Powerful PDF toolkit with 50+ operations (merge, split, convert, OCR, sign)
  • Units - Smart unit converter with 187 units across 23 categories (length, mass, temperature, etc.)
  • Draw - Virtual whiteboard for sketching hand-drawn style diagrams (flowcharts, wireframes, collaborative editing)

CI/CD Pipeline

The project uses GitHub Actions for automated Docker image builds:

Workflow Features

  • Automated builds on push to main and tags
  • Multi-architecture support (linux/amd64, linux/arm64)
  • GitHub Container Registry (GHCR) publishing
  • Build caching for faster builds
  • Artifact attestation for supply chain security
  • Semantic versioning support

Triggering Builds

# Automatic build on push to main
git push origin main

# Create a versioned release
git tag v1.0.0
git push origin v1.0.0

# Manual trigger via GitHub Actions UI
# Go to Actions → Build and Push Docker Image → Run workflow

Using the Published Image

# Latest from main branch
docker pull ghcr.io/valknarness/kit-ui:latest

# Specific version
docker pull ghcr.io/valknarness/kit-ui:v1.0.0

# Specific commit
docker pull ghcr.io/valknarness/kit-ui:main-abc1234

Performance

  • Static export for fast loading
  • Optimized images and assets
  • Gzip compression via Nginx
  • Proper caching headers

License

Private project - All rights reserved.

Author

Created for pivoine.art

Description
No description provided
Readme 158 KiB
Languages
TypeScript 88.6%
CSS 8%
Dockerfile 1.8%
JavaScript 1.6%