Skip to content

Commit 5cfb4cf

Browse files
fix: fix the bug according to feedback
1 parent b3aa1c0 commit 5cfb4cf

File tree

4 files changed

+19
-13
lines changed

4 files changed

+19
-13
lines changed

src/app/quiz/List.js

-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import useMounted from '@/hooks/useMounted';
3636
function List({ data }) {
3737
const mediaUrl = useMediaUrl();
3838

39-
4039
return (
4140
<Link href={`/quiz/${data.id}`} className="p-6 bg-white flex max-md:flex-col gap-4 md:gap-9 mb-4 rounded-xl transition-all hover:shadow-[0_4px_24px_rgba(0,0,0,0.08)]">
4241
<div className="relative">

src/app/quiz/[id]/RankList.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/**
22
* Copyright 2024 OpenBuild
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");

src/app/quiz/[id]/RankListModal.js

+17-10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/**
22
* Copyright 2024 OpenBuild
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,27 +16,34 @@
1616

1717
import { Modal } from '@/components/Modal';
1818
import RankList from './RankList';
19-
import { useEffect, useState } from 'react';
19+
import { useState } from 'react';
2020
import { fetchRankList } from '#/domain/quiz/repository';
2121
import Loader from '@/components/Loader';
2222
import { ModalCloseIcon } from '@/components/Icons';
23+
import useMounted from '@/hooks/useMounted';
2324

2425
export function RankListModal({ quizId, shown, onClose, rank }) {
2526
const [data, setData] = useState(null);
2627
const [loading, setLoading] = useState(true);
2728

28-
useEffect(() => {
29+
useMounted(() => {
2930
setLoading(true);
30-
fetchRankList({ quizId }).then(res => {
31-
setData(res?.data?.list);
32-
setLoading(false);
33-
});
34-
}, []);
31+
fetchRankList({ quizId })
32+
.then(res => {
33+
setData(res?.data?.list?.rank);
34+
})
35+
.finally(() => {
36+
setLoading(false);
37+
});
38+
});
3539

3640
return (
3741
<Modal isOpen={shown} closeModal={onClose} container mode="640">
38-
<ModalCloseIcon onClick={onClose} className="absolute top-[-48px] md:top-[-32px] right-0 md:right-[-32px] cursor-pointer" />
39-
<div className="md:h-[600px] h-[400px] flex flex-col overflow-y-auto" style={{ borderRadius: 'inherit', overflow: 'hidden' }}>
42+
<ModalCloseIcon
43+
onClick={onClose}
44+
className="absolute top-[-48px] md:top-[-32px] right-0 md:right-[-32px] cursor-pointer"
45+
/>
46+
<div className="md:h-[600px] h-[400px] flex flex-col overflow-y-auto rounded-inherit overflow-hidden">
4047
{loading && <Loader classname="mr-2" />}
4148
<RankList rank={rank} list={data} />
4249
</div>

src/app/quiz/[id]/page.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import { Record } from './Record';
3232
import QuizLimiterWidget from '#/domain/quiz/widgets/quiz-limiter';
3333
import RankList from './RankList';
3434
import { RankListModal } from './RankListModal';
35-
import { OViewer } from '#/shared/components/MarkDown';
35+
import { OViewer } from '@/components/MarkDown';
3636

3737
export default function Quiz({params}) {
3838
const mediaUrl = useMediaUrl();

0 commit comments

Comments
 (0)