Commissioners can right-click any team header on the Draft Board tab to open an "Adjust Time Bank..." dialog. The dialog supports adding or removing an arbitrary amount of time in seconds, minutes, or hours. The change is applied immediately to the database and broadcast to all clients via the existing timer-update Socket.IO event so every participant sees the updated clock in real time. - New API route: POST /api/draft/adjust-time-bank (commissioner-only) - DraftGridSection: wraps team headers in a ContextMenu for commissioners - Draft room: dialog state, handler, and updated DraftGridSection props https://claude.ai/code/session_013wxPKzLUCx3nC3LpxgjvQL
98 lines
3.9 KiB
TypeScript
98 lines
3.9 KiB
TypeScript
import { type RouteConfig, index, route } from "@react-router/dev/routes";
|
|
|
|
export default [
|
|
index("routes/home.tsx"),
|
|
route("i/:inviteCode", "routes/i.$inviteCode.tsx"),
|
|
route("leagues/new", "routes/leagues/new.tsx"),
|
|
route("leagues/:leagueId", "routes/leagues/$leagueId.tsx"),
|
|
route("leagues/:leagueId/settings", "routes/leagues/$leagueId.settings.tsx"),
|
|
route(
|
|
"leagues/:leagueId/sports-seasons/:sportsSeasonId",
|
|
"routes/leagues/$leagueId.sports-seasons.$sportsSeasonId.tsx"
|
|
),
|
|
route(
|
|
"leagues/:leagueId/draft/:seasonId",
|
|
"routes/leagues/$leagueId.draft.$seasonId.tsx"
|
|
),
|
|
route(
|
|
"leagues/:leagueId/draft-board/:seasonId",
|
|
"routes/leagues/$leagueId.draft-board.$seasonId.tsx"
|
|
),
|
|
route(
|
|
"leagues/:leagueId/standings/:seasonId",
|
|
"routes/leagues/$leagueId.standings.$seasonId.tsx"
|
|
),
|
|
route(
|
|
"leagues/:leagueId/standings/:seasonId/teams/:teamId",
|
|
"routes/leagues/$leagueId.standings.$seasonId.teams.$teamId.tsx"
|
|
),
|
|
route("teams/:teamId/settings", "routes/teams/$teamId.settings.tsx"),
|
|
route("api/webhooks/clerk", "routes/api/webhooks/clerk.ts"),
|
|
route("api/queue/add", "routes/api/queue.add.ts"),
|
|
route("api/queue/remove", "routes/api/queue.remove.ts"),
|
|
route("api/queue/clear", "routes/api/queue.clear.ts"),
|
|
route("api/queue/reorder", "routes/api/queue.reorder.ts"),
|
|
route("api/draft/make-pick", "routes/api/draft.make-pick.ts"),
|
|
route("api/draft/start", "routes/api/draft.start.ts"),
|
|
route("api/draft/pause", "routes/api/draft.pause.ts"),
|
|
route("api/draft/resume", "routes/api/draft.resume.ts"),
|
|
route("api/draft/force-autopick", "routes/api/draft.force-autopick.ts"),
|
|
route("api/draft/force-manual-pick", "routes/api/draft.force-manual-pick.ts"),
|
|
route("api/draft/replace-pick", "routes/api/draft.replace-pick.ts"),
|
|
route("api/draft/rollback", "routes/api/draft.rollback.ts"),
|
|
route("api/draft/adjust-time-bank", "routes/api/draft.adjust-time-bank.ts"),
|
|
route("api/autodraft/update", "routes/api/autodraft.update.ts"),
|
|
route("user-profile", "routes/user-profile.tsx"),
|
|
route("how-to-play", "routes/how-to-play.tsx"),
|
|
route("rules", "routes/rules.tsx"),
|
|
route("test-socket", "routes/test-socket.tsx"),
|
|
|
|
// Admin routes
|
|
route("admin", "routes/admin.tsx", [
|
|
index("routes/admin._index.tsx"),
|
|
route("sports", "routes/admin.sports.tsx"),
|
|
route("sports/new", "routes/admin.sports.new.tsx"),
|
|
route("sports/:id", "routes/admin.sports.$id.tsx"),
|
|
route("sports-seasons", "routes/admin.sports-seasons.tsx"),
|
|
route("sports-seasons/new", "routes/admin.sports-seasons.new.tsx"),
|
|
route("sports-seasons/:id", "routes/admin.sports-seasons.$id.tsx"),
|
|
route(
|
|
"sports-seasons/:id/participants",
|
|
"routes/admin.sports-seasons.$id.participants.tsx"
|
|
),
|
|
route(
|
|
"sports-seasons/:id/events",
|
|
"routes/admin.sports-seasons.$id.events.tsx"
|
|
),
|
|
route(
|
|
"sports-seasons/:id/events/:eventId",
|
|
"routes/admin.sports-seasons.$id.events.$eventId.tsx"
|
|
),
|
|
route(
|
|
"sports-seasons/:id/events/:eventId/bracket",
|
|
"routes/admin.sports-seasons.$id.events.$eventId.bracket.tsx"
|
|
),
|
|
route(
|
|
"sports-seasons/:id/expected-values",
|
|
"routes/admin.sports-seasons.$id.expected-values.tsx"
|
|
),
|
|
route(
|
|
"sports-seasons/:id/futures-odds",
|
|
"routes/admin.sports-seasons.$id.futures-odds.tsx"
|
|
),
|
|
route(
|
|
"sports-seasons/:id/recalculate-probabilities",
|
|
"routes/admin.sports-seasons.$id.recalculate-probabilities.tsx"
|
|
),
|
|
route("participants", "routes/admin.participants.tsx"),
|
|
route("templates", "routes/admin.templates.tsx"),
|
|
route("templates/new", "routes/admin.templates.new.tsx"),
|
|
route("templates/:id", "routes/admin.templates.$id.tsx"),
|
|
route("data-sync", "routes/admin.data-sync.tsx"),
|
|
route("standings-snapshots", "routes/admin.standings-snapshots.tsx"),
|
|
]),
|
|
route(
|
|
"api/admin/export-sports-data",
|
|
"routes/api.admin.export-sports-data.ts"
|
|
),
|
|
] satisfies RouteConfig;
|