@jkim430/lineup
v0.1.12
Published
A modern React app for configuring and visualizing volleyball team rotations.
Readme
🏐 Volleyball Lineup
A modern React app for configuring and visualizing volleyball team rotations.
Features
- Configurable Court Size: Adjust the number of players on court (1-12, default 6)
- Position Management: Assign players to positions with color-coded roles
- Setter (Gold)
- Outside Hitter (Blue)
- Opposite Hitter (Red)
- Libero (Green)
- Middle Blocker (Purple)
- Substitute Bench: Up to 3 subs on each side of the court (6 total)
- Gender Requirements: Set minimum girls required on court
- Smart Rotations: Automatic rotation that maintains gender requirements
Getting Started
Development
npm install
npm run devBuild
npm run buildDeploy to GitHub Pages
- Update the
homepagefield inpackage.jsonwith your GitHub username - Update the
baseinvite.config.tsif your repo name is different - Run:
npm run deployUse as a package
This repo doubles as a reusable React component. Build the library output with:
npm run build:lib # emits ./lib (index.js, index.d.ts, style.css)Then in a consuming app:
import { LineupSimulator } from '@jkim430/lineup';
import '@jkim430/lineup/style.css';
export function App() {
return (
<LineupSimulator
// All optional; deeply-merged over the defaults.
settings={{
minGirls: { default: 1 },
maxRosterSize: 12,
colors: { accentPrimary: '#00d4aa', positions: { setter: '#E6B333' } },
validators: { substitutions: [/* custom RotationValidator[] */] },
}}
// Provide your own analytics sink (or omit to disable).
onTrack={(event, data) => myAnalytics.track(event, data)}
/>
);
}react and react-dom are peer dependencies (the consumer provides them);
@dnd-kit/* and lz-string are bundled-as-dependencies and externalized, so
they resolve from the consumer's node_modules. Each consuming site supplies
its own onTrack, so analytics are fully separate from this repo's site.
Exported types include LineupSettings, DeepPartial, ColorScheme,
RotationValidator, MethodValidators, and Player/Position.
Tech Stack
- React 19
- TypeScript
- Vite
- GitHub Pages
License
MIT
