# FPV Shop List

A personal shopping list app for FPV drone gear. Organize parts into carts and
sections, track prices, attach images, and share builds with others.

## Features

- **Multiple carts** — create empty carts or seed from curated templates
- **Sections** — group items (frame, motors, goggles, batteries, etc.) with an
  optional required flag
- **Item types** — individual products, complete drones, or kit builds with a
  per-part breakdown
- **Kit builds** — add parts with category, price, image, and URL; total is
  summed automatically
- **Images** — attach via file picker, clipboard paste (Ctrl+V), or base64
  embedded in JSON
- **Hover preview** — hover over a kit part to see its image near the cursor
- **Import / Export** — share carts as JSON files
- **Themes** — 9 named color palettes (Sonokai variants + Axis dark/light) with
  OS preference fallback
- **Persistent** — carts and active selection stored in `localStorage`

## Curated catalog

`public/curated.json` contains suggested starter builds (e.g. a Crux3 beginner
kit). The app fetches this on load and exposes the templates in the "Load
template" dropdown. Templates are deep-copied into a new cart so edits never
affect the source.

## Stack

- [React 19](https://react.dev/) with React Compiler
- [Vite 8](https://vite.dev/)
- [Tailwind CSS v4](https://tailwindcss.com/) via `@tailwindcss/vite`
- TypeScript

## Setup

Install dependencies

```sh
bun install
```

Start dev server

```sh
bun dev
```

Build for production

```sh
bun run build
```

Preview production build

```sh
bun run preview
```

## Scaffolded with

```sh
bun create vite
```
