/pick-palette

A color palette manager made with Svelte

Primary LanguageSvelteMIT LicenseMIT

Pick Palette

Netlify Status

A color palette manager made with Svelte!

View website

Features

  • Smooth transitions done purely with svelte/transition
  • Custom-built color picker with support for h, s, v, r, g, b modes
  • Custom-built drag-and-drop color tabs
  • Fullscreen file input
  • Full undo/redo functionality with Immer
  • Data is all kept in local storage
  • Multi-tab support with local storage synchronization
  • Keyboard shortcuts with Mousetrap
  • Project import/export file with validation
  • Routing with @bjornlu/svelte-router
  • Color blindness simulation with @bjornlu/colorblind
  • Developed with Vite, TypeScript and Windi CSS

Notes

  • Snackbar is never used
  • State management is separated to state, actions, effects and utils (Explanation)
  • Color picker isn't perfect but functional. Defects include:
    • Color box gradient is inaccurate in different browsers
    • Dispatched changes aren't properly throttled
  • Default generated shades is only OK looking

Development

Install dependencies with pnpm install.

# Start dev server
$ pnpm dev

# Build for production
$ pnpm build

# Preview production build
$ pnpm serve

# Format code with Prettier
$ pnpm format

Code is auto-formatted on each git push with husky and lint-staged.

License

MIT