Skip to content

Commit 96e991c

Browse files
refactor: code cleanup
1 parent 87950ec commit 96e991c

File tree

7 files changed

+29
-17
lines changed

7 files changed

+29
-17
lines changed

src/components/sections/learning-modules/InteractiveModule/index.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ import InteractiveModuleItem from "@/components/sections/learning-modules/Intera
1010
import { authCheck } from "@/store/feature/auth.slice";
1111
import { Course, InteractiveModule as InteractiveModuleType } from "@/types/course";
1212
import { hidePageNavigation, showPageNavigation } from "@/store/feature/communities/navigation.slice";
13-
// import { checkAnswer } from "@/store/feature/learningModules.slice";
13+
import { checkAnswer } from "@/store/feature/learningModules.slice";
1414
import { IRootState } from "@/store";
15-
import { checkAnswer, submitModuleAnswer } from "@/store/services/learningModules.service";
16-
import { useRouter } from "next/router";
15+
import { submitModuleAnswer } from "@/store/services/learningModules.service";
1716

1817
/**
1918
* interface for InteractiveModule multiSelector
@@ -53,7 +52,6 @@ export default function InteractiveModule({ data }: interactiveModuleProps): Rea
5352
const [ended, setEnded] = useState(false);
5453
const [loading, setLoading] = useState(true);
5554
const [answering, setAnswering] = useState(false);
56-
const router = useRouter()
5755
const dispatch = useDispatch();
5856

5957
const { isLoggedIn, course } = useMultiSelector<unknown, InteractiveModuleMultiSelector>({
@@ -65,7 +63,7 @@ export default function InteractiveModule({ data }: interactiveModuleProps): Rea
6563
const checkIfAnswered = useCallback(async () => {
6664
try {
6765
if (!isLoggedIn) return;
68-
const answers = await checkAnswer({ ref: data.ref, locale: router.locale });
66+
const answers = await checkAnswer(data.ref);
6967
if (!answers.length) return;
7068
setCurrent(items.length);
7169
setEnded(true);

src/pages/communities/[slug]/challenges/[challenge_id]/learning-modules/[id].tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useDispatch } from "@/hooks/useTypedDispatch";
55
import { Community } from "@/types/community";
66
import { Challenge, LearningModule } from "@/types/course";
77
import { setCurrentLearningModule } from "@/store/feature/learningModules.slice";
8+
import { findLearningModule } from "@/store/services/learningModules.service";
89
import { setCurrentCommunity } from "@/store/feature/community.slice";
910
import { getMetadataDescription, getMetadataTitle } from "@/utilities/Metadata";
1011
import DefaultLayout from "@/components/layout/Default";
@@ -22,7 +23,6 @@ import { fetchChallenge } from "@/store/services/communities/challenges";
2223
import PageNavigation from "@/components/sections/courses/PageNavigation";
2324
import ChallengeCard from "@/components/cards/challenge/Challenge";
2425
import { useTranslation } from "next-i18next";
25-
import { findLearningModule } from "@/store/services/learningModules.service";
2626

2727

2828
/**

src/pages/communities/[slug]/challenges/[challenge_id]/submissions/[submission_id].tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export default function SubmissionPage() {
3535
};
3636
setLoading(true);
3737
await Promise.all([
38-
dispatch(fetchChallenge({ id: challenge_id as string, relations: ["rubric"] })),
38+
dispatch(fetchChallenge({ id: challenge_id as string, relations: ["rubric"], locale })),
3939
dispatch(fetchCurrentCommunity(fetchCurrentCommunityPayload)),
4040
dispatch(findSubmssionById({ id: submission_id as string })),
4141
]);

src/pages/communities/[slug]/challenges/[challenge_id]/submissions/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ export const getServerSideProps: GetServerSideProps = wrapper.getServerSideProps
118118
const [{ data: currentCommunity }, { data: submissions }, { data: challenge }, translations] = await Promise.all([
119119
dispatch(fetchCurrentCommunity({ slug: slug as string, locale: locale as string })),
120120
dispatch(fetchAllSubmission({ challengeId: challenge_id as string, locale: locale as string })),
121-
dispatch(fetchChallenge({ id: challenge_id as string, relations: ["rubric", "courses", "learning-modules"] })),
121+
dispatch(fetchChallenge({ id: challenge_id as string, relations: ["rubric", "courses", "learning-modules"], locale })),
122122
serverSideTranslations(locale as string),
123123
]);
124124

src/pages/communities/[slug]/courses/[course_slug]/learning-modules/[id].tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Head from "next/head";
44
import { useDispatch } from "@/hooks/useTypedDispatch";
55
import { Community } from "@/types/community";
66
import { Challenge, Course, LearningModule } from "@/types/course";
7+
import { findLearningModule } from "@/store/services/learningModules.service";
78
import { getMetadataDescription, getMetadataTitle } from "@/utilities/Metadata";
89
import DefaultLayout from "@/components/layout/Default";
910
import Header from "@/components/sections/learning-modules/Header";
@@ -19,7 +20,6 @@ import ChallengeCard from "@/components/cards/challenge/Challenge";
1920
import { useTranslation } from "next-i18next";
2021
import PageNavigation from "@/components/sections/courses/PageNavigation";
2122
import { NotFoundError } from "@/utilities/errors/NotFoundError";
22-
import { findLearningModule } from "@/store/services/learningModules.service";
2323

2424
/**
2525
* Learning module page props interfae
@@ -108,6 +108,7 @@ export const getServerSideProps = wrapper.getServerSideProps((store) => async ({
108108
const communitySlug = params?.slug as string;
109109
const courseSlug = params?.course_slug as string;
110110
const id = params?.id as string;
111+
111112
const [{ data: community }, { data: course }, { data: learningModule }, translations] = await Promise.all([
112113
store.dispatch(fetchCurrentCommunity({ slug: communitySlug, locale })),
113114
store.dispatch(fetchCourse({ slug: courseSlug, locale })),

src/store/services/communities/challenges/index.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,12 @@ export const challengeService = createApi({
3939
}),
4040

4141
getAllChallenges: builder.query({
42-
query: ({ slug, locale }) => {
43-
return {
44-
url: `communities/${slug}/challenges`,
45-
headers: {
46-
"accept-language": locale,
47-
},
48-
};
49-
},
42+
query: ({ slug, locale }) => ({
43+
url: `communities/${slug}/challenges`,
44+
headers: {
45+
"accept-language": locale,
46+
},
47+
}),
5048
onQueryStarted: async (_, { dispatch, queryFulfilled }) => {
5149
try {
5250
const { data } = await queryFulfilled;

src/store/services/learningModules.service.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import { createApi } from "@reduxjs/toolkit/query/react";
22
import baseQuery from "@/config/baseQuery";
33

4+
/**
5+
* Learning module api service
6+
* @date 3/13/2024 - 4:55:54 PM
7+
*
8+
* @type {*}
9+
*/
410
export const learningModulesService = createApi({
511
reducerPath: "learningModulesService",
612
baseQuery: baseQuery(),
@@ -41,6 +47,15 @@ export const learningModulesService = createApi({
4147
}),
4248
});
4349

50+
/**
51+
* Find learning module by Id
52+
* @date 3/13/2024 - 4:56:49 PM
53+
*
54+
* @param {{ id: string; locale?: string }} param0
55+
* @param {string} param0.id
56+
* @param {string} param0.locale
57+
* @returns {*}
58+
*/
4459
export const findLearningModule = ({ id, locale }: { id: string; locale?: string }) => learningModulesService.endpoints.findLearningModule.initiate({ locale, id });
4560

4661
export const getAllLearningModules = ({ slug, locale }: { slug: string; locale?: string }) => learningModulesService.endpoints.getAllLearningModules.initiate({ slug, locale });

0 commit comments

Comments
 (0)