Skip to content

Commit e44240d

Browse files
committed
feat: changes according the new db tables
1 parent 92000a7 commit e44240d

File tree

7 files changed

+54
-249
lines changed

7 files changed

+54
-249
lines changed

prisma/seed.ts

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,22 @@ async function main() {
1515
// },
1616
// });
1717
// console.log({ user });
18-
// const lesson1 = await prisma.lessons.create({
18+
// const newLesson = await prisma.lessons.create({
1919
// data: {
20-
// quizFileName: "lesson-4-quiz.json",
20+
// quizFileName: "quiz-lesson-4.json",
2121
// },
2222
// });
23-
// console.log({ lesson1 });
24-
const completed2 = await prisma.completedQuizzes.create({
25-
data: {
26-
userId: "cll3hcuim00001wujlay766tk",
27-
lesson: "2",
28-
completed: true,
29-
},
30-
});
31-
console.log({ completed2 });
23+
// console.log({ newLesson });
24+
// const deletedCompletedLog = await prisma.completedQuizzes.deleteMany({});
25+
// console.log({ deletedCompletedLog });
26+
// const completed2 = await prisma.completedQuizzes.create({
27+
// data: {
28+
// userId: "cll3hcuim00001wujlay766tk",
29+
// lesson: "2",
30+
// completed: true,
31+
// },
32+
// });
33+
// console.log({ completed2 });
3234
}
3335

3436
main()

src/components/mdx/Quiz.tsx

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ const Quiz = (props: QuizProps): JSX.Element => {
7171
};
7272

7373
const selectAnswer = (answerIndex: number) => {
74-
console.log("asdasd");
7574
const newAnswers: Answers = { ...answers };
7675

7776
if (newAnswers[currentQuestionIndex]?.includes(answerIndex)) {
@@ -106,7 +105,7 @@ const Quiz = (props: QuizProps): JSX.Element => {
106105

107106
const quizNotAnswered = () => {
108107
toast({
109-
title: "!answers",
108+
title: "Quiz not answered",
110109
description: "Please answer all the questions",
111110
status: "warning",
112111
duration: 9000,
@@ -124,6 +123,9 @@ const Quiz = (props: QuizProps): JSX.Element => {
124123
});
125124
};
126125

126+
// - Get All lessons to get the Id's
127+
const { data: allLessons } = api.lessons.getAll.useQuery();
128+
127129
// - Add
128130
const { mutate: quizzesAddMutate, isLoading: quizzesAddIsLoading } =
129131
api.completedQuizzes.add.useMutation({
@@ -133,9 +135,6 @@ const Quiz = (props: QuizProps): JSX.Element => {
133135
});
134136

135137
const quizSuccessToast = () => {
136-
// api.completedQuizzes.add.useMutation({
137-
// lesson: props.quiz,
138-
// });
139138
toast({
140139
title: "Amazing!",
141140
description: "You have passed the lesson!",
@@ -173,8 +172,14 @@ const Quiz = (props: QuizProps): JSX.Element => {
173172

174173
// return quizSuccessToast();
175174

176-
quizzesAddMutate({
177-
lesson: props.quiz,
175+
const lessonIdToSave = allLessons?.find(
176+
(lesson) => lesson.quizFileName === `${props.quiz}.json`,
177+
)?.id;
178+
179+
if (lessonIdToSave === undefined) return console.error("Lesson not found");
180+
181+
return quizzesAddMutate({
182+
lesson: lessonIdToSave,
178183
});
179184
};
180185

src/components/mdx/QuizStatusChecker.tsx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ const QuizStatusChecker = ({ quiz }: QuizStatusCheckerTye) => {
1818
const { data: sessionData } = useSession();
1919

2020
// Requests
21-
// - All
21+
22+
// - Get All lessons to get the Id's
23+
const { data: allLessons } = api.lessons.getAll.useQuery();
24+
25+
// - All completed
2226
const { data: completedQuizzesAllData } = api.completedQuizzes.all.useQuery(
2327
undefined, // no input
2428
{
@@ -28,26 +32,22 @@ const QuizStatusChecker = ({ quiz }: QuizStatusCheckerTye) => {
2832
);
2933

3034
useMemo(() => {
31-
if (completedQuizzesAllData?.length && fetchNow) {
32-
const completedSlugs = completedQuizzesAllData.map((quiz) =>
33-
quiz.lesson
34-
.replace("quiz-lesson-", "")
35-
.replace("lesson-", "")
36-
.replace("-quiz", ""),
37-
);
35+
if (allLessons?.length && completedQuizzesAllData?.length && fetchNow) {
36+
const completedIds = completedQuizzesAllData.map((quiz) => quiz.id);
37+
38+
const actualLessonId = allLessons?.find(
39+
(lesson) => lesson.quizFileName === quiz,
40+
)?.id;
3841

39-
const actualSlugNumber = quiz
40-
.replace("quiz-lesson-", "")
41-
.replace("lesson-", "")
42-
.replace("-quiz", "");
42+
if (actualLessonId === undefined) return;
4343

44-
if (completedSlugs.includes(actualSlugNumber)) {
44+
if (completedIds.includes(actualLessonId)) {
4545
setQuizCompleted(true);
4646
}
4747

4848
setFetchNow(false);
4949
}
50-
}, [completedQuizzesAllData, fetchNow, quiz]);
50+
}, [allLessons, completedQuizzesAllData, fetchNow, quiz]);
5151

5252
if (completedQuizzesAllData === undefined) return null;
5353

src/pages/lessons/projects/4.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,7 +976,7 @@ With TDD:
976976

977977
<br />
978978
<br />
979-
<QuizStatusChecker quiz="lesson-4-quiz" />
979+
<QuizStatusChecker quiz="quiz-lesson-4" />
980980
<br />
981981
<br />
982982

src/server/api/root.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { createTRPCRouter } from "@/server/api/trpc";
22
import { exampleRouter } from "@/server/api/routers/example";
33
// import { todosRouter } from "@/server/api/routers/todos";
44
import { completedQuizzesRouter } from "@/server/api/routers/completedquizzes";
5+
import { lessonsRouter } from "@/server/api/routers/lessons";
56

67
/**
78
* This is the primary router for your server.
@@ -10,7 +11,7 @@ import { completedQuizzesRouter } from "@/server/api/routers/completedquizzes";
1011
*/
1112
export const appRouter = createTRPCRouter({
1213
example: exampleRouter,
13-
// todos: todosRouter,
14+
lessons: lessonsRouter,
1415
completedQuizzes: completedQuizzesRouter,
1516
});
1617

src/server/api/routers/lessons.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Imports
2+
// ========================================================
3+
import { createTRPCRouter, protectedProcedure } from "@/server/api/trpc";
4+
5+
// Router
6+
// ========================================================
7+
export const lessonsRouter = createTRPCRouter({
8+
getAll: protectedProcedure.query(async ({ ctx }) => {
9+
const lessons = await ctx.prisma.lessons.findMany();
10+
return lessons;
11+
}),
12+
});

src/utils/quizzes/lesson-4-quiz.json

Lines changed: 0 additions & 215 deletions
This file was deleted.

0 commit comments

Comments
 (0)