diff --git a/src/app/(app)/problems/[id]/layout.tsx b/src/app/(app)/problems/[id]/layout.tsx
index e7fbc5f..e6b339d 100644
--- a/src/app/(app)/problems/[id]/layout.tsx
+++ b/src/app/(app)/problems/[id]/layout.tsx
@@ -14,7 +14,7 @@ export default async function ProblemLayout({
}: ProblemProps) {
const { id } = await params;
- const [problem, editorLanguageConfigs, languageServerConfigs] = await Promise.all([
+ const [problem, editorLanguageConfigs, languageServerConfigs, submissions] = await Promise.all([
prisma.problem.findUnique({
where: { id },
include: {
@@ -28,6 +28,9 @@ export default async function ProblemLayout({
}),
prisma.editorLanguageConfig.findMany(),
prisma.languageServerConfig.findMany(),
+ prisma.submission.findMany({
+ where: { problemId: id },
+ })
]);
if (!problem) {
@@ -41,6 +44,7 @@ export default async function ProblemLayout({
problem={problem}
editorLanguageConfigs={editorLanguageConfigs}
languageServerConfigs={languageServerConfigs}
+ submissions={submissions}
>
diff --git a/src/providers/problem-store-provider.tsx b/src/providers/problem-store-provider.tsx
index 222da37..cdb9b01 100644
--- a/src/providers/problem-store-provider.tsx
+++ b/src/providers/problem-store-provider.tsx
@@ -2,6 +2,7 @@
import {
EditorLanguage,
+ type Submission,
type EditorLanguageConfig,
type LanguageServerConfig,
} from "@/generated/client";
@@ -20,6 +21,7 @@ export interface ProblemStoreProviderProps {
problem: ProblemWithDetails;
editorLanguageConfigs: EditorLanguageConfig[];
languageServerConfigs: LanguageServerConfig[];
+ submissions: Submission[];
}
export const ProblemStoreProvider = ({
@@ -28,6 +30,7 @@ export const ProblemStoreProvider = ({
problem,
editorLanguageConfigs,
languageServerConfigs,
+ submissions,
}: ProblemStoreProviderProps) => {
const storeRef = useRef(null);
@@ -44,6 +47,7 @@ export const ProblemStoreProvider = ({
problem,
editorLanguageConfigs,
languageServerConfigs,
+ submissions,
});
}
diff --git a/src/stores/problem-store.ts b/src/stores/problem-store.ts
index ca56545..f2290b6 100644
--- a/src/stores/problem-store.ts
+++ b/src/stores/problem-store.ts
@@ -2,6 +2,7 @@ import type {
EditorLanguage,
EditorLanguageConfig,
LanguageServerConfig,
+ Submission,
} from "@/generated/client";
import type { editor } from "monaco-editor";
import { createStore } from "zustand/vanilla";
@@ -20,6 +21,7 @@ export type ProblemState = {
problem: ProblemWithDetails;
editorLanguageConfigs: EditorLanguageConfig[];
languageServerConfigs: LanguageServerConfig[];
+ submissions: Submission[];
};
export type ProblemActions = {