Website for Brackt.com
Find a file
Claude 1ef37fa8db
fix: use hidden input for UTC date value in add-game form
The onSubmit handler was setting the datetime-local input's value to an
ISO UTC string (e.g. "2026-03-11T17:00:00.000Z"). datetime-local inputs
only accept the format "YYYY-MM-DDTHH:MM" — values with a 'Z' timezone
suffix are invalid and the browser silently clears the field to "". This
caused the form to submit an empty scheduledAt, which the server treated
as null, so games were always saved without a date.

Fix by keeping the datetime-local input for user interaction (renamed
scheduledAtLocal, not submitted) and writing the converted UTC ISO string
into a separate hidden input named scheduledAt in the onSubmit handler.

Also adds app/lib/date-utils.ts with a localDateTimeToUtcIso helper and
matching tests to document and verify the datetime-local ↔ ISO conversion
behaviour.

https://claude.ai/code/session_0148fgZiXpyvGX8ZX3BFRGCs
2026-03-11 23:14:27 +00:00
.github/workflows Create label-subissues.yaml 2026-03-10 13:40:44 -07:00
.vscode feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
app fix: use hidden input for UTC date value in add-game form 2026-03-11 23:14:27 +00:00
cypress ci: reorganize workflow dependencies and remove standalone test workflow 2025-10-21 12:57:03 -07:00
database Add playoff match game scheduling and odds management (#135) 2026-03-11 14:17:43 -07:00
drizzle Found it in a second spot. 2026-03-11 14:47:19 -07:00
plans Update claude.md to push more tests. (#84) 2026-03-07 22:31:04 -08:00
public Fixes missing icon. 2026-03-11 14:20:53 -07:00
scripts refactor: migrate server code from JavaScript to TypeScript with build pipeline 2025-10-18 22:16:04 -07:00
server feat: implement real-time queue updates via socket events in queue actions (#63) 2026-03-04 21:39:54 -08:00
.dockerignore Initial commit from create-react-router 2025-10-10 23:04:50 -07:00
.env.example feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
.gitignore feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
.mcp.json feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
CLAUDE.md Update claude.md to push more tests. (#84) 2026-03-07 22:31:04 -08:00
components.json feat: add theme system with dark mode support and navbar component 2025-10-10 23:30:26 -07:00
cypress.config.js ci: add test job to GitHub workflow and setup testing dependencies 2025-10-21 12:47:11 -07:00
docker-compose.yml feat: add FIFA World Cup 48-team bracket template with group stage and projected scoring 2026-02-14 22:30:12 -08:00
Dockerfile Fix instrument file not being added to docker image 2026-03-11 09:18:08 -07:00
drizzle.config.ts Initial commit from create-react-router 2025-10-10 23:04:50 -07:00
instrument.server.mjs feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
package-lock.json feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
package.json fix: replace react-router-serve with node dist/server.js in start script (#133) 2026-03-11 09:06:11 -07:00
plan.md Add implementation plan for commissioner-without-team feature (#6) 2026-02-20 08:45:09 -08:00
react-router.config.ts feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
README.md Initial commit from create-react-router 2025-10-10 23:04:50 -07:00
server.ts Update claude.md to push more tests. (#84) 2026-03-07 22:31:04 -08:00
TESTING.md ci: add test job to GitHub workflow and setup testing dependencies 2025-10-21 12:47:11 -07:00
tsconfig.json refactor: update import paths to use absolute paths for better clarity and maintainability 2025-10-24 21:20:19 -07:00
tsconfig.node.json feat: implement Expected Value System with ICM probability calculator 2025-11-17 22:19:46 -08:00
tsconfig.server.json feat: Refactor autopick logic to use unified executeAutoPick function and enhance eligibility checks 2025-10-25 10:14:36 -07:00
tsconfig.vite.json refactor: update import paths to use absolute paths for better clarity and maintainability 2025-10-24 21:20:19 -07:00
vite.config.ts feat: add Sentry error monitoring (#132) 2026-03-10 23:35:33 -07:00
vitest.config.ts refactor: update import paths to use absolute paths for better clarity and maintainability 2025-10-24 21:20:19 -07:00

Welcome to React Router!

A modern, production-ready template for building full-stack React applications using React Router.

Features

  • 🚀 Server-side rendering
  • Hot Module Replacement (HMR)
  • 📦 Asset bundling and optimization
  • 🔄 Data loading and mutations
  • 🔒 TypeScript by default
  • 🎉 TailwindCSS for styling
  • 💾 PostgreSQL + DrizzleORM
  • 📖 React Router docs

Getting Started

Installation

Install the dependencies:

npm install

Development

Copy .env.example to .env and provide a DATABASE_URL with your connection string.

Run an initial database migration:

npm run db:migrate

Start the development server with HMR:

npm run dev

Your application will be available at http://localhost:5173.

Building for Production

Create a production build:

npm run build

Deployment

Docker Deployment

To build and run using Docker:

# For npm
docker build -t my-app .

# Run the container
docker run -p 3000:3000 my-app

The containerized application can be deployed to any platform that supports Docker, including:

  • AWS ECS
  • Google Cloud Run
  • Azure Container Apps
  • Digital Ocean App Platform
  • Fly.io
  • Railway

DIY Deployment

If you're familiar with deploying Node applications, the built-in app server is production-ready.

Make sure to deploy the output of npm run build

├── package.json
├── package-lock.json (or pnpm-lock.yaml, or bun.lockb)
├── server.js
├── build/
│   ├── client/    # Static assets
│   └── server/    # Server-side code

Styling

This template comes with Tailwind CSS already configured for a simple default starting experience. You can use whatever CSS framework you prefer.


Built with ❤️ using React Router.