Skip to content

Commit

Permalink
Add coral and algae epa
Browse files Browse the repository at this point in the history
  • Loading branch information
boomermath committed Mar 11, 2025
1 parent f7d97c4 commit 716dc65
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 29 deletions.
25 changes: 23 additions & 2 deletions apps/web/app/(sidebar)/analysis/advanced/AdvancedDataTable.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { db } from "@/lib/database";
import { team, teamMatchStats } from "@/lib/database/schema";
import { match } from "@/lib/database/schema";
import { match, team, teamMatchStats } from "@/lib/database/schema";
import { avg, eq, sql } from "drizzle-orm";
import AdvancedDataTableClient from "./AdvancedDataTableClient";

Expand All @@ -10,6 +9,8 @@ export type AdvancedTeamData = {
auto_total: number;
teleop_total: number;
endgame_total: number;
coral_total: number;
algae_total: number;
total_score: number;
};

Expand Down Expand Up @@ -100,6 +101,24 @@ export async function AdvancedDataTable({ id }: { id: string }) {
${pointValues.shallow_percentage} +
${pointValues.deep_percentage}`,
},
coral_total: {
value: sql`${pointValues.auto_coral_level_1} +
${pointValues.auto_coral_level_2} +
${pointValues.auto_coral_level_3} +
${pointValues.auto_coral_level_4} +
${pointValues.teleop_coral_level_1} +
${pointValues.teleop_coral_level_2} +
${pointValues.teleop_coral_level_3} +
${pointValues.teleop_coral_level_4}`
},
algae_total: {
value: sql`
${pointValues.auto_algae_net} +
${pointValues.auto_algae_processor} +
${pointValues.teleop_algae_net} +
${pointValues.teleop_algae_processor}
`,
}
})
.from(pointValues)
.innerJoin(team, eq(team.teamNumber, pointValues.team_number));
Expand All @@ -111,6 +130,8 @@ export async function AdvancedDataTable({ id }: { id: string }) {
auto_total: Number(team.auto_total.value),
teleop_total: Number(team.teleop_total.value),
endgame_total: Number(team.endgame_total.value),
coral_total: Number(team.coral_total.value),
algae_total: Number(team.algae_total.value),
total_score:
Number(team.auto_total.value) +
Number(team.teleop_total.value) +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,39 +66,70 @@ const columns = [
return String(row.getValue(columnId)).startsWith(filterValue);
},
}),

columnHelper.accessor("team_name", {
cell: (info) => <div className="text-left">{info.getValue()}</div>,
header: ({ column }) => (
<SortableHeader label={"Team Name"} column={column} />
),
footer: (info) => info.column.id,
}),
columnHelper.accessor("auto_total", {
cell: (info) => (
<div className="text-right w-20">
<NumberDisplay value={info.getValue()} />
</div>
),
header: ({ column }) => <SortableHeader label="aEPA" column={column} />,
footer: (info) => info.column.id,
}),
columnHelper.accessor("teleop_total", {
cell: (info) => (
<div className="text-right w-20">
<NumberDisplay value={info.getValue()} />
</div>
),
header: ({ column }) => <SortableHeader label="tEPA" column={column} />,
footer: (info) => info.column.id,
columnHelper.group({
header: "Game Period",
footer: (props) => props.column.id,
columns: [
columnHelper.accessor("auto_total", {
cell: (info) => (
<div className="text-right w-20">
<NumberDisplay value={info.getValue()} />
</div>
),
header: ({ column }) => <SortableHeader label="aEPA" column={column} />,
footer: (info) => info.column.id,
}),
columnHelper.accessor("teleop_total", {
cell: (info) => (
<div className="text-right w-20">
<NumberDisplay value={info.getValue()} />
</div>
),
header: ({ column }) => <SortableHeader label="tEPA" column={column} />,
footer: (info) => info.column.id,
}),
columnHelper.accessor("endgame_total", {
cell: (info) => (
<div className="text-right w-20">
<NumberDisplay value={info.getValue()} />
</div>
),
header: ({ column }) => <SortableHeader label="eEPA" column={column} />,
footer: (info) => info.column.id,
}),
]
}),
columnHelper.accessor("endgame_total", {
cell: (info) => (
<div className="text-right w-20">
<NumberDisplay value={info.getValue()} />
</div>
),
header: ({ column }) => <SortableHeader label="eEPA" column={column} />,
footer: (info) => info.column.id,
columnHelper.group({
header: "Game Piece",
footer: (props) => props.column.id,
columns: [
columnHelper.accessor("coral_total", {
cell: (info) => (
<div className="text-right w-20">
<NumberDisplay value={info.getValue()} />
</div>
),
header: ({ column }) => <SortableHeader label="coralEPA" column={column} />,
footer: (info) => info.column.id,
}),
columnHelper.accessor("algae_total", {
cell: (info) => (
<div className="text-right w-20">
<NumberDisplay value={info.getValue()} />
</div>
),
header: ({ column }) => <SortableHeader label="algaeEPA" column={column} />,
footer: (info) => info.column.id,
})
]
}),
columnHelper.accessor("total_score", {
cell: (info) => (
Expand Down
5 changes: 3 additions & 2 deletions apps/web/app/(sidebar)/analysis/components/TeamDataTable.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use client";

import { DataTable } from "./DataTable";
import { TeamData } from "../actions/team-data";
import { DataTable } from "./DataTable";

import { Button } from "@repo/ui/components/button";
import {
Expand All @@ -11,6 +11,7 @@ import {
DropdownMenuTrigger,
} from "@repo/ui/components/dropdown-menu";
import { Input } from "@repo/ui/components/input";
import { Skeleton } from "@repo/ui/components/skeleton";
import {
CellContext,
Column,
Expand Down Expand Up @@ -281,7 +282,7 @@ export function TeamDataTable({ teamData }: { teamData: TeamData[] }) {
</div>
</div>
<div className="border-2">
<DataTable table={table} />
{teamData?.length ? <DataTable table={table} /> : <Skeleton className="h-16" />}
</div>
</div>
);
Expand Down

0 comments on commit 716dc65

Please sign in to comment.