import { Form, Link } from "react-router"; import type { Route } from "./+types/admin.sports-seasons.$id.expected-values"; import { loader, action } from "./admin.sports-seasons.$id.expected-values.server"; import { Button } from "~/components/ui/button"; import { Input } from "~/components/ui/input"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "~/components/ui/card"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "~/components/ui/table"; import { ArrowLeft, Save, Calculator } from "lucide-react"; export { loader, action }; export default function ExpectedValuesPage({ loaderData, actionData }: Route.ComponentProps) { const { sportsSeason, participants, existingEVs } = loaderData; const totalEV = Array.from(existingEVs.values()).reduce( (sum, ev) => sum + parseFloat(ev.expectedValue), 0 ); const participantIds = participants .map((p: { id: string; name: string }) => p.id) .join(","); return (
Default Scoring Rules (for EV calculation):
Note: EVs will be recalculated with actual league scoring rules when used in fantasy leagues.