Skip to content
This repository has been archived by the owner on Jan 16, 2024. It is now read-only.

Commit

Permalink
feat(page:problemNum): render SubmissionOvertimeChart component
Browse files Browse the repository at this point in the history
  ## what
  - render `SubmissionOvertimeChart` component

  ## how

  ## why

  ## where
  - ./src/app/problems/[problemNum]/page.tsx

  ## usage
  • Loading branch information
Clumsy-Coder committed Jan 8, 2024
1 parent c67a0fd commit ccb7916
Showing 1 changed file with 21 additions and 3 deletions.
24 changes: 21 additions & 3 deletions src/app/problems/[problemNum]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ import {
CardHeader,
CardTitle,
} from "@/components/ui/card"
import { useFetchProblemNum } from "@/hooks";
import { useFetchProblemNum, useFetchSubmissionCount } from "@/hooks";
import { problemNumSchema } from "@/schema";
import { processProblemNumBarChartData } from "@/utils/dataProcessing";
import ProblemVerdictChart from "@/components/charts/ProblemVerdictChart";
import SubmissionsOvertimeChart from "@/components/charts/SubmissionsOvertimeChart";

type problemPageProps = {
params: z.infer<typeof problemNumSchema>;
Expand All @@ -27,8 +28,16 @@ const ProblemPage = ({ params }: problemPageProps) => {
data: problemNumData,
error: problemNumError,
} = useFetchProblemNum(params.problemNum);
const {
isLoading: submissionCountIsLoading,
isSuccess: submissionCountIsSuccess,
isError: submissionCountIsError,
data: submissionCountData,
error: submissionCountError,
} = useFetchSubmissionCount(params.problemNum)

if (problemNumIsLoading || !problemNumData || problemNumData.data === undefined) {
if (( problemNumIsLoading || !problemNumData || problemNumData.data === undefined ) ||
( submissionCountIsLoading || !submissionCountData)) {
return (
<section>
<h1 className="text-3xl">Loading: {params.problemNum}</h1>
Expand Down Expand Up @@ -68,6 +77,7 @@ const ProblemPage = ({ params }: problemPageProps) => {
<section>
<h1 className="text-3xl mb-4">Problem page: {params.problemNum}</h1>
<div className="grid lg:grid-cols-2 gap-4 mb-4">
{/* Submission verdicts bar chart */}
<div className="w-full">
<Card>
<CardHeader>
Expand All @@ -78,8 +88,16 @@ const ProblemPage = ({ params }: problemPageProps) => {
</CardContent>
</Card>
</div>
{/* Submissions overtime line chart */}
<div className="w-full">
{/* <ChartCard title="Submissions overtime" /> */}
<Card>
<CardHeader>
<CardTitle>Submissions overtime</CardTitle>
</CardHeader>
<CardContent className="h-[400px]">
<SubmissionsOvertimeChart data={submissionCountData} />
</CardContent>
</Card>
</div>
<div className="w-full">
{/* <ChartCard title="Submission by language" /> */}
Expand Down

0 comments on commit ccb7916

Please sign in to comment.