diff --git a/web/src/lib/util.ts b/web/src/lib/util.ts new file mode 100644 index 0000000..c54963a --- /dev/null +++ b/web/src/lib/util.ts @@ -0,0 +1,3 @@ +export function stretchTextarea(textarea: HTMLTextAreaElement) { + textarea.style.height = textarea.scrollHeight + 'px'; +} diff --git a/web/src/routes/admin/diff/[submissionId]/+page.server.ts b/web/src/routes/admin/diff/[submissionId]/+page.server.ts index f514f08..5cad745 100644 --- a/web/src/routes/admin/diff/[submissionId]/+page.server.ts +++ b/web/src/routes/admin/diff/[submissionId]/+page.server.ts @@ -17,7 +17,7 @@ export const load = (async ({ params }) => { throw error(500, 'Invalid problem'); } - return { diff: submission.diff, submissionId: submission.id }; + return { diff: submission.diff, submissionId: submission.id, output: submission.actualOutput }; }) satisfies PageServerLoad; export const actions = { diff --git a/web/src/routes/admin/diff/[submissionId]/+page.svelte b/web/src/routes/admin/diff/[submissionId]/+page.svelte index 74c8f0d..83fcd5d 100644 --- a/web/src/routes/admin/diff/[submissionId]/+page.svelte +++ b/web/src/routes/admin/diff/[submissionId]/+page.svelte @@ -5,6 +5,7 @@ import type { Actions, PageData } from './$types'; import { enhance } from '$app/forms'; import { goto } from '$app/navigation'; + import { stretchTextarea } from '$lib/util'; export let data: PageData; export let form: Actions; @@ -52,10 +53,10 @@ - Diff + Review Submission -

Diff

+

Review Submission

{#if form && !form.success}
Submission was not successful
@@ -63,11 +64,17 @@
Success!
{/if} -
+
All Reviews - Go to Submission + Go to Submission
+

Output

+ + +

Diff

diff --git a/web/src/routes/admin/problems/[problemId]/+page.svelte b/web/src/routes/admin/problems/[problemId]/+page.svelte index f8f9218..a3fef4d 100644 --- a/web/src/routes/admin/problems/[problemId]/+page.svelte +++ b/web/src/routes/admin/problems/[problemId]/+page.svelte @@ -1,6 +1,7 @@