From 715811695351e3da03b679e0ba13eb2ed7c3db5a Mon Sep 17 00:00:00 2001 From: Hyeona01 Date: Thu, 28 Nov 2024 21:25:49 +0900 Subject: [PATCH 1/2] =?UTF-8?q?FE:=20[feat]=20=EC=8B=9C=ED=97=98=20?= =?UTF-8?q?=EB=A0=88=ED=8F=AC=ED=8A=B8=20=ED=8E=98=EC=9D=B4=EC=A7=80=20ui?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84=20#70?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/app/report/[examId]/page.tsx | 20 +++++++ .../src/assets/icons/ReportIcon.svg | 4 ++ .../eyesee-admin/src/assets/images/Excel.svg | 20 +++++++ .../components/dashBoard/DashBoardSection.tsx | 7 ++- .../src/components/mypage/TestCard.tsx | 55 +++++++++++-------- .../src/components/report/ReportSection.tsx | 45 +++++++++++++++ src/frontend/eyesee-admin/tailwind.config.ts | 1 + 7 files changed, 129 insertions(+), 23 deletions(-) create mode 100644 src/frontend/eyesee-admin/src/app/report/[examId]/page.tsx create mode 100644 src/frontend/eyesee-admin/src/assets/icons/ReportIcon.svg create mode 100644 src/frontend/eyesee-admin/src/assets/images/Excel.svg create mode 100644 src/frontend/eyesee-admin/src/components/report/ReportSection.tsx diff --git a/src/frontend/eyesee-admin/src/app/report/[examId]/page.tsx b/src/frontend/eyesee-admin/src/app/report/[examId]/page.tsx new file mode 100644 index 0000000..85327af --- /dev/null +++ b/src/frontend/eyesee-admin/src/app/report/[examId]/page.tsx @@ -0,0 +1,20 @@ +import DashBoardSection from "@/components/dashBoard/DashBoardSection"; +import UserSection from "@/components/dashBoard/UserSection"; +import ReportSection from "@/components/report/ReportSection"; +import { testSesstionData } from "@/types/user"; + +const ReportPage = () => { + // TODO: 서버 데이터 연결 + const sessionData = testSesstionData; + + return ( +
+ + + + +
+ ); +}; + +export default ReportPage; diff --git a/src/frontend/eyesee-admin/src/assets/icons/ReportIcon.svg b/src/frontend/eyesee-admin/src/assets/icons/ReportIcon.svg new file mode 100644 index 0000000..e90520c --- /dev/null +++ b/src/frontend/eyesee-admin/src/assets/icons/ReportIcon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/frontend/eyesee-admin/src/assets/images/Excel.svg b/src/frontend/eyesee-admin/src/assets/images/Excel.svg new file mode 100644 index 0000000..4b6cc96 --- /dev/null +++ b/src/frontend/eyesee-admin/src/assets/images/Excel.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/frontend/eyesee-admin/src/components/dashBoard/DashBoardSection.tsx b/src/frontend/eyesee-admin/src/components/dashBoard/DashBoardSection.tsx index 734119c..7e95f65 100644 --- a/src/frontend/eyesee-admin/src/components/dashBoard/DashBoardSection.tsx +++ b/src/frontend/eyesee-admin/src/components/dashBoard/DashBoardSection.tsx @@ -12,9 +12,13 @@ import TestInfo from "./TestInfo"; type DashBoardSectionProps = { sesstionData: testSesstion; + children?: React.ReactNode; }; -const DashBoardSection = ({ sesstionData }: DashBoardSectionProps) => { +const DashBoardSection = ({ + sesstionData, + children, +}: DashBoardSectionProps) => { const [column, setColumn] = useState(5); const [row, setRow] = useState( Math.ceil(sesstionData.examStudentNumber / column) @@ -47,6 +51,7 @@ const DashBoardSection = ({ sesstionData }: DashBoardSectionProps) => { setCodeModalOpen(true)} /> + {children}
{ const router = useRouter(); // 아이콘과 경로 값을 반환하는 함수 - const testMap = (type: string) => { - if (type === testState.BEFORE) { - return { - icon: , - path: `/edit-exam/${test.examId}`, - label: "Edit", - }; + const buttonComponent = (type: string) => { + if (type === testState.DONE) { + return ( + + ); } else { - return { - icon: , - path: `/dashboard/${test.examId}`, - label: "Dashboard", - }; + return ( +
+ + +
+ ); } }; - // testMap 함수 호출 결과를 저장 - const { icon, path } = testMap(type); - return (

{test.examName}

- + {buttonComponent(type)}
시험 코드 : diff --git a/src/frontend/eyesee-admin/src/components/report/ReportSection.tsx b/src/frontend/eyesee-admin/src/components/report/ReportSection.tsx new file mode 100644 index 0000000..85c90d1 --- /dev/null +++ b/src/frontend/eyesee-admin/src/components/report/ReportSection.tsx @@ -0,0 +1,45 @@ +import ExcelIcon from "@/assets/images/Excel.svg"; + +const ReportSection = () => { + return ( +
+
+ +

엑셀 다운로드

+
+
+

2024년 11월 27일

+

융합캡스톤디자인 중간시험

+

부정행위 탐지 결과

+
+
+
+
총 탐지된 부정행위 건수
+
75건
+
+
+
부정행위 탐지 수험자 수
+
15명
+
+
+
평균 부정행위 탐지 건수
+
5건/수험자
+
+
+
최다 부정행위 탐지 수험자
+
학번: 2022113107, 횟수: 10건
+
+
+
부정행위 탐지율
+
30%
+
+
+
부정행위 유형별 통계
+
시선: 50건, 자리이탈: 10건
+
+
+
+ ); +}; + +export default ReportSection; diff --git a/src/frontend/eyesee-admin/tailwind.config.ts b/src/frontend/eyesee-admin/tailwind.config.ts index 2e1376b..5a75567 100644 --- a/src/frontend/eyesee-admin/tailwind.config.ts +++ b/src/frontend/eyesee-admin/tailwind.config.ts @@ -17,6 +17,7 @@ const config: Config = { bgGradient: "linear-gradient(180deg, #000 0%, #242142 100%)", blueGradient: "linear-gradient(180deg, #0E1D3C 0%, #000 100%)", redGradient: "linear-gradient(180deg, #0E1D3C 0%, #410C0C 100%)", + grayGradient: "linear-gradient(180deg, #0E1D3C 0%, #2A2A2A 100%)", }, boxShadow: { dashboordShadow: "0px -5px 10px 0px rgba(0, 0, 0, 0.25)", From ed0d96757167c3109089d1c1e143821d9ac00d96 Mon Sep 17 00:00:00 2001 From: Hyeona01 Date: Thu, 28 Nov 2024 21:28:01 +0900 Subject: [PATCH 2/2] =?UTF-8?q?FE:=20[fix]=20=ED=83=90=EC=A7=80=EA=B2=B0?= =?UTF-8?q?=EA=B3=BC=20=ED=8E=98=EC=9D=B4=EC=A7=80=20UI=20=EC=88=98?= =?UTF-8?q?=EC=A0=95#70?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eyesee-admin/src/components/report/ReportSection.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frontend/eyesee-admin/src/components/report/ReportSection.tsx b/src/frontend/eyesee-admin/src/components/report/ReportSection.tsx index 85c90d1..8952f9e 100644 --- a/src/frontend/eyesee-admin/src/components/report/ReportSection.tsx +++ b/src/frontend/eyesee-admin/src/components/report/ReportSection.tsx @@ -2,12 +2,12 @@ import ExcelIcon from "@/assets/images/Excel.svg"; const ReportSection = () => { return ( -
+

엑셀 다운로드

-
+

2024년 11월 27일

융합캡스톤디자인 중간시험

부정행위 탐지 결과