Commissioners can now right-click any picked cell in the draft grid to replace the drafted participant (available during and after draft) or roll back the draft to that pick number (available during draft only). Replace pick enforces sport eligibility with the replaced slot treated as free, updates the pick in-place, and broadcasts a pick-replaced socket event so all clients update in real time. Rollback deletes all picks from the selected pick onward, resets the season pick number, clears all timers, and creates a fresh timer for the team now on the clock. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
96 lines
3.8 KiB
TypeScript
96 lines
3.8 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/autodraft/update", "routes/api/autodraft.update.ts"),
|
|
route("user-profile", "routes/user-profile.tsx"),
|
|
route("how-to-play", "routes/how-to-play.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;
|