diff --git a/.gitignore b/.gitignore index 6b9216f..1c67ac8 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,6 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +# cursor +.cursor \ No newline at end of file diff --git a/app/c/[cid]/add-problem/problem-form.tsx b/app/c/[cid]/add-problem/problem-form.tsx index 4c5a7ae..9e6ba8a 100644 --- a/app/c/[cid]/add-problem/problem-form.tsx +++ b/app/c/[cid]/add-problem/problem-form.tsx @@ -4,11 +4,12 @@ import { useState } from "react"; import type { Collection, Subject } from "@prisma/client"; import ClickToEdit from "@/components/click-to-edit"; import Label from "@/components/label"; -import AimeInput from "./aime-input"; +import AimeInput from "@/components/aime-input"; import SubmitButton from "@/components/submit-button"; import { addProblem } from "./actions"; import BackButton from "@/components/back-button"; import { wrapAction } from "@/lib/server-actions"; +import IntegerInput from "@/components/integer-input"; interface SubjectSelectElement extends HTMLSelectElement { value: Subject; @@ -80,7 +81,16 @@ export default function ProblemForm({ ); } else if (collection.answerFormat === "Integer") { - // TODO + answerInput = ( +
+ {answerLabel} + +
+ ); } else if (collection.answerFormat === "AIME") { answerInput = (
diff --git a/app/c/[cid]/p/[pid]/problem-page.tsx b/app/c/[cid]/p/[pid]/problem-page.tsx index 0693efb..cc1b88c 100644 --- a/app/c/[cid]/p/[pid]/problem-page.tsx +++ b/app/c/[cid]/p/[pid]/problem-page.tsx @@ -141,8 +141,8 @@ export default function ProblemPage(props: PropsWithFilter) {
); diff --git a/app/c/[cid]/p/[pid]/testsolve.tsx b/app/c/[cid]/p/[pid]/testsolve.tsx index 9c58ff0..0c008b6 100644 --- a/app/c/[cid]/p/[pid]/testsolve.tsx +++ b/app/c/[cid]/p/[pid]/testsolve.tsx @@ -2,23 +2,25 @@ import { useRouter } from "next/navigation"; import CountdownTimer from "./countdown-timer"; -import AimeInput from "../../add-problem/aime-input"; +import AimeInput from "@/components/aime-input"; import { useState } from "react"; import Label from "@/components/label"; -import { SolveAttempt } from "@prisma/client"; +import { AnswerFormat } from "@prisma/client"; import { ProblemProps } from "./types"; import SubmitButton from "@/components/submit-button"; import { giveUpTestsolve, submitTestsolve } from "./actions"; import { wrapAction } from "@/lib/server-actions"; +import IntegerInput from "@/components/integer-input"; // TODO: fix loading spinners for the two submit buttons. Probably need to show a single loading spinner outside of the buttons. That also lets us keep the same button text and width export default function Testsolve({ problem, deadline, + answerFormat, }: { problem: ProblemProps; - solveAttempt: SolveAttempt; deadline: Date; + answerFormat: AnswerFormat; }) { const router = useRouter(); const [answer, setAnswer] = useState(""); @@ -45,11 +47,19 @@ export default function Testsolve({ >