No description https://muchq.com/
  • TypeScript 74.4%
  • CSS 25.3%
  • HTML 0.2%
Find a file
Andy Aylward 5bf2b47658
Update react, vite, eslint, and plugin-react (#224)
* Update react 19.2.5, vite 8, eslint 10, and @vitejs/plugin-react 6

- Bump react and react-dom to 19.2.5
- Bump vite to 8.0.8 and @vitejs/plugin-react to 6.0.1
- Bump eslint to 10.2.0 and @eslint/js to 10.0.1
- Use eslint-plugin-react-hooks canary for eslint 10 peer support
- Convert manualChunks to function form for Rolldown (vite 8)
- Disable new canary-only lint rules to keep update non-breaking

* Address react-hooks/set-state-in-effect lint rule

Convert useEffect+setState patterns to useMemo for derived state in
math-learning components. Move animation end-state transitions into
timer callbacks. Add targeted inline suppressions for golf permalink
state machine effects where setState coordinates with network calls.

Also disable new canary-only lint rules (purity, refs) that flag
pre-existing patterns unrelated to this update.
2026-04-14 21:18:10 -04:00
.github remove ghpages deploy (#93) 2025-09-06 03:06:59 +00:00
public favicon 2025-07-27 13:37:05 -04:00
src Update react, vite, eslint, and plugin-react (#224) 2026-04-14 21:18:10 -04:00
.gitignore [golf] New Game Notifications & UI Improvements (#160) 2025-10-12 14:18:01 -04:00
CNAME Update CNAME 2025-06-05 22:44:22 -04:00
eslint.config.js Update react, vite, eslint, and plugin-react (#224) 2026-04-14 21:18:10 -04:00
GOLF.md [golf] refactor network layer and add golf (#18) 2025-08-08 22:57:28 -04:00
index.html lighter (#13) 2025-08-03 02:45:01 +00:00
package-lock.json Update react, vite, eslint, and plugin-react (#224) 2026-04-14 21:18:10 -04:00
package.json Update react, vite, eslint, and plugin-react (#224) 2026-04-14 21:18:10 -04:00
README.md permutation viz iterations (#26) 2025-08-10 18:50:45 +00:00
THOUGHTS.md switch to server side id generation 2025-08-02 17:31:35 -04:00
tsconfig.json chore(deps): upgrade vitest 4, eslint 9, and tsconfig to ES2024 (#198) 2026-03-09 21:42:35 -04:00
tsconfig.node.json AI rewrite as react + ts 2025-07-26 23:51:38 -04:00
vite.config.ts Update react, vite, eslint, and plugin-react (#224) 2026-04-14 21:18:10 -04:00
vitest.config.ts fix lint errors 2025-07-27 00:20:35 -04:00
wrangler.json spa (#70) 2025-08-27 16:08:14 +00:00

MuchQ

Just some doodles and a pretty chill game.

🚀 Quick Start

Development

# Install dependencies
npm install

# Start development server
npm run dev

# Open http://localhost:3000

Building

# Type check
npm run typecheck

# Lint code
npm run lint

# Run tests
npm run test

# Build for production
npm run build

# Preview production build
npm run preview

🏗️ Project Structure

src/
├── components/          # React components
│   ├── Navigation.tsx   # Main navigation
│   ├── JuliaSetBackground.tsx # WebGL Julia set renderer
│   ├── MathAnimations.tsx     # Floating math equations
│   ├── ThoughtsGame.tsx       # 3D thoughts game
│   ├── ThoughtsNavigation.tsx # Thoughts page navigation
│   ├── GolfGame.tsx     # Golf game component
│   ├── GolfNavigation.tsx     # Golf page navigation
│   ├── GroupsNavigation.tsx   # Groups page navigation
│   ├── PermutationVisualizer.tsx # Interactive permutation tool
│   ├── CycleDecomposer.tsx    # Cycle decomposition calculator
│   ├── PermutationQuiz.tsx    # Interactive quiz component
│   ├── SignCalculator.tsx     # Permutation sign calculator
│   └── __tests__/       # Component tests
├── hooks/               # Custom React hooks
│   ├── useWebGL.ts      # WebGL Julia set logic
│   ├── useThoughtsGame.ts # Thoughts game engine logic
│   └── useGolfGame.ts   # Golf game engine logic
├── pages/               # Page components
│   ├── HomePage.tsx     # Landing page
│   ├── ThoughtsPage.tsx # Thoughts game page
│   ├── GolfPage.tsx     # Golf game page
│   └── GroupsPage.tsx   # Permutation groups learning module
├── types/               # TypeScript type definitions
│   ├── game.ts          # Game-related types
│   └── vite-env.d.ts    # Vite environment types
├── utils/               # Utility functions
│   └── gameUtils.ts     # Game helper functions
└── test/                # Test configuration
    └── setup.ts         # Test setup

🧪 Testing

# Run tests in watch mode
npm run test

# Run tests with UI
npm run test:ui

# Run tests once
npm run test -- --run

📝 Original Migration

Old time-y implementation is preserved in the backup/ directory.

Documentation