diff --git a/apps/dashboard/src/routes/courses/[id]/submissions/+page.svelte b/apps/dashboard/src/routes/courses/[id]/submissions/+page.svelte
index 64e8ff28..a337930d 100644
--- a/apps/dashboard/src/routes/courses/[id]/submissions/+page.svelte
+++ b/apps/dashboard/src/routes/courses/[id]/submissions/+page.svelte
@@ -61,6 +61,7 @@
let submissionIdData: { [key: number]: any } = {};
let submissionId: string | number | null;
let openExercise = false;
+ let isGradeWithAI = false;
const submissionStatus: { [key: number]: string } = {
1: $t('course.navItem.submissions.submission_status.submitted'),
@@ -176,6 +177,7 @@
}
function handleModalClose() {
+ isGradeWithAI = false;
goto($page.url.pathname);
}
@@ -230,8 +232,12 @@
}
}
- async function handleSave(submission: { questionAnswerByPoint: any; questionAnswers: any }) {
- const { questionAnswerByPoint, questionAnswers } = submission;
+ async function handleSave(submission: {
+ questionAnswerByPoint: any;
+ questionAnswers: any;
+ feedback: any;
+ }) {
+ const { questionAnswerByPoint, questionAnswers, feedback } = submission;
let totalPoints = 0;
@@ -249,7 +255,8 @@
updateSubmission({
id: submissionId,
- total: totalPoints
+ total: totalPoints,
+ feedback: feedback
}).then((res) => console.log('Updated submission', res));
snackbar.success('snackbar.submissions.success.grading');
@@ -268,7 +275,8 @@
const sectionById: { [key: number]: sectionType[] } = {};
if (submissions) {
for (const submission of submissions) {
- const { id, created_at, exercise, course, answers, groupmember, status_id } = submission;
+ const { id, created_at, exercise, course, answers, groupmember, status_id, feedback } =
+ submission;
const isEarly = isSubmissionEarly(created_at, exercise.due_by);
@@ -276,6 +284,7 @@
id,
statusId: status_id,
isEarly,
+ feedback,
submittedAt: formatDate(created_at),
exercise: {
id: exercise.id,
@@ -296,6 +305,7 @@
submissionIdData[id] = {
id,
status_id,
+ feedback,
isEarly,
title: exercise.title,
student: submissionItem.student,
@@ -334,6 +344,7 @@
{handleSave}
{updateStatus}
{submissionId}
+ bind:isGradeWithAI
/>
diff --git a/apps/dashboard/static/ai.svg b/apps/dashboard/static/ai.svg
new file mode 100644
index 00000000..43ce55d7
--- /dev/null
+++ b/apps/dashboard/static/ai.svg
@@ -0,0 +1,6 @@
+
diff --git a/apps/dashboard/static/comment.svg b/apps/dashboard/static/comment.svg
new file mode 100644
index 00000000..4eaab277
--- /dev/null
+++ b/apps/dashboard/static/comment.svg
@@ -0,0 +1,37 @@
+
diff --git a/packages/shared/src/plans/data.json b/packages/shared/src/plans/data.json
index f5d95648..83cf30b5 100644
--- a/packages/shared/src/plans/data.json
+++ b/packages/shared/src/plans/data.json
@@ -13,7 +13,7 @@
"Unlimited Q/A",
"50 Students",
"AI Course Builder (no video upload)",
- "Live chat & polls"
+ "ClassroomIO branding"
],
"CTA": {
"LABEL": "Signup Now",
@@ -37,7 +37,7 @@
"Unlimted Teachers",
"10K Students",
"Advanced AI Course Builder (Video upload & Certificate)",
- "No ClassroomIO Branding",
+ "Custom Branding",
"Slack Invite",
"Includes all Upcoming Features"
],
diff --git a/supabase/migrations/20240509080635_ai_grading.sql b/supabase/migrations/20240509080635_ai_grading.sql
new file mode 100644
index 00000000..5ab7764b
--- /dev/null
+++ b/supabase/migrations/20240509080635_ai_grading.sql
@@ -0,0 +1 @@
+alter table "public"."submission" add column "feedback" text;
\ No newline at end of file